feat:[REQ-3488] 自测, 解决json查询报错问题

This commit is contained in:
liuyang 2025-01-13 17:25:02 +08:00
parent 2497d7d77c
commit ffa22f6f7c
4 changed files with 81 additions and 76 deletions

View File

@ -147,7 +147,18 @@ public interface NodeQueryRepository {
* 扩展信息查询条件
*/
@CriteriaField(field = "profile", operator = Operator.JSON_QUERY)
private Collection<MybatisPlusOperatorProcessor.JSONQuery> profileQueries;
private Collection<MybatisPlusOperatorProcessor.JSONQuery> profileQueries = new ArrayList<>();
/**
* 增加profile查询条件
* @param jsonQuery
*/
public void addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery jsonQuery) {
if (this.profileQueries == null) {
this.profileQueries = new ArrayList<>();
}
this.profileQueries.add(jsonQuery);
}
}
}

View File

@ -18,11 +18,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.*;
public interface NodeUserQueryRepository {
@ -281,6 +277,17 @@ public interface NodeUserQueryRepository {
returnEmpty = true;
return this;
}
/**
* 增加profile搜索条件
* @param jsonQuery
*/
public void addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery jsonQuery) {
if (this.profileQueries == null) {
this.profileQueries = new ArrayList<>();
}
this.profileQueries.add(jsonQuery);
}
}
@NoArgsConstructor

View File

@ -123,69 +123,63 @@ public class ListNodeCmdExe {
// 平台班组id
if (CollUtil.isNotEmpty(req.getPlatTeamIds())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
Collections.singletonList(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.platTeamId")
.operator(Operator.IN)
.data(req.getPlatTeamIds())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.platTeamId")
.operator(Operator.IN)
.data(req.getPlatTeamIds())
.build());
}
// 项目内班组ID
if (CollUtil.isNotEmpty(req.getProjectTeamIds())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
Collections.singletonList(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectTeamId")
.operator(Operator.IN)
.data(req.getProjectTeamIds())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectTeamId")
.operator(Operator.IN)
.data(req.getProjectTeamIds())
.build());
}
// 项目内小组类型
if (req.getProjectGroupType() != null) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
Collections.singletonList(MybatisPlusOperatorProcessor.JSONQuery.builder()
listReq.addProfileQueries(
MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.type")
.data(req.getProjectGroupType())
.build())));
.build());
}
// 项目内小组ID
if (CollUtil.isNotEmpty(req.getProjectGroupIds())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
Collections.singletonList(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectGroupId")
.operator(Operator.IN)
.data(req.getProjectGroupIds())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectGroupId")
.operator(Operator.IN)
.data(req.getProjectGroupIds())
.build());
}
// 小组长工人身份id
if (CollUtil.isNotEmpty(req.getOwnerWorkerIdentityIds())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
Collections.singletonList(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.ownerWorkerIdentityId")
.operator(Operator.IN)
.data(req.getOwnerWorkerIdentityIds())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.ownerWorkerIdentityId")
.operator(Operator.IN)
.data(req.getOwnerWorkerIdentityIds())
.build());
}
// 项目内小组状态
if (req.getProjectGroupStatus() != null) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
Collections.singletonList(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.status")
.data(req.getProjectGroupStatus())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.status")
.data(req.getProjectGroupStatus())
.build());
}
// 项目内小组状态
if (CollUtil.isNotEmpty(req.getOwnerProjectWorkerIds())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
Collections.singletonList(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.ownerProjectWorkerId")
.operator(Operator.IN)
.data(req.getOwnerProjectWorkerIds())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.ownerProjectWorkerId")
.operator(Operator.IN)
.data(req.getOwnerProjectWorkerIds())
.build());
}
return listReq;
}

View File

@ -209,62 +209,55 @@ public class NodeUserServiceImpl implements NodeUserService {
}
// projectWorkerStatuses
if (CollUtil.isNotEmpty(req.getProjectWorkerStatuses())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
ImmutableList.of(MybatisPlusOperatorProcessor.JSONQuery.builder()
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectWorkerStatus")
.operator(Operator.IN)
.data(req.getProjectWorkerStatuses())
.build())));
.build());
}
// platTeamId
if (req.getPlatTeamId() != null) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
ImmutableList.of(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.platTeamId")
.data(req.getPlatTeamId())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.platTeamId")
.data(req.getPlatTeamId())
.build());
}
// projectTeamIds
if (CollUtil.isNotEmpty(req.getProjectTeamIds())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
ImmutableList.of(MybatisPlusOperatorProcessor.JSONQuery.builder()
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectTeamId")
.operator(Operator.IN)
.data(req.getProjectTeamIds())
.build())));
.build());
}
// projectTeamId
if (req.getProjectTeamId() != null) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
ImmutableList.of(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectTeamId")
.data(req.getProjectTeamId())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectTeamId")
.data(req.getProjectTeamId())
.build());
}
// projectWorkerIds
if (CollUtil.isNotEmpty(req.getProjectWorkerIds())) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
ImmutableList.of(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectWorkerId")
.operator(Operator.IN)
.data(req.getProjectWorkerIds())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectWorkerId")
.operator(Operator.IN)
.data(req.getProjectWorkerIds())
.build());
}
// projectWorkerId
if (req.getProjectWorkerId() != null) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
ImmutableList.of(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectWorkerId")
.data(req.getProjectWorkerId())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectWorkerId")
.data(req.getProjectWorkerId())
.build());
}
// projectGroupId
if (req.getProjectGroupId() != null) {
listReq.setProfileQueries(QueryConditionAssembler.assemble(listReq.getProfileQueries(),
ImmutableList.of(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectGroupId")
.data(req.getProjectGroupId())
.build())));
listReq.addProfileQueries(MybatisPlusOperatorProcessor.JSONQuery.builder()
.jsonPath("$.projectGroupId")
.data(req.getProjectGroupId())
.build());
}
return listReq;
}