This commit is contained in:
44
README.md
44
README.md
@@ -39,6 +39,7 @@ Light Delivery 是一个为小程序配送服务设计的后端系统,提供
|
||||
- 员工信息维护(仅限管理员)
|
||||
- 员工增删改查功能
|
||||
- 员工角色管理(管理员/配送员)
|
||||
- 员工头像管理
|
||||
|
||||
### 6. 仓库管理(新增)
|
||||
- 仓库信息维护
|
||||
@@ -192,14 +193,14 @@ src
|
||||
### 数据模型
|
||||
|
||||
主要实体包括:
|
||||
- User:用户基础信息实体(所有用户通用)
|
||||
- User:用户基础信息实体(所有用户通用),仅包含ID和openid
|
||||
- Employee:员工信息实体(后台配置数据,用于验证用户身份)
|
||||
- DeliveryPerson:配送员扩展信息实体
|
||||
- Order:订单实体
|
||||
|
||||
用户系统架构说明:
|
||||
- 所有用户首先以游客身份静默登录,创建User记录
|
||||
- 用户签到或注册时,系统根据手机号在Employee表中查找匹配记录
|
||||
- 所有用户首先以游客身份静默登录,创建User记录(仅包含openid)
|
||||
- 用户签到或注册时,系统根据工号在Employee表中查找匹配记录
|
||||
- 如果匹配成功,将用户的openid写入Employee表,表示该员工已成为系统用户
|
||||
- 根据Employee中的角色信息动态确定User的角色
|
||||
- 对于配送员,还会创建或更新DeliveryPerson记录
|
||||
@@ -208,10 +209,11 @@ src
|
||||
|
||||
为了解决数据一致性问题,我们对用户角色管理进行了优化:
|
||||
|
||||
1. 移除了User表中的role字段,避免在User表和Employee表中重复维护角色信息
|
||||
2. 用户角色现在完全通过Employee表进行管理
|
||||
3. 当需要获取用户角色时,系统会根据用户的手机号在Employee表中查找对应记录
|
||||
4. 如果用户未注册(没有手机号)或在Employee表中找不到对应记录,则默认为游客角色
|
||||
1. User表现在只包含最基本的ID和openid字段
|
||||
2. 用户详细信息(姓名、工号、角色等)存储在Employee表中
|
||||
3. 通过openid关联User和Employee表
|
||||
4. 系统会根据用户的openid在Employee表中动态查找角色信息
|
||||
5. 未注册用户默认为游客角色
|
||||
|
||||
这种设计确保了数据的一致性,避免了在多个表中维护相同信息可能带来的问题。
|
||||
|
||||
@@ -365,6 +367,8 @@ deploy.bat
|
||||
- `POST /employees` - 添加员工
|
||||
- `PUT /employees/{id}` - 更新员工信息
|
||||
- `DELETE /employees/{id}` - 删除员工
|
||||
- `POST /employees/{id}/avatar` - 上传员工头像
|
||||
- `GET /employees/{id}/avatar` - 获取员工头像
|
||||
|
||||
### 仓库管理相关(仅限管理员访问)
|
||||
- `GET /warehouses` - 获取仓库列表
|
||||
@@ -510,6 +514,20 @@ deploy.bat
|
||||
|
||||
## 最近更新
|
||||
|
||||
### 数据模型重构(重要变更)
|
||||
为优化数据一致性,我们对用户和员工的数据模型进行了重构:
|
||||
- User表现在只包含ID和openid字段,其他用户信息存储在Employee表中
|
||||
- 通过openid关联User和Employee表,确保数据单一来源
|
||||
- 员工头像功能保持不变,仍存储在Employee表中
|
||||
|
||||
### 员工头像功能(新增)
|
||||
为提升用户体验和识别度,我们新增了员工头像功能:
|
||||
- 在Employee实体中添加avatarPath字段存储头像路径
|
||||
- 新增头像上传和获取接口
|
||||
- 支持管理员上传任何员工头像,员工上传自己的头像
|
||||
- 添加文件类型和大小限制(JPEG/PNG,最大2MB)
|
||||
- 配置静态资源映射以支持头像文件访问
|
||||
|
||||
### 统计信息功能(新增)
|
||||
为便于管理员查看系统运行状态,我们新增了统计信息功能:
|
||||
- 新增StatisticsController控制器,提供系统、订单、用户等统计信息接口
|
||||
@@ -541,9 +559,10 @@ deploy.bat
|
||||
|
||||
### 用户角色管理优化(新增)
|
||||
为解决数据一致性问题,我们优化了用户角色管理机制:
|
||||
- 移除了User表中的role字段
|
||||
- 用户角色现在完全通过Employee表进行管理
|
||||
- 系统会根据用户的手机号在Employee表中动态查找角色信息
|
||||
- User表现在只包含ID和openid字段
|
||||
- 用户详细信息存储在Employee表中
|
||||
- 通过openid关联User和Employee表
|
||||
- 系统会根据用户的openid在Employee表中动态查找角色信息
|
||||
- 未注册用户默认为游客角色
|
||||
|
||||
### 员工管理功能(新增)
|
||||
@@ -570,6 +589,7 @@ deploy.bat
|
||||
3. 配送员位置信息具有时效性,默认5分钟内有效
|
||||
4. 位置历史记录功能已被移除,如有需要可使用第三方服务进行位置追踪
|
||||
5. 员工管理接口仅限管理员角色访问
|
||||
6. 用户角色信息现在通过员工表动态获取,确保数据一致性
|
||||
6. 用户角色信息现在通过Employee表动态获取,确保数据一致性
|
||||
7. WebSocket位置同步现在支持所有已签到用户(包括管理员和配送员)
|
||||
8. WebSocket仅用于位置同步,签到/签退操作需通过REST API完成
|
||||
8. WebSocket仅用于位置同步,签到/签退操作需通过REST API完成
|
||||
9. 员工头像文件存储在服务器文件系统中,默认路径为`/app/avatars`,可通过`avatar.upload-dir`配置项修改
|
||||
Reference in New Issue
Block a user