Beispiel #1
0
def lendrecords():
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({'code': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'})

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('productId', False), )):
        all_lendrecords = dao.all_lendrecords(req_data.get('productId'))
        if all_lendrecords:
            datas = []
            for i in all_lendrecords:
                data = {}
                data["lendMoney"] = i["lendMoney"]
                data["lendTime"] = str(i["lendTime"])
                data['lendUserTel'] = i['lendUserTel']
                datas.append(data)
            return jsonify(datas)
        else:
            return jsonify({'code': 202, 'msg': '没有该出借记录'})
    else:
        return jsonify({"code": 201, "msg": "产品id输入有误"})
Beispiel #2
0
def add_cart_view():
    token = request.get_json().get("token")
    c_id = request.args.get("cid")
    # 验证是否登录
    u_id = get_token_user_id(token)
    print(u_id,type(u_id))
    print("cid",c_id,type(c_id))
    if u_id:
        add_cart = CartDao()
        id = add_cart.get_course_id(c_id)
        cart = add_cart.check_cart(uid=int(u_id),cid=id) #如果已登录,通过当前用户和课程id,查询购物车是否有该条记录
        print("cart",not bool(cart))
        # 如果没有则创建一条购物车记录
        if not bool(cart):
            try:
                state = add_cart.save("carts", **{"is_select": True,"course_id": id,"user_id": u_id})
                if state:
                    result = {"code": 200, "msg": "商品已添加至购物车!"}
                else:
                    result = {"code": 200, "msg":"商品添加购物车失败!"}
                return jsonify(result)
            except Exception as e:
                api_logger.error("%s save 失败" % c_id)
                return jsonify({"code": 201, "msg": e})
        result = {"code": 201, "msg": '该商品在购物车中已存在~'}
        return jsonify(result)

    api_logger.warn("%s 未登录 " % u_id)
    result = {"code": 202, "msg": "用户还未登录或注册"}
    return jsonify(result)
Beispiel #3
0
def rzlend():
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({
            'code': 9000,
            'msg': '请上传json数据,且参数必须按api接口标准给定'
        })

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('token', False),)):
        token=req_data.get('token')
        user_id = get_token_user_id(token)
        if dao.user_verify(user_id):
            return jsonify({
            "code":200,
            "msg":"已认证"
            })
        else:
            return jsonify({
            "code": 201,
            "msg": "未认证"
            })
    return jsonify({
        "code": 203,
        "msg": "未获得token"
    })
Beispiel #4
0
def user_regist():
    # 前端请求的Content-Type: application/json
    req_data = None
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()

    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({'code': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'})

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('login_name',
                         False), req_data.get('login_auth_str', False))):

        req_data['create_time'] = datetime.now().strftime('%Y-%m-%d')
        req_data['update_time'] = req_data['create_time']
        req_data['activated'] = 1  # 默认激活

        dao = UserDao()
        if dao.check_login_name(req_data.get('login_name')):

            if dao.save(**req_data):
                return jsonify({'code': 200, 'msg': 'ok'})

            return jsonify({'code': 300, 'msg': '插入数据失败, 可能存在某一些字段没有给定值'})
        else:
            return jsonify({'code': 201, 'msg': '用户名已存在,不能再注册'})
Beispiel #5
0
 def login_pwd(self, u_phone, u_auth_string):
     sql = "select * from users where u_phone=%s"
     user_profile = self.query(sql, u_phone)
     id, auth_str = (user_profile[0].get('id'),
                     user_profile[0].get('u_auth_string'))
     if check_password(u_auth_string, auth_str):
         return user_profile
     api_logger.warn('用户 %s 的口令不正确' % u_phone)
     return [{'code': '303', 'msg': '用户口令不正确'}]
Beispiel #6
0
def to_rzlend():
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({
            'code': 9000,
            'msg': '请上传json数据,且参数必须按api接口标准给定'
        })

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('userName', False),
            req_data.get('userCard', False),
            req_data.get('token',False))):
        userName = req_data['userName']
        userCard = req_data["userCard"]
        token = req_data['token']
        data={}
        data['user_id'] = get_token_user_id(token)
        if dao.toverify(userName,userCard):
            data['verify_id']= dao.toverify(userName,userCard)['id']
            if not dao.query_user_verify(data['verify_id']):
                if dao.save_verify(**data):
                    print(data['user_id'])
                    if dao.update_user(data['user_id']):
                        return jsonify({
                            'code': 200,
                            'msg': "姓名和身份证号,对上了"
                        })
                else:
                    return jsonify({
                        'code': 201,
                        'msg': "认证失败"
                    })
            else:
                return jsonify({
                    'code': 202,
                    'msg': "此卡已被绑定"
                })

        else:
            return jsonify({
                'code':203,
                'msg':"请输入正确的姓名和身份证号"
            })
    else:
        return jsonify({
            'code':204,
            'msg': "传入参数不足"
        })
