def withdraw_interface(login_user, money): #手续费5% money2 = float(money) * 1.05 user_dict = db_handler.check(login_user) balance = user_dict["balance"] if float(balance) >= money2: user_dict["balance"] -= money2 flow = f"{common.gettime()}: {login_user} 提现成功,提现金额为{money},余额为{user_dict.get('balance')}, 本次手续费为{money2-float(money)}" user_dict['flow'].append(flow) ATM_logger.info(flow) db_handler.save(user_dict) return True, flow flow = f"{login_user} 提现失败,余额不足,余额为{user_dict.get('balance')},请重新输入提现金额。" ATM_logger.warning(flow) return False, flow
def register_interface(name, pwd, balance=15000): pwd = common.get_md5(pwd) user_dic = { 'name': name, 'pwd': pwd, 'balance': balance, 'flow': [], 'shop_cart': {}, 'lock': False } db_handler.save(user_dic) msg = f"用户{name}注册成功" user_logger.info(msg) return msg
def register_interface(user, pwd): if db_handler.select(user): return False, "用户已存在" user_dic = { "name": user, "password": pwd, "balance": 15000, "flow": [], "shopping_cart": {} } db_handler.save(user_dic) return True, "用户:%s 注册成功" % user
def shopping_pay_interface(user, shopping_cart): user_dic = db_handler.select(user) goods_list = get_goods_interface() total = 0 for k, num in shopping_cart.items(): total += goods_list[k][1] * num if total <= user_dic["balance"]: user_dic["balance"] -= total user_dic["flow"].append("结算成功,此次花费金额%s" % total) db_handler.save(user_dic) return True, "结算成功,此次花费金额%s" % total else: return False, "余额不足,请先还款"
def add_shopping_cart(login_user, shopping_car): user_dic = db_handler.select(login_user) if not user_dic: return False, '用户不存在' shop_car = user_dic['shop_car'] for shop_name, shop_info in shopping_car.items(): number = shop_info[1] if shop_name in shop_car: user_dic['shop_car'][shop_name][1] += number else: user_dic['shop_car'].update({shop_name: shop_info}) db_handler.save(user_dic) return True, f'用户{login_user}添加购物车成功'
def transfer_interface(username, to_username, money): user_dic = db_handler.select(username) to_user_dic = db_handler.select(to_username) if not to_user_dic: return False, '目标用户不存在' if user_dic['balance'] >= money: user_dic['balance'] -= money to_user_dic['balance'] += money flow = f'用户{username}给用户{to_username}转账{money}' user_dic['flow'].append(flow) to_user_dic['flow'].append(flow) db_handler.save(user_dic) db_handler.save(to_user_dic) return True, flow else: return False, '余额不够'
def resister_interface(user_name,password,balance=15000): user_dic=db_handler.select(user_name) if user_dic: return False,'用户名已存在' password=common.get_pwd_md5(password) user_dic = { 'username': user_name, 'password': password, 'balance': balance, 'flow': [], 'shop_car': {}, 'locaked': False } db_handler.save(user_dic) shop_logger.info(f'{user_name}注册成功') return True,f'{user_name}注册成功'
def register_interface(username, password, balance=15000): dic = db_handler.select(username) if dic: return 0, '用户名已存在!' else: password = common.get_pwd_md5(password) user_dict = { 'username': username, 'password': password, 'balance': balance, 'flow': [], 'shop_car': {}, 'locked': 0 } db_handler.save(user_dict) return 1, '注册成功!'
def pay_interface(name, cost): user_dic = db_handler.select(name) if user_dic['balance'] >= cost: user_dic['balance'] -= cost user_dic['shopping_cart'] = {} db_handler.save(user_dic) return True, '支付成功!' else: return False, '消费失败!'
def add_course(self, name): sch = db_handler.select(settings.sch_DB, self.school_id) for item in self.courses: if item.name == name: return False, '这门课程已在学习课程内' for item in sch.courses: if item.name == name: item.students.append(self) self.courses.append(item) db_handler.save(settings.stu_DB, self) db_handler.save(settings.sch_DB, sch) stu_logger.info('学生姓名%s,id:%s,增加了课程%s' % (self.name, self.id, name)) return True, '课程已加入清单' else: return False, '课程不存在'
def pay_interface(username,cost): #查用户 user_dic=db_handler.select(username) #查用户当前金额 # user_dic.get('money') #判断用户当前金额是否可以支付购物车商品的总金额 if user_dic.get('money') >= cost: #用户账户当前金额减去购物车商品总金额 user_dic['money'] -=cost #记录流水 msg=f'{username},购物支付{cost}元成功!!' user_dic['money_water'].append(msg) db_handler.save(user_dic) return True,msg return False
def register_inter_face(name, pwd2): user_dict = db_handler.get_user_dic(name) if user_dict: return False, "你输入的账号已经存在请登录" else: user_dict = { "name": name, "pwd": pwd2, "balance": 15000, "flow": [], "shopping_car": {}, "status": None, "time": None } db_handler.save(user_dict) return True, "注册成功"
def shopping_interface(name, money, shoppingcart): ''' 购物接口. :param name:用户名 :param money: 消费金额 :param shoppingcart: 购物车清单 :return:True,False ''' flag, msg = bank.consume_interface(name, money) if flag: user_dic = db_handler.select(name) user_dic['shoppingcart'] = shoppingcart db_handler.save(user_dic) return True, '购买成功' else: return False, '余额不足'
def transfer_interface(current_user,to_user,money): to_user_dic = db_handler.select(to_user) current_user_dic = db_handler.select(current_user) if current_user_dic.get('balance') >= money: current_user_dic['balance'] -= money to_user_dic['balance'] += money # 记录流水 msg= f'{current_user}向{to_user}转账{money}元成功' to_user_flow = f'{to_user}收到{current_user}转账{money}元成功' current_user_dic['bank_flow'].append(msg) to_user_dic['bank_flow'].append(msg) db_handler.save(to_user_dic) return True,msg return False, f'钱不够,请充值或者重新输入'
def withdraw_interface(name, balance): ''' 取款接口. :param name: 取款用户 :param balance: 取款金额 :return:True,False ''' user_dic = db_handler.select(name) if user_dic['balance'] >= balance * 1.05: # 0.5%的手续费 user_dic['balance'] -= balance * 1.05 user_dic['bankflow'].append('取款%s,手续费%s' % (balance, balance * 0.05)) bank_logger.info('你取款了%s元,手续费%s元' % (balance, balance * 0.05)) db_handler.save(user_dic) return True, '取款成功,取出金额%s' % balance else: return False, '余额不足'
def repay_interface(name, balance): ''' 还款接口. :param name: 还款用户 :param balance: 还款金额 :return:True,False ''' user_dic = db_handler.select(name) if user_dic['balance'] >= balance: user_dic['balance'] -= balance user_dic['bankflow'].append('还款%s' % balance) bank_logger.info('%s还款了%s元' % (name, balance)) db_handler.save(user_dic) return True, '还款成功' else: return False, '余额不足以还款'
def shopping_pay_interface(username,shopping_car,cost): flag = bank_interface.repay_interface(username,cost) user_dic = db_handler.select(username) if flag: user_dic['shop_car'] = {} db_handler.save(user_dic) return True,'购物并支付成功' #若失败,保存购物车 else: user_dic['shop_car'] = shopping_car db_handler.save(user_dic) return False,'支付失败,保存购物车'
def shop_pay_interface(username, shop_car, cost): # 1.调用银行支付接口 flag = bank_interface.pay_interface(username, cost) # 获取当前用户 user_dic = db_handler.select(username) # 2.判断是否支付成功! # 若支付成功,清空购物车 if flag: user_dic['shop_car'] = {} db_handler.save(user_dic) return True, '购物并支付成功!' # 若支付失败,保存购物车 else: user_dic['shop_car'] = shop_car db_handler.save(user_dic) return False, '支付失败, 保存购物车'
def withdraw_interface(balance, name): user_dic = db_handler.select(name) balancel = balance * 1.05 if user_dic["balance"] >= balancel: user_dic["balance"] -= balancel user_dic["bankflow"].append("you have withdraw {}".format(balance)) db_handler.save(user_dic) bank_logger.info("you have withdraw {}".format(balance)) return True, "you withdraw money successfully" else: return False, "your money is not enough"
def set_score(self, course, id, score): stu = db_handler.select(settings.stu_DB, id) # 取出学生对象,学生的课程列表里存放着课程对象,将对象的分数属性设置为想要的值 if stu: for item in stu.courses: if item.name == course: item.score = score db_handler.save(settings.stu_DB, stu) teac_logger.info( '教师:姓名-%s,id-%s,修改了id为:%s学生的%s课的分数' % (src.user_obj.name, src.user_obj.id, id, course)) return True, '设置成功' else: return False, '课程不存在' else: return False, '学生ID错误'
def shopping_interface(username, cost, shop_cart): user_dic = db_handler.select(username) if user_dic['balance'] >= cost: user_dic['balance'] -= cost flow_str = f'{username}消费{cost}元成功' user_dic['flow'].append(flow_str) user_dic['shop_cart'].update(shop_cart) db_handler.save(user_dic) return flow_str else: user_dic['shop_cart'].update(shop_cart) db_handler.save(shop_cart) return '没钱'
def lock(): user = input('请输入你要修改的用户').strip() userdict = db_handler.select(user) print(userdict['locked']) sure = input('是否继续修改(T/F)').strip() if sure == 'T': state = input('修改为(True/False):>>>') userdict['locked'] = state db_handler.save(userdict) flow=f'修改账户{user}状态成功,当前状态为{state}' return True,flow else: flow = '用户取消操作' user_logger.info(flow) return False,flow
def shop_pay_interface(username,shopping_car,cost): #1、调用银行支付接口 flag=bank_interface.pay_interface(username,cost) #获取当前用户 user_dic=db_handler.select(username) #判断是否支付成功! #如果支付成功,清空购物车 if flag: user_dic['shopping_car']={} db_handler.save(user_dic) return True,f'购物并支付成功' #若支付失败,保存购物车 else: user_dic['shopping_car']=shopping_car db_handler.save(user_dic) return False,f'支付失败,保存购物车'
def zhuanzhang_interface(name, to_user, to_money): user_dic = db_handler.select(name) to_user_dic = db_handler.select(to_user) if not to_user_dic: return False, '转账用户%s不存在' % to_user else: if user_dic['balance'] < to_money: return False, '转账金额比余额大,转账失败' else: user_dic['balance'] -= to_money to_user_dic['balance'] += to_money info = '用户%s转账%s元给用户%s成功' % (name, to_money, to_user) logger1.info(info) user_dic['flow'].append(info) db_handler.save(user_dic) db_handler.save(to_user_dic) return True, info
def add_course(self, option): sch = db_handler.select(settings.sch_DB, self.school_id) for item in self.courses: if option == item: return False, '课程已存在' else: for cour in sch.courses: if option == cour.name: self.courses.append(option) # 课程名称放入老师的课程列表 cour.teacher = self # 将该门课程的教师属性设置为当前教师对象 db_handler.save(settings.sch_DB, sch) db_handler.save(settings.teac_DB, self) teac_logger.info('教师:姓名-%s,id-%s,增加了课程%s' % (self.name, self.id, option)) return True, '成功选择课程' else: return False, '没有目标课程'
def transfer_interface(from_user, to_user, balance): '''转账接口''' from_user_dic = db_handler.select(from_user) to_user_dic = db_handler.select(to_user) if not to_user_dic: return False, '对方用户不存在' if from_user_dic['balance'] < balance: return False, '余额不足' from_user_dic['balance'] -= balance to_user_dic['balance'] += balance from_user_dic['bankflow'].append('向%s用户成功转帐%s' % (to_user, balance)) to_user_dic['bankflow'].append('从%s用户成功收帐%s' % (from_user, balance)) bank_logger.info('向%s用户成功转帐%s' % (to_user, balance)) bank_logger.info('从%s用户成功收帐%s' % (from_user, balance)) db_handler.save(from_user_dic) db_handler.save(to_user_dic) return True #, '向%s用户成功转帐%s' % (to_user, balance)
def transfer_interface(src_user, dst_user, money): src_dic = db_handler.select(src_user) dst_dic = db_handler.select(dst_user) if money <= src_dic["balance"]: src_dic["balance"] -= money dst_dic["balance"] += money src_dic["flow"].append("转账成功,%s 转入目标账户 %s 金额 %s" % (src_user, dst_user, money)) dst_dic["flow"].append("转账成功,由%s 转入 %s 金额 %s" % (src_user, dst_user, money)) db_handler.save(src_dic) db_handler.save(dst_dic) logger.info("用户 %s :转账成功,由%s 转入 %s 金额 %s" % (src_user, src_user, dst_user, money)) return True, "转账成功,%s 转入 %s 金额 %s" % (src_user, dst_user, money) else: return False, "余额不足,转账失败"
def withdraw_interface(money,username): #查询到用户的信息 user_dict = db_handler.select(username) money = int(money) # 判断余额是否够取出,需要5%的手续费 if user_dict['balance'] >= money*1.05: user_dict['balance'] -= money*1.05 msg = '%s用户提现金额%s元'%(username,money) #用户流水信息 user_dict['flow'].append(msg) db_handler.save(user_dict) bank_logger.info('%s用户提现金额%s元'%(username,money)) return True,msg else: bank_logger.info('余额不足') return False,'余额不足'
def pay_interface(username, cost): user_dic = db_handler.select(username) if user_dic.get('balance') >= cost: user_dic['balance'] -= cost # 记录流水 flow = f'{username}购物支付{cost}成功!' user_dic['bank_flow'].append(flow) db_handler.save(user_dic) return True return False
def register_interface(name, password, balance=15000): ''' 注册接口. :param name:用户名 :param password: 密码 :param balance: 确认密码 :return:True,False ''' user_dic = db_handler.select(name) if user_dic: return False, '用户已存在' else: user_dic = {'name': name, 'password': password, 'balance': balance, 'locked': False, 'bankflow': [], 'shoppingcart': {}} db_handler.save(user_dic) user_logger.info('用户%s注册成功' % name) return True, '注册成功'