Merge branch 'feature/REQ-3173' into 'master'
Feature/req 3173 See merge request universal/infrastructure/backend/riven!66
This commit is contained in:
commit
a05624aa8c
@ -30,5 +30,10 @@ public class ListThirdProjectPeopleReq implements Serializable {
|
||||
*/
|
||||
private Set<String> thirdUniquePersonIds;
|
||||
|
||||
/**
|
||||
* 人员id集合
|
||||
*/
|
||||
private Set<Long> personIds;
|
||||
|
||||
private Boolean needThirdPerson;
|
||||
}
|
||||
|
||||
@ -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()));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user