diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/assembler/ExpertUserInfoAssembler.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/assembler/ExpertUserInfoAssembler.java index be44b6d..eb03406 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/expert/assembler/ExpertUserInfoAssembler.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/assembler/ExpertUserInfoAssembler.java @@ -384,7 +384,7 @@ public class ExpertUserInfoAssembler { } expertUserFullInfoDTO.setRetiredAt(expertUserFullInfo.getRetiredAt()); expertUserFullInfoDTO.setCompany(expertUserFullInfo.getCompany()); -// expertUserFullInfoDTO.setCompanyUniqCode(expertUserFullInfo.getCompanyUniqCode()); + expertUserFullInfoDTO.setCompanyUniqCode(expertUserFullInfo.getCompanyUniqCode()); expertUserFullInfoDTO.setLegalEntityCode(expertUserFullInfo.getLegalEntityCode()); expertUserFullInfoDTO.setAdministrativeDuties(expertUserFullInfo.getAdministrativeDuties()); expertUserFullInfoDTO.setStartWorkAt(expertUserFullInfo.getStartWorkAt()); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertController.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertController.java index cc55bd1..2045526 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertController.java @@ -7,9 +7,11 @@ import com.ningdatech.pmapi.expert.manage.ExpertManage; import com.ningdatech.pmapi.expert.model.ExpertAdminExpertManageQuery; import com.ningdatech.pmapi.expert.model.req.AdminExpertBasicInfoModifyRequest; import com.ningdatech.pmapi.expert.model.req.ExpertUserBasicInfoSubmitRequest; +import com.ningdatech.pmapi.expert.model.req.GetZzdInfoRequest; import com.ningdatech.pmapi.expert.model.vo.ExpertAdminExpertManageListVO; import com.ningdatech.pmapi.expert.model.vo.ExpertBasicInfoModifyResultVO; import com.ningdatech.pmapi.expert.model.vo.ExpertFullInfoVO; +import com.ningdatech.pmapi.expert.model.vo.ZzdInfoByMobileVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -67,4 +69,10 @@ public class ExpertController { // ExpertUserInfoValidator.expertBasicInfoModifyRequestValidate(request); return expertAdminManage.adminModifyExpertBasicInfo(request); } + + @PostMapping("/get-zzd-info") + @ApiOperation("获取浙政钉用户信息") + public ZzdInfoByMobileVO getZzdInfo(@Valid @RequestBody GetZzdInfoRequest request) { + return expertAdminManage.getZzdInfo(request); + } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/entity/ExpertUserFullInfo.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/entity/ExpertUserFullInfo.java index f2d426c..e69361e 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/expert/entity/ExpertUserFullInfo.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/entity/ExpertUserFullInfo.java @@ -71,6 +71,8 @@ public class ExpertUserFullInfo implements Serializable { private String company; + private String companyUniqCode; + private String legalEntityCode; private String administrativeDuties; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java index 4593086..183d0c4 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ningdatech.basic.exception.BizException; +import com.ningdatech.basic.model.GenericResult; import com.ningdatech.basic.model.PageVo; import com.ningdatech.pmapi.common.enumeration.BoolDisplayEnum; import com.ningdatech.pmapi.common.helper.RegionLimitHelper; @@ -25,9 +26,11 @@ import com.ningdatech.pmapi.expert.model.dto.ExpertAdminExpertManageListDTO; import com.ningdatech.pmapi.expert.model.query.ExpertDictionaryQuery; import com.ningdatech.pmapi.expert.model.query.ExpertTagQuery; import com.ningdatech.pmapi.expert.model.req.AdminExpertBasicInfoModifyRequest; +import com.ningdatech.pmapi.expert.model.req.GetZzdInfoRequest; import com.ningdatech.pmapi.expert.model.req.MetaApplyResultRequest; import com.ningdatech.pmapi.expert.model.vo.ExpertAdminExpertManageListVO; import com.ningdatech.pmapi.expert.model.vo.ExpertBasicInfoModifyResultVO; +import com.ningdatech.pmapi.expert.model.vo.ZzdInfoByMobileVO; import com.ningdatech.pmapi.expert.service.ExpertAdminManageService; import com.ningdatech.pmapi.expert.service.ExpertInfoService; import com.ningdatech.pmapi.expert.service.IExpertMetaApplyService; @@ -35,7 +38,13 @@ import com.ningdatech.pmapi.meta.constant.DictExpertInfoTypeEnum; import com.ningdatech.pmapi.meta.constant.ExpertTagEnum; import com.ningdatech.pmapi.meta.model.bo.RegionContainsBO; import com.ningdatech.pmapi.user.util.LoginUserUtil; +import com.ningdatech.zwdd.client.ZwddClient; +import com.ningdatech.zwdd.model.dto.DingInfoByMobileDTO; +import com.ningdatech.zwdd.model.dto.DingOrgInfoDTO; +import com.ningdatech.zwdd.model.dto.EmployeeInfoDTO; +import com.ningdatech.zwdd.model.dto.EmployeePositionsDTO; import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; @@ -60,6 +69,7 @@ public class ExpertAdminManage { private final ExpertMetaApplyManage expertMetaApplyManage; private final ExpertAdminManageService expertAdminManageService; private final ExpertAdminExpertManageAssembler expertAdminExpertManageAssembler; + private final ZwddClient zwddClient; /** * 专家管理员使用 专家库列表查询 @@ -218,4 +228,37 @@ public class ExpertAdminManage { } return new ExpertBasicInfoModifyResultVO(false); } + + + public ZzdInfoByMobileVO getZzdInfo(GetZzdInfoRequest request) { + ZzdInfoByMobileVO zzdInfoByMobileVO = new ZzdInfoByMobileVO(); + String phoneNo = request.getPhoneNo(); + zzdInfoByMobileVO.setPhoneNo(phoneNo); + + GenericResult dingInfoByMobile = zwddClient.getDingInfoByMobile(phoneNo); + DingInfoByMobileDTO dingInfo = dingInfoByMobile.getData(); + if (Objects.nonNull(dingInfo) && StringUtils.isNotBlank(dingInfo.getEmployeeCode())) { + zzdInfoByMobileVO.setIsDingUser(true); + String employeeCode = dingInfo.getEmployeeCode(); + GenericResult> listGenericResult = zwddClient.listEmployeePositionsByEmployeeCode(employeeCode); + List employeePositionsDTOS = listGenericResult.getData(); + if (CollectionUtils.isNotEmpty(employeePositionsDTOS)) { + EmployeePositionsDTO employeePositionsDTO = employeePositionsDTOS.get(0); + String organizationCode = employeePositionsDTO.getOrganizationCode(); + GenericResult dingOrgInfoDTOGenericResult = zwddClient.getOrganizationByCode(organizationCode); + DingOrgInfoDTO organizationByCode = dingOrgInfoDTOGenericResult.getData(); + String organizationName = organizationByCode.getOrganizationName(); + zzdInfoByMobileVO.setCompanyName(organizationName); + } + GenericResult infoDTOGenericResult = zwddClient.getEmployeeByCode(employeeCode); + EmployeeInfoDTO employeeInfoDTO = infoDTOGenericResult.getData(); + if (Objects.nonNull(employeeInfoDTO)) { + String employeeName = employeeInfoDTO.getEmployeeName(); + zzdInfoByMobileVO.setName(employeeName); + } + } else { + zzdInfoByMobileVO.setIsDingUser(false); + } + return zzdInfoByMobileVO; + } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/GetZzdInfoRequest.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/GetZzdInfoRequest.java new file mode 100644 index 0000000..9ee3f8d --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/GetZzdInfoRequest.java @@ -0,0 +1,20 @@ +package com.ningdatech.pmapi.expert.model.req; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author liuxinxin + * @date 2022/8/29 下午2:54 + */ +@Data +@ApiModel(description = "通过手机号获取浙政钉信息请求") +public class GetZzdInfoRequest { + + @NotBlank + @ApiModelProperty("手机号") + private String phoneNo; +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/vo/ZzdInfoByMobileVO.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/vo/ZzdInfoByMobileVO.java new file mode 100644 index 0000000..2db6d40 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/model/vo/ZzdInfoByMobileVO.java @@ -0,0 +1,26 @@ +package com.ningdatech.pmapi.expert.model.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author liuxinxin + * @date 2022/8/29 下午3:21 + */ +@Data +@ApiModel("通过浙政钉获取手机号数据展示VO") +public class ZzdInfoByMobileVO { + + @ApiModelProperty("手机号") + private String phoneNo; + + @ApiModelProperty("公司名") + private String companyName; + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("是否是浙政钉用户") + private Boolean isDingUser; +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertInfoServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertInfoServiceImpl.java index 63e6682..e880fde 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertInfoServiceImpl.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertInfoServiceImpl.java @@ -179,6 +179,7 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { expertUserFullInfo.setRecommendationProofFileIdList(JSONObject.toJSONString(expertUserInfoDTO.getRecommendationProofFileIdList())); } expertUserFullInfo.setRemark(expertUserInfoDTO.getRemark()); + expertUserFullInfo.setCompanyUniqCode(expertUserFullInfo.getCompanyUniqCode()); return expertUserFullInfo; }