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 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)
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_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': '用户口令不正确'}]
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 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 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)
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)
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 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)
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_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 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接口标准给定'})
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 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':'传入参数不有误' })