1. 程式人生 > >python基礎之ATM-1

python基礎之ATM-1

類型 ocs action and 基礎知識 算法 日誌信息 交易 ons

本系統全部用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‘ : "%s\db"%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‘ : "%s\logs"%BASE_DIR
}
#日誌信息--賬戶信息記錄
logfile1 = {
‘file‘:‘trans‘,
‘name‘:‘transaction‘,
‘path‘ : "%s\logs"%BASE_DIR
}
#購物車相關信息
SHOP = {
‘file‘:‘mall‘,
‘name‘:‘mall‘,
‘path‘ : "%s\docs"%BASE_DIR
}
#商城信息
MALL = {
‘file‘:‘trolley‘,
‘name‘:‘trolley‘,
‘path‘ : "%s\docs"%BASE_DIR
}

python基礎之ATM-1