员工头像添加
Some checks failed
构建并部署 Spring Boot 应用 / build-and-deploy (push) Has been cancelled

This commit is contained in:
2025-10-25 23:42:33 +08:00
parent 4130a91efa
commit e24e8cb435
17 changed files with 397 additions and 157 deletions

View File

@@ -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`配置项修改