Beispiel #7
0
def to_lend():
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({'code': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'})

    api_logger.debug(req_data)
    if all((req_data.get('token', False), req_data.get('product_id', False),
            req_data.get('lendMoney',
                         False), req_data.get('lendpassword', False))):
        datas = {}
        token = req_data.get('token')
        datas['user_id'] = get_token_user_id(token)
        datas['product_id'] = req_data.get('product_id')
        datas['lendTime'] = datetime.now()
        user = dao.query_user(datas['user_id'])[0]
        datas['lendUserTel'] = user['userName']
        datas['lendMoney'] = req_data.get('lendMoney')
        datas['is_past'] = '0'
        user_id = datas['user_id']
        user_cart = dao.query_user_cart(user_id)
        cartid = user_cart['card_id']
        card = dao.query_cart(cartid)
        cardPwd = card['cardPwd']
        lendpassword = req_data.get('lendpassword')
        if check_password(lendpassword, cardPwd):
            if float(datas['lendMoney']) < float(user['zyMoney']):

                if dao.lend_save(**datas):
                    zyMoney = float(user['zyMoney']) - float(
                        datas['lendMoney'])

                    dao.update_user_zymoney(zyMoney, user_id)

                    return jsonify({'code': 200, 'msg': "成功借出"})
                else:
                    return jsonify({'code': 201, 'msg': "出借失败"})
            else:
                return jsonify({'code': 203, 'msg': '账户余额不足请先充值'})
        else:
            return jsonify({"code": 205, "msg": '密码输入错误'})

    else:
        return jsonify({'code': 204, 'msg': '输入参数不全,参数必须按api接口标准给定'})
Beispiel #8
0
def cart_view():
    token = request.get_json().get("token")           #验证当前用户是否登录
    u_id = get_token_user_id(token)
    if u_id:
        # 通过用户id查询当前用户的购物车记录,及课程信息
        cart_obj = CartDao()
        try:
            course_info = cart_obj.get_cart_course(u_id)
            total_price = cart_obj.total(u_id)
            result = {"code": 200, "checked": True, "products":course_info, "total": total_price}
        except Exception as e:
            api_logger.error("checkout course_info failed!,cause:%s" % e)
            result = {"code": 201, "msg": e}
        return jsonify(result)

    api_logger.warn("%s 未登录 " % u_id)
    result = {"code": 202, "msg": "用户还未登录或注册"}
    return jsonify(result)
Beispiel #9
0
    def login(self, login_name, login_auth_str):
        sql = 'select id, login_auth_str from app_user_2 ' \
              'where login_name=%s and activated=%s'
        user_data = self.query(sql, login_name, 1)

        if user_data:
            user_id, auth_str = (user_data[0].get('id'),
                                 user_data[0].get('login_auth_str'))

            if check_password(login_auth_str, auth_str):
                # 验证成功
                user_profile = self.get_profile(user_id)
                if user_profile is None:
                    return {'user_id': user_id, 'nick_name': login_name}

                return user_profile
            api_logger.warn('用户 %s 的口令不正确' % login_name)
            raise Exception('用户 %s 的口令不正确' % login_name)
        else:
            api_logger.warn('查无此用户 %s' % login_name)
            raise Exception('查无此用户 %s' % login_name)
Beispiel #10
0
def user_regist():
    # 前端请求的Content-Type: application/json
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()

    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({'code': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'})

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('user_name',
                         False), req_data.get('auth_string', False),
            req_data.get('nick_name', False), req_data.get('phone', False))):
        dao = UserDao()
        dao.save(**req_data)

    return jsonify({'code': 8000, 'msg': 'ok', 'data': req_data})
Beispiel #11
0
    def login(self, userTel, password):  #输入用户名密码
        sql = 'select id, password from wklc_users ' \
              'where userTel=%s'
        user_data = self.query(sql, userTel)  #返回用户对象

        if user_data:
            #得到用户id和密码
            user_id, auth_str = (user_data[0].get('id'),
                                 user_data[0].get('password'))
            #验证用户名密码是否正确
            print(user_id)
            if check_password(password, auth_str):
                # 验证成功获取详细信息
                user_profile = self.get_profile(user_id)
                if user_profile is None:
                    return {'user_id': user_id, 'userTel': userTel}
                #返回用户详细信息
                return user_profile
            api_logger.warn('用户 %s 的口令不正确' % userTel)
            raise Exception('用户 %s 的口令不正确' % userTel)
        else:
            api_logger.warn('查无此用户 %s' % userTel)
            raise Exception('查无此用户 %s' % userTel)
Beispiel #12
0
def rzcard():
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({
            'code': 9000,
            'msg': '请上传json数据,且参数必须按api接口标准给定'
        })

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('token', False),)):
        token = str(req_data.get('token'))
        user_id = get_token_user_id(token)
        card = dao.user_card(user_id)
        if card:
            card_id=card['card_id']
            cardNum = dao.query_card(card_id)['cardNum']
            return jsonify({
                "code":200,
                "msg":"已绑卡",
                "cardNum":cardNum
            })
        else:
            return jsonify({
                "code": 201,
                "msg": "未绑定卡"
            })
    else:
        return jsonify({
            "code": 202,
            "msg": "请按接口文件传入相应的值"
        })
