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

3.3 KiB
Raw Blame History

京东订单统计控制功能实现说明

功能概述

为京东订单系统添加了统计控制功能,允许用户通过开关控制订单是否参与"慢单"统计。

实现内容

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中添加新字段查询
    • insertupdate 语句中添加新字段处理

4. 统计逻辑修改

  • 文件: ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/InstructionServiceImpl.java
  • 修改位置:
    • 慢单 统计逻辑 (第244行)
    • 录单 导出逻辑 (第221行)
  • 过滤条件: 添加 (o.getIsCountEnabled() == null || o.getIsCountEnabled() == 1) 过滤条件
  • 说明: 只有 isCountEnablednull1 的订单才会参与统计

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. 在指令台测试"慢单"指令,确认过滤功能生效