1
This commit is contained in:
93
doc/京东订单统计控制功能说明.md
Normal file
93
doc/京东订单统计控制功能说明.md
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
# 京东订单统计控制功能实现说明
|
||||||
|
|
||||||
|
## 功能概述
|
||||||
|
为京东订单系统添加了统计控制功能,允许用户通过开关控制订单是否参与"慢单"统计。
|
||||||
|
|
||||||
|
## 实现内容
|
||||||
|
|
||||||
|
### 1. 数据库层面
|
||||||
|
- **文件**: `sql/add_count_enabled_field.sql`
|
||||||
|
- **操作**: 为 `jd_order` 表添加 `is_count_enabled` 字段
|
||||||
|
- **字段说明**:
|
||||||
|
- 类型: `TINYINT(1)`
|
||||||
|
- 默认值: `1` (参与统计)
|
||||||
|
- 含义: `0`=不参与统计,`1`=参与统计
|
||||||
|
|
||||||
|
### 2. 后端实体类更新
|
||||||
|
- **文件**: `ruoyi-system/src/main/java/com/ruoyi/jarvis/domain/JDOrder.java`
|
||||||
|
- **新增字段**: `isCountEnabled` (Integer类型)
|
||||||
|
- **注解**: 添加了 `@Excel` 注解支持导出
|
||||||
|
|
||||||
|
### 3. 数据库映射更新
|
||||||
|
- **文件**: `ruoyi-system/src/main/resources/mapper/jarvis/JDOrderMapper.xml`
|
||||||
|
- **更新内容**:
|
||||||
|
- 在 `resultMap` 中添加新字段映射
|
||||||
|
- 在 `selectJDOrderBase` SQL中添加新字段查询
|
||||||
|
- 在 `insert` 和 `update` 语句中添加新字段处理
|
||||||
|
|
||||||
|
### 4. 统计逻辑修改
|
||||||
|
- **文件**: `ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/InstructionServiceImpl.java`
|
||||||
|
- **修改位置**:
|
||||||
|
- `慢单` 统计逻辑 (第244行)
|
||||||
|
- `录单` 导出逻辑 (第221行)
|
||||||
|
- **过滤条件**: 添加 `(o.getIsCountEnabled() == null || o.getIsCountEnabled() == 1)` 过滤条件
|
||||||
|
- **说明**: 只有 `isCountEnabled` 为 `null` 或 `1` 的订单才会参与统计
|
||||||
|
|
||||||
|
### 5. 前端界面更新
|
||||||
|
- **文件**: `ruoyi-vue/src/views/system/jdorder/orderList.vue`
|
||||||
|
- **新增功能**:
|
||||||
|
- 在订单列表中添加"参与统计"列
|
||||||
|
- 使用 `el-switch` 组件提供开关控制
|
||||||
|
- 添加 `handleCountEnabledChange` 方法处理状态变化
|
||||||
|
- 调用后端API实时更新数据库
|
||||||
|
|
||||||
|
### 6. API接口
|
||||||
|
- **文件**: `ruoyi-vue/src/api/system/jdorder.js`
|
||||||
|
- **新增方法**: `updateJDOrder` 用于更新订单信息
|
||||||
|
- **后端接口**: 使用现有的 `PUT /system/jdorder` 接口
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
### 操作步骤
|
||||||
|
1. 在京东订单列表页面,找到"参与统计"列
|
||||||
|
2. 点击开关可以切换订单的统计状态
|
||||||
|
3. 状态变化会实时保存到数据库
|
||||||
|
4. 在指令台发送"慢单"指令时,只会统计标记为"参与统计"的订单
|
||||||
|
|
||||||
|
### 状态说明
|
||||||
|
- **开关开启** (绿色): 订单参与统计,`is_count_enabled = 1`
|
||||||
|
- **开关关闭** (灰色): 订单不参与统计,`is_count_enabled = 0`
|
||||||
|
|
||||||
|
### 统计影响
|
||||||
|
- 当订单的 `is_count_enabled` 设置为 `0` 时,该订单将不会出现在"慢单"统计结果中
|
||||||
|
- 其他查询功能(如"慢搜"、"慢查")不受影响,仍可查询所有订单
|
||||||
|
- 录单导出功能也会过滤掉不参与统计的订单
|
||||||
|
|
||||||
|
## 技术细节
|
||||||
|
|
||||||
|
### 默认值处理
|
||||||
|
- 新订单默认 `is_count_enabled = 1` (参与统计)
|
||||||
|
- 现有订单通过SQL脚本统一设置为 `1`
|
||||||
|
- 前端显示时,`null` 值被视为参与统计
|
||||||
|
|
||||||
|
### 兼容性
|
||||||
|
- 向后兼容:现有订单默认参与统计
|
||||||
|
- 数据库字段有默认值,确保数据完整性
|
||||||
|
- 前端组件使用Element UI的Switch组件,用户体验良好
|
||||||
|
|
||||||
|
## 部署说明
|
||||||
|
|
||||||
|
### 数据库更新
|
||||||
|
1. 执行 `sql/add_count_enabled_field.sql` 脚本
|
||||||
|
2. 确认字段添加成功:`DESCRIBE jd_order;`
|
||||||
|
|
||||||
|
### 代码部署
|
||||||
|
1. 重新编译后端项目
|
||||||
|
2. 重新构建前端项目
|
||||||
|
3. 重启应用服务
|
||||||
|
|
||||||
|
### 验证步骤
|
||||||
|
1. 访问京东订单列表页面
|
||||||
|
2. 确认"参与统计"列显示正常
|
||||||
|
3. 测试开关功能是否正常
|
||||||
|
4. 在指令台测试"慢单"指令,确认过滤功能生效
|
||||||
Reference in New Issue
Block a user