def new_password(): try: token = request.form.get('token') user_pwd = request.form.get("auth_str") auth_str = make_password(user_pwd) user_id = get_token_user_id(token) dao = UserDao() dao.new_password(auth_str, user_id) return jsonify({ 'code': 200, 'msg': '更改密码成功' }) except: return jsonify({ "code":400, "msg":"更改密码失败" })
def exist(): try: phone = request.form.get('phone') dao = UserDao() data = dao.is_exist(phone) if data: return jsonify({ "code": 400, "msg": "该手机号已存在" }) return jsonify({ "code": 200, "msg": "该手机号未注册" }) except: return jsonify({ "code":400, "msg":"查询失败" })
def recharge(): # 余额充值 req_data = request.get_json() token = req_data.get('token') amount = req_data.get('amount') # 获取上传的充值金额 if check_token(token): user_id = get_token_user_id(token) ass_data = VouDao().check_asset(user_id) balance = int(ass_data[0]['asset']) print(balance) if balance is not None: # 查询到金额 balance += amount dao = UserDao() dao.update('jd_user', 'asset', balance, 'user_id', user_id) return jsonify({'code': 200, 'data': balance}) else: return jsonify({'code': 400, 'msg': '查询金额失败!'}) else: return jsonify({'code': 400, 'msg': 'token验证失败!'})
def find_password(): r_data = request.get_json() if r_data: phone = r_data['phone'] code = r_data['code'] # 判断接受的数据是否为空 if all((phone, code)): res = check_sms(phone, code) print(res) if not res: # 随机生成密码保存到数据库 pwd = GetPassword(10) u_password = make_password(pwd) if UserDao().set_userinfo('u_password',u_password,'u_tel',phone): return jsonify({'code':200,'msg':'验证成功,初始化密码为:'+pwd ,'data':pwd}) else: return jsonify({'code':207,'msg':'验证码输入错误、请重新输入!'}) else: return jsonify({'code':207,'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.msglogin(u_phone, msg_code) # 检查验证码 if login_user.get('id'): token = cache_.new_token() cache_.save_token(token, login_user.get('id')) udao.user_update('u_auth_string', u_auth_string, 'u_phone', u_phone) # 更新密码 udao.user_update('is_active', 1, 'u_phone', u_phone) # 更新状态 send_time = datetime.now().strftime('%Y-%m-%d %H-%M-%S') PhoneDao().save( **{ 'phone': u_phone, 'code': msg_code, 'send_type': '登录', 'send_time': send_time }) return jsonify({ 'code': 200, 'token': token, 'user_data': login_user }) return jsonify(login_user) else: # 手机号码不存在,提示 return jsonify({'code': 203, 'msg': '请填写注册手机号'}) else: return jsonify({ 'code': 204, 'msg': '请求参数u_phone,msg_code,u_auth_string必须存在' }) return jsonify({'code': 304, '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('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_code(): try: # 前端请求的Content-Type: application/json phone = request.form.get('phone') input_code = request.form.get('input_code') # 验证上传的必须的数据是否存在 if not confirm(phone, input_code): # 验证验证码是否一致 return jsonify({ "code": 400, "msg": "验证码输入错误,请重新输入", }) req_data = {"phone": phone} # 验证通过之后将验证码从req_data中删除 dao = UserDao() if not dao.check_login_name(phone): # 检测用户名是否存在 req_data['phone'] = phone req_data['nick_name'] = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba', 14)) req_data['create_time'] = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') req_data['photo'] = '7b6b118c30e345ca8f1f6e6584b2e7fe' req_data['login_auth_str'] = '677698c118bf5e6974f19fd2eb2a5b67' req_data['update_time'] = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') req_data["balance"] = '50000' req_data["pay_pwd"] = "fb95decf3125dc6057a09188b238ff18" req_data['activated'] = '1' dao.save(**req_data) # 不存在则存入数据库中,在读取数据 user_id = dao.find_userid(phone) token = cache.new_token() # 设置新token save_token(token, user_id) return jsonify({ 'code': 200, 'msg': 'ok', 'token': token, }) except: return jsonify({ "code":400, "msg":"注册登录失败" })
def pay_go(): args = eval(request.get_data()) user_id = args.get("user_id") shop_id = args.get("shop_id") sql = "select * from carts left join goods on carts.cart_goods_id = goods.id where cart_good_select = 1 and cart_user_id = %s and cart_shop_id = %s" data = OrderDao().query(sql, user_id, shop_id) if not data: return jsonify({ "code": 207, "msg": "当前购物车为空" }) sum = 0 order_num = datetime.now().strftime("%Y%m%d%H%M%S") + uuid.uuid4().hex[-10:] for good in data: dic = { "order_num": order_num, "cart_card": good.get("cart_card"), "order_goods_id": good.get("cart_goods_id"), "order_goods_num": good.get("cart_good_num"), "order_shop_id": good.get("cart_shop_id"), "order_user_id": good.get("cart_user_id"), "order_time": datetime.now().strftime("%Y-%m-%d %H:%M:%S") } sum += float(good.get("goods_min_price")) * int(good.get("cart_good_num")) dao.save(**dic) r.setex(order_num, sum, 900) r2.delete(str(user_id) + "-" + str(shop_id)) sql = "delete from carts where (cart_user_id, cart_shop_id) = (%s, %s)" cartdao.query(sql, user_id, shop_id) return jsonify({ "code": 200, "msg": "ok", "data": { "u_tel": UserDao().get_profile(user_id).get("u_tel"), "addr": "北京", "data": 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 check_address(): # 查询地址 req_data = request.get_json() token = req_data.get('token') if check_token(token): user_id = get_token_user_id(token) dao = AddDao() check_data = dao.check_address(user_id) user_data = UserDao().get_profile(user_id) if all((check_data, user_data)): data = { 'addressList': [{ "receivePersonName": user_data[0]['user_name'], "receiveAddress": check_data[0]['user_address'], "is_default": check_data[0]['is_default'], "receiveTEL": user_data[0]['tel'] }] } return jsonify({'code': 200, 'data': data}) else: return jsonify({'code': 400, 'msg': '数据库查询失败!'}) else: return jsonify({'code': 400, 'msg': 'token验证失败!'})
def post(self): json = request.get_json() name = json.get("name") phone_num = json.get("phone_num") email = json.get("email") document_type = json.get("document_type") id_number = json.get("id_number") token = json.get("token") p_num = r.get(token) user_dao = UserDao() user_id = user_dao.user_id_list(p_num) dao = OrderDao() try: dao.save("travel_infor",**{ "name":name, "phone_num":phone_num, "email":email, "document_type":document_type, "id_number":id_number, "user_id":user_id }) return jsonify({ "code":705, "msg":"成功!", "data":{ "name":name, "phone_num":phone_num, "email":email, "document_type":document_type, "id_number":id_number } }) except: return jsonify({ "code":706, "msg":"保存失败!" })
def checking_code(): try: phone = request.form.get('phone') input_code = request.form.get('input_code') # 验证上传的必须的数据是否存在 if not confirm(phone, input_code): # 验证验证码是否一致 return jsonify({ "code": 400, "msg": "验证码输入错误,请重新输入", }) token = cache.new_token() # 设置新token dao = UserDao() user_id = dao.find_userid(phone) save_token(token, user_id) return jsonify({ 'code': 200, 'msg': 'ok', 'token': token, }) except: return jsonify({ "code":400, "msg":"验证失败" })
def check_code(): try: dao = UserDao() token = request.args.get('token') # 获取form中的token user_id = get_token_user_id(token) # 通过token获取id # 前端请求的Content-Type: application/json phone = request.form.get('phone') input_code = request.form.get('input_code') # 验证上传的必须的数据是否存在 if not confirm(phone, input_code): # 验证验证码是否一致 return jsonify({ "code": 400, "msg": "验证码输入错误,请重新输入", }) dao.update_Verifi(phone, user_id) return jsonify({ "code": 200, "msg": "更改手机号成功" }) except: return jsonify({ "code":400, "msg":"更改手机号失败" })
def card_num(): token = request.args.get('token', None) #接收user_id #判断接受的数据是否为空 if token: user_id = cache.get_token_user_id(token) data = UserDao().get_wallet(user_id) if not data: api_logger.info("此用户无银行卡") return jsonify({ "code":207, "msg":"你还未添加银行卡,请添加银行卡" }) api_logger.info("显示所有银行卡") return jsonify({ "code": 200, "msg": "银行卡号", "data": data, }) else: api_logger.info("user_id为空") return jsonify({"msg":'查无此用户', "code":207})
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 vip_view(): # 验证用户是否已登录 token = request.args.get('token', None) if token is None: return jsonify({ 'code': 202, 'msg': '未登录,请登录' }) if cache.check_token(token): user_id = cache.get_token_user_id(token) # 是否开启vip if UserDao().is_vip(user_id) == 1: dt = VipDao() data = dt.get_shop() shop_discounts2 = User_Featuare_Dao().discount2_des() return jsonify({ 'code': 200, 'msg': '显示成功', 'data': { "shop_data": data, # 商品信息 "discounts": shop_discounts2 } }) # 显示vip界面 dt = VipDao() data = dt.get_shop() name = dt.get_username(user_id) return jsonify({ 'code': 200, 'msg': '显示成功', 'data': { "user_id": user_id, "shop_data":data, # 商品信息 "username":name, # 用户姓名 } })
def __init__(self): self.user_dao = UserDao() self.playlist_dao = PlaylistDao() self.reaction_dao = ReactionDao() self.track_dao = TrackDao()
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_update(): # 用户登录后修改自己的个人信息 u_data = request.get_json() token = u_data.get('token') # 获取token print(token) old_pwd = u_data.get('old_pwd') # 获取用户上传的原密码 new_pwd = u_data.get('new_pwd') # 获取用户上传的新密码 if check_token(token): # 验证token user_id = get_token_user_id(token) # 通过token获取用户的ID check_data = UserDao().get_profile(user_id) # 通过用户ID查询用户的详细信息 if check_data: # 如果查询成功 dao = UserDao() if all((old_pwd, new_pwd)): # 修改支付密码 pay_pwd = check_data[0]['pay_pwd'] # 获取数据库中的密码 if old_pwd == pay_pwd: # 若原密码等于库中的密码 user_save = dao.update('jd_user', "pay_pwd", new_pwd, 'user_id', user_id) # 将新密码存入数据库 if user_save: # 如果保存成功 data = { 'userPhoto': u_data.get('u_img'), 'userID': user_id, 'userName': u_data.get('user_name'), 'realname': check_data[0]['is_val'], 'TEL': check_data[0]['tel'], 'Email': check_data[0]['u_email'], } return jsonify({ 'code': 200, 'msg': '修改成功!', 'data': data }) else: return jsonify({'code': 400, 'msg': '修改失败!'}) else: return jsonify({'code': 400, 'msg': '原密码输入错误!'}) elif old_pwd: # 设置支付密码 user_save = False dict1 = { 'u_img': u_data.get('u_img'), 'user_name': u_data.get('user_name'), 'pay_pwd': u_data.get('old_pwd') } for k, v in dict1.items(): user_save = dao.update('jd_user', k, v, 'user_id', user_id) if user_save: data = { 'userPhoto': u_data.get('u_img'), 'userID': user_id, 'userName': u_data.get('user_name'), 'realname': check_data[0]['is_val'], 'TEL': check_data[0]['tel'], 'Email': check_data[0]['u_email'], } return jsonify({'code': 200, 'msg': '修改成功!', 'data': data}) else: return jsonify({'code': 400, 'msg': '修改失败!'}) else: # 修改除密码外的其他信息 user_save = False dict1 = { 'u_img': u_data.get('u_img'), 'user_name': u_data.get('user_name') } for k, v in dict1.items(): user_save = dao.update('jd_user', k, v, 'user_id', user_id) if user_save: data = { 'userPhoto': u_data.get('u_img'), 'userID': user_id, 'userName': u_data.get('user_name'), 'realname': check_data[0]['is_val'], 'TEL': check_data[0]['tel'], 'Email': check_data[0]['u_email'], } return jsonify({'code': 200, 'msg': '修改成功!', 'data': data}) else: return jsonify({'code': 200, 'msg': '修改失败!'}) else: return jsonify({ 'code': 400, 'msg': '查询数据库失败!', }) else: return jsonify({'code': 400, 'msg': 'token验证失败!'})
from flask import jsonify, request from dao.user_dao import UserDao from main_app import app userdao = UserDao() @app.route('/users', methods=['GET']) def get_all_users(): return jsonify(userdao.get_all_users()) @app.route('/users/<int:id>', methods=['GET']) def get_user_by_id(id): return jsonify(userdao.get_user_by_id(id)) @app.route('/users/insert', methods=['POST']) def insert_user(): return jsonify(userdao.insert_user(request.json)) @app.route('/users/delete/<int:id>', methods=['GET']) def delete_user(id): return jsonify(userdao.delete_user(id))
db_driver = driver_database() db_expedition = expedition_database() db_seat = seat_database() db_ticket = ticket_database() hotel_db = db_hotel.hotel image_db = db_image.image firm_db = db_firm.firm firm_image_db = db_firm_image.firm_image vehicle_db = db_vehicle.vehicle driver_db = db_driver.driver expedition_db = db_expedition.expedition seat_db = db_seat.seat ticket_db = db_ticket.ticket userop = UserDao() city_db = CityDao() terminalop = TerminalDao() sale_db = SaleDao() salt = "3re" today = datetime.today() str_today = str(today.month) + '/' + str(today.day) + '/' + str(today.year) def dayCompare(toCompare): t0 = str_today.split('/', 3) t1 = toCompare.split('/', 3) if t0[2] > t1[2]:
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': '您还未登陆,请先登录'})
def update_address(): # 修改地址 req_data = request.get_json() token = req_data.get('token') add_id = req_data.get('address', None) re_str = req_data.get('strs', None) print(re_str, add_id) if check_token(token): user_id = get_token_user_id(token) if add_id is not None and re_str is None: # 删除 dao = BaseDao() dao.delete('u_address', 'user_address', add_id) return jsonify({'code': 200, 'msg': '该地址已删除!'}) elif (add_id and re_str) is not None: # 修改 dao = AddDao() dao.update('u_address', 'user_address', re_str, 'user_address', add_id) check_data = dao.check_address(user_id) user_data = UserDao().get_profile(user_id) if all((check_data, user_data)): data = { 'addressList': [{ "receivePersonName": user_data[0]['user_name'], "receiveAddress": check_data[0]['user_address'], "receiveTEL": user_data[0]['tel'] }] } return jsonify({'code': 200, 'msg': '地址修改成功!', 'data': data}) else: return jsonify({'code': 400, 'msg': '数据库查询失败!'}) elif re_str is not None and add_id is None: # 添加 print(re_str) dao = AddDao() save_add = dao.save( 'u_address', **{ "user_id": user_id, "user_address": re_str, "is_default": 0 }) if save_add: check_data = dao.check_address(user_id) user_data = UserDao().get_profile(user_id) if all((check_data, user_data)): data = { 'addressList': [{ "receivePersonName": user_data[0]['user_name'], "receiveAddress": check_data[0]['user_address'], "receiveTEL": user_data[0]['tel'] }] } return jsonify({ 'code': 200, 'msg': '地址添加成功!', 'data': data }) else: return jsonify({'code': 400, 'msg': '数据库查询失败!'}) else: return jsonify({'code': 400, 'msg': '地址添加失败!'}) else: return jsonify({'code': 400, 'msg': '数据上传有误!'}) else: return jsonify({'code': 400, 'msg': 'token验证失败!'})
def __init__(self): self.users_dao = UserDao() self.session_dao = SessionDao()
from fastapi import APIRouter, Depends from fastapi.security import OAuth2PasswordRequestForm from config.database_config import get_db from dao.user_dao import UserDao from dto.user_dto import UserDtoIn, UserDtoOut from service.auth_service import get_current_user authRouter = APIRouter( prefix="/auth", tags=["auth"] ) userDao = UserDao() @authRouter.post('/register') async def sign_on(user: UserDtoIn, session=Depends(get_db)): return userDao.create(user, session) @authRouter.post('/token') async def token(form_data: OAuth2PasswordRequestForm = Depends()): return {'access_token': form_data.username} @authRouter.get("/users/me", response_model=UserDtoOut) async def read_users_me(current_user: UserDtoIn = Depends(get_current_user)): return current_user
def __init__(self): self.user_dao = UserDao()
def check_login(self, email, password): return UserDao().check_login(email, password)
from flask import Flask, render_template, request as req, redirect, url_for, session, flash from database import Database from models.game import Game from models.user import User from dao.game_dao import GameDao from dao.user_dao import UserDao app = Flask(__name__) app.secret_key = 'adminadmin' db = Database() game_dao = GameDao(db=db) user_dao = UserDao(db=db) @app.route('/') def index(): return render_template('index.html', list=game_dao.find_all(), title='Games List') @app.route('/add-game') def add_game(): if 'user_logged' not in session or session['user_logged'] == None: return redirect(url_for('login', next_page='add_game')) return render_template('add-game.html', title='Add a game') @app.route('/new-game', methods=[