ATM思路

ATM目录

ATM
    │  __init__.py
    │  
    ├─admin
    │  │  card_manage.py #信用卡管理接口
    │  │  manage.py #管理系统接口
    │  └  __init__.py  
    │        
    ├─bin
    │  │   atm.py #程序主入口
    │  └   __init__.py
    │      
    ├─conf
    │      __init__.py
    │      
    ├─core
    │  │  card.py #用户信用卡逻辑
    │  │  main.py #程序主逻辑交互
    │  │  shopping.py #购物程序逻辑
    │  │  user.py  #用户登录、验证逻辑
    │  └  __init__.py
    │          
    └─db
        │ cards.txt #信用卡数据
        │ card_log.txt #信用卡日志
        │ products.txt #商品数据
        │ users.txt #用户数据
        │ user_log.txt #用户日志
        └ __init__.py


用户数据格式
{"zy": {"locked": false, "authority": false, "password": "40bd001563085fc35165329ea1ff5c5ecbdbbeef", "money": 3000}}
用户名 是否冻结 是否有管理员权限 密码 银行卡余额
因为json的对象是在大括号{}中的,json对象转换成python类型时是变成了字典模式。
用户数据格式转换成python类型后,等价于:
第一层大括号
key zy
values "locked": false, "authority": false, "password": "40bd001563085fc35165329ea1ff5c5ecbdbbeef", "money": 3000
第二层大括号
key values
locked false
authority false
password 40bd001563085fc35165329ea1ff5c5ecbdbbeef
money 3000

信用卡数据格式
{"62284801": {"limit": 90000, "owner": "zy", "banlance": 90000, "frozen": false}}
信用卡号 信用卡额度 持卡人 信用卡剩余额度 是否冻结

商品数据格式
{"iPhone6s": 5888, "imac 高配版": 21888, "珍品云烟": 22, "卡布奇诺": 18, "alex的基友": 5000, "飞利浦加湿器": 500}


程序模块
一、用户登录
1、打开用户数据文件 users.txt
2、登录并验证--用户是否存在、密码是否正确(密码通过了hashlib加密)、账户是否被锁定
3、登录返回信息 res=(username,u_info)
即字典格式的用户信息,
username u_info
{"zy": {"locked": false, "authority": false, "password": "40bd001563085fc35165329ea1ff5c5ecbdbbeef", "money": 3000}}
二、管理系统
1、装饰器--管理员登录--- 判断登录者是否有管理权限
2、显示系统目录:用户注册、添加商品、信用卡管理
2.1 用户注册:
2.11 判断还用户是否已经注册--- 判断名字和身份证号是否已存在
2.12 注册信息:password、loked、money、authority、身份证号
2.2 添加商品
2.3 信用卡管理--card_manage.card_menu()

三、信用卡管理接口
1、显示系统目录: 添加信用卡、修改额度、冻结账户
1.1 添加信用卡:
1.11 添加信息: card_id、limit、owner、balance、frozen
1.2 修改额度:
1.21 修改额度后可用余额也要相应更改
1.3 冻结账户

四、主程序
1、显示系统目录: 购物系统、ATM信用卡系统、管理入口

五、购物系统
1、显示已购买的商品和余额
2、将购买记录保存在文件user_log.txt中
格式为 [shop]|lmc|2017-06-22 21:05:07|[('iPhone6s', 5888), ('alex的基友', 5000), ('imac 高配版', 21888)]|32776|17224|90000
姓名 时间 购物清单
3、更新用户user.txt文件,因为购买可能会用里面的‘money’
4、更新信用卡card.txt文件,因为购买商品会用到商品额度

六、ATM信用卡系统
1、装饰器用户登录
2、显示系统列表:个人账单、信用卡还款、提现、转账
2.1 个人账单: 信用卡账单、
2.11 信用卡购物账单--购物明细
2.12 信用卡提现、转账的账单
2.13 账单总费用计算
2.2 信用卡还款
将用户文件中的money来还款
还款后更新money和balance
2.3 提现--需收取5%的手续费
2.4 转账--转账方
需收取5%的手续费


 



 

 
 

 

---恢复内容结束---

posted @ 2017-10-24 23:51  麦芒lin  阅读(283)  评论(0编辑  收藏  举报