Exemple #1
0
 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
Exemple #2
0
    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)
Exemple #4
0
    def print_welcome():
        welcome_info = '''
**********************************
* %s *
* %s *
* %s *
**********************************''' %(mylib.myljust('欢迎来到银行后台系统', 30), mylib.myljust('Version: 1.0', 30), mylib.myljust('admin 您好', 30))
        print(welcome_info)
Exemple #5
0
    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)
Exemple #7
0
    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)
Exemple #8
0
    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
Exemple #12
0
    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('按任意键返回主界面')
Exemple #14
0
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
Exemple #17
0
 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
Exemple #18
0
 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