ATM思路
创建文件目录
| bin文件夹 |
| start.py |
| conf文件夹 |
| settings.py |
| core文件夹 |
| conf.py |
| db 文件夹 |
| 保存用户数据文件 |
| interface文件夹 |
| user_interface 第二层逻辑运算 |
| bank_interface |
| shop_interface |
| admin_interface |
| lib文件 |
| common |
| readme.txt |
| requirements 项目版本 |
start启动文件
| import os |
| import sys |
| |
| |
| base_dir = os.path.dirname(os.path.dirname(__file__)) |
| sys.path.append(base_dir) |
| |
| |
| if __name__ == '__main__': |
| from core import src |
| src.run() |
注册功能
| 1.获取用户名和密码 |
| 2.再次获取密码进行比较 |
| 3.两次密码一致调用注册接口 |
| 4.校验用户名已存在 |
| |
| save() select() |
| 5.密码加密处理 加密功能放在公共功能下common |
| 6.构造用户字典 |
| 7.save()保存数据 日志记录 |
| 8.用户注册成功 保存返回数据 |
登录功能
| 1.获取用户相关数据 |
| 2.直接调用用户登录接口 login_interface |
| 3.先查询是否有当前用户名对应的数据值 |
| 4.如果用户名正确 比对加密密码 |
| 5.正确登录 错误返回 都返回两个值 |
查看余额
| 1.全局用户字典是否登录 |
| 2.装饰器套用 |
| 3.直接调用查看账户余额的接口 |
| 4.查询当前登录用户的字典数据 |
| 5.从字典中获取余额信息并返回给第一层 |
| 6.日志记录 |
提现功能
| 1. 获取用户的想要提现的具体现金 |
| 2. 判断用户输入的是否是整数或者小数 |
| |
| 3.转数字操作 float 100.0 |
| 4.调用银行接口完成提现操作 |
| 5.1 获取当前登录用户的字典数据 |
| 5.2 获取用户余额并判断是否满足登录提现要求 收取手续费 |
| 5.3 添加流水信息 |
| 5.4 保存提现之后的用户数据 |
充值功能
| 1.直接获取用户想要充值的钱数 |
| 2.直接调用银行充值接口 并判断金额数字是否符合要求 |
| 3.获取用户字典数据 |
| 4.直接添加余额 |
| 5.添加流水记录 |
| 6.保存用户数据 |
| 7.日志记录 |
转账功能
| 1.获取想要转账的用户名 |
| 2.获取想要转账的金额 |
| 3.直接调用转账的接口 |
| 4.1 先校验目标用户是否存在 |
| 4.2 再校验用户数的金额是否是整数或者小数 |
| 5 获取当前登录用户的数据(也就是转账者的数据) |
| 6.判断 转账者的余额是否充足 |
| 7. 记录加钱 扣钱的流水 |
| 8.记录转账之后的两个账户的数据 |
| 9.日志记录 |
| 10.返回数据 |
| |
查看流水
| 1.直接调用查看的流水接口即可 |
| 2.获取用户名对应的用户字典 |
| for 循环打印 |
| 3.日志记录 |
| 4.返回数据 |
| |
添加购物车
| """ |
| 1.先获取商品数据 |
| 2.打印商品数据并让用户选择 |
| 3.用户一旦退出 调用接口完成购物车数据更新 |
| :return: |
| """ |
| 直接调用购物车接口 |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| '''10.添加结束标志 用于保存购物车数据''' |
| |
| |
查看购物车
结算购物车
| 1.直接调用结算购物车接口文件 |
| 2.获取当前登录用户的字典数据 |
| 3.获取当前用户车数据以及余额 |
| 4.统计购物车商品总价 |
| 5.比较余额是否充足 |
| 6.清空购物车 |
| 7.流水记录 |
| 8.日志记录 |
| 9.保存新数据 |
| 10.返回数据值 |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理