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 upload_avator(): # 上传的头像字段为 img # 表单参数: token file: FileStorage = request.files.get('img', None) token = request.form.get('token', None) if all((bool(file), bool(token))): # 验证文件的类型, png/jpeg/jpg, 单张不能超过2M # content-type: image/png, image/jpeg print(file.content_length, 'bytes') if file.content_type in ('image/png', 'image/jpeg'): filename = uuid.uuid4().hex \ + os.path.splitext(file.filename)[-1] file.save(filename) # 上传到oss云服务器上 key = oss.upload_file(filename) os.remove(filename) # 删除临时文件 # 将key写入到DB中 resp = request.get_json() token = resp.get('token', None) user_id = get_token_user_id(token) u_dao = UserDao() user_id = u_dao.get_profile(user_id) if user_id: pass # 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) # 更新状态 return jsonify({ 'code': 200, 'msg': '上传文件成功', 'file_key': key }) else: return jsonify({ 'code': 201, 'msg': '图片格式只支持png或jpeg' }) return jsonify({ 'code': 100, 'msg': 'POST请求参数必须有img和token' })
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 payorder(): token = request.get_json().get('token', None) if cache.check_token(token): user_id_id = cache.get_token_user_id(token) order_list = request.get_json().get("order_list") total = request.get_json().get("total") paypassword = request.get_json().get("paypassword") dao2 = OrderDao() if all((order_list, total)): order_rd_list = rd.lindex(order_list[0], 0) if not order_rd_list: #删除订单 for i in range(len(order_list)): dao2.UpdateOrder(user_id_id, 5, order_list[i]) return jsonify({'code': 404, 'msg': '订单已过期'}) order_rd_list = order_rd_list.decode()[1:-1] order_rd_list = order_rd_list.split("'") for i in range(len(order_list)): print(order_list[i], order_rd_list[i * 2 + 1]) if order_list[i] != order_rd_list[i * 2 + 1]: return jsonify({'code': 400, 'msg': '支付请求出错'}) dao = UserDao() user_info = dao.get_profile(user_id_id)[0] asset = user_info['asset'] pay_pwd = user_info['pay_pwd'] # paypassword = make_password(paypassword) if pay_pwd != paypassword: return jsonify({'code': 400, 'msg': '支付密码错误,请重新输入'}) if asset < total: return jsonify({'code': 400, 'msg': '余额不足,请先充值'}) asset -= total dao.update_asset(user_id_id, asset) for i in range(len(order_list)): dao2.UpdateOrder(user_id_id, 1, order_list[i]) return jsonify({'code': 200, 'msg': '支付成功'}) else: o_num = request.get_json().get("orderid") dao3 = UserDao() dao4 = OrderDao() order_info = dao4.get_oreder_info(o_num) if not order_info: return jsonify({"code": 401, "msg": "订单不存在"}) order_info = order_info[0] total1 = order_info['o_relpay'] user_info = dao3.get_profile(user_id_id) asset = user_info['asset'] pay_pwd = user_info['pay_pwd'] if pay_pwd != paypassword: return jsonify({'code': 400, 'msg': '支付密码错误,请重新输入'}) if asset < total1: return jsonify({'code': 400, 'msg': '余额不足,请先充值'}) asset -= total1 dao3.update_asset(user_id_id, asset) dao4.UpdateOrder(user_id_id, 1, o_num) return jsonify({'code': 200, 'msg': '支付成功'}) else: return jsonify({'code': 400, 'msg': '您还未登陆,请先登录'})