feat(REQ-3600): 查询项目人员,支持根据workspaceId进行查询。

背景:
之前只支持通过thirdProjectId进行查询,但业务侧并没有这个信息。
This commit is contained in:
周敏 2025-02-08 11:08:15 +08:00
parent 4c9cdb56e1
commit 7aa1568fe8
2 changed files with 18 additions and 3 deletions

View File

@ -1,9 +1,11 @@
package cn.axzo.riven.client.req;
import cn.axzo.framework.domain.ServiceException;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@ -21,10 +23,15 @@ public class ListThirdProjectPeopleReq implements Serializable {
@NotBlank(message = "thirdCode不能为空")
private String thirdCode;
/**
* '三方项目编号'
* '三方项目编号' 此值 和workspaceId 不能都为空
*/
@NotBlank(message = "thirdProjectId不能为空")
// @NotBlank(message = "thirdProjectId不能为空")
private String thirdProjectId;
/**
* workspaceId 此值 三方项目编号不能都为空
*/
private Long workspaceId;
/**
* 三方人员唯一ID
*/
@ -36,4 +43,10 @@ public class ListThirdProjectPeopleReq implements Serializable {
private Set<Long> personIds;
private Boolean needThirdPerson;
public void check() {
if (StringUtils.isBlank(thirdProjectId) && workspaceId == null) {
throw new ServiceException("workspaceId 和 thirdProjectId 不能都为空");
}
}
}

View File

@ -52,8 +52,10 @@ public class ThirdPartPersonController implements ThirdPartPersonApi {
@Override
public ApiResult<List<ThirdProjectPersonRes>> listThirdProjectPeople(ListThirdProjectPeopleReq param) {
param.check();
ThirdProject thirdProject = thirdProjectDao.lambdaQuery().eq(ThirdProject::getThirdCode, param.getThirdCode())
.eq(ThirdProject::getThirdProjectId, param.getThirdProjectId())
.eq(StrUtil.isNotBlank(param.getThirdProjectId()), ThirdProject::getThirdProjectId, param.getThirdProjectId())
.apply(param.getWorkspaceId() != null, " extra -> '$.workspaceId' = {0} ", param.getWorkspaceId())
.eq(ThirdProject::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.one();
if (thirdProject == null){