一、程序需求
模拟实现一个ATM + 购物商城程序:
1.额度 15000或自定义
2.实现购物商城,买东西加入 购物车,调用信用卡接口结账
3.可以提现,手续费5%
4.每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息(没写)
5.支持多账户登录
6.支持账户间转账
7.记录每月日常消费流水
8.提供还款接口
9.ATM记录操作日志
10.提供管理接口,包括添加账户、用户额度,冻结账户等。。。
11.用户认证用装饰器
脑图:
二、目录
1 ├── ATM #ATM主程目录 2 │ ├── __init__.py 3 │ ├── bin #ATM 执行文件 目录 4 │ │ ├── __init__.py 5 │ │ ├── atm.py #ATM 执行程序 6 │ │ ├── manage.py #信用卡管理 7 │ ├── conf #配置文件 8 │ │ ├── __init__.py 9 │ │ └── Settings.py #配置参数 10 │ ├── core #主要程序逻辑都 在这个目录 里 11 │ │ ├── __init__.py 12 │ │ ├── accounts.py #用于从文件里加载和存储账户数据 13 │ │ ├── auth.py #用户认证模块及主要功能函数 14 │ │ ├── db_handler.py #数据库连接引擎 15 │ │ ├── logger.py #日志记录模块 16 │ │ ├── main.py #主逻辑交互程序 17 │ │ ├── transaction.py #记账\还钱\取钱\与账户金额相关的操作,冻结或者锁定用户 18 │ ├── db #用户数据存储的地方 19 │ │ ├── __init__.py 20 │ │ ├── account_sample.py #生成一个初始的账户数据 ,把这个数据 存成一个 以这个账户id为文件名的文件,放在accounts目录 就行了,程序自己去会这里找 21 │ │ └── accounts #存各个用户的账户数据 ,一个用户一个文件 22 │ │ └── 123.json #新创建的用户账户示例文件 23 │ │ └── 1234.json #一个用户账户示例文件 24 │ │ └── 123456.json #一个用户账户示例文件 25 │ │ └── 6230001.json #管理用户账户示例文件 26 │ └── log #日志目录 27 │ ├── access.log #用户访问和操作的相关日志 28 │ └── login_in.log #登陆日志 29 └── shopping_mall #电子商城程序,需单独实现,主要实现购物的功能。 30 │ └── __init__.py 31 │ └── product.txt #存放商品的txt文件 32 │ └── shopping_list.txt #存放购物清单的txt.文件 33 │ └── shopping_mall.py #购物商城程序 34 ├── README