ATM+购物车

ATM

# 前戏
先创建创建项目文件ATM 再依据软件开发目录 创建bin下的start.py文件 conf下的settings.py文件 core下的scr.py文件 interface下的user_interface文件shop_interface文件bank_interface文件 lib下的common文件 db目录下的handler文件 readme requriments文件 log目录可以代码创建
在将与用户交互的第一层放入在scr中搭建整体对的框架出来

# 注册功能
首先获取用户的输入对的用户名及密码 
核对二次输入的密码是否正确 正确的话 
根据用户名去db目录的handler文件创数据的增删改查 
依据模块os 拼接文件目录路径 
再依据用户名创建文件的路径 再判断该路径在与不在 
在的话输出读取到的对象字典 
没有则返回None(这一步得放在创建文件之后 文件没创肯定读取不到) 
再去新建用户字典 
依据handler建的save将用户字典从写入到文件中则用户注册成功
# 登入功能
获取用户输入的用户名及密码 
用用户名去判断是否能将用户字典读取出来 
能读取则判断用户存在 可以从里拿出来密码比对是否正确 
正确则登入成功 这时创建的一个全局变量 
用来储存登入的用户是谁 因为后面的功能实现都要基于用户是否登入成功 而且是涉及多个功能要用 所以创建装饰器放在lib的common文件中 
再依据登入成功去改变全局的字典存储用户名 装饰器再依据全局字典是否登入则判断后面的功能能否实现
# 查看用户余额
依据全局字典存储了用户登入的用户名 
再依据用户名传值给函数去到第二层中的接口层user_interface 
将其封装成函数靠用户名
去打开用户的字典读取到用户的余额
# 查看用户余额
依据全局字典存储了用户登入的用户名 
再依据用户名传值给函数去到第二层中的接口层user_interface 
将其封装成函数靠用户名
去打开用户的字典读取到用户的余额
# 提现功能
获取用户需要提现的金额
把当前登录的用户名, 和需要提现的金额传给接口层
获取当前用户的信息
拿到用户的余额和提现额度
用户的余额和 (提现的金额+手续费)做对比
若余额小 则 返回 余额不足
若余额不小 则比较提现金额和 提现额度的大小
 若提现额度大 则 余额 - 提现金额 保	存 手续费 为零 返回 提现成功
若提现金额大 则 余额 - 提现金额 - 手 续费 保存 返回 提现成功
# 充值功能
获取用户的充值金额
把当前登录的用户名和用户输入的充值金额 传给接口	层
获取用户数数据
把用户的余额 与 充值的金额 相加 然后保存 返回充值 成功
# 转账功能
获取转账对象
获取转账金额
把当前登录的用户名 和 转账用户的名 和转账金额传	递给接口层
判断转账对象是否存在
若转账对象不存在则 返回 转账用户不存在
若转账对象存在 则比较当前用户的余额 和 转账 金额的大小
若转账金额大 则返回 发起转账的用户的余额	不足
若转账金额小 则 把发起转账的用户的余额 - 转账金额 收帐用户的余额 + 转账金额 然后	把 两个用户的数据都在保存一下 返回转账	成功
# 查看流水
把当前登录用户名传递给接口
获取用户数据
返回用户的流水列表
可以直接打印这个列表 或 for 循环这个列表
# 添加购物车
准备 预备购物车
获取商品列表
选择商品
输入数量
拿商品去判断 预备购物车里有没有
若预备购物车 有 则 只在预备购物车里改变此商	品的数量
若预备购物车 没有 则 添加到预备购物车
当用户结束购物后, 把当前用户名 和预备购物车传	给接口
获取用户数据
获取用户的购物车
拿预备购物车里的商品与用户购物车里的商品作比较
若用户购物里有 则只修改此商品的数量
若用户购物车里没有 则 添加
保存数据 返回 添加成功
# 查看购物车
获取当前登录用户的用户名
把用户名传参给接口
获取用户的数据
获取用户的购物车
判断用户购物车的数据是否为空
若为空则返回 当前用户的购物车空空如也
若不为空 则返回 用户的购物车
# 结算购物车
获取当前登录用户的用户名
把用户名传参给接口层
获取用户数据
获取用的购物车
计算购物车的所有金额
比较 购物车的金额 与 用户的余额大小
若购物车的金额 比 余额大 则 返回 抱歉余额不足
若 购物车的金额 比 余额小 则 余额 - 购物车额 并清空用户的购物车 保存
返回结算成功
posted @ 2022-10-31 21:25  小福福  阅读(30)  评论(0)    收藏  举报