Merge branch 'feature/REQ-3173' into 'master'

Feature/req 3173

See merge request universal/infrastructure/backend/riven!66
This commit is contained in:
周敏 2024-11-11 12:50:24 +00:00
commit a05624aa8c
2 changed files with 42 additions and 0 deletions

View File

@ -30,5 +30,10 @@ public class ListThirdProjectPeopleReq implements Serializable {
*/
private Set<String> thirdUniquePersonIds;
/**
* 人员id集合
*/
private Set<Long> personIds;
private Boolean needThirdPerson;
}

View File

@ -59,6 +59,9 @@ public class ThirdPartPersonController implements ThirdPartPersonApi {
if (thirdProject == null){
return ApiResult.ok(ImmutableList.of());
}
if (CollUtil.isNotEmpty(param.getPersonIds())) {
return ApiResult.ok(queryByPerson(param, thirdProject));
}
List<ThirdProjectPersonRes> result = thirdProjectPersonDao.lambdaQuery()
.eq(ThirdProjectPerson::getThirdCode, param.getThirdCode())
.eq(ThirdProjectPerson::getThirdProjectId, param.getThirdProjectId())
@ -75,6 +78,39 @@ public class ThirdPartPersonController implements ThirdPartPersonApi {
return ApiResult.ok(result);
}
private List<ThirdProjectPersonRes> queryByPerson(ListThirdProjectPeopleReq param, ThirdProject thirdProject) {
Map<String, ThirdPerson> thirdPersonMap = thirdPersonDao.lambdaQuery()
.eq(ThirdPerson::getThirdCode, param.getThirdCode())
.in(CollUtil.isNotEmpty(param.getThirdUniquePersonIds()),
ThirdPerson::getThirdUniquePersonId, param.getThirdUniquePersonIds())
.in(CollUtil.isNotEmpty(param.getPersonIds()), ThirdPerson::getPersonId, param.getPersonIds())
.eq(ThirdPerson::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.list()
.stream()
.collect(Collectors.toMap(ThirdPerson::getThirdUniquePersonId, Function.identity()));
if (CollUtil.isEmpty(thirdPersonMap)) {
return ImmutableList.of();
}
List<ThirdProjectPersonRes> result = thirdProjectPersonDao.lambdaQuery()
.eq(ThirdProjectPerson::getThirdCode, param.getThirdCode())
.eq(ThirdProjectPerson::getThirdProjectId, param.getThirdProjectId())
.in(ThirdProjectPerson::getThirdUniquePersonId, thirdPersonMap.keySet())
.eq(ThirdProjectPerson::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.list()
.stream().map(e -> {
ThirdProjectPersonRes res = BeanUtil.toBean(e, ThirdProjectPersonRes.class);
res.setWorkspaceId(thirdProject.normalizedExt().getWorkspaceId());
ThirdPerson thirdPerson = thirdPersonMap.get(e.getThirdUniquePersonId());
res.setThirdPersonRes(thirdPerson == null ? null : BeanUtil.toBean(thirdPerson, ThirdPersonRes.class));
return res;
})
.collect(Collectors.toList());
return result;
}
private void assembleThirdPersonIfNeed(List<ThirdProjectPersonRes> result, ListThirdProjectPeopleReq param) {
if (result.isEmpty()) {
return;
@ -92,6 +128,7 @@ public class ThirdPartPersonController implements ThirdPartPersonApi {
Map<String, ThirdPerson> thirdPersonMap = thirdPersonDao.lambdaQuery()
.eq(ThirdPerson::getThirdCode, param.getThirdCode())
.in(ThirdPerson::getThirdUniquePersonId, thirdPersonIds)
.in(CollUtil.isNotEmpty(param.getPersonIds()), ThirdPerson::getPersonId, param.getPersonIds())
.eq(ThirdPerson::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.list().stream()
.collect(Collectors.toMap(ThirdPerson::getThirdUniquePersonId, Function.identity()));