diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/ErpGoofishOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/ErpGoofishOrderController.java index 80aff7e..936e4d6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/ErpGoofishOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/ErpGoofishOrderController.java @@ -8,6 +8,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.jarvis.config.JarvisGoofishProperties; import com.ruoyi.jarvis.domain.ErpGoofishOrder; import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLog; +import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLogQuery; import com.ruoyi.jarvis.service.IErpGoofishOrderService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -27,6 +28,17 @@ public class ErpGoofishOrderController extends BaseController { @Resource private JarvisGoofishProperties goofishProperties; + /** + * 订单变更日志全表检索(跨订单排查),须配置在 /{id} 之前避免歧义;对应日志标记 [goofish-order-event] + */ + @PreAuthorize("@ss.hasPermi('jarvis:erpGoofishOrder:list')") + @GetMapping("/eventLog/list") + public TableDataInfo eventLogList(ErpGoofishOrderEventLogQuery query) { + startPage(); + List list = erpGoofishOrderService.selectEventLogList(query); + return getDataTable(list); + } + @PreAuthorize("@ss.hasPermi('jarvis:erpGoofishOrder:list')") @GetMapping("/list") public TableDataInfo list(ErpGoofishOrder query) { diff --git a/ruoyi-admin/src/main/resources/sql/erp_goofish_init.sql b/ruoyi-admin/src/main/resources/sql/erp_goofish_init.sql index 869c7f9..f1bd69e 100644 --- a/ruoyi-admin/src/main/resources/sql/erp_goofish_init.sql +++ b/ruoyi-admin/src/main/resources/sql/erp_goofish_init.sql @@ -2,6 +2,7 @@ -- 说明:菜单需在「系统管理-菜单管理」中自行新增,组件路径示例: -- 配置中心 system/goofish/erpOpenConfig/index -- 订单跟踪 system/goofish/erpGoofishOrder/index +-- 变更日志(跨单排查,对接 GET /jarvis/erpGoofishOrder/eventLog/list)system/goofish/erpGoofishEventLog/index CREATE TABLE IF NOT EXISTS erp_open_config ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', @@ -87,6 +88,8 @@ CREATE TABLE IF NOT EXISTS erp_goofish_order_event_log ( -- 父菜单:系统管理下新增目录「闲管家ERP」 -- 子菜单1:组件 system/goofish/erpOpenConfig/index 权限前缀 jarvis:erpOpenConfig -- 子菜单2:组件 system/goofish/erpGoofishOrder/index 权限前缀 jarvis:erpGoofishOrder +-- 子菜单3:组件 system/goofish/erpGoofishEventLog/index 权限沿用 jarvis:erpGoofishOrder:list 即可(仅列表查询) +-- 路由地址建议与订单页同级,如订单为 …/erpGoofishOrder 则本页 …/erpGoofishEventLog(订单页「变更日志排查」按钮依赖此规则) -- 按钮权限示例: -- jarvis:erpOpenConfig:list,query,add,edit,remove -- jarvis:erpGoofishOrder:list,query,edit diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/domain/ErpGoofishOrderEventLogQuery.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/domain/ErpGoofishOrderEventLogQuery.java new file mode 100644 index 0000000..b56b2a5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/domain/ErpGoofishOrderEventLogQuery.java @@ -0,0 +1,21 @@ +package com.ruoyi.jarvis.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 闲管家订单变更日志(全表检索,用于排查) + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ErpGoofishOrderEventLogQuery extends BaseEntity { + + private Long orderId; + private String appKey; + private String orderNo; + private String eventType; + private String source; + /** 模糊匹配 message */ + private String messageKeyword; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/mapper/ErpGoofishOrderEventLogMapper.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/mapper/ErpGoofishOrderEventLogMapper.java index 8d9b2b6..9989071 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/mapper/ErpGoofishOrderEventLogMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/mapper/ErpGoofishOrderEventLogMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.jarvis.mapper; import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLog; +import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLogQuery; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -10,4 +11,6 @@ public interface ErpGoofishOrderEventLogMapper { int insert(ErpGoofishOrderEventLog row); List selectByOrderId(@Param("orderId") Long orderId); + + List selectLogList(ErpGoofishOrderEventLogQuery query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/IErpGoofishOrderService.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/IErpGoofishOrderService.java index d4eea40..d2e6db4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/IErpGoofishOrderService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/IErpGoofishOrderService.java @@ -3,6 +3,7 @@ package com.ruoyi.jarvis.service; import com.alibaba.fastjson2.JSONObject; import com.ruoyi.jarvis.domain.ErpGoofishOrder; import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLog; +import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLogQuery; import java.util.List; @@ -43,4 +44,7 @@ public interface IErpGoofishOrderService { /** 订单状态 / 物流 / 发货 变更日志(新→旧) */ List listEventLogsByOrderId(Long orderId); + + /** 全表分页检索(排查用,配合 PageHelper) */ + List selectEventLogList(ErpGoofishOrderEventLogQuery query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/ErpGoofishOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/ErpGoofishOrderServiceImpl.java index 3fc4df8..917978a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/ErpGoofishOrderServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/ErpGoofishOrderServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject; import com.ruoyi.jarvis.config.JarvisGoofishProperties; import com.ruoyi.jarvis.domain.ErpGoofishOrder; import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLog; +import com.ruoyi.jarvis.domain.ErpGoofishOrderEventLogQuery; import com.ruoyi.jarvis.domain.ErpOpenConfig; import com.ruoyi.jarvis.dto.GoofishNotifyMessage; import com.ruoyi.jarvis.mapper.ErpGoofishOrderEventLogMapper; @@ -174,4 +175,13 @@ public class ErpGoofishOrderServiceImpl implements IErpGoofishOrderService { List list = erpGoofishOrderEventLogMapper.selectByOrderId(orderId); return list != null ? list : Collections.emptyList(); } + + @Override + public List selectEventLogList(ErpGoofishOrderEventLogQuery query) { + if (query == null) { + query = new ErpGoofishOrderEventLogQuery(); + } + List list = erpGoofishOrderEventLogMapper.selectLogList(query); + return list != null ? list : Collections.emptyList(); + } } diff --git a/ruoyi-system/src/main/resources/mapper/jarvis/ErpGoofishOrderEventLogMapper.xml b/ruoyi-system/src/main/resources/mapper/jarvis/ErpGoofishOrderEventLogMapper.xml index 3e4287f..1d72d6c 100644 --- a/ruoyi-system/src/main/resources/mapper/jarvis/ErpGoofishOrderEventLogMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/jarvis/ErpGoofishOrderEventLogMapper.xml @@ -26,4 +26,24 @@ where order_id = #{orderId} order by id desc + +