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" })
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': '用户名已存在,不能再注册'})
def login_msg(): api_logger.debug('user phone_login get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('u_phone') msg_code = resp.get('msg_code') if all((bool(u_phone), bool(msg_code))): udao = UserDao() login_user = udao.login_msg(u_phone, msg_code) # 检查验证码并检查手机号,如果存在,且验证码正确,则登录,否则注册 if login_user.get('id'): # 验证码正确 token = cache.new_token() cache.save_token(token, login_user.get('id')) udao.user_update('is_active', 1, 'u_phone', u_phone) # PhoneDao().save(**{'phone': u_phone, 'code': msg_code, 'send_type': '登录'}) return jsonify({'code': 200, 'token': token, 'user_data': login_user }) return jsonify(login_user) else: return jsonify({ 'code': 101, 'msg': '请求参数u_phone和msg_code必须存在' }) return jsonify({'code': 304, 'msg': '传入数据为空'})
def forgot_pwd(): api_logger.debug('user forget get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('phone') msg_code = resp.get('msg') u_auth_string = resp.get('auth_string') if all((bool(u_phone), bool(msg_code), bool(u_auth_string))): udao = UserDao() # 验证手机号在数据库中是否存在 if udao.check_login_phone(u_phone): login_user = udao.login_msg(u_phone, msg_code) # 检查验证码 if login_user.get('id'): token = cache.new_token() cache.save_token(token, id) udao.user_update('u_auth_string', u_auth_string, 'u_phone', u_phone) # 更新密码 udao.user_update('is_active', 1, 'u_phone', u_phone) # 更新状态 # PhoneDao().save(**{'phone': u_phone, 'code': msg_code, 'send_type': '登录', }) return jsonify({'code': 200, 'token': token, 'user_data': login_user}) return jsonify(login_user) else: # 手机号码不存在,提示 return jsonify({'code': 300, 'msg': '请填写注册手机号'}) else: return jsonify({ 'code': 101, 'msg': '请求参数u_phone,msg_code,u_auth_string必须存在' }) return jsonify({'code': 304, 'msg': '传入数据为空'})
def change(): api_logger.debug('user forget get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('phone') nickname = resp.get('nickname') auth_string = resp.get('auth_string') u_auth_string = make_password(auth_string) if all((bool(u_phone), bool(nickname), bool(u_auth_string))): udao = UserDao() details = udao.get_profile(u_phone) if details.get('id'): token = cache.new_token() cache.save_token(token, id) udao.user_update('nickname', nickname, 'u_auth_string', u_auth_string) # 更新密码 udao.user_update('is_active', 1, 'u_phone', u_phone) # 更新状态 # PhoneDao().save(**{'phone': u_phone, 'code': msg_code, 'send_type': '登录', }) return jsonify({'code': 200, 'token': token, 'user_data': details}) else: return details return jsonify({ 'code': 300, 'msg': '数据不能为空' }) return jsonify({'code': 304, 'msg': '传入数据为空' })
def login_pwd(): api_logger.debug('user phone_login get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('u_phone') u_auth_string = resp.get('u_auth_string') if all((bool(u_phone), bool(u_auth_string))): udao = UserDao() # 验证手机号在数据库中是否存在 if udao.check_login_phone(u_phone): try: # 验证密码是否正确 login_user = udao.login_pwd(u_phone, u_auth_string)[0] if login_user.get('id'): token = cache.new_token() cache.save_token(token, login_user.get('id')) udao.user_update('is_active', 1, 'u_phone', u_phone) return jsonify({'code': 200, 'token': token, 'user_data': login_user }) return jsonify(login_user) except Exception as e: return jsonify({'code': 202, 'msg': str(e) }) return jsonify({'code': 304, 'msg': '该手机尚未注册' }) else: return jsonify({ 'code': 101, 'msg': '请求参数u_phone和u_auth_string必须存在' }) return jsonify({'code': 304, 'msg': '传入数据为空'})
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输入有误"})
def loginout(): api_logger.debug('user forget get action!') resp = eval(request.get_data()) if resp: token = resp.get('token') id = cache_.get_token_user_id(token) # 从redis中获取id r.delete(token) # 删除服务端token UserDao().user_update('is_active', 0, 'id', id) # 更改激活状态为0 return jsonify({'code': 200, 'msg': '退出成功!'}) return jsonify({'code': 304, 'msg': '传入数据为空'})
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': "传入参数不足" })
def user_login(): api_logger.debug('user login get action!') # 验证参数 userTel = request.args.get('userTel', None) password = request.args.get('password', None) if all((bool(userTel), bool(password))): dao = UserDao() # 获取登录用户的信息 try: login_user = dao.login(userTel, password) # 生成token token = cache.new_token() #用户基本信息 sql = 'select * from wklc_users ' \ 'where userTel=%s' user_datas = dao.query(sql, userTel)[0] # 将token存在redis的缓存中,绑定的数据可以是用户Id也可以是用户的信息 cache.save_token(token, user_datas['id']) user_id = user_datas['id'] sql = 'select lendTime from wklc_lendrecords ' \ 'where user_id=%s and product_id=9022' product = dao.query(sql, user_id) if product: if product[0]['lendTime'].toordinal() + 7 < datetime.now( ).toordinal(): user_datas['xyMoney'] = 0 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_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] }) except Exception as e: return jsonify({'code': 202, 'msg': str(e)}) else: return jsonify({'code': 101, 'msg': '请求参数login_name和auth_str必须存在'})
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接口标准给定'})
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})
def userdetails(): api_logger.debug('user change get action') # token = request.args.get('token',None) resp = request.get_json() token = resp.get('token', None) user_id = get_token_user_id(token) u_dao = UserDao() details = u_dao.get_profile(user_id) if details: nickname = details.get('nickname') gender = details.get('gender') u_auth_string = details.get('u_auth_string') return jsonify({ 'code': 200, 'msg': '获取成功', 'nickname': nickname, 'gender': gender, 'u_auth_string': u_auth_string }) return jsonify({ 'code': 300, 'msg': "用户未登录,请重新登录" })
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": "请按接口文件传入相应的值" })
def user_login(): api_logger.debug('user login get action!') # 验证参数 login_name = request.args.get('login_name', None) auth_str = request.args.get('auth_str', None) if all((bool(login_name), bool(auth_str))): dao = UserDao() # 获取登录用户的信息 try: login_user = dao.login(login_name, auth_str) # 生成token token = cache.new_token() # 将token存在redis的缓存中,绑定的数据可以是用户Id也可以是用户的信息 cache.save_token(token, login_user.get('user_id')) return jsonify({ 'code': 200, 'token': token, 'user_data': login_user }) except Exception as e: return jsonify({'code': 202, 'msg': e}) else: return jsonify({'code': 101, 'msg': '请求参数login_name和auth_str必须存在'})
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': '注册失败,验证码错误'})
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':'传入参数不有误' })
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接口传入相应的数据" })
def user_login(): api_logger.debug('user login get action!') return "<html><head><title>Login Page</title></head><body>Hi, Disen</body></html>"
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接口标准给定'})