This commit is contained in:
van
2026-04-10 00:57:31 +08:00
parent ede30b5f36
commit 52d0adfc85
7 changed files with 73 additions and 0 deletions

View File

@@ -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<ErpGoofishOrderEventLog> list = erpGoofishOrderService.selectEventLogList(query);
return getDataTable(list);
}
@PreAuthorize("@ss.hasPermi('jarvis:erpGoofishOrder:list')")
@GetMapping("/list")
public TableDataInfo list(ErpGoofishOrder query) {

View File

@@ -2,6 +2,7 @@
-- 说明:菜单需在「系统管理-菜单管理」中自行新增,组件路径示例:
-- 配置中心 system/goofish/erpOpenConfig/index
-- 订单跟踪 system/goofish/erpGoofishOrder/index
-- 变更日志(跨单排查,对接 GET /jarvis/erpGoofishOrder/eventLog/listsystem/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

View File

@@ -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;
}

View File

@@ -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<ErpGoofishOrderEventLog> selectByOrderId(@Param("orderId") Long orderId);
List<ErpGoofishOrderEventLog> selectLogList(ErpGoofishOrderEventLogQuery query);
}

View File

@@ -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<ErpGoofishOrderEventLog> listEventLogsByOrderId(Long orderId);
/** 全表分页检索(排查用,配合 PageHelper */
List<ErpGoofishOrderEventLog> selectEventLogList(ErpGoofishOrderEventLogQuery query);
}

View File

@@ -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<ErpGoofishOrderEventLog> list = erpGoofishOrderEventLogMapper.selectByOrderId(orderId);
return list != null ? list : Collections.emptyList();
}
@Override
public List<ErpGoofishOrderEventLog> selectEventLogList(ErpGoofishOrderEventLogQuery query) {
if (query == null) {
query = new ErpGoofishOrderEventLogQuery();
}
List<ErpGoofishOrderEventLog> list = erpGoofishOrderEventLogMapper.selectLogList(query);
return list != null ? list : Collections.emptyList();
}
}

View File

@@ -26,4 +26,24 @@
where order_id = #{orderId}
order by id desc
</select>
<select id="selectLogList" parameterType="com.ruoyi.jarvis.domain.ErpGoofishOrderEventLogQuery" resultMap="ErpGoofishOrderEventLogResult">
select id, order_id, app_key, order_no, event_type, source, message, create_time
from erp_goofish_order_event_log
<where>
<if test="orderId != null">and order_id = #{orderId}</if>
<if test="appKey != null and appKey != ''">and app_key = #{appKey}</if>
<if test="orderNo != null and orderNo != ''">and order_no like concat('%', #{orderNo}, '%')</if>
<if test="eventType != null and eventType != ''">and event_type = #{eventType}</if>
<if test="source != null and source != ''">and source like concat('%', #{source}, '%')</if>
<if test="messageKeyword != null and messageKeyword != ''">and message like concat('%', #{messageKeyword}, '%')</if>
<if test="params != null and params.beginTime != null and params.beginTime != ''">
and create_time &gt;= concat(#{params.beginTime}, ' 00:00:00')
</if>
<if test="params != null and params.endTime != null and params.endTime != ''">
and create_time &lt;= concat(#{params.endTime}, ' 23:59:59')
</if>
</where>
order by id desc
</select>
</mapper>