Пример #1
0
def up_auth():
    '处理正在使用的客户被删除的问题'
    vice_id = request.args.get('vice_id')
    field = request.args.get('field')
    check = request.args.get('check')
    value = request.args.get('value')
    if check:
        field_status = ''
        if check == "true":
            field_status = 'T'
        elif check == 'false':
            field_status = 'F'
        SqlData.update_vice_field(field, field_status, int(vice_id))
        res = SqlData.search_one_acc_vice(vice_id)
        RedisTool.hash_set('svb_vice_auth', res.get('vice_id'), res)
        return jsonify({'code': RET.OK, 'msg': MSG.OK})
    if value:
        if field == "v_account":
            if SqlData.search_value_in('vice_account', value, field):
                return jsonify({
                    'code': RET.SERVERERROR,
                    'msg': '用户名已存在,请重新命名!'
                })
        SqlData.update_vice_field(field, value, int(vice_id))
        return jsonify({'code': RET.OK, 'msg': MSG.OK})
Пример #2
0
def user_password():
    user_id = g.user_id
    vice_id = g.vice_id
    if user_id and not vice_id:
        password = SqlData.search_user_field('password', user_id)
        return jsonify({'code': RET.OK, 'msg': password})
    else:
        password = SqlData.search_one_acc_vice(vice_id).get('v_password')
        return jsonify({'code': RET.OK, 'msg': password})
Пример #3
0
def add_vice():
    # 判断是否是子账号用户
    vice_id = g.vice_id
    if vice_id:
        return render_template('user/no_auth.html')
    if request.method == 'GET':
        return render_template('user/update_vice.html')
    if request.method == 'POST':
        user_id = g.user_id
        data = json.loads(request.form.get('data'))
        v_account = data.get('account')
        v_password = data.get('password')
        c_card = data.get('c_card')
        top_up = data.get('top_up')
        refund = data.get('refund')
        del_card = data.get('del_card')
        up_label = data.get('up_label')
        account = v_account.strip()
        password = v_password.strip()
        if len(account) < 6 or len(password) < 6:
            return jsonify({"code": RET.SERVERERROR, 'msg': '账号或密码长度小于6位!'})
        # 判断用户选择可哪些权限开启
        c_card_status = 'T' if c_card else 'F'
        top_up_status = 'T' if top_up else 'F'
        refund_status = 'T' if refund else 'F'
        del_card_status = 'T' if del_card else 'F'
        up_label_status = 'T' if up_label else 'F'
        res = SqlData.search_vice_count(user_id)
        # 判断是否已经添加子账号,已添加则更新
        if res < 3:
            if SqlData.search_value_in('vice_user', account, 'v_account'):
                return jsonify({
                    'code': RET.SERVERERROR,
                    'msg': '用户名已存在,请重新命名!'
                })
            SqlData.insert_account_vice(account, password, c_card_status,
                                        top_up_status, refund_status,
                                        del_card_status, up_label_status,
                                        user_id)
            vice_id = SqlData.search_vice_id(v_account)
            res = SqlData.search_one_acc_vice(vice_id)
            RedisTool.hash_set('svb_vice_auth', res.get('vice_id'), res)
            return jsonify({'code': RET.OK, 'msg': MSG.OK})
        else:
            return jsonify({
                'code': RET.SERVERERROR,
                'msg': '您的账号已添加3个子账号,不可重复添加!'
            })
Пример #4
0
def login():
    if request.method == 'GET':
        str_data, img = createCodeImage(height=38)
        context = dict()
        context['img'] = img
        context['code'] = ImgCode().jiami(str_data)
        return render_template('user/login.html', **context)

    if request.method == 'POST':
        data = json.loads(request.form.get('data'))
        user_name = data.get('user_name')
        user_pass = data.get('pass_word')
        image_real = data.get('image_real')
        image_code = data.get('image_code')
        cus_status = data.get('cus_status')
        results = {'code': RET.OK, 'msg': MSG.OK}
        try:
            img_code = ImgCode().jiemi(image_real)
            if image_code.lower() != img_code.lower():
                results['code'] = RET.SERVERERROR
                results['msg'] = '验证码错误!'
                return jsonify(results)
            if cus_status == "main":
                user_data = SqlData.search_user_info(user_name)
                if user_data:
                    user_id = user_data.get('user_id')
                    pass_word = user_data.get('password')
                    name = user_data.get('name')
                    if user_pass == pass_word:
                        last_login_time = SqlData.search_user_field(
                            'last_login_time', user_id)
                        if not last_login_time:
                            return jsonify({'code': 307, 'msg': MSG.OK})
                        now_time = xianzai_time()
                        SqlData.update_user_field('last_login_time', now_time,
                                                  user_id)
                        session['user_id'] = user_id
                        session['name'] = name
                        session['vice_id'] = None
                        session.permanent = True
                        return jsonify(results)
                    else:
                        results['code'] = RET.SERVERERROR
                        results['msg'] = MSG.PSWDERROR
                        return jsonify(results)
                else:
                    results['code'] = RET.SERVERERROR
                    results['msg'] = MSG.PSWDERROR
                    return jsonify(results)
            if cus_status == 'vice':
                user_data = SqlData.search_user_vice_info(user_name)
                user_id = user_data.get('user_id')
                password = user_data.get('password')
                vice_id = user_data.get('vice_id')
                if password == user_pass:
                    # 存储到缓存
                    session['user_id'] = user_id
                    session['name'] = user_name
                    session['vice_id'] = vice_id
                    session.permanent = True
                    # 存储子子账号操作权限到redis
                    res = SqlData.search_one_acc_vice(vice_id)
                    RedisTool.hash_set('svb_vice_auth', res.get('vice_id'),
                                       res)
                    return jsonify(results)
                else:
                    results['code'] = RET.SERVERERROR
                    results['msg'] = MSG.PSWDERROR
                    return jsonify(results)

        except Exception as e:
            logging.error(str(e))
            results['code'] = RET.SERVERERROR
            results['msg'] = MSG.DATAERROR
            return jsonify(results)