def show_shopping_cart(): ''' 打印购物车函数 打印购物车列表和操作选项 :return: 返回total总金额 ''' total = 0 # 初始化购物总金额 print('%s %s %s%s %s%s\n%s' % (mylib.myljust('序号', 8), mylib.myljust('商品编号', 8), mylib.myljust('商品名称', 50), mylib.myrjust('单价', 8), mylib.myrjust('个数', 8), mylib.myrjust('小计', 8), '-' * 100)) cart_list = shopping.get_cart() # 获取购物车列表 if len(cart_list) != 0: # 判断购物车是否为空 # 不为空 for cart_item in enumerate(cart_list, 1): #遍历购物车 total = total + cart_item[1]['subtotal'] # 购物总金额累加 print( '%s %s %s%s %s%s' % (str(cart_item[0]).center(8), cart_item[1]['id'].center(8), mylib.myljust(cart_item[1]['name'], 50), str(cart_item[1]['price']).rjust(8), str(cart_item[1]['num']).rjust(8), str(cart_item[1]['subtotal']).rjust(9))) else: print('您的购物车空空如也,快去血拼吧') print('-' * 100) print('总计:%s'.rjust(95 - len(str(total))) % total) # 打印总计 print('操作: 结账(p) 返回上级菜单(r) 清空购物车(e) 删除商品(d)') # 打印操作选项 return total
def show_bill(): ''' 显示账单函数 :return: 无 ''' import time account = atm.get_crurrent() if account['bill']: # 判断是否有账单 # 有账单显示账单信息 bill_info = ''' --------------------------------本期账单------------------------------------ 账单日: %s 还款日: %s ---------------------------------------------------------------------------- 应还款金额 = 上期账单金额 - 上期还款金额 + 本期账单金额 + 利息 %s %s %s %s %s ----------------------------------------------------------------------------''' % ( time.strftime("%Y-%m-%d", time.localtime(account['bill']['bill_date'])), time.strftime("%Y-%m-%d", time.localtime(account['bill']['payment_date'])), mylib.myljust(str(account['bill']['new_balance']), 10), mylib.myljust(str(account['bill']['balance_bf']), 12), mylib.myljust(str(account['bill']['payment']), 12), mylib.myljust(str(account['bill']['new_charges']), 12), mylib.myljust(str(account['bill']['interest']), 8)) print(bill_info) else: # 没有账单显示无 print('还没有账单哦') input('按任意键继续') logger.info('atm_main:%s查看账单' % account['cardid'])
def print_welcome(): welcome_info = ''' ********************************** * %s * * %s * * %s * **********************************''' %(mylib.myljust('欢迎来到65银行后台系统', 30), mylib.myljust('Version: 1.0', 30), mylib.myljust('admin 您好', 30)) print(welcome_info)
def print_welcome(): welcome_info = ''' ********************************** * %s * * %s * * %s * **********************************''' %(mylib.myljust('欢迎来到银行后台系统', 30), mylib.myljust('Version: 1.0', 30), mylib.myljust('admin 您好', 30)) print(welcome_info)
def print_welcome(): # menu = ['查看详细信息', '查看账单', '提现', '同行转账', '查看消费流水', '修改密码', '退出'] #account = atm.get_crurrent() #print(account) welcome_info = ''' ********************************** * %s * * %s * * %s * **********************************''' %(mylib.myljust('欢迎来到65银行后台系统', 30), mylib.myljust('Version: 1.0', 30), mylib.myljust('admin 您好', 30)) print(welcome_info)
def print_welcome(): ''' 输出系统信息和用户信息 :return: 无 ''' account = atm.get_crurrent() # 获取当前用户所有信息 welcome_info = ''' ********************************** * %s * * %s * * %s * * %s * **********************************''' %(mylib.myljust('欢迎来到65银行', 30), mylib.myljust('Version: 1.0', 30), mylib.myljust('%s 您好' %account['name'], 30), mylib.myljust('当前余额: %s' %account['balance'], 30)) print(welcome_info)
def print_welcome(): ''' 输出系统信息和用户信息 :return: 无 ''' account = atm.get_crurrent() # 获取当前用户所有信息 welcome_info = ''' ********************************** * %s * * %s * * %s * * %s * **********************************''' % ( mylib.myljust('欢迎来到世界银行', 30), mylib.myljust('Version: 1.0', 30), mylib.myljust('%s 您好' % account['name'], 30), mylib.myljust('当前余额: %s' % account['balance'], 30)) print(welcome_info)
def print_welcome(): ''' 输出系统信息和用户信息 :return: 无 ''' customer = shopping.get_crurrent_customer() # 获取当前用户所有信息 if not customer: customer = {"name": "游客", "cart": []} #print(account) welcome_info = ''' ********************************** * %s * * %s * * %s * **********************************''' % ( mylib.myljust('欢迎来到65商城', 30), mylib.myljust('Version: 2.0', 30), mylib.myljust('%s 您好' % customer['name'], 30)) print(welcome_info)
def print_welcome(): ''' 输出系统信息和用户信息 :return: 无 ''' customer = shopping.get_crurrent_customer() # 获取当前用户所有信息 if not customer: customer = { "name": "游客", "cart": [] } #print(account) welcome_info = ''' ********************************** * %s * * %s * * %s * **********************************''' %(mylib.myljust('欢迎来到65商城', 30), mylib.myljust('Version: 2.0', 30), mylib.myljust('%s 您好' %customer['name'], 30)) print(welcome_info)
def show_transaction_detail(): ''' 查看消费流水函数 :return: 无 ''' import time account = atm.get_crurrent() page = 1 flag = True logger.info('atm_main:%s查看消费流水' %(account['cardid'])) while flag: # 调用mylib的pagination函数分页,或的分页后的列表和最多可以分多少页 res_list, max_page = mylib.pagination(account['transaction_detail'], conf.MAX_PER_PAGE, page) # 打印分页后的消费流水 print(mylib.mycenter('消费流水', 65)) print('-' * 65) print(' %s %s %s %s' %(mylib.myljust('序号', 6), mylib.myljust('时间', 25), mylib.myljust('项目', 20), mylib.myljust('金额', 20))) for num, item in enumerate(res_list, 1): print(' %s %s %s %s' %(mylib.myrjust(str(num), 4), mylib.myljust(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(item['date'])), 25), mylib.myljust(item['description'], 20), mylib.myljust(str(item['amount']), 20))) print('-' * 65) print(mylib.myrjust('当前第%s页/共%s页' %(page, max_page), 65)) # 获取用户的操作输入 chose = input('操作提示:\n 输入n进入下一页,输入b进入上一页,输入r返回上一级菜单\n 请输入: ').strip() if chose == 'n': # 选择n下一页,页码加1 if page < max_page: page = page + 1 else: input("已经是最后一页了,按任意键继续") elif chose == 'b': # 选择b上一页,页码减1 if page == 1: input("已经是第1页了,按任意键继续") else: page = page - 1 elif chose == 'r': # 选择r,退出循环返回主菜单 flag = False else: input('输入错误,任意键')
def show_shopping_cart(): ''' 打印购物车函数 打印购物车列表和操作选项 :return: 返回total总金额 ''' total = 0 # 初始化购物总金额 print('%s %s %s%s %s%s\n%s' %(mylib.myljust('序号',8),mylib.myljust('商品编号',8), mylib.myljust('商品名称',50), mylib.myrjust('单价',8), mylib.myrjust('个数',8), mylib.myrjust('小计',8), '-'*100)) cart_list = shopping.get_cart()# 获取购物车列表 if len(cart_list) != 0: # 判断购物车是否为空 # 不为空 for cart_item in enumerate(cart_list, 1): #遍历购物车 total = total + cart_item[1]['subtotal'] # 购物总金额累加 print('%s %s %s%s %s%s' %(str(cart_item[0]).center(8),cart_item[1]['id'].center(8), mylib.myljust(cart_item[1]['name'],50), str(cart_item[1]['price']).rjust(8), str(cart_item[1]['num']).rjust(8), str(cart_item[1]['subtotal']).rjust(9))) else: print('您的购物车空空如也,快去血拼吧') print('-'*100) print('总计:%s'.rjust(95-len(str(total))) % total) # 打印总计 print('操作: 结账(p) 返回上级菜单(r) 清空购物车(e) 删除商品(d)') # 打印操作选项 return total
def show_transaction_detail(): ''' 查看消费流水函数 :return: 无 ''' import time account = atm.get_crurrent() page = 1 flag = True logger.info('atm_main:%s查看消费流水' % (account['cardid'])) while flag: # 调用mylib的pagination函数分页,或的分页后的列表和最多可以分多少页 res_list, max_page = mylib.pagination( account['transaction_detail'], conf.MAX_PER_PAGE, page) # 打印分页后的消费流水 print(mylib.mycenter('消费流水', 65)) print('-' * 65) print(' %s %s %s %s' % (mylib.myljust('序号', 6), mylib.myljust('时间', 25), mylib.myljust('项目', 20), mylib.myljust('金额', 20))) for num, item in enumerate(res_list, 1): print(' %s %s %s %s' % (mylib.myrjust(str(num), 4), mylib.myljust( time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(item['date'])), 25), mylib.myljust(item['description'], 20), mylib.myljust(str(item['amount']), 20))) print('-' * 65) print(mylib.myrjust('当前第%s页/共%s页' % (page, max_page), 65)) # 获取用户的操作输入 chose = input( '操作提示:\n 输入n进入下一页,输入b进入上一页,输入r返回上一级菜单\n 请输入: ').strip() if chose == 'n': # 选择n下一页,页码加1 if page < max_page: page = page + 1 else: input("已经是最后一页了,按任意键继续") elif chose == 'b': # 选择b上一页,页码减1 if page == 1: input("已经是第1页了,按任意键继续") else: page = page - 1 elif chose == 'r': # 选择r,退出循环返回主菜单 flag = False else: input('输入错误,任意键')
def show_goods_list(*args): ''' 显示包裹列表方法 :param args: :return: ''' global me #print(me.get_goods_list()) goods_list = me.get_goods_list() print('背包:') if goods_list: for num , line in enumerate(goods_list, 1): print('%s %s %s' %(mylib.myrjust(str(num), 5), mylib.myljust(line['name'], 10), line['count'])) else: print('背包里空空如也') input('按任意键返回主界面')
def show_goods_list(*args): ''' 显示包裹列表方法 :param args: :return: ''' global me #print(me.get_goods_list()) goods_list = me.get_goods_list() print('背包:') if goods_list: for num, line in enumerate(goods_list, 1): print('%s %s %s' % (mylib.myrjust( str(num), 5), mylib.myljust(line['name'], 10), line['count'])) else: print('背包里空空如也') input('按任意键返回主界面')
def show_bill(): ''' 显示账单函数 :return: 无 ''' import time account = atm.get_crurrent() if account['bill']: # 判断是否有账单 # 有账单显示账单信息 bill_info = ''' --------------------------------本期账单------------------------------------ 账单日: %s 还款日: %s ---------------------------------------------------------------------------- 应还款金额 = 上期账单金额 - 上期还款金额 + 本期账单金额 + 利息 %s %s %s %s %s ----------------------------------------------------------------------------''' %(time.strftime("%Y-%m-%d", time.localtime(account['bill']['bill_date'])), time.strftime("%Y-%m-%d",time.localtime(account['bill']['payment_date'])), mylib.myljust(str(account['bill']['new_balance']), 10), mylib.myljust(str(account['bill']['balance_bf']), 12), mylib.myljust(str(account['bill']['payment']), 12), mylib.myljust(str(account['bill']['new_charges']), 12), mylib.myljust(str(account['bill']['interest']), 8)) print(bill_info) else: # 没有账单显示无 print('还没有账单哦') input('按任意键继续') logger.info('atm_main:%s查看账单' %account['cardid'])
def shop(): ''' 购物函数 :return: 无 ''' # 获取所有商品列表 all_goods = goo.get_all_goods() # 初始化页码 page = 1 flag = True while flag: #all_goods = goods.get_all_goods() if all_goods: # 如果商品列表不为空显示商品信息 # 分页商品列表,获取分页后的商品列表及最多可以分多少页 res_list, max_page = mylib.pagination(all_goods, conf.MAX_PER_PAGE, page) # 输出分页后的商品列表 print("商品列表") print('-' * 80) print(' %s %s %s %s %s' %(mylib.myljust('序号', 6), mylib.myljust('编号', 7), mylib.myljust('商品名', 45), mylib.myljust('价格', 10), mylib.myljust('分类', 8))) for num, goods in enumerate(res_list, 1): print(' %s %s %s %s %s' %(mylib.myrjust(str(num), 4), mylib.myljust(goods['id'], 7), mylib.myljust(goods['name'], 45), mylib.myljust(str(goods['price']), 10), mylib.myljust(goods['class'], 6))) print('-' * 80) print(mylib.myrjust('当前第%s页/共%s页' %(page, max_page), 80)) print() # 获取用户输入的操作选项,输入序号表示选定商品 chose = input('操作提示:\n 输入相应序号选择商品\n 输入n进入下一页,输入b进入上一页,输入r返回上一级菜单\n 请输入: ').strip() if chose == 'n': # 选择n下一页,页码加1 if page < max_page: page = page + 1 else: input("已经是最后一页了,按任意键继续") elif chose == 'b': # 选择b上一页,页码减1 if page == 1: input("已经是第1页了,按任意键继续") else: page = page - 1 elif chose == 'r': # 选择r,退出循环返回主菜单 flag = False elif chose in list(map(lambda x: str(x), range(1, len(res_list) + 1))): # 如果选择的是商品序号,说明选定该商品 # 获取选定的商品 chose_goods = res_list[int(chose) - 1] do_flag = True while do_flag: # 显示商品信息 show_goods_info(chose_goods) # 获取用户操作选项 do_chose = print_menu(['加入购物车', '返回']) if do_chose == '1': # 调用shopping对象add_to_shopping_cart将选定的商品加入到购物车 shopping.add_to_shopping_cart(chose_goods, 1) if shopping.get_crurrent_customer(): logger.info('用户%s将%s添加到购物车' %(shopping.get_crurrent_customer()['username'], chose_goods['name'])) else: logger.info('游客将%s添加到购物车' %chose_goods['name']) input('成功将%s加入购物车,按任意键继续' %chose_goods['name']) elif do_chose == '2': do_flag = False else: input('输入错误,按任意键继续') else: input('输入错误,任意键') else: input('商品列表为空') flag = False
def shop(): ''' 购物函数 :return: 无 ''' # 获取所有商品列表 all_goods = goo.get_all_goods() # 初始化页码 page = 1 flag = True while flag: #all_goods = goods.get_all_goods() if all_goods: # 如果商品列表不为空显示商品信息 # 分页商品列表,获取分页后的商品列表及最多可以分多少页 res_list, max_page = mylib.pagination(all_goods, conf.MAX_PER_PAGE, page) # 输出分页后的商品列表 print("商品列表") print('-' * 80) print(' %s %s %s %s %s' % (mylib.myljust('序号', 6), mylib.myljust('编号', 7), mylib.myljust('商品名', 45), mylib.myljust( '价格', 10), mylib.myljust('分类', 8))) for num, goods in enumerate(res_list, 1): print(' %s %s %s %s %s' % (mylib.myrjust(str(num), 4), mylib.myljust(goods['id'], 7), mylib.myljust(goods['name'], 45), mylib.myljust(str(goods['price']), 10), mylib.myljust(goods['class'], 6))) print('-' * 80) print(mylib.myrjust('当前第%s页/共%s页' % (page, max_page), 80)) print() # 获取用户输入的操作选项,输入序号表示选定商品 chose = input( '操作提示:\n 输入相应序号选择商品\n 输入n进入下一页,输入b进入上一页,输入r返回上一级菜单\n 请输入: ' ).strip() if chose == 'n': # 选择n下一页,页码加1 if page < max_page: page = page + 1 else: input("已经是最后一页了,按任意键继续") elif chose == 'b': # 选择b上一页,页码减1 if page == 1: input("已经是第1页了,按任意键继续") else: page = page - 1 elif chose == 'r': # 选择r,退出循环返回主菜单 flag = False elif chose in list( map(lambda x: str(x), range(1, len(res_list) + 1))): # 如果选择的是商品序号,说明选定该商品 # 获取选定的商品 chose_goods = res_list[int(chose) - 1] do_flag = True while do_flag: # 显示商品信息 show_goods_info(chose_goods) # 获取用户操作选项 do_chose = print_menu(['加入购物车', '返回']) if do_chose == '1': # 调用shopping对象add_to_shopping_cart将选定的商品加入到购物车 shopping.add_to_shopping_cart(chose_goods, 1) if shopping.get_crurrent_customer(): logger.info( '用户%s将%s添加到购物车' % (shopping.get_crurrent_customer() ['username'], chose_goods['name'])) else: logger.info('游客将%s添加到购物车' % chose_goods['name']) input('成功将%s加入购物车,按任意键继续' % chose_goods['name']) elif do_chose == '2': do_flag = False else: input('输入错误,按任意键继续') else: input('输入错误,任意键') else: input('商品列表为空') flag = False
def show_accounts(): ''' 查看所有账户信息函数 :return: 无 ''' page = 1 # 初始化页码 flag = True while flag: # 获取所有账户 accounts = ac.get_accounts() if accounts: # 分页,获取分页后的列表和最多可以分多少页 res_list, max_page = mylib.pagination(accounts, conf.MAX_PER_PAGE, page) # 打印分页后的用户列表 print(mylib.mycenter('查看用户', 65)) print('-' * 65) print(' %s %s %s %s %s %s' %(mylib.myljust('序号', 6), mylib.myljust('卡号', 11), mylib.myljust('账户名', 12), mylib.myljust('电话', 13), mylib.myljust('状态', 6), mylib.myljust('可用额度', 8))) for num, account in enumerate(res_list, 1): print(' %s %s %s %s %s %s' %(mylib.myrjust(str(num), 4), mylib.myljust(account['cardid'], 11), mylib.myljust(account['name'], 12), mylib.myljust(account['tel'], 13), mylib.myljust(account['status'], 6), mylib.myljust(str(account['max_balance']), 8))) print('-' * 65) print(mylib.myrjust('当前第%s页/共%s页' %(page, max_page), 65)) print() chose = input('操作提示:\n 输入相应序号选择用户\n 输入n进入下一页,输入b进入上一页,输入r返回主菜单\n 请输入: ').strip() if chose == 'n': # 选择n下一页,页码加1 if page < max_page: page = page + 1 else: input("已经是最后一页了,按任意键继续") elif chose == 'b': # 选择b上一页,页码减1 if page == 1: input("已经是第1页了,按任意键继续") else: page = page - 1 elif chose == 'r': # 选择r,退出循环返回主菜单 flag = False elif chose in list(map(lambda x: str(x), range(1, len(res_list) + 1))): # 如果用户输入的是列表的编号,相当于选定改用进行相应操作 chose_account = res_list[int(chose) - 1] # 获取输入的序号对应的账户 do_flag = True while do_flag: show_account_info(chose_account) # 显示该用户信息 do_chose = print_menu(['冻结账户', '解冻账户', '调整账户额度', '锁定账户', '解锁账户','注销账户', '返回']) if do_chose == '1': freeze_account(chose_account) elif do_chose == '2': unfreeze_account(chose_account) elif do_chose == '3': change_max_balance(chose_account) elif do_chose == '4': lock_account(chose_account) elif do_chose == '5': unlock_account(chose_account) elif do_chose == '6': if remove_account(chose_account): do_flag = False elif do_chose == '7': do_flag = False else: input('输入错误,按任意键继续') else: input('输入错误,任意键') else: input('账户列表为空,请先添加账户,按任意键返回上级菜单') flag = False