Beispiel #13
0
def user_regist():
    code = get_code()
    req_data = None
    print(code)
    api_logger.info(request.headers)

    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()

    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({'code': 400, 'msg': '请上传json数据,且参数必须按api接口标准给定'})

    api_logger.debug(req_data)
    if not all((req_data.get('tel', False), req_data.get('idtf', False))):

        phone = str(req_data.get('tel'))
        ret = re.match(r"^1[35678]\d{9}$", phone)
        if ret:
            result = check_login_tel(phone).get_json()
            if result.get('code') == 400:
                resp = send_sms_code(phone, code).decode()
                if resp[-4:-2] == "OK":
                    rd.set(phone, code)
                    rd.expire(phone, 120)
                    return jsonify({
                        'code': 200,
                        'msg': '验证码发送成功',
                    })
                else:
                    return jsonify({'code': 400, 'msg': '验证码发送失败'})
            else:
                return jsonify({'code': 403, 'msg': '该账号已注册'})
        else:
            return jsonify({'code': 400, 'msg': '请输入正确的手机号'})
    else:
        phone = req_data.get('tel')
        idtf = str(req_data.get('idtf'))
        temp2 = rd.get(phone).decode()
        if temp2 == idtf:
            user_id = get_uid()
            dao = UserDao()
            req_data = {
                'tel': phone,
                'user_id': user_id,
                'user_name': user_id,
                'auth_string': 'jd' + phone,
                "asset": 0,
                "u_intg": 100
            }
            dao.save(**req_data)
            token = cache.new_token()
            rd.set(token, user_id)
            rd.expire(token, 3600 * 12)
            req_data = {
                'tel': phone,
                'user_id': user_id,
                'user_name': user_id,
                'auth_string': 'jd' + phone,
                "u_intg": 100,
                "asset": 0,
                "token": token,
                'bool_pay_pwd': False
            }
            return jsonify({'code': 200, 'msg': '注册成功', 'data': req_data})
        else:
            return jsonify({'code': 400, 'msg': '注册失败,验证码错误'})
