feat(REQ-3136): 提供三方项目人员查询接口 step3 返回workspaceId

This commit is contained in:
周敏 2024-10-30 11:53:20 +08:00
parent 40d18046cb
commit dda00b5e18
4 changed files with 30 additions and 1 deletions

View File

@ -9,8 +9,10 @@ import cn.axzo.riven.client.res.ThirdPartPersonRes;
import cn.axzo.riven.client.res.ThirdPersonRes;
import cn.axzo.riven.client.res.ThirdProjectPersonRes;
import cn.axzo.riven.third.dao.ThirdPersonDao;
import cn.axzo.riven.third.dao.ThirdProjectDao;
import cn.axzo.riven.third.dao.ThirdProjectPersonDao;
import cn.axzo.riven.third.entity.ThirdPerson;
import cn.axzo.riven.third.entity.ThirdProject;
import cn.axzo.riven.third.entity.ThirdProjectPerson;
import cn.axzo.riven.third.service.ThirdPersonService;
import cn.hutool.core.bean.BeanUtil;
@ -37,6 +39,7 @@ public class ThirdPartPersonController implements ThirdPartPersonApi {
private final ThirdPersonService thirdPersonService;
private final ThirdProjectPersonDao thirdProjectPersonDao;
private final ThirdPersonDao thirdPersonDao;
private final ThirdProjectDao thirdProjectDao;
@Override
public ApiResult<ThirdPartPersonRes> getThirdPartPerson(Long personId, ThirdCodeEnum thirdCode) {
@ -48,13 +51,21 @@ public class ThirdPartPersonController implements ThirdPartPersonApi {
@Override
public ApiResult<List<ThirdProjectPersonRes>> listThirdProjectPeople(ListThirdProjectPeopleReq param) {
ThirdProject thirdProject = thirdProjectDao.lambdaQuery().eq(ThirdProject::getThirdCode, param.getThirdCode())
.eq(ThirdProject::getThirdProjectId, param.getThirdProjectId())
.eq(ThirdProject::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.one();
List<ThirdProjectPersonRes> result = thirdProjectPersonDao.lambdaQuery()
.eq(ThirdProjectPerson::getThirdCode, param.getThirdCode())
.eq(ThirdProjectPerson::getThirdProjectId, param.getThirdProjectId())
.in(CollUtil.isNotEmpty(param.getThirdUniquePersonIds()), ThirdProjectPerson::getThirdUniquePersonId, param.getThirdUniquePersonIds())
.eq(ThirdProjectPerson::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.list()
.stream().map(e -> BeanUtil.toBean(e, ThirdProjectPersonRes.class))
.stream().map(e -> {
ThirdProjectPersonRes res = BeanUtil.toBean(e, ThirdProjectPersonRes.class);
res.setWorkspaceId(thirdProject.normalizedExt().getWorkspaceId());
return res;
})
.collect(Collectors.toList());
assembleThirdPersonIfNeed(result, param);
return ApiResult.ok(result);

View File

@ -1,6 +1,10 @@
package cn.axzo.riven.third.entity;
import cn.axzo.framework.data.mybatisplus.model.BaseEntity;
import cn.axzo.riven.third.taizhou.entity.TaiZhouThirdProjectExt;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
@ -49,4 +53,9 @@ public class ThirdProject extends BaseEntity<ThirdProject> {
*/
private String thirdProjectExt;
public TaiZhouThirdProjectExt normalizedExt() {
return StrUtil.isBlank(thirdProjectExt) ? new TaiZhouThirdProjectExt()
: JSON.parseObject(thirdProjectExt, TaiZhouThirdProjectExt.class);
}
}

View File

@ -60,6 +60,11 @@ public class ThirdProjectPerson extends BaseEntity<ThirdProjectPerson>{
*/
private String thirdPostName;
/**
* 最后一次同步时间
*/
private Date lastSyncAt;
/**
* 三方ext,扩展域等等,工种信息等等
*/

View File

@ -22,5 +22,9 @@ public class TaiZhouThirdProjectExt implements Serializable {
*/
private String dataNumber;
/**
* 对应安心筑项目id
*/
private Long workspaceId;
}