Files
ruoyi-java/doc/京东订单统计控制功能说明.md
2025-10-24 00:05:00 +08:00

94 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 京东订单统计控制功能实现说明
## 功能概述
为京东订单系统添加了统计控制功能,允许用户通过开关控制订单是否参与"慢单"统计。
## 实现内容
### 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. 在指令台测试"慢单"指令,确认过滤功能生效