Browse Source

根据手机号获取浙政钉信息

专家单位code 回显
tags/24080901
niohe·erbao 1 year ago
parent
commit
a63393fae9
7 changed files with 101 additions and 1 deletions
  1. +1
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/expert/assembler/ExpertUserInfoAssembler.java
  2. +8
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertController.java
  3. +2
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/entity/ExpertUserFullInfo.java
  4. +43
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java
  5. +20
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/GetZzdInfoRequest.java
  6. +26
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/model/vo/ZzdInfoByMobileVO.java
  7. +1
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertInfoServiceImpl.java

+ 1
- 1
pmapi/src/main/java/com/ningdatech/pmapi/expert/assembler/ExpertUserInfoAssembler.java View File

@@ -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());


+ 8
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertController.java View File

@@ -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);
}
}

+ 2
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/entity/ExpertUserFullInfo.java View File

@@ -71,6 +71,8 @@ public class ExpertUserFullInfo implements Serializable {

private String company;

private String companyUniqCode;

private String legalEntityCode;

private String administrativeDuties;


+ 43
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertAdminManage.java View File

@@ -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<DingInfoByMobileDTO> dingInfoByMobile = zwddClient.getDingInfoByMobile(phoneNo);
DingInfoByMobileDTO dingInfo = dingInfoByMobile.getData();
if (Objects.nonNull(dingInfo) && StringUtils.isNotBlank(dingInfo.getEmployeeCode())) {
zzdInfoByMobileVO.setIsDingUser(true);
String employeeCode = dingInfo.getEmployeeCode();
GenericResult<List<EmployeePositionsDTO>> listGenericResult = zwddClient.listEmployeePositionsByEmployeeCode(employeeCode);
List<EmployeePositionsDTO> employeePositionsDTOS = listGenericResult.getData();
if (CollectionUtils.isNotEmpty(employeePositionsDTOS)) {
EmployeePositionsDTO employeePositionsDTO = employeePositionsDTOS.get(0);
String organizationCode = employeePositionsDTO.getOrganizationCode();
GenericResult<DingOrgInfoDTO> dingOrgInfoDTOGenericResult = zwddClient.getOrganizationByCode(organizationCode);
DingOrgInfoDTO organizationByCode = dingOrgInfoDTOGenericResult.getData();
String organizationName = organizationByCode.getOrganizationName();
zzdInfoByMobileVO.setCompanyName(organizationName);
}
GenericResult<EmployeeInfoDTO> 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;
}
}

+ 20
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/GetZzdInfoRequest.java View File

@@ -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;
}

+ 26
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/model/vo/ZzdInfoByMobileVO.java View File

@@ -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;
}

+ 1
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertInfoServiceImpl.java View File

@@ -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;
}



Loading…
Cancel
Save