3.3 KiB
3.3 KiB
京东订单统计控制功能实现说明
功能概述
为京东订单系统添加了统计控制功能,允许用户通过开关控制订单是否参与"慢单"统计。
实现内容
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中添加新字段映射 - 在
selectJDOrderBaseSQL中添加新字段查询 - 在
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接口
使用说明
操作步骤
- 在京东订单列表页面,找到"参与统计"列
- 点击开关可以切换订单的统计状态
- 状态变化会实时保存到数据库
- 在指令台发送"慢单"指令时,只会统计标记为"参与统计"的订单
状态说明
- 开关开启 (绿色): 订单参与统计,
is_count_enabled = 1 - 开关关闭 (灰色): 订单不参与统计,
is_count_enabled = 0
统计影响
- 当订单的
is_count_enabled设置为0时,该订单将不会出现在"慢单"统计结果中 - 其他查询功能(如"慢搜"、"慢查")不受影响,仍可查询所有订单
- 录单导出功能也会过滤掉不参与统计的订单
技术细节
默认值处理
- 新订单默认
is_count_enabled = 1(参与统计) - 现有订单通过SQL脚本统一设置为
1 - 前端显示时,
null值被视为参与统计
兼容性
- 向后兼容:现有订单默认参与统计
- 数据库字段有默认值,确保数据完整性
- 前端组件使用Element UI的Switch组件,用户体验良好
部署说明
数据库更新
- 执行
sql/add_count_enabled_field.sql脚本 - 确认字段添加成功:
DESCRIBE jd_order;
代码部署
- 重新编译后端项目
- 重新构建前端项目
- 重启应用服务
验证步骤
- 访问京东订单列表页面
- 确认"参与统计"列显示正常
- 测试开关功能是否正常
- 在指令台测试"慢单"指令,确认过滤功能生效