Beispiel #14
0
def user_regist():
    # 前端请求的Content-Type: application/json
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()

    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({'code': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'})
    api_logger.debug(req_data)
    # 验证上传的必须的数据是否存在
    if all((req_data.get('userTel', False), req_data.get('password', False),
            req_data.get('code', False))):
        input_code = req_data.get('code')
        phone = req_data.get('userTel')
        password = req_data.get('password')
        if dao.check_login_name(phone):
            if confirm(phone, input_code):
                req_data['password'] = make_password(req_data.get('password'))
                req_data['userName'] = req_data[
                    'userTel'][:3] + "******" + req_data['userTel'][-3:]
                req_data['userGrade_id'] = '1',
                req_data['totalMoney'] = '0'
                req_data['yersterdayReturn'] = '0'
                req_data['totalReturn'] = '0'
                req_data['userKfCoin'] = '500000'
                req_data['userfuZuan'] = '0'
                req_data['xyMoney'] = '5000'
                req_data['zyMoney'] = '0'
                req_data['is_Verify'] = '0'
                req_data['userPic'] = '0'
                req_data.pop('code')
                if dao.save(**req_data):

                    sql = 'select * from wklc_users ' \
                          'where userTel=%s'
                    userTel = req_data['userTel']
                    user_datas = dao.query(sql, userTel)[0]
                    req_data2 = {}
                    req_data2['user_id'] = user_datas['id']
                    req_data2['monthAccount'] = 0
                    req_data2["sensonAccount"] = 0
                    req_data2["yearAccount"] = 0
                    req_data2['specialAccount'] = 0
                    req_data2['virtualPrincipal'] = 0
                    dao.save2(**req_data2)

                    login_user = dao.login(userTel, password)

                    token = cache.new_token()
                    # 用户基本信息
                    sql = 'select * from wklc_users ' \
                          'where userTel=%s'

                    # 将token存在redis的缓存中,绑定的数据可以是用户Id也可以是用户的信息
                    cache.save_token(token, user_datas['id'])
                    #注册成功添加出借50000出借7天
                    data = {}
                    data['user_id'] = user_datas['id']
                    data['product_id'] = 9022
                    data['lendUserTel'] = req_data['userName']
                    data['lendTime'] = datetime.now()
                    data['lendMoney'] = 5000
                    dao.lend_save2(**data)
                    money = 0
                    for i in login_user[:-2]:
                        money += i["num"]
                    totalMoney = float('%.2f' %
                                       (user_datas['zyMoney'] + money))
                    yersterdayReturn = login_user[5]['num']
                    totalReturn = login_user[6]['num']
                    dao.update_user(totalMoney, yersterdayReturn, totalReturn,
                                    user_datas['id'])
                    return jsonify({
                        'code': 200,
                        'token': token,
                        'userTel': user_datas['userTel'],
                        'userGrade_id': user_datas['userGrade_id'],
                        'totalMoney': totalMoney,
                        'zyMoney': user_datas['zyMoney'],
                        'xyMoney': user_datas['xyMoney'],
                        'yersterdayReturn': yersterdayReturn,
                        'totalReturn': totalReturn,
                        'userKfCoin': user_datas['userKfCoin'],
                        'userfuZuan': user_datas['userfuZuan'],
                        'Account': login_user[:-2]
                    })

                else:
                    return jsonify({
                        'code': 300,
                        'msg': '插入数据失败, 可能存在某一些字段没有给定值'
                    })
            else:
                return jsonify({'code': 203, 'msg': '验证码输入错误'})
        else:
            return jsonify({'code': 201, 'msg': '用户名已存在,不能再注册'})

    else:
        return jsonify({'code': 204, 'msg': '输入参数不全,参数必须按api接口标准给定'})
Beispiel #15
0
def to_rzlend():
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({
            'code': 9000,
            'msg': '请上传json数据,且参数必须按api接口标准给定'
        })

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('cardNum', False),
            req_data.get('cardTel', False),
            req_data.get('cardPwd',False),
            req_data.get('code', False),
            req_data.get('token', False))):
        cardNum = req_data['cardNum']
        cardTel = req_data['cardTel']
        cardPwd = make_password(req_data['cardPwd'])
        code = req_data['code']
        token = req_data['token']
        data={}
        data['user_id'] = get_token_user_id(token)
        # if confirm_code(cardTel,code):
        if dao.tocard(cardNum,cardTel):
            if confirm_code(cardTel, code):
                data['card_id']= dao.tocard(cardNum,cardTel)['id']
                #初始化密码
                dao.update_card_passwod(cardPwd,data['card_id'])
                #建立人卡关系
                if not dao.query_user_card(data['card_id']):
                    if dao.save_card(**data):
                        return jsonify({
                            'code': 200,
                            'msg': "银行卡,绑定成功"
                        })
                    else:
                        return jsonify({
                            'code': 204,
                            'msg': "绑定失败"
                        })
                else:
                    return jsonify({
                        'code': 205,
                        'msg': "此卡已被绑定"
                    })
            else:
                return jsonify({
                    'code': 203,
                    'msg': "验证码错误"
                })
        else:
            return jsonify({
                'code':202,
                'msg':"未找到此卡"
            })

    else:
        return jsonify({
            'code': 201,
            'msg': "请按api接口传入相应的数据"
        })
Beispiel #16
0
def recharge():
    req_data = None
    api_logger.info(request.headers)
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({
            'code': 9000,
            'msg': '请上传json数据,且参数必须按api接口标准给定'
        })

    api_logger.debug(req_data)

    # 验证上传的必须的数据是否存在
    if all((req_data.get('token', False),
            req_data.get('number', False),
            req_data.get('cardPassword', False))):
        user_id = get_token_user_id(req_data.get('token'))
        if user_id:
            user = dao.query_user(user_id)
            number = req_data['number']
            user_card = dao.user_card(user_id)
            if user_card:
                card_id = user_card["card_id"]
                card = dao.query_card(card_id)
                cardPassword = str(req_data.get('cardPassword'))
                card_pwd = card['cardPwd']
                if check_password(cardPassword, card_pwd):
                    cardMoney =card['cardMoney']
                    number = float(number)
                    if number < cardMoney:
                        cardMoney=card['cardMoney']-number
                        dao.update_card_money(cardMoney,card_id)
                        zyMoney = user['zyMoney']+number
                        dao.update_user_zymoney(zyMoney,user_id)
                        return jsonify({
                            'code':200,
                            'msg':'成功充值%s'%(number)
                        })


                    else:
                        return jsonify({
                           'code':201,
                            'msg':'银行卡中余额不足'
                        })
                else:
                    return jsonify({
                        'code':204,
                        'msg':"支付密码输入错误"
                    })
            else:
                return jsonify({
                    'code':203,
                    'msg':'用户还未绑卡'
                })
        else:
            return jsonify({
                'code':202,
                'msg':'用户未登录'
            })
    else:
        return jsonify({
            'code':201,
            'msg':'传入参数不有误'
        })