本系统全部用python基础知识现实
程序结构
Atm
|--README
|--atm #ATM主程序目录
| |--__init__.py
| |--atm.py #ATM执行程序
| |__manage.py #ATM管理端-->管理端入口,实现添加用户、修改额度、冻结账户
| |
| |--conf #配置文件
| | |--__init__.py
| | |--setting.py
| |
| |--core #主要程序逻辑
| | |--__init__.py
| | |--accounts.py #用于从文件里加载和存储账户数据
| | |--auth.py #用户认证模块
| | |--db_handler.py #数据库连接引擎
| | |--logger.py #日志记录模块
| | |--main.py #主逻辑交互程序------>用户入口,实现商城、取现、还款、消费(刷卡)等功能
| | |--transaction.py #记账、还钱、取钱等所有与账户金额相关的操作
| |
| |--db #用户数据存储的地方
| | |--__init__.py
| | |--account_sample.py #生成一个初始账户数据,把这个数据存成一个以这个账户id为文件的文件,放在accounts目录
| | |--accounts #存各个用户的账户数据,一个用户一个文件
| | | |--1234.json
| | |
| |--log #日志目录
| |--__init__.py
| |--access.log #用户访问和操作的相关日志
| |--transaction.log #所有交易日志
|
|--shopping_mall #电子商城程序--->功能结合到main.py内
搭好框架,后面代码就会好写了,先考虑配置文件的编写
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#数据库信息
DATABASE = {
'engine':'file_storage',
'name':'accounts',
'path' : "%sdb"%BASE_DIR
}
#用户操作类型
OPORATION_TYPE = {
'1':'mall',
'2':'account',
'3':'cash',
'4':'refund',
'5':'transfer',
'6':'consumption',
'7':'exit'
}
#算法
ALGORITHM = {
'mall':{'action':'no','interset':0},
'account':{'action':'no','interset':0.05},
'cash':{'action':'minus','interset':0.05},
'refund':{'action':'add','interset':0},
'transfer':{'action':'minus','interset':0},
'consumption':{'action':'minus','interset':0.02},
'exit': {'action': 'no', 'interset': 0}
}
#日志信息--数据库操作日志
logfile = {
'file':'data',
'name':'access',
'path' : "%slogs"%BASE_DIR
}
#日志信息--账户信息记录
logfile1 = {
'file':'trans',
'name':'transaction',
'path' : "%slogs"%BASE_DIR
}
#购物车相关信息
SHOP = {
'file':'mall',
'name':'mall',
'path' : "%sdocs"%BASE_DIR
}
#商城信息
MALL = {
'file':'trolley',
'name':'trolley',
'path' : "%sdocs"%BASE_DIR
}