refactor(biz):优化阿里工单查询逻辑并完善测试用例
- 简化 JSON_QUERY 函数调用参数,去除冗余的数组包装操作 -优化 SQL 查询语句中的时间范围过滤条件,提高执行效率- 在 AlibabaWorkOrderMapper 接口中添加 @Mapper 注解以支持 MyBatis 扫描 - 更新单元测试配置文件,适配达梦数据库驱动及连接信息 - 新增工单实体保存测试方法,验证数据插入功能完整性- 移除无效的 Spring Import 注解,精简测试类依赖注入方式
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user