Пример #1
0
def check_login(user_name, user_password_md5):
    """检验登录"""
    user_name = user_name.strip()
    user_password_md5 = user_password_md5.strip()
    message = {"message": "success"}
    if not db_module.validate_arg(user_name, "_"):
        message['message'] = "用户名非法"
    else:
        ses = db_module.sql_session()
        sql = "select sn,user_password from {} where user_status=1 and user_name='{}'".format(
            table_name, user_name)
        proxy = ses.execute(sql)
        raw = proxy.fetchone()
        ses.close()
        if raw is None:
            message['message'] = "用户名不存在"
        else:
            md5_str = raw[1]
            if md5_str != user_password_md5:
                message['message'] = "密码错误"
            else:
                message['data'] = {
                    "sn": raw[0],
                    "user_name": user_name,
                    "user_password": user_password_md5
                }
    return message
Пример #2
0
def page_by_employee_sn(employee_sn, index=1, length=30, term='', sn=0):
    """分页查询注册用户,后台管理用,
    employee_sn  员工sn
    index是页码,
    length是每页多少条记录
    term 是查询条件表达式 类是 user_sn>10 暂时不用
    sn  公司的sn,0表示未分配
    return  数组
    """
    result = []
    try:
        index = int(index)
        length = int(length)
    except ValueError:
        index = ""
    if db_module.validate_arg(term, "_") and index != "":
        """参数检查通过"""
        skip = (index - 1) * length
        limit = length
        sql = "select {} from {} where employee_sn={} order by create_date desc limit {},{}". \
            format(",".join(columns), table_name, employee_sn, skip, limit)

        ses = db_module.sql_session()
        proxy = ses.execute(sql)
        raw = proxy.fetchall()
        ses.close()
        if len(raw) == 0:
            pass
        else:
            result = [dict(zip(columns, x)) for x in raw]
    else:
        pass
    return result
Пример #3
0
def page(employee_sn, index=1, length=30, term=''):
    """分页查询注册用户,后台管理用,
    employee_sn  员工sn
    index是页码,
    length是每页多少条记录
    term 是查询条件表达式 类是 user_sn>10 暂时不用
    return  数组
    """
    result = []
    try:
        index = int(index)
        length = int(length)
    except ValueError:
        index = ""
    if db_module.validate_arg(term, "_") and index != "":
        """参数检查通过"""
        skip = (index - 1) * length
        limit = length
        join_cols = ["a.{}".format(x) for x in customer_columns]
        sql = "select {},b.track_status,b.customer_level from {} a left join {} b on a.user_sn=b.sn where employee_sn={} and a.in_pool=0 order by create_date desc limit {},{}". \
            format(",".join(join_cols), customer_table, table_name, employee_sn, skip, limit)

        ses = db_module.sql_session()
        proxy = ses.execute(sql)
        raw = proxy.fetchall()
        ses.close()
        if len(raw) == 0:
            pass
        else:
            new_col = customer_columns.copy()
            new_col.extend(["track_status", "customer_level"])
            data = list()
            for x in raw:
                temp = [y if y is not None else '' for y in x]
                if x[-2] is None or x[-2] == '':
                    begin_track(x[0], employee_sn)
                data.append(temp)
            result = [dict(zip(new_col, x)) for x in data]
    else:
        pass
    return result
Пример #4
0
def check_login(user_name, user_password_md5):
    """检验登录"""
    user_name = user_name.strip()
    user_password_md5 = user_password_md5.strip()
    message = {"message": "success"}
    data = dict()
    if not db_module.validate_arg(user_name, "_"):
        message['message'] = "用户名非法"
    else:
        ses = db_module.sql_session()
        sql = "select user_password,sn,company_sn from employee_info where user_status=1 and user_phone='{}'".format(
            user_name)
        proxy = ses.execute(sql)
        raw = proxy.fetchone()
        if raw is None:
            message['message'] = "用户名不存在"
        else:
            pwd = raw[0]
            if pwd != user_password_md5:
                message['message'] = "密码错误"
            else:
                data['employee_sn'] = raw[1]
                data['company_sn'] = raw[2]
                if message['message'] == 'success':
                    """检查团队"""
                    sql = "select sn from team_info where leader_sn={}".format(
                        data['employee_sn'])
                    proxy = ses.execute(sql)
                    raw = proxy.fetchone()
                    if raw is None:
                        data['team_sn'] = -1
                    else:
                        data['team_sn'] = raw[0]
        ses.close()
    message['data'] = data
    return message
Пример #5
0
def page(the_type="all", index=1, length=30, term='', sn=0, key_word_list: list=[]):
    """分页查询注册用户,后台管理用,
    the_type  是用户类型
    index是页码,
    length是每页多少条记录
    term 是查询条件表达式 类是 user_sn>10 暂时不用
    sn  公司的sn,0表示未分配
    key_word_list   customer_description的匹配数组,
    return  数组
    """
    result = []
    try:
        index = int(index)
        length = int(length)
    except ValueError:
        index = ""
    if db_module.validate_arg(term, "_") and index != "":
        """参数检查通过"""
        sql = ""
        skip = (index - 1) * length
        limit = length
        if len(key_word_list) == 0:
            desc_filter_str = ''
        else:
            temp_list = list()
            for x in key_word_list:
                if isinstance(x, int):
                    pass
                else:
                    x = "'{}'".format(x)
                temp_list.append(x)
            desc_filter_str = " customer_description in ({})".format(",".join(temp_list))

        if the_type == "all":
            """所有用户"""
            if str(sn) == "0" and desc_filter_str == "":
                sql = "select {} from {} order by create_date desc limit {},{}". \
                    format(",".join(columns), table_name, skip, limit)
            elif str(sn) == "0" and desc_filter_str != "":
                sql = "select {} from {} where {} order by create_date desc limit {},{}". \
                    format(",".join(columns), table_name, desc_filter_str, skip, limit)
            elif str(sn) != "0" and desc_filter_str != "":
                sql = "select {} from {} where company_sn={} and {} order by create_date desc limit {},{}". \
                    format(",".join(columns), table_name, sn, desc_filter_str, skip, limit)
            else:
                sql = "select {} from {} where company_sn={} order by create_date desc limit {},{}". \
                    format(",".join(columns), table_name, sn, skip, limit)

        elif the_type == "allotted":
            """已分配用户"""
            sql = "select {} from {} where team_sn!=0 and company_sn={} {} order by create_date desc limit {},{}". \
                format(",".join(columns), table_name, sn, ("" if desc_filter_str == "" else "and{}".
                                                           format(desc_filter_str)), skip, limit)
        elif the_type == "no_allot":
            """未分配用户"""
            sql = "select {} from {} where team_sn=0 and company_sn={} {} order by create_date desc limit {},{}". \
                format(",".join(columns), table_name, sn, ("" if desc_filter_str == "" else "and{}".
                                                           format(desc_filter_str)), skip, limit)
        else:
            pass
        if sql == "":
            pass
        else:
            ses = db_module.sql_session()
            proxy = ses.execute(sql)
            raw = proxy.fetchall()
            ses.close()
            if len(raw) == 0:
                pass
            else:
                result = [dict(zip(columns, x)) for x in raw]
    else:
        pass
    return result