# Trading Management System **Repository Path**: sethan/trading-management-system ## Basic Information - **Project Name**: Trading Management System - **Description**: 一个基于命令行的交易管理系统,北航oop课程迭代项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-07 - **Last Updated**: 2025-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TMS (Trading Management System) ## 项目简介 TMS (Trading Management System) 是一个基于Java的命令行交易管理系统,旨在为用户提供商品管理、店铺管理、订单管理等功能。系统支持多种用户角色,包括普通用户(Customer)、商家(Merchant)和管理员(Administrator)。每个角色都有不同的权限和功能。 ## 功能概述 ### 用户管理 - **注册**:用户可以注册账号,提供Kakafee号、姓名、密码和用户类型(Customer、Merchant、Administrator)。 - **登录/注销**:用户可以通过Kakafee号和密码登录系统,登录后可以执行相应的操作。注销后,用户将退出系统。 - **查看信息**:用户可以查看自己的信息,管理员可以查看其他用户的信息。 ### 商家管理 - **注册店铺**:商家可以注册店铺,每个商家最多可以注册5个店铺。 - **商品管理**:商家可以添加、移除商品,并管理商品的库存。 - **店铺管理**:商家可以查看自己所有的店铺信息,并可以关闭店铺。 - **批量添加商品**:商家可以通过文件批量添加商品。 - **订单管理**:商家可以查看自己店铺的订单,并处理订单。 ### 顾客管理 - **购买商品**:顾客可以购买商品,系统会生成订单。 - **订单管理**:顾客可以取消订单或完成订单。 - **收藏夹管理**:顾客可以将商品添加到收藏夹,并可以批量购买收藏夹中的商品。 - **收藏夹导入导出**:顾客可以将收藏夹导出到文件,或从文件中导入收藏夹。 ### 管理员功能 - **查看所有店铺**:管理员可以查看系统中所有店铺的信息。 - **查看所有订单**:管理员可以查看系统中所有订单的信息。 ## 项目结构 ### 主要类 - **GV.java**:全局变量类,存储系统的全局状态,如当前用户、所有用户、商品、店铺、订单等。 - **UserManage.java**:用户管理类,处理用户的注册、登录、注销、查看信息等操作。 - **MerchantManage.java**:商家管理类,处理商家的店铺注册、商品管理、订单管理等操作。 - **CustomerManage.java**:顾客管理类,处理顾客的商品购买、订单管理、收藏夹管理等操作。 - **Test.java**:主程序入口,处理用户输入的命令并调用相应的功能。 - **SerializableClass.java**:序列化工具类,用于将收藏夹数据序列化和反序列化。 - **FileIO.java**:文件操作工具类,用于文件的创建、写入、删除等操作。 - **Judgelegality.java**:合法性检查工具类,用于检查用户输入的命令参数是否合法。 - **CommandIO.java**:命令解析工具类,用于解析用户输入的命令。 - **Order.java**:订单类,存储订单的基本信息和管理订单的状态。 ### 实体类 - **User.java**:用户类,存储用户的基本信息和管理用户的店铺、订单、收藏夹等。 - **Store.java**:店铺类,存储店铺的基本信息和管理店铺的商品、订单等。 - **Commodity.java**:商品类,存储商品的基本信息和管理商品的库存、订单等。 - **Order.java**:订单类,存储订单的基本信息和管理订单的状态。 - **MyCollection.java**:收藏夹类,存储顾客收藏的商品信息。 ## 使用方法 1. **编译项目并运行** 3. **输入命令**:根据提示输入相应的命令来执行操作。例如: - 注册用户:`register <姓名> <密码> <确认密码> <用户类型>` - 登录:`login <密码>` - 注册店铺:`registerShop <店铺名称>` - 添加商品:`putCommodity <店铺ID> <商品名称> <价格> <数量>` - 购买商品:`buyCommodity <店铺ID> <商品ID> <数量>` - 查看订单:`listOrder` - 导出收藏夹:`uploadFavoriteCommodity <文件路径>` - 导入收藏夹:`readFavoriteCommodity <文件路径>` ## 注意事项 1. **文件路径**:在导入导出收藏夹时,请确保文件路径正确。 2. **权限控制**:不同用户角色有不同的权限,请确保使用正确的角色执行相应的操作。 3. **数据持久化**:当前系统未实现数据持久化,退出后所有数据将丢失。 ## 后续开发 - **数据持久化**:将用户、店铺、商品、订单等数据保存到文件中,实现数据的持久化。 - **图形界面**:开发图形用户界面(GUI),提升用户体验。 - **扩展功能**:增加更多的功能,如商品分类、促销活动、用户评价等。 ## 许可证 本项目采用 [MIT License](LICENSE)。