refactor(biz):优化阿里工单查询逻辑并完善测试用例

- 简化 JSON_QUERY 函数调用参数,去除冗余的数组包装操作
-优化 SQL 查询语句中的时间范围过滤条件,提高执行效率- 在 AlibabaWorkOrderMapper 接口中添加 @Mapper 注解以支持 MyBatis 扫描
- 更新单元测试配置文件,适配达梦数据库驱动及连接信息
- 新增工单实体保存测试方法,验证数据插入功能完整性- 移除无效的 Spring Import 注解,精简测试类依赖注入方式
This commit is contained in:
2025-11-14 15:51:11 +08:00
parent d8f0f3e5c0
commit 6ba69a8571
4 changed files with 119 additions and 39 deletions

View File

@@ -201,15 +201,12 @@ public class AlibabaWorkOrderJob implements JobHandler {
" REPLACE( " +
" JSON_QUERY( " +
" wos.SOP_SCHEMA, " +
" '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER, " +
" '[', " +
" ']', " +
" ',' " +
" '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER " +
" ), " +
" ']', " +
" '[', " +
" '' " +
" ), " +
" '[', " +
" ']', " +
" '' " +
" ), " +
" ',' " +
@@ -220,17 +217,10 @@ public class AlibabaWorkOrderJob implements JobHandler {
" LISTAGG( " +
" REPLACE( " +
" REPLACE( " +
" JSON_QUERY( " +
" sl.CONTENT, " +
" '$.sopInfo.*' WITH CONDITIONAL WRAPPER, " +
" '[', " +
" ']', " +
" ',' " +
" ), " +
" ']', " +
" JSON_QUERY(sl.CONTENT, '$.sopInfo.*' WITH CONDITIONAL WRAPPER), " +
" '[', " +
" '' " +
" ), " +
" '[', " +
" ) ']', " +
" '' " +
" ), " +
" ',' " +
@@ -368,15 +358,12 @@ public class AlibabaWorkOrderJob implements JobHandler {
" REPLACE( " +
" JSON_QUERY( " +
" wos.SOP_SCHEMA, " +
" '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER, " +
" '[', " +
" ']', " +
" ',' " +
" '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER " +
" ), " +
" ']', " +
" '[', " +
" '' " +
" ), " +
" '[', " +
" ']', " +
" '' " +
" ), " +
" ',' " +
@@ -387,17 +374,10 @@ public class AlibabaWorkOrderJob implements JobHandler {
" LISTAGG( " +
" REPLACE( " +
" REPLACE( " +
" JSON_QUERY( " +
" sl.CONTENT, " +
" '$.sopInfo.*' WITH CONDITIONAL WRAPPER, " +
" '[', " +
" ']', " +
" ',' " +
" ), " +
" ']', " +
" JSON_QUERY(sl.CONTENT, '$.sopInfo.*' WITH CONDITIONAL WRAPPER), " +
" '[', " +
" '' " +
" ), " +
" '[', " +
" ) ']', " +
" '' " +
" ), " +
" ',' " +
@@ -438,7 +418,72 @@ public class AlibabaWorkOrderJob implements JobHandler {
" ) rwoe " +
" GROUP BY " +
" rwoe.\"RELATE_WORK_ORDER_ID\" " +
" ) rwoa ON mwoe.WORK_ORDER_ID = rwoa.RELATE_WORK_ORDER_ID ");
" ) rwoa ON mwoe.WORK_ORDER_ID = rwoa.RELATE_WORK_ORDER_ID " +
"WHERE " +
" ( " +
" mwoe.GMT_MODIFIED BETWEEN TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" AND TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" ) " +
" OR ( " +
" mwoe.SUB_GMT_MODIFIED BETWEEN TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" AND TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" ) " +
" OR ( " +
" rwoa.GMT_MODIFIED BETWEEN TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" AND TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" ) " +
" OR ( " +
" rwoa.SUB_GMT_MODIFIED BETWEEN TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" AND TO_DATE( " +
" NVL( " +
" '2025-11-11 11:11:11', " +
" TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " +
" ), " +
" 'YYYY-MM-DD HH24:MI:SS' " +
" ) " +
" )");
// 如果时间参数存在并且合法,则添加时间条件
if (Objects.nonNull(startTime) && Objects.nonNull(endTime) && startTime.isBefore(endTime)) {
String formattedStart = LocalDateTimeUtil.format(startTime, FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);

View File

@@ -3,12 +3,14 @@ package com.jeelowcode.module.biz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jeelowcode.module.biz.entity.AlibabaWorkOrder;
import com.jeelowcode.tool.framework.mybatis.core.query.LambdaQueryWrapperX;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDateTime;
/**
* 阿里工单Mapper
*/
@Mapper
public interface AlibabaWorkOrderMapper extends BaseMapper<AlibabaWorkOrder> {
/**
@@ -29,4 +31,4 @@ public interface AlibabaWorkOrderMapper extends BaseMapper<AlibabaWorkOrder> {
*/
LocalDateTime selectMaxUpdateTime();
}
}