def shopping(): print("欢迎来到购物模块") while True: for index, goods in enumerate( settings.SHOP_DIST): #用列表存储的商品输出,得到索引和有两个元素的商品小列表 print(f'{index} {goods}') goods_n = input("请输入你要的商品编号,按q退出:") if goods_n == 'q': break if not goods_n.isdigit(): print("输入有误") continue goods_n = int(goods_n) goods = settings.SHOP_DIST[goods_n] # 拿到的商品是一个有两个值(第一个是商品名,第二个是价格)的列表 goods_name = goods[0] # 列表第一个元素是商品名 user_dic = db_handler.read_json(user_info['user']) # 拿到当前用户的数据字典 my_money = user_dic['extra'] # 把用户字典中的查看额度取出来 if goods[-1] <= my_money: # 如果商品金额小于额度,可以买 if goods_name in user_dic['shop_car']: user_dic['shop_car'][goods_name] += goods[ -1] # 如果我的字典里面的购物车字典有该商品,把价格加上去 else: user_dic['shop_car'][goods_name] = goods[ -1] # 如果我的字典里面的购物车字典没有该商品,把商品名加上去,价格加上去 db_handler.save_json(user_dic) # 做完修改要保存 print(f'{goods_name}加入购物车成功') else: print("余额不足") break print(f"你的购物车是{user_dic['shop_car']}") # 买完之后要打印一下
def shopping_interface(username): user_dic = db_handler.read_json(username) while True: for i, goods in enumerate(goods_list): print(f'商品编号:{i}:{goods}') choice = input('请输入商品编号(q-->break):') if choice == 'q': break if choice != 'q' and choice.isalpha(): print('傻逼,商品编号是数字,滚回去重新输入。。。。') continue choice = int(choice) goods = goods_list[choice] goods_name = goods[0] if goods_name in shopping_car: shopping_car[goods_name] += 1 user_dic['shop_car'][goods_name] += 1 else: shopping_car[goods_name] = 1 user_dic['shop_car'][goods_name] = 1 db_handler.save_json(user_dic) price[0] += int(goods[1]) print(f'商品:{goods_name}-->已加入购物车\n') return True, f'购买商品为:{shopping_car},商品价格为:{price[0]}'
def withdraw_interface(username, money): username_data = db_handler.read_json(username) if username_data['extra'] > money: username_data['extra'] -= money db_handler.save_json(username, username_data) return True, f'取现{money}成功' return False, f'余额不足'
def check_extra_interface(username): user_dic = db_handler.read_json(username) extra = user_dic['extra'] msg= f'{username}查看了余额,余额为:{extra}' user_dic['history'].append(msg) db_handler.save_json(user_dic) return user_dic.get('extra')
def register_interface(username, pwd): """注册接口""" flag = common.check_user(username) if flag: return False, '用户已经存在' else: content = {'username': username, 'pwd': pwd, 'extra': 15000, 'locked': 0} db_handler.save_json(username, content) return True, '用户注册成功'
def withdraw_interface(username, money): # 取现接口 user_dic = db_handler.read_json(username) #拿用户信息 if money * 1.005 > user_dic['extra']: return "钱不够" else: user_dic['extra'] -= money * 1.05 # 减钱 db_handler.save_json(user_dic) # 存数据 return f'{username}已成功取现{money}元'
def withdraw_interface(username, m): data = db_handler.read_json(username) if m * 1.05 > data['extra']: return '余额不足' else: data['extra'] -= m * 1.05 data['history'].append(f'{username}取款{m}元') db_handler.save_json(username, data) return '取款成功'
def register_intrerface(username,pwd): user_dic = db_handler.read_json(username) if user_dic: return False,'用户已存在' # 用户信息 user_dic = {'username':username,'pwd':pwd,'extra':15000,'history':[],'lock':False,'shop_car':{}} db_handler.save_json(user_dic) return True,f'{username}注册成功'
def withdraw_interface(username, money): user_dic = db_handler.read_json(username) if user_dic['balance'] >= 1.05 * money: user_dic['balance'] -= 1.05 * money db_handler.save_json(username, user_dic) user_dic['flow'].append(f'{username}成功取现{money}元') db_handler.save_json(username, user_dic) return True, f'{username}成功取现{money}元' else: return False, f'{username}余额不足'
def shopping_interface(username,goods_price): goods = goods_price[0] price = goods_price[1] data = db_handler.read_json(username) if goods in data['shop_car']: data['shop_car'][goods] += price else: data['shop_car'][goods] = price db_handler.save_json(username,data) return f'{goods}已加入购物车 计{price}元'
def repay_interface(username): username_data = db_handler.read_json(username) extra = username_data['extra'] if extra >= 15000: return True, '无需还款' else: username_data['extra'] = 15000 db_handler.save_json(username, username_data) return True, f'还款{(15000-extra)*1.005}成功'
def repay_interface(username): #还款接口 while True: money = input("请输入你的还款金额:").strip() if not money.isdigit(): print('请输入数字') else: money = int(money) user_dic = db_handler.read_json(username) #拿用户数据 user_dic['extra'] += money # 字典里面加钱 db_handler.save_json(user_dic) #保存数据 return f'{username}已成功还款{money}' #返回信息
def repay_interface(username,money): user_dic = db_handler.read_json(username) user_dic['extra'] += money db_handler.read_json(user_dic) msg = f'{username}还款成功,还款金额为:{money}' user_dic['history'].append(msg) db_handler.save_json(user_dic) return True,msg
def withdraw_interface(username,money): user_dic = db_handler.read_json(username) withdraw_money = money*1.05 if user_dic.get('extra') >= withdraw_money: user_dic['extra'] -= withdraw_money msg = f'{username}取款成功,取款金额:{money},手续费为{withdraw_money-money}' user_dic['history'].append(msg) db_handler.save_json(user_dic) return True,msg return False,'滚,余额不够!'
def shopping_car_pay(username,choice): if choice == 'y': data = db_handler.read_json(username) m = sum(data['shop_car'].values()) data['extra'] -= m data['shop_car'].clear() data['history'].append(f'{username}支付了{m}元') db_handler.save_json(username,data) return f'支付成功 共{m},购物车已经清空' elif choice == 'n': return '购物车已保留' else: return '请好好输'
def register_interface(username, pwd): flag = common.check_user(username) if flag: return '用户已存在' else: content = { 'username': username, 'pwd': pwd, 'extra': 15000, 'history': [], 'shop_car': {} } db_handler.save_json(username, content) return '注册成功'
def transfer_interface(from_username, to_username, money): from_user_dic = db_handler.read_json(from_username) to_username_dic = db_handler.read_json(to_username) if from_user_dic['balance'] >= money: from_user_dic['balance'] -= money to_username_dic['balance'] += money db_handler.save_json(from_username, from_user_dic) db_handler.save_json(to_username, to_username_dic) from_user_dic['flow'].append( f'{from_username}成功向{to_username}转账{money}元') return True, f'{from_username}成功向{to_username}转账{money}元' else: to_username_dic['flow'].append(f'{from_username}余额不足,转账失败') return False, f'{from_username}余额不足,转账失败'
def transfer_interface(from_username, to_username, money): from_username_data = db_handler.read_json(from_username) to_username_data = db_handler.read_json(to_username) if from_username_data['extra'] > money: to_username_data['extra'] += money from_username_data['extra'] -= money db_handler.save_json(from_username, from_username_data) db_handler.save_json(to_username, to_username_data) return True, '转账成功' return False, '转账失败'
def transfer_interface(trf_name, username, m): flag = common.check_user(trf_name) if not flag: return '用户不存在' else: trf_data = db_handler.read_json(trf_name) user_data = db_handler.read_json(username) if m > user_data['extra']: return '余额不足' else: trf_data['extra'] += m user_data['extra'] -= m trf_data['history'].append(f'{trf_name}收到了{username}转的{m}元') user_data['history'].append(f'{username}向{trf_name}转了{m}元') db_handler.save_json(username, user_data) db_handler.save_json(trf_name, trf_data) return '转账成功'
def shopping_car(): print("欢迎来到购物车模块") while True: user_dic = db_handler.read_json(user_info['user']) #用户数据读取 goods_dic = user_dic['shop_car'] # 拿到用户数据字典的购物车字典 cost_choice = input(f"购物车是{goods_dic},是否选择购买y/n:") # 判断是否购买 if cost_choice == 'n': break elif cost_choice == 'y': cost = sum(goods_dic.values()) # 把用户购物车字典中的值求和得到总价 if cost > user_dic['extra']: print('余额不足,支付失败') break user_dic['extra'] -= cost # 支付就是把用户字典的额度减去总价 db_handler.save_json(user_dic) # 操作完了保存 print("支付成功") break
def shopping_cart_interface(username, choice): user_dic = db_handler.read_json(username) for i in enumerate(user_dic['shopping_cart']): print(i) if choice == 'y': cost = user_dic['shopping_cart'][0][2]['价格'] * user_dic[ 'shopping_cart'][0][3]['数量'] if cost >= user_dic['balance']: return f'{username}余额不足,支付失败' else: user_dic['balance'] -= cost db_handler.save_json(username, user_dic) return f'{username}支付成功,花费{cost}元' elif choice == 'n': user_dic['shopping_cart'].clear() db_handler.save_json(username, user_dic) return '{username}清空购物车成功'
def shopping_car_interface(shopping_car_dict, username): goods_price = sum(shopping_car_dict.values()) username_data = db_handler.read_json(username) if username_data['extra'] >= goods_price: username_data['extra'] -= goods_price username_data.update(shopping_car_dict) db_handler.save_json(username, username_data) new_shopping_car_dict = shopping_car_dict.copy() shopping_car_dict.clear() # 保存为excel文件 db_handler.save_excel(df, settings.GOODS_INFO_PATH) return True, f'购物成功{new_shopping_car_dict}' else: shopping_car_dict.clear() return False, '穷逼也购物'
def transfer_interface(from_username, to_username, money): # 转账接口, from_user_dic = db_handler.read_json(from_username) # 读当前用户数据 to_user_dict = db_handler.read_json(to_username) # 读要转账用户数据 my_money = from_user_dic['extra'] # 把用户的钱单独拿出来 if money > my_money: return '钱不够' else: from_user_dic['extra'] -= money # 我减钱 to_user_dict['extra'] += money # 对方加钱 msg_f = f'已向{to_username}转账{money}元' #记录我的信息 msg_t = f'已收到{from_username}转账{money}元' #记录对方信息 from_user_dic['bank_flow'].append(msg_f) #加我流水 to_user_dict['bank_flow'].append(msg_t) #加对方流水 db_handler.save_json(from_user_dic) #存数据 db_handler.save_json(to_user_dict) #存数据 return msg_f #返回操作信息
def shopping_interface(username): df = db_handler.read_excel() common.goods_visualize(df) product_list = df.columns.to_list() print(product_list) for i in enumerate(product_list): print(i) choice = input('请输入产品编号:') if not choice.isdigit(): print('请输入正确的编号') else: choice = int(choice) if choice not in range(5): print('产品不存在') else: amount = input('请输入需要购买的数量:') if not amount.isdigit(): print('请输入正确的数量') else: amount = int(amount) if amount > df.loc['数量', product_list[choice]]: print('库存不足') else: df.loc['数量', product_list[choice]] -= amount user_dic = db_handler.read_json(username) user_dic['shopping_cart'].append([{ '商品名': product_list[choice] }, { '价格': int(df.loc['价格', product_list[choice]]) }, { '数量': amount }]) db_handler.save_json(username, user_dic) db_handler.save_excel(df) return f'{product_list[choice]}数量{amount}成功加入购物车'
def shopping_car_interface(username, choice): user_dic = db_handler.read_json(username) if choice == 'y': if user_dic['extra'] >= price[0]: user_dic['extra'] -= price[0] user_dic['shop_car'].clear() msg = f'{username}已购物成功,消费金额为:{price[0]}' user_dic['history'].append(msg) db_handler.save_json(user_dic) return True, msg else: return False, '滚去还款,钱不够了,购物车已保存' elif choice == 'n': user_dic['shop_car'].clear() db_handler.save_json(user_dic) shopping_car.clear() price[0] = 0 return False, '你取消了付款,购物车已经清空了。。。。。'
def transfer_interface(username,to_username,money): to_username_dic= db_handler.read_json(to_username) if not to_username_dic: return False,'傻逼,用户不存在,你转给谁' username_dic = db_handler.read_json(username) if username_dic['extra'] >= money: username_dic['extra'] -= money to_username_dic['extra'] += money msg = f'{username}向{to_username}转了{money}元' username_dic['history'].append(msg) to_username_dic['history'].append( f'{to_username}收到了{username}转的{money}元') db_handler.save_json(username_dic) db_handler.save_json(to_username_dic) return True,msg return False,'傻逼,转账之前不会查看一下余额??'
def register_interface(username, pwd): user_path = os.path.join(settings.DB_PATH, f'{username}.json') if os.path.exists(user_path): return False, '用户已存在' else: user_dic = { 'username': username, 'pwd': pwd, 'balance': 15000, 'shopping_cart': [], 'flow': [], 'lock': 0 } flag = db_handler.save_json(username, user_dic) if flag: return True, f'{username}注册成功'
def repay_interface(username, m): data = db_handler.read_json(username) data['extra'] += m data['history'].append(f'{username}还款{m}元') db_handler.save_json(username, data) return '还款成功'
def repay_interface(username, money): user_dic = db_handler.read_json(username) user_dic['balance'] += money db_handler.save_json(username, user_dic) user_dic['flow'].append(f'{username}成功还款{money}元') return True, f'{username}成功还款{money}元'
def locked_interface(username): """输入密码错误就锁""" data = db_handler.read_json(username) data['locked'] = 1 db_handler.save_json(username, data)