Browse Source

专家列表修改

tags/24080901
WendyYang 8 months ago
parent
commit
ddca2acd30
29 changed files with 223 additions and 404 deletions
  1. +4
    -4
      hz-pm-api/src/main/java/com/hz/pm/api/common/util/DictUtils.java
  2. +6
    -6
      hz-pm-api/src/main/java/com/hz/pm/api/common/util/ExpertRegisterUtil.java
  3. +5
    -5
      hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/DictAssembler.java
  4. +26
    -89
      hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertAdminExpertManageAssembler.java
  5. +12
    -12
      hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertInfoCmdAssembler.java
  6. +27
    -53
      hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertUserInfoAssembler.java
  7. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/expert/constant/ExpertUserInfoSensitiveFieldEnum.java
  8. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/expert/helper/ExpertInfoSensitiveFieldModifyCheckHelper.java
  9. +8
    -8
      hz-pm-api/src/main/java/com/hz/pm/api/expert/helper/ExpertManageHelper.java
  10. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/expert/manage/ExpertAdminManage.java
  11. +5
    -5
      hz-pm-api/src/main/java/com/hz/pm/api/expert/manage/ExpertMetaApplyManage.java
  12. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/DictFieldInfoDTO.java
  13. +2
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertBasicInfo.java
  14. +2
    -4
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertEduInfo.java
  15. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertJobInfo.java
  16. +1
    -1
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertProfessionalInfo.java
  17. +1
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertRecommendInfo.java
  18. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/SensitiveModifySegment.java
  19. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/cmd/MetaApplyListQuery.java
  20. +76
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/dto/ExpertAdminExpertListDTO.java
  21. +0
    -139
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/dto/ExpertAdminExpertManageListDTO.java
  22. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/req/MetaApplyResultRequest.java
  23. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/vo/ExpertApplyMetaVO.java
  24. +11
    -22
      hz-pm-api/src/main/java/com/hz/pm/api/expert/model/vo/ExpertLibraryListItemVO.java
  25. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/expert/service/ExpertAdminManageService.java
  26. +5
    -19
      hz-pm-api/src/main/java/com/hz/pm/api/expert/service/impl/ExpertAdminManageServiceImpl.java
  27. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/expert/service/impl/ExpertInfoServiceImpl.java
  28. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/expert/utils/SensitiveModifySegmentUtils.java
  29. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/meeting/controller/MeetingController.java

+ 4
- 4
hz-pm-api/src/main/java/com/hz/pm/api/common/util/DictUtils.java View File

@@ -1,7 +1,7 @@
package com.hz.pm.api.common.util; package com.hz.pm.api.common.util;


import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;


import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
@@ -15,7 +15,7 @@ public class DictUtils {
private DictUtils() { private DictUtils() {
} }


public static Boolean isValueEquals(List<DictionaryFieldInfo> list1, List<DictionaryFieldInfo> list2) {
public static Boolean isValueEquals(List<DictFieldInfoDTO> list1, List<DictFieldInfoDTO> list2) {
if (CollUtil.isEmpty(list1) && CollUtil.isEmpty(list2)) { if (CollUtil.isEmpty(list1) && CollUtil.isEmpty(list2)) {
return true; return true;
} }
@@ -27,8 +27,8 @@ public class DictUtils {
if (list1.size() != list2.size()) { if (list1.size() != list2.size()) {
return false; return false;
} }
list1.sort(Comparator.comparing(DictionaryFieldInfo::getDictionaryFieldName).thenComparing(DictionaryFieldInfo::getDictionaryCode));
list2.sort(Comparator.comparing(DictionaryFieldInfo::getDictionaryFieldName).thenComparing(DictionaryFieldInfo::getDictionaryCode));
list1.sort(Comparator.comparing(DictFieldInfoDTO::getDictionaryFieldName).thenComparing(DictFieldInfoDTO::getDictionaryCode));
list2.sort(Comparator.comparing(DictFieldInfoDTO::getDictionaryFieldName).thenComparing(DictFieldInfoDTO::getDictionaryCode));


for (int i = 0; i < list1.size(); i++) { for (int i = 0; i < list1.size(); i++) {
if (!StrUtils.trimEquals(list1.get(i).getDictionaryFieldName(), list2.get(i).getDictionaryFieldName()) if (!StrUtils.trimEquals(list1.get(i).getDictionaryFieldName(), list2.get(i).getDictionaryFieldName())


+ 6
- 6
hz-pm-api/src/main/java/com/hz/pm/api/common/util/ExpertRegisterUtil.java View File

@@ -67,7 +67,7 @@ public class ExpertRegisterUtil {
politicalDicts.stream() politicalDicts.stream()
.filter(dict -> dict.getName().equals(political)) .filter(dict -> dict.getName().equals(political))
.findFirst().ifPresent(dictionary -> { .findFirst().ifPresent(dictionary -> {
DictionaryFieldInfo dict = new DictionaryFieldInfo();
DictFieldInfoDTO dict = new DictFieldInfoDTO();
dict.setDictionaryName(dictionary.getName()); dict.setDictionaryName(dictionary.getName());
dict.setDictionaryCode(dictionary.getDictionaryCode()); dict.setDictionaryCode(dictionary.getDictionaryCode());
dict.setDictionaryFieldName(dictionary.getDictionaryType()); dict.setDictionaryFieldName(dictionary.getDictionaryType());
@@ -87,7 +87,7 @@ public class ExpertRegisterUtil {
eduDicts.stream() eduDicts.stream()
.filter(dict -> dict.getName().equals(eduStr)) .filter(dict -> dict.getName().equals(eduStr))
.findFirst().ifPresent(dictionary -> { .findFirst().ifPresent(dictionary -> {
DictionaryFieldInfo dict = new DictionaryFieldInfo();
DictFieldInfoDTO dict = new DictFieldInfoDTO();
dict.setDictionaryName(dictionary.getName()); dict.setDictionaryName(dictionary.getName());
dict.setDictionaryCode(dictionary.getDictionaryCode()); dict.setDictionaryCode(dictionary.getDictionaryCode());
dict.setDictionaryFieldName(dictionary.getDictionaryType()); dict.setDictionaryFieldName(dictionary.getDictionaryType());
@@ -101,7 +101,7 @@ public class ExpertRegisterUtil {
degreeDicts.stream() degreeDicts.stream()
.filter(dict -> dict.getName().equals(degreeStr)) .filter(dict -> dict.getName().equals(degreeStr))
.findFirst().ifPresent(dictionary -> { .findFirst().ifPresent(dictionary -> {
DictionaryFieldInfo dict = new DictionaryFieldInfo();
DictFieldInfoDTO dict = new DictFieldInfoDTO();
dict.setDictionaryName(dictionary.getName()); dict.setDictionaryName(dictionary.getName());
dict.setDictionaryCode(dictionary.getDictionaryCode()); dict.setDictionaryCode(dictionary.getDictionaryCode());
dict.setDictionaryFieldName(dictionary.getDictionaryType()); dict.setDictionaryFieldName(dictionary.getDictionaryType());
@@ -144,7 +144,7 @@ public class ExpertRegisterUtil {
administrativeRankDicts.stream() administrativeRankDicts.stream()
.filter(dict -> dict.getName().equals(administrativeRankStr)) .filter(dict -> dict.getName().equals(administrativeRankStr))
.findFirst().ifPresent(dictionary -> { .findFirst().ifPresent(dictionary -> {
DictionaryFieldInfo dict = new DictionaryFieldInfo();
DictFieldInfoDTO dict = new DictFieldInfoDTO();
dict.setDictionaryName(dictionary.getName()); dict.setDictionaryName(dictionary.getName());
dict.setDictionaryCode(dictionary.getDictionaryCode()); dict.setDictionaryCode(dictionary.getDictionaryCode());
dict.setDictionaryFieldName(dictionary.getDictionaryType()); dict.setDictionaryFieldName(dictionary.getDictionaryType());
@@ -158,7 +158,7 @@ public class ExpertRegisterUtil {
companyTypeDicts.stream() companyTypeDicts.stream()
.filter(dict -> dict.getName().equals(companyTypeStr)) .filter(dict -> dict.getName().equals(companyTypeStr))
.findFirst().ifPresent(dictionary -> { .findFirst().ifPresent(dictionary -> {
DictionaryFieldInfo dict = new DictionaryFieldInfo();
DictFieldInfoDTO dict = new DictFieldInfoDTO();
dict.setDictionaryName(dictionary.getName()); dict.setDictionaryName(dictionary.getName());
dict.setDictionaryCode(dictionary.getDictionaryCode()); dict.setDictionaryCode(dictionary.getDictionaryCode());
dict.setDictionaryFieldName(dictionary.getDictionaryType()); dict.setDictionaryFieldName(dictionary.getDictionaryType());
@@ -245,7 +245,7 @@ public class ExpertRegisterUtil {
titleLevelDicts.stream() titleLevelDicts.stream()
.filter(dict -> dict.getName().equals(titleLevel)) .filter(dict -> dict.getName().equals(titleLevel))
.findFirst().ifPresent(dictionary -> { .findFirst().ifPresent(dictionary -> {
DictionaryFieldInfo dict = new DictionaryFieldInfo();
DictFieldInfoDTO dict = new DictFieldInfoDTO();
dict.setDictionaryName(dictionary.getName()); dict.setDictionaryName(dictionary.getName());
dict.setDictionaryCode(dictionary.getDictionaryCode()); dict.setDictionaryCode(dictionary.getDictionaryCode());
dict.setDictionaryFieldName(dictionary.getDictionaryType()); dict.setDictionaryFieldName(dictionary.getDictionaryType());


+ 5
- 5
hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/DictAssembler.java View File

@@ -1,10 +1,10 @@
package com.hz.pm.api.expert.assembler; package com.hz.pm.api.expert.assembler;


import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.meta.model.entity.ExpertDictionary; import com.hz.pm.api.meta.model.entity.ExpertDictionary;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;


@@ -17,12 +17,12 @@ public class DictAssembler {
private DictAssembler() { private DictAssembler() {
} }


public static List<DictionaryFieldInfo> toDictFieldInfoList(List<ExpertDictionary> expertDictList) {
public static List<DictFieldInfoDTO> convert(List<ExpertDictionary> expertDictList) {
if (CollUtil.isEmpty(expertDictList)) { if (CollUtil.isEmpty(expertDictList)) {
return new ArrayList<>();
return Collections.emptyList();
} }
return expertDictList.stream().map(r -> { return expertDictList.stream().map(r -> {
DictionaryFieldInfo dictionaryFieldInfo = new DictionaryFieldInfo();
DictFieldInfoDTO dictionaryFieldInfo = new DictFieldInfoDTO();
dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField()); dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField());
dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode()); dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode());
return dictionaryFieldInfo; return dictionaryFieldInfo;


+ 26
- 89
hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertAdminExpertManageAssembler.java View File

@@ -1,22 +1,17 @@
package com.hz.pm.api.expert.assembler; package com.hz.pm.api.expert.assembler;


import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.hz.pm.api.common.helper.RegionCacheHelper; import com.hz.pm.api.common.helper.RegionCacheHelper;
import com.hz.pm.api.expert.constant.ExpertAccountStatusEnum;
import com.hz.pm.api.expert.constant.QueryExpertAccountStatusEnum;
import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.expert.model.TagFieldInfo; import com.hz.pm.api.expert.model.TagFieldInfo;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertManageListDTO;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertListDTO;
import com.hz.pm.api.expert.model.vo.ExpertLibraryListItemVO; import com.hz.pm.api.expert.model.vo.ExpertLibraryListItemVO;
import com.hz.pm.api.meta.helper.DictionaryCache; import com.hz.pm.api.meta.helper.DictionaryCache;
import com.hz.pm.api.meta.helper.impl.TagsCacheImpl; import com.hz.pm.api.meta.helper.impl.TagsCacheImpl;
import com.hz.pm.api.meta.model.ExpertRegionInfo;
import com.hz.pm.api.meta.model.dto.DictionaryDTO; import com.hz.pm.api.meta.model.dto.DictionaryDTO;
import com.hz.pm.api.meta.model.dto.TagDTO; import com.hz.pm.api.meta.model.dto.TagDTO;
import com.hz.pm.api.sys.model.dto.RegionDTO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;


import java.util.*; import java.util.*;
@@ -31,96 +26,38 @@ import java.util.stream.Collectors;
public class ExpertAdminExpertManageAssembler { public class ExpertAdminExpertManageAssembler {


private final DictionaryCache dictionaryCache; private final DictionaryCache dictionaryCache;
private final TagsCacheImpl tagCache;
private final RegionCacheHelper regionCache;


public List<ExpertLibraryListItemVO> toExpertAdminExpertManageListVOList(
List<ExpertAdminExpertManageListDTO> expertManageListDTOList) {
if (CollectionUtil.isEmpty(expertManageListDTOList)) {
return new ArrayList<>();
public List<ExpertLibraryListItemVO> toViews(
List<ExpertAdminExpertListDTO> experts) {
if (CollUtil.isEmpty(experts)) {
return Collections.emptyList();
} }
return expertManageListDTOList.stream().map(r -> {
ExpertLibraryListItemVO expertLibraryListItemVO = new ExpertLibraryListItemVO();
expertLibraryListItemVO.setUserId(r.getUserId());
expertLibraryListItemVO.setExpertName(r.getExpertName());
expertLibraryListItemVO.setPhoneNo(r.getPhoneNo());
expertLibraryListItemVO.setIsDingUser(r.getIsDingUser());
expertLibraryListItemVO.setCompany(r.getCompany());
expertLibraryListItemVO.setLegalEntityCode(r.getLegalEntityCode());

if (StringUtils.isNotBlank(r.getExpertAccountStatus())) {
ExpertAccountStatusEnum statusEnum = ExpertAccountStatusEnum.of(r.getExpertAccountStatus());
switch (statusEnum) {
case FREEZE:
expertLibraryListItemVO.setExpertAccountStatus(QueryExpertAccountStatusEnum.FREEZING.getKey());
break;
case AVAILABLE:
expertLibraryListItemVO.setExpertAccountStatus(QueryExpertAccountStatusEnum.NORMAL.getKey());
break;
default:
break;
}
}
ExpertRegionInfo expertRegionInfo = r.getExpertRegionInfo();
if (Objects.nonNull(expertRegionInfo)) {
Integer regionLevel = expertRegionInfo.getRegionLevel();
String regionCode = expertRegionInfo.getRegionCode();
RegionDTO regionDTO = regionCache.getByCodeAndLevel(regionCode, regionLevel);
if (Objects.nonNull(regionDTO)) {
expertRegionInfo.setRegionCode(regionDTO.getRegionCode());
expertRegionInfo.setRegionLevel(regionDTO.getRegionLevel());
expertRegionInfo.setRegionName(regionDTO.getRegionName());
expertLibraryListItemVO.setExpertRegionInfo(expertRegionInfo);
}
}
List<DictionaryFieldInfo> expertType = r.getExpertType();
if (CollectionUtils.isNotEmpty(expertType)) {
expertType = assembleDictionaryName(expertType);
expertLibraryListItemVO.setExpertType(expertType);
}
List<DictionaryFieldInfo> companyAttribute = r.getCompanyAttribute();
if (CollectionUtils.isNotEmpty(companyAttribute)) {
companyAttribute = assembleDictionaryName(companyAttribute);
expertLibraryListItemVO.setCompanyAttribute(companyAttribute);
}
List<DictionaryFieldInfo> titleLevel = r.getTitleLevel();
if (CollectionUtils.isNotEmpty(titleLevel)) {
titleLevel = assembleDictionaryName(titleLevel);
expertLibraryListItemVO.setTitleLevel(titleLevel);
}

List<TagFieldInfo> expertSource = r.getExpertSource();
if (CollectionUtils.isNotEmpty(expertSource)) {
expertSource = assembleTagName(expertSource);
expertLibraryListItemVO.setExpertSource(expertSource);
}
expertLibraryListItemVO.setCreateTime(r.getCreateTime());
return expertLibraryListItemVO;
return experts.stream().map(r -> {
ExpertLibraryListItemVO item = new ExpertLibraryListItemVO();
item.setUserId(r.getUserId());
item.setExpertName(r.getExpertName());
item.setPhoneNo(r.getPhoneNo());
item.setCompany(r.getCompany());
item.setExpertType(fillDictName(r.getExpertType()));
item.setExpertSource(fillDictName(r.getExpertSource()));
item.setExpertLibrary(fillDictName(r.getExpertLibrary()));
item.setExpertSpecialty(fillDictName(r.getExpertSpecialty()));
item.setInPutTime(r.getInPutTime());
item.setCreateTime(r.getCreateTime());
return item;
}).collect(Collectors.toList()); }).collect(Collectors.toList());


} }


public List<DictionaryFieldInfo> assembleDictionaryName(List<DictionaryFieldInfo> collect) {
if (CollectionUtil.isEmpty(collect)){
return Collections.emptyList();
private List<DictFieldInfoDTO> fillDictName(List<DictFieldInfoDTO> dicts) {
if (CollectionUtil.isEmpty(dicts)) {
return dicts;
} }
return collect.stream().peek(r -> {
dicts.forEach(r -> {
Optional<DictionaryDTO> dict = dictionaryCache.getByCode(r.getDictionaryCode()); Optional<DictionaryDTO> dict = dictionaryCache.getByCode(r.getDictionaryCode());
dict.ifPresent(dictDTO -> r.setDictionaryName(dictDTO.getName())); dict.ifPresent(dictDTO -> r.setDictionaryName(dictDTO.getName()));
}).collect(Collectors.toList());
}


public List<TagFieldInfo> assembleTagName(List<TagFieldInfo> collect) {
if (CollectionUtil.isEmpty(collect)){
return new ArrayList<>();
}
return collect.stream().peek(r -> {
TagDTO tagDTO = tagCache.getByTagCode(r.getTagCode());
if (Objects.nonNull(tagDTO)) {
r.setTagName(tagDTO.getTagName());
}
}).collect(Collectors.toList());
});
return dicts;
} }


} }

+ 12
- 12
hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertInfoCmdAssembler.java View File

@@ -119,20 +119,20 @@ public class ExpertInfoCmdAssembler {


private static List<ExpertDictionaryDTO> buildExpertDictionaryList(ExpertBasicInfo basicInfo, ExpertEduInfo eduInfo private static List<ExpertDictionaryDTO> buildExpertDictionaryList(ExpertBasicInfo basicInfo, ExpertEduInfo eduInfo
, ExpertJobInfo jobInfo, ExpertProfessionalInfo professionalInfo, ExpertRecommendInfo recommendInfo) { , ExpertJobInfo jobInfo, ExpertProfessionalInfo professionalInfo, ExpertRecommendInfo recommendInfo) {
List<DictionaryFieldInfo> political = basicInfo.getPolitical();
List<DictionaryFieldInfo> expertType = basicInfo.getExpertType();
List<DictionaryFieldInfo> edu = eduInfo.getEdu();
List<DictionaryFieldInfo> degree = eduInfo.getDegree();
List<DictionaryFieldInfo> jobStatus = jobInfo.getJobStatus();
List<DictionaryFieldInfo> companyAttribute = jobInfo.getCompanyAttribute();
List<DictionaryFieldInfo> administrativeRank = jobInfo.getAdministrativeRank();
List<DictionaryFieldInfo> titleLevel = professionalInfo.getTitleLevel();
List<DictionaryFieldInfo> recommendedWay = new ArrayList<>();
List<DictFieldInfoDTO> political = basicInfo.getPolitical();
List<DictFieldInfoDTO> expertType = basicInfo.getExpertType();
List<DictFieldInfoDTO> edu = eduInfo.getEdu();
List<DictFieldInfoDTO> degree = eduInfo.getDegree();
List<DictFieldInfoDTO> jobStatus = jobInfo.getJobStatus();
List<DictFieldInfoDTO> companyAttribute = jobInfo.getCompanyAttribute();
List<DictFieldInfoDTO> administrativeRank = jobInfo.getAdministrativeRank();
List<DictFieldInfoDTO> titleLevel = professionalInfo.getTitleLevel();
List<DictFieldInfoDTO> recommendedWay = new ArrayList<>();
if (Objects.nonNull(recommendInfo)) { if (Objects.nonNull(recommendInfo)) {
recommendedWay = recommendInfo.getRecommendedWay(); recommendedWay = recommendInfo.getRecommendedWay();
} }
List<DictionaryFieldInfo> dictionaryFieldInfoList = new ArrayList<>();
List<DictFieldInfoDTO> dictionaryFieldInfoList = new ArrayList<>();
assemblerDictionaryFieldName(dictionaryFieldInfoList, political, ExpertDictTypeEnum.POLITICAL); assemblerDictionaryFieldName(dictionaryFieldInfoList, political, ExpertDictTypeEnum.POLITICAL);
assemblerDictionaryFieldName(dictionaryFieldInfoList, expertType, ExpertDictTypeEnum.EXPERT_TYPE); assemblerDictionaryFieldName(dictionaryFieldInfoList, expertType, ExpertDictTypeEnum.EXPERT_TYPE);
assemblerDictionaryFieldName(dictionaryFieldInfoList, edu, ExpertDictTypeEnum.EDU); assemblerDictionaryFieldName(dictionaryFieldInfoList, edu, ExpertDictTypeEnum.EDU);
@@ -152,7 +152,7 @@ public class ExpertInfoCmdAssembler {
} }


private static void assemblerDictionaryFieldName( private static void assemblerDictionaryFieldName(
List<DictionaryFieldInfo> allDictionaryFieldInfoList, List<DictionaryFieldInfo> originalDictionaryFieldInfoList
List<DictFieldInfoDTO> allDictionaryFieldInfoList, List<DictFieldInfoDTO> originalDictionaryFieldInfoList
, ExpertDictTypeEnum dictExpertInfoTypeEnum) { , ExpertDictTypeEnum dictExpertInfoTypeEnum) {
if (CollectionUtils.isNotEmpty(originalDictionaryFieldInfoList)) { if (CollectionUtils.isNotEmpty(originalDictionaryFieldInfoList)) {
originalDictionaryFieldInfoList = originalDictionaryFieldInfoList.stream().map(r -> { originalDictionaryFieldInfoList = originalDictionaryFieldInfoList.stream().map(r -> {


+ 27
- 53
hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertUserInfoAssembler.java View File

@@ -3,7 +3,6 @@ package com.hz.pm.api.expert.assembler;


import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.hz.pm.api.common.helper.RegionCacheHelper; import com.hz.pm.api.common.helper.RegionCacheHelper;
import com.hz.pm.api.common.model.FileBasicInfo; import com.hz.pm.api.common.model.FileBasicInfo;
import com.hz.pm.api.expert.constant.ExpertApplyTypeEnum; import com.hz.pm.api.expert.constant.ExpertApplyTypeEnum;
@@ -21,6 +20,7 @@ import com.hz.pm.api.meta.model.dto.DictionaryDTO;
import com.hz.pm.api.meta.model.dto.TagDTO; import com.hz.pm.api.meta.model.dto.TagDTO;
import com.hz.pm.api.meta.model.entity.ExpertDictionary; import com.hz.pm.api.meta.model.entity.ExpertDictionary;
import com.hz.pm.api.meta.model.entity.ExpertTag; import com.hz.pm.api.meta.model.entity.ExpertTag;
import com.ningdatech.basic.util.CollUtils;
import com.ningdatech.file.entity.vo.result.AttachFileVo; import com.ningdatech.file.entity.vo.result.AttachFileVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -45,7 +45,7 @@ public class ExpertUserInfoAssembler {
public ExpertFullInfoVO buildExpertDetail(List<AttachFileVo> attachFiles, ExpertFullInfoAllDTO expertFullInfoAll) { public ExpertFullInfoVO buildExpertDetail(List<AttachFileVo> attachFiles, ExpertFullInfoAllDTO expertFullInfoAll) {
ExpertUserFullInfoDTO expertUserInfo = expertFullInfoAll.getExpertUserInfoDTO(); ExpertUserFullInfoDTO expertUserInfo = expertFullInfoAll.getExpertUserInfoDTO();
// 字典字典段map // 字典字典段map
Map<String, List<DictionaryFieldInfo>> dictMap = buildDictInfoMap(expertFullInfoAll.getExpertDictionaryList());
Map<String, List<DictFieldInfoDTO>> dictMap = buildDictInfoMap(expertFullInfoAll.getExpertDictionaryList());
// 专家文件资料map // 专家文件资料map
Map<Long, FileBasicInfo> fileMap = buildFileBasicInfoMap(attachFiles); Map<Long, FileBasicInfo> fileMap = buildFileBasicInfoMap(attachFiles);
// 专家标签字段map // 专家标签字段map
@@ -118,19 +118,19 @@ public class ExpertUserInfoAssembler {
}).collect(Collectors.groupingBy(TagFieldInfo::getTagFieldName)); }).collect(Collectors.groupingBy(TagFieldInfo::getTagFieldName));
} }


public Map<String, List<DictionaryFieldInfo>> buildDictInfoMap(List<ExpertDictionaryDTO> expertDictList) {
public Map<String, List<DictFieldInfoDTO>> buildDictInfoMap(List<ExpertDictionaryDTO> expertDictList) {
return expertDictList.stream().map(r -> { return expertDictList.stream().map(r -> {
DictionaryFieldInfo dictionaryFieldInfo = new DictionaryFieldInfo();
DictFieldInfoDTO dictionaryFieldInfo = new DictFieldInfoDTO();
dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField()); dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField());
dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode()); dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode());
Optional<DictionaryDTO> dictionaryDTO = dictionaryCache.getByCode(r.getDictionaryCode()); Optional<DictionaryDTO> dictionaryDTO = dictionaryCache.getByCode(r.getDictionaryCode());
dictionaryDTO.ifPresent(dictDTO -> dictionaryFieldInfo.setDictionaryName(dictDTO.getName())); dictionaryDTO.ifPresent(dictDTO -> dictionaryFieldInfo.setDictionaryName(dictDTO.getName()));
return dictionaryFieldInfo; return dictionaryFieldInfo;
}).collect(Collectors.groupingBy(DictionaryFieldInfo::getDictionaryFieldName));
}).collect(Collectors.groupingBy(DictFieldInfoDTO::getDictionaryFieldName));
} }


public static ExpertProfessionalInfo buildExpertProfessionalInfo(ExpertUserFullInfoDTO expertUserInfoDTO, public static ExpertProfessionalInfo buildExpertProfessionalInfo(ExpertUserFullInfoDTO expertUserInfoDTO,
Map<String, List<DictionaryFieldInfo>> dictInfoMap,
Map<String, List<DictFieldInfoDTO>> dictInfoMap,
Map<String, List<TagFieldInfo>> tagFieldInfoMap, Map<String, List<TagFieldInfo>> tagFieldInfoMap,
Map<Long, FileBasicInfo> fileInfoMap, Map<Long, FileBasicInfo> fileInfoMap,
List<ExpertAvoidCompanyDTO> expertAvoidCompanyList) { List<ExpertAvoidCompanyDTO> expertAvoidCompanyList) {
@@ -151,7 +151,7 @@ public class ExpertUserInfoAssembler {
} }


public static ExpertJobInfo buildExpertJobInfo(ExpertUserFullInfoDTO expertUserInfoDTO, public static ExpertJobInfo buildExpertJobInfo(ExpertUserFullInfoDTO expertUserInfoDTO,
Map<String, List<DictionaryFieldInfo>> dictInfoMap) {
Map<String, List<DictFieldInfoDTO>> dictInfoMap) {
ExpertJobInfo jobInfo = new ExpertJobInfo(); ExpertJobInfo jobInfo = new ExpertJobInfo();
jobInfo.setJobStatus(dictInfoMap.get(ExpertDictTypeEnum.JOB_STATUS.getKey())); jobInfo.setJobStatus(dictInfoMap.get(ExpertDictTypeEnum.JOB_STATUS.getKey()));
jobInfo.setCompany(expertUserInfoDTO.getCompany()); jobInfo.setCompany(expertUserInfoDTO.getCompany());
@@ -166,7 +166,7 @@ public class ExpertUserInfoAssembler {
} }


public static ExpertEduInfo buildExpertEduInfo(ExpertUserFullInfoDTO expertFullInfo, public static ExpertEduInfo buildExpertEduInfo(ExpertUserFullInfoDTO expertFullInfo,
Map<String, List<DictionaryFieldInfo>> dictInfoMap) {
Map<String, List<DictFieldInfoDTO>> dictInfoMap) {
// 学历信息 // 学历信息
ExpertEduInfo eduInfo = new ExpertEduInfo(); ExpertEduInfo eduInfo = new ExpertEduInfo();
eduInfo.setSchool(expertFullInfo.getSchoolMajor()); eduInfo.setSchool(expertFullInfo.getSchoolMajor());
@@ -194,7 +194,7 @@ public class ExpertUserInfoAssembler {
} }


public ExpertBasicInfo convert(ExpertUserFullInfoDTO expertUserInfoDTO public ExpertBasicInfo convert(ExpertUserFullInfoDTO expertUserInfoDTO
, Map<String, List<DictionaryFieldInfo>> dictionaryFieldInfoMap
, Map<String, List<DictFieldInfoDTO>> dictionaryFieldInfoMap
, Map<String, List<TagFieldInfo>> tagFieldInfoMap , Map<String, List<TagFieldInfo>> tagFieldInfoMap
, List<ExpertRegionDTO> expertIntentionWorkRegionInfo) { , List<ExpertRegionDTO> expertIntentionWorkRegionInfo) {
//专家层级 //专家层级
@@ -369,53 +369,27 @@ public class ExpertUserInfoAssembler {
return expert; return expert;
} }


public static ExpertAdminExpertManageListDTO convert(ExpertUserFullInfo expertUserFullInfo,
Map<Long, List<ExpertDictionary>> expertDictMap,
Map<Long, List<ExpertTag>> expertTagMap) {
Long userId = expertUserFullInfo.getUserId();
ExpertAdminExpertManageListDTO adminManageExpertListItem = new ExpertAdminExpertManageListDTO();
adminManageExpertListItem.setUserId(expertUserFullInfo.getUserId());
adminManageExpertListItem.setExpertName(expertUserFullInfo.getExpertName());
adminManageExpertListItem.setPhoneNo(expertUserFullInfo.getPhoneNo());
adminManageExpertListItem.setIsDingUser(expertUserFullInfo.getIsDingUser());
adminManageExpertListItem.setCompany(expertUserFullInfo.getCompany());
public static ExpertAdminExpertListDTO convert(ExpertUserFullInfo eui,
Map<Long, List<ExpertDictionary>> expertDictMap) {
ExpertAdminExpertListDTO item = new ExpertAdminExpertListDTO();
item.setUserId(eui.getUserId());
item.setExpertName(eui.getExpertName());
item.setPhoneNo(eui.getPhoneNo());
item.setCompany(eui.getCompany());
Long userId = eui.getUserId();
// 装配字典数据 // 装配字典数据
List<ExpertDictionary> userExpertDictList = expertDictMap.getOrDefault(userId, Collections.emptyList());
Map<String, List<ExpertDictionary>> fieldExpertDictMap = userExpertDictList.stream().collect(Collectors.groupingBy(ExpertDictionary::getExpertInfoField));
adminManageExpertListItem.setExpertType(
DictAssembler.toDictFieldInfoList(fieldExpertDictMap.get(ExpertDictTypeEnum.EXPERT_TYPE.getKey())));
adminManageExpertListItem.setCompanyAttribute(
DictAssembler.toDictFieldInfoList(fieldExpertDictMap.get(ExpertDictTypeEnum.COMPANY_ATTRIBUTE.getKey())));
adminManageExpertListItem.setTitleLevel(
DictAssembler.toDictFieldInfoList(fieldExpertDictMap.get(ExpertDictTypeEnum.TITLE_LEVEL.getKey())));
// 装配标签数据
List<ExpertTag> expertTagList = Objects.isNull(expertTagMap.get(userId)) ? new ArrayList<>() : expertTagMap.get(userId);
Map<String, List<ExpertTag>> fieldExpertTagMap = expertTagList.stream().collect(Collectors.groupingBy(ExpertTag::getExpertInfoField));
adminManageExpertListItem.setExpertSource(TagAssembler.toTagFieldInfoList(fieldExpertTagMap.get(ExpertTagEnum.EXPERT_SOURCE.getKey())));

if (StrUtil.isNotBlank(expertUserFullInfo.getRegionCode()) && Objects.nonNull(expertUserFullInfo.getRegionLevel())) {
ExpertRegionInfo expertRegionInfo = new ExpertRegionInfo();
expertRegionInfo.setRegionLevel(expertUserFullInfo.getRegionLevel());
expertRegionInfo.setRegionCode(expertUserFullInfo.getRegionCode());
adminManageExpertListItem.setExpertRegionInfo(expertRegionInfo);
List<ExpertDictionary> currUserDicts = expertDictMap.get(userId);
if (CollUtil.isNotEmpty(currUserDicts)) {
Map<String, List<ExpertDictionary>> currDictMap = CollUtils.group(currUserDicts, ExpertDictionary::getExpertInfoField);
item.setExpertType(DictAssembler.convert(currDictMap.get(ExpertDictTypeEnum.EXPERT_TYPE.getKey())));
item.setExpertSpecialty(DictAssembler.convert(currDictMap.get(ExpertDictTypeEnum.EXPERT_SPECIALTY.getKey())));
item.setExpertSource(DictAssembler.convert(currDictMap.get(ExpertDictTypeEnum.EXPERT_SOURCE.getKey())));
} }

// 以下数据为专家excel导出使用 // 以下数据为专家excel导出使用
adminManageExpertListItem.setGender(expertUserFullInfo.getGender());
adminManageExpertListItem.setBirthday(expertUserFullInfo.getBirthday());
adminManageExpertListItem.setHometown(expertUserFullInfo.getHometown());
adminManageExpertListItem.setNationality(expertUserFullInfo.getNationality());
adminManageExpertListItem.setPolitical(
DictAssembler.toDictFieldInfoList(fieldExpertDictMap.get(ExpertDictTypeEnum.POLITICAL.getKey())));
adminManageExpertListItem.setIdCard(expertUserFullInfo.getIdCard());
adminManageExpertListItem.setBankNo(expertUserFullInfo.getBankNo());
adminManageExpertListItem.setEdu(
DictAssembler.toDictFieldInfoList(fieldExpertDictMap.get(ExpertDictTypeEnum.EDU.getKey())));
adminManageExpertListItem.setRecommendedWay(
DictAssembler.toDictFieldInfoList(fieldExpertDictMap.get(ExpertDictTypeEnum.RECOMMENDED_WAY.getKey())));

adminManageExpertListItem.setCreateTime(expertUserFullInfo.getCreateOn());
return adminManageExpertListItem;
item.setGender(eui.getGender());
item.setInPutTime(eui.getInPutTime());
item.setCreateTime(eui.getCreateOn());
return item;
} }






+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/constant/ExpertUserInfoSensitiveFieldEnum.java View File

@@ -1,7 +1,7 @@
package com.hz.pm.api.expert.constant; package com.hz.pm.api.expert.constant;




import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.expert.model.TagFieldInfo; import com.hz.pm.api.expert.model.TagFieldInfo;
import com.hz.pm.api.meta.model.ExpertRegionInfo; import com.hz.pm.api.meta.model.ExpertRegionInfo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -33,9 +33,9 @@ public enum ExpertUserInfoSensitiveFieldEnum {
company_uniq_code("company_uniq_code", "工作单位编码", String.class, UnitType.single), company_uniq_code("company_uniq_code", "工作单位编码", String.class, UnitType.single),
legal_entity_code("legal_entity_code", "单位法人编号", String.class, UnitType.single), legal_entity_code("legal_entity_code", "单位法人编号", String.class, UnitType.single),
// 行政职级 // 行政职级
administrative_rank("administrative_rank", "行政职级", DictionaryFieldInfo.class, UnitType.list),
administrative_rank("administrative_rank", "行政职级", DictFieldInfoDTO.class, UnitType.list),
// 职称级别 // 职称级别
title_level("title_level", "职称级别", DictionaryFieldInfo.class, UnitType.list),
title_level("title_level", "职称级别", DictFieldInfoDTO.class, UnitType.list),
// 擅长方向 // 擅长方向
good_at("good_at", "擅长方向", TagFieldInfo.class, UnitType.list), good_at("good_at", "擅长方向", TagFieldInfo.class, UnitType.list),
// 技术专长 // 技术专长


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/helper/ExpertInfoSensitiveFieldModifyCheckHelper.java View File

@@ -52,7 +52,7 @@ public class ExpertInfoSensitiveFieldModifyCheckHelper {


ExpertUserFullInfoDTO expertUserInfoDTO = expertUserFullInfoAll.getExpertUserInfoDTO(); ExpertUserFullInfoDTO expertUserInfoDTO = expertUserFullInfoAll.getExpertUserInfoDTO();
// 字典字典段map // 字典字典段map
Map<String, List<DictionaryFieldInfo>> dictionaryFieldInfoMap =
Map<String, List<DictFieldInfoDTO>> dictionaryFieldInfoMap =
expertUserInfoAssembler.buildDictInfoMap(expertUserFullInfoAll.getExpertDictionaryList()); expertUserInfoAssembler.buildDictInfoMap(expertUserFullInfoAll.getExpertDictionaryList());
// 专家文件资料map // 专家文件资料map
Map<Long, FileBasicInfo> fileBasicInfoMap = ExpertUserInfoAssembler.buildFileBasicInfoMap(attachFiles); Map<Long, FileBasicInfo> fileBasicInfoMap = ExpertUserInfoAssembler.buildFileBasicInfoMap(attachFiles);
@@ -148,7 +148,7 @@ public class ExpertInfoSensitiveFieldModifyCheckHelper {
} }




private List<DictionaryFieldInfo> assemblerDictionaryFieldInfoList(List<DictionaryFieldInfo> dictionaryFieldInfoList, String fieldName) {
private List<DictFieldInfoDTO> assemblerDictionaryFieldInfoList(List<DictFieldInfoDTO> dictionaryFieldInfoList, String fieldName) {
if (CollUtil.isNotEmpty(dictionaryFieldInfoList)) { if (CollUtil.isNotEmpty(dictionaryFieldInfoList)) {
dictionaryFieldInfoList.forEach(r -> r.setDictionaryFieldName(fieldName)); dictionaryFieldInfoList.forEach(r -> r.setDictionaryFieldName(fieldName));
} }


+ 8
- 8
hz-pm-api/src/main/java/com/hz/pm/api/expert/helper/ExpertManageHelper.java View File

@@ -64,14 +64,14 @@ public class ExpertManageHelper {
* @param jobInfo \ * @param jobInfo \
*/ */
public void dictionaryFieldCheck(ExpertBasicInfo basicInfo, ExpertEduInfo eduInfo, ExpertJobInfo jobInfo) { public void dictionaryFieldCheck(ExpertBasicInfo basicInfo, ExpertEduInfo eduInfo, ExpertJobInfo jobInfo) {
List<DictionaryFieldInfo> political = basicInfo.getPolitical();
List<DictionaryFieldInfo> edu = eduInfo.getEdu();
List<DictionaryFieldInfo> degree = eduInfo.getDegree();
List<DictionaryFieldInfo> jobStatus = jobInfo.getJobStatus();
List<DictionaryFieldInfo> companyAttribute = jobInfo.getCompanyAttribute();
List<DictionaryFieldInfo> administrativeRank = jobInfo.getAdministrativeRank();
List<DictFieldInfoDTO> political = basicInfo.getPolitical();
List<DictFieldInfoDTO> edu = eduInfo.getEdu();
List<DictFieldInfoDTO> degree = eduInfo.getDegree();
List<DictFieldInfoDTO> jobStatus = jobInfo.getJobStatus();
List<DictFieldInfoDTO> companyAttribute = jobInfo.getCompanyAttribute();
List<DictFieldInfoDTO> administrativeRank = jobInfo.getAdministrativeRank();


List<DictionaryFieldInfo> dictFieldList = new ArrayList<>();
List<DictFieldInfoDTO> dictFieldList = new ArrayList<>();
dictFieldList.addAll(political); dictFieldList.addAll(political);
dictFieldList.addAll(edu); dictFieldList.addAll(edu);
dictFieldList.addAll(degree); dictFieldList.addAll(degree);
@@ -79,7 +79,7 @@ public class ExpertManageHelper {
dictFieldList.addAll(companyAttribute); dictFieldList.addAll(companyAttribute);
dictFieldList.addAll(administrativeRank); dictFieldList.addAll(administrativeRank);


for (DictionaryFieldInfo dictField : dictFieldList) {
for (DictFieldInfoDTO dictField : dictFieldList) {
String dictCode = dictField.getDictionaryCode(); String dictCode = dictField.getDictionaryCode();
Optional<DictionaryDTO> dict = dictionaryCache.getByCode(dictCode); Optional<DictionaryDTO> dict = dictionaryCache.getByCode(dictCode);
if (!dict.isPresent()) { if (!dict.isPresent()) {


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/manage/ExpertAdminManage.java View File

@@ -23,7 +23,7 @@ import com.hz.pm.api.expert.model.*;
import com.hz.pm.api.expert.model.bo.ExpertInfoSensitiveFieldCheckBO; import com.hz.pm.api.expert.model.bo.ExpertInfoSensitiveFieldCheckBO;
import com.hz.pm.api.expert.model.cmd.ExpertAdminExpertManageQueryCmd; import com.hz.pm.api.expert.model.cmd.ExpertAdminExpertManageQueryCmd;
import com.hz.pm.api.expert.model.cmd.ExpertInfoModifyCmd; import com.hz.pm.api.expert.model.cmd.ExpertInfoModifyCmd;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertManageListDTO;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertListDTO;
import com.hz.pm.api.expert.model.query.ExpertDictionaryQuery; import com.hz.pm.api.expert.model.query.ExpertDictionaryQuery;
import com.hz.pm.api.expert.model.query.ExpertTagQuery; import com.hz.pm.api.expert.model.query.ExpertTagQuery;
import com.hz.pm.api.expert.model.req.AdminExpertBasicInfoModifyRequest; import com.hz.pm.api.expert.model.req.AdminExpertBasicInfoModifyRequest;
@@ -83,11 +83,11 @@ public class ExpertAdminManage {
if (queryCmd.isHasNonData()) { if (queryCmd.isHasNonData()) {
return PageVo.empty(); return PageVo.empty();
} }
CommonPage<ExpertAdminExpertManageListDTO> pageResult = expertAdminManageService.getExpertLibraryList(queryCmd);
CommonPage<ExpertAdminExpertListDTO> pageResult = expertAdminManageService.getExpertLibraryList(queryCmd);


PageVo<ExpertLibraryListItemVO> pageVo = new PageVo<>(); PageVo<ExpertLibraryListItemVO> pageVo = new PageVo<>();
pageVo.setTotal(pageResult.getItemsTotal()); pageVo.setTotal(pageResult.getItemsTotal());
pageVo.setRecords(expertAdminExpertManageAssembler.toExpertAdminExpertManageListVOList(pageResult.getItems()));
pageVo.setRecords(expertAdminExpertManageAssembler.toViews(pageResult.getItems()));
return pageVo; return pageVo;
} }




+ 5
- 5
hz-pm-api/src/main/java/com/hz/pm/api/expert/manage/ExpertMetaApplyManage.java View File

@@ -16,7 +16,7 @@ import com.hz.pm.api.expert.constant.ExpertApplyTypeEnum;
import com.hz.pm.api.expert.constant.ExpertApplyTypeQueryEnum; import com.hz.pm.api.expert.constant.ExpertApplyTypeQueryEnum;
import com.hz.pm.api.expert.entity.ExpertMetaApply; import com.hz.pm.api.expert.entity.ExpertMetaApply;
import com.hz.pm.api.expert.entity.ExpertUserFullInfo; import com.hz.pm.api.expert.entity.ExpertUserFullInfo;
import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.expert.model.TagFieldInfo; import com.hz.pm.api.expert.model.TagFieldInfo;
import com.hz.pm.api.expert.model.cmd.*; import com.hz.pm.api.expert.model.cmd.*;
import com.hz.pm.api.expert.model.dto.ExpertDictionaryDTO; import com.hz.pm.api.expert.model.dto.ExpertDictionaryDTO;
@@ -74,7 +74,7 @@ public class ExpertMetaApplyManage {
public PageVo<ExpertApplyMetaVO> metaApplyListQuery(MetaApplyListQuery req) { public PageVo<ExpertApplyMetaVO> metaApplyListQuery(MetaApplyListQuery req) {
// 筛选符合专家类型的用户id // 筛选符合专家类型的用户id
List<Long> filterExpertTypeUserIdList = null; List<Long> filterExpertTypeUserIdList = null;
DictionaryFieldInfo expertType = req.getExpertType();
DictFieldInfoDTO expertType = req.getExpertType();
if (Objects.nonNull(expertType) && StringUtils.isNotBlank(expertType.getDictionaryCode())) { if (Objects.nonNull(expertType) && StringUtils.isNotBlank(expertType.getDictionaryCode())) {
List<ExpertDictionary> expertTypeDictionaryList = iExpertDictionaryService.list(Wrappers.lambdaQuery(ExpertDictionary.class) List<ExpertDictionary> expertTypeDictionaryList = iExpertDictionaryService.list(Wrappers.lambdaQuery(ExpertDictionary.class)
.eq(ExpertDictionary::getDictionaryCode, expertType.getDictionaryCode())); .eq(ExpertDictionary::getDictionaryCode, expertType.getDictionaryCode()));
@@ -397,7 +397,7 @@ public class ExpertMetaApplyManage {
if (CollectionUtils.isNotEmpty(titleLevelDictionaryList)) { if (CollectionUtils.isNotEmpty(titleLevelDictionaryList)) {
expertApplyMetaVO.setTitleLevel(titleLevelDictionaryList.stream().map(r -> { expertApplyMetaVO.setTitleLevel(titleLevelDictionaryList.stream().map(r -> {
Optional<DictionaryDTO> dictionaryDTO = dictionaryCache.getByCode(r.getDictionaryCode()); Optional<DictionaryDTO> dictionaryDTO = dictionaryCache.getByCode(r.getDictionaryCode());
DictionaryFieldInfo dictionaryFieldInfo = new DictionaryFieldInfo();
DictFieldInfoDTO dictionaryFieldInfo = new DictFieldInfoDTO();
dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode()); dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode());
dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField()); dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField());
dictionaryDTO.ifPresent(dictDTO -> dictionaryFieldInfo.setDictionaryName(dictDTO.getName())); dictionaryDTO.ifPresent(dictDTO -> dictionaryFieldInfo.setDictionaryName(dictDTO.getName()));
@@ -410,7 +410,7 @@ public class ExpertMetaApplyManage {
if (CollectionUtils.isNotEmpty(titleLevelDictionaryList)) { if (CollectionUtils.isNotEmpty(titleLevelDictionaryList)) {
expertApplyMetaVO.setExpertType(expertTypeDictionaryList.stream().map(r -> { expertApplyMetaVO.setExpertType(expertTypeDictionaryList.stream().map(r -> {
Optional<DictionaryDTO> dictionaryDTO = dictionaryCache.getByCode(r.getDictionaryCode()); Optional<DictionaryDTO> dictionaryDTO = dictionaryCache.getByCode(r.getDictionaryCode());
DictionaryFieldInfo dictionaryFieldInfo = new DictionaryFieldInfo();
DictFieldInfoDTO dictionaryFieldInfo = new DictFieldInfoDTO();
dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode()); dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode());
dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField()); dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField());
dictionaryDTO.ifPresent(dictDTO -> dictionaryFieldInfo.setDictionaryName(dictDTO.getName())); dictionaryDTO.ifPresent(dictDTO -> dictionaryFieldInfo.setDictionaryName(dictDTO.getName()));
@@ -468,7 +468,7 @@ public class ExpertMetaApplyManage {
expertStorageDealCmd.setApplyResult(applyResult); expertStorageDealCmd.setApplyResult(applyResult);


if (Objects.nonNull(extraInfo)) { if (Objects.nonNull(extraInfo)) {
List<DictionaryFieldInfo> expertType = extraInfo.getExpertType();
List<DictFieldInfoDTO> expertType = extraInfo.getExpertType();
if (CollUtil.isNotEmpty(expertType)) { if (CollUtil.isNotEmpty(expertType)) {
expertStorageDealCmd.setExpertType(extraInfo.getExpertType().stream().map(r -> { expertStorageDealCmd.setExpertType(extraInfo.getExpertType().stream().map(r -> {
ExpertDictionaryDTO expertDictionaryDTO = new ExpertDictionaryDTO(); ExpertDictionaryDTO expertDictionaryDTO = new ExpertDictionaryDTO();


hz-pm-api/src/main/java/com/hz/pm/api/expert/model/DictionaryFieldInfo.java → hz-pm-api/src/main/java/com/hz/pm/api/expert/model/DictFieldInfoDTO.java View File

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotBlank;
*/ */
@Data @Data
@ApiModel("字典字段信息") @ApiModel("字典字段信息")
public class DictionaryFieldInfo {
public class DictFieldInfoDTO {


/** /**
* 字段名称 * 字段名称
@@ -29,6 +29,6 @@ public class DictionaryFieldInfo {
private String dictionaryCode; private String dictionaryCode;




@ApiModelProperty(value = "字典code含义", required = false)
@ApiModelProperty(value = "字典code含义")
private String dictionaryName; private String dictionaryName;
} }

+ 2
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertBasicInfo.java View File

@@ -10,7 +10,6 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;


/** /**
@@ -62,7 +61,7 @@ public class ExpertBasicInfo {
*/ */
@NotNull @NotNull
@ApiModelProperty(value = "政治面貌(字典code)") @ApiModelProperty(value = "政治面貌(字典code)")
private List<DictionaryFieldInfo> political;
private List<DictFieldInfoDTO> political;


/** /**
* 身份证号码 * 身份证号码
@@ -131,7 +130,7 @@ public class ExpertBasicInfo {
* 专家类型(内外围) * 专家类型(内外围)
*/ */
@ApiModelProperty(value = "专家类型(内外围)") @ApiModelProperty(value = "专家类型(内外围)")
private List<DictionaryFieldInfo> expertType;
private List<DictFieldInfoDTO> expertType;


/** /**
* 籍贯 * 籍贯


+ 2
- 4
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertEduInfo.java View File

@@ -1,6 +1,5 @@
package com.hz.pm.api.expert.model; package com.hz.pm.api.expert.model;


import com.hz.pm.api.common.model.FileBasicInfo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -8,7 +7,6 @@ import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;


/** /**
@@ -45,7 +43,7 @@ public class ExpertEduInfo {
*/ */
@NotNull @NotNull
@ApiModelProperty("学历(字典code)") @ApiModelProperty("学历(字典code)")
private List<DictionaryFieldInfo> edu;
private List<DictFieldInfoDTO> edu;


/** /**
* 毕业证附件信息 * 毕业证附件信息
@@ -58,7 +56,7 @@ public class ExpertEduInfo {
*/ */
@NotNull @NotNull
@ApiModelProperty("学位(字典code)") @ApiModelProperty("学位(字典code)")
private List<DictionaryFieldInfo> degree;
private List<DictFieldInfoDTO> degree;


/** /**
* 学位证附件信息 * 学位证附件信息


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertJobInfo.java View File

@@ -24,7 +24,7 @@ public class ExpertJobInfo {
*/ */
@NotNull @NotNull
@ApiModelProperty("在职状态(字典code)") @ApiModelProperty("在职状态(字典code)")
private List<DictionaryFieldInfo> jobStatus;
private List<DictFieldInfoDTO> jobStatus;


/** /**
* 退休时间 * 退休时间
@@ -68,14 +68,14 @@ public class ExpertJobInfo {
*/ */
@NotNull @NotNull
@ApiModelProperty("行政职级(字典code)") @ApiModelProperty("行政职级(字典code)")
private List<DictionaryFieldInfo> administrativeRank;
private List<DictFieldInfoDTO> administrativeRank;


/** /**
* 单位类型(字典code) * 单位类型(字典code)
*/ */
@NotNull @NotNull
@ApiModelProperty("单位类型(字典code)") @ApiModelProperty("单位类型(字典code)")
private List<DictionaryFieldInfo> companyAttribute;
private List<DictFieldInfoDTO> companyAttribute;


/** /**
* 工作地址 * 工作地址


+ 1
- 1
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertProfessionalInfo.java View File

@@ -23,7 +23,7 @@ public class ExpertProfessionalInfo {


@NotNull @NotNull
@ApiModelProperty(value = "职称级别") @ApiModelProperty(value = "职称级别")
private List<DictionaryFieldInfo> titleLevel;
private List<DictFieldInfoDTO> titleLevel;


@ApiModelProperty(value = "职称证明") @ApiModelProperty(value = "职称证明")
private List<FileBasicInfo> titleCertificateFile; private List<FileBasicInfo> titleCertificateFile;


+ 1
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertRecommendInfo.java View File

@@ -1,6 +1,5 @@
package com.hz.pm.api.expert.model; package com.hz.pm.api.expert.model;


import com.hz.pm.api.common.model.FileBasicInfo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -19,7 +18,7 @@ public class ExpertRecommendInfo {
* 推荐方式 * 推荐方式
*/ */
@ApiModelProperty("推荐方式") @ApiModelProperty("推荐方式")
private List<DictionaryFieldInfo> recommendedWay;
private List<DictFieldInfoDTO> recommendedWay;


@ApiModelProperty("推荐证明材料") @ApiModelProperty("推荐证明材料")
private String recommendFile; private String recommendFile;


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/SensitiveModifySegment.java View File

@@ -55,8 +55,8 @@ public class SensitiveModifySegment {
} }
case administrative_rank: case administrative_rank:
case title_level: { case title_level: {
return DictUtils.isValueEquals((List<DictionaryFieldInfo>) this.original
, (List<DictionaryFieldInfo>) this.apply);
return DictUtils.isValueEquals((List<DictFieldInfoDTO>) this.original
, (List<DictFieldInfoDTO>) this.apply);
} }
case good_at: case good_at:
case technical_expertise: case technical_expertise:


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/cmd/MetaApplyListQuery.java View File

@@ -3,7 +3,7 @@ package com.hz.pm.api.expert.model.cmd;
import com.ningdatech.basic.model.PagePo; import com.ningdatech.basic.model.PagePo;
import com.hz.pm.api.expert.constant.ExpertApplyStatusEnum; import com.hz.pm.api.expert.constant.ExpertApplyStatusEnum;
import com.hz.pm.api.expert.constant.ExpertApplyTypeQueryEnum; import com.hz.pm.api.expert.constant.ExpertApplyTypeQueryEnum;
import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.meta.model.ExpertRegionInfo; import com.hz.pm.api.meta.model.ExpertRegionInfo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@@ -45,6 +45,6 @@ public class MetaApplyListQuery extends PagePo {
private LocalDateTime applyEndTime; private LocalDateTime applyEndTime;


@ApiModelProperty("专家类型") @ApiModelProperty("专家类型")
private DictionaryFieldInfo expertType;
private DictFieldInfoDTO expertType;


} }

+ 76
- 0
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/dto/ExpertAdminExpertListDTO.java View File

@@ -0,0 +1,76 @@
package com.hz.pm.api.expert.model.dto;


import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
* @author liuxinxin
* @date 2022/8/4 上午11:36
*/
@Data
public class ExpertAdminExpertListDTO {

/**
* 用户id
*/
private Long userId;

/**
* 专家姓名
*/
private String expertName;

/**
* 工作单位
*/
private String company;

/**
* 专家联系方式
*/
private String phoneNo;

/**
* 性别
*/
private String gender;

/**
* 专家类型(内外围)
*/
private List<DictFieldInfoDTO> expertType;

/**
* 账号状态
*/
private String expertAccountStatus;

/**
* 专家来源
*/
private List<DictFieldInfoDTO> expertSource;

/**
* 所属专家库
*/
private List<DictFieldInfoDTO> expertLibrary;

/**
* 专业特长
*/
private List<DictFieldInfoDTO> expertSpecialty;

/**
* 入库时间
*/
private LocalDateTime inPutTime;

/**
* 创建时间
*/
private LocalDateTime createTime;
}

+ 0
- 139
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/dto/ExpertAdminExpertManageListDTO.java View File

@@ -1,139 +0,0 @@
package com.hz.pm.api.expert.model.dto;


import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.TagFieldInfo;
import com.hz.pm.api.meta.model.ExpertRegionInfo;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
* @author liuxinxin
* @date 2022/8/4 上午11:36
*/
@Data
public class ExpertAdminExpertManageListDTO {

/**
* 用户id
*/
private Long userId;

/**
* 专家姓名
*/
private String expertName;

/**
* 工作单位
*/
private String company;

/**
* 单位属性(字典code)
*/
private List<DictionaryFieldInfo> companyAttribute;

/**
* 专家联系方式
*/
private String phoneNo;

/**
* 性别
*/
private String gender;

/**
* 出生日期
*/
private LocalDate birthday;

/**
* 籍贯
*/
private String hometown;

/**
* 民族
*/
private String nationality;

/**
* 政治面貌(字典code)
*/
private List<DictionaryFieldInfo> political;

/**
* 身份证号码
*/
private String idCard;

/**
* 专家层级
*/
private ExpertRegionInfo expertRegionInfo;

/**
* 银行卡号
*/
private String bankNo;

/**
* 开户银行
*/
private String bank;

/**
* 学历(字典code)
*/
private List<DictionaryFieldInfo> edu;

/**
* 学位(字典code)
*/
private List<DictionaryFieldInfo> degree;

/**
* 职称级别
*/
private List<DictionaryFieldInfo> titleLevel;

/**
* 推荐方式
*/
private List<DictionaryFieldInfo> recommendedWay;

/**
* 单位法人编号
*/
private String legalEntityCode;

/**
* 专家类型(内外围)
*/
private List<DictionaryFieldInfo> expertType;

/**
* 是否浙政钉用户
*/
private String isDingUser;

/**
* 账号状态
*/
private String expertAccountStatus;

/**
* 专家来源
*/
private List<TagFieldInfo> expertSource;

/**
* 创建时间
*/
private LocalDateTime createTime;
}

+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/req/MetaApplyResultRequest.java View File

@@ -1,6 +1,6 @@
package com.hz.pm.api.expert.model.req; package com.hz.pm.api.expert.model.req;


import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.expert.model.TagFieldInfo; import com.hz.pm.api.expert.model.TagFieldInfo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@@ -38,7 +38,7 @@ public class MetaApplyResultRequest {
@ApiModel("入库审核额外参数") @ApiModel("入库审核额外参数")
public static class StorageApplyResultExtraInfo { public static class StorageApplyResultExtraInfo {
@ApiModelProperty("专家类型-内外围") @ApiModelProperty("专家类型-内外围")
private List<DictionaryFieldInfo> expertType;
private List<DictFieldInfoDTO> expertType;


@ApiModelProperty("其他标签(标签code)") @ApiModelProperty("其他标签(标签code)")
private List<TagFieldInfo> other; private List<TagFieldInfo> other;


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/vo/ExpertApplyMetaVO.java View File

@@ -1,6 +1,6 @@
package com.hz.pm.api.expert.model.vo; package com.hz.pm.api.expert.model.vo;


import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.meta.model.ExpertRegionInfo; import com.hz.pm.api.meta.model.ExpertRegionInfo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@@ -52,7 +52,7 @@ public class ExpertApplyMetaVO {
* 职称级别 * 职称级别
*/ */
@ApiModelProperty("职称级别") @ApiModelProperty("职称级别")
private List<DictionaryFieldInfo> titleLevel;
private List<DictFieldInfoDTO> titleLevel;


/** /**
* 工作单位 * 工作单位
@@ -73,7 +73,7 @@ public class ExpertApplyMetaVO {
private LocalDateTime applyTime; private LocalDateTime applyTime;


@ApiModelProperty("专家类型") @ApiModelProperty("专家类型")
private List<DictionaryFieldInfo> expertType;
private List<DictFieldInfoDTO> expertType;




} }

+ 11
- 22
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/vo/ExpertLibraryListItemVO.java View File

@@ -1,9 +1,7 @@
package com.hz.pm.api.expert.model.vo; package com.hz.pm.api.expert.model.vo;




import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.TagFieldInfo;
import com.hz.pm.api.meta.model.ExpertRegionInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -25,35 +23,26 @@ public class ExpertLibraryListItemVO {
@ApiModelProperty(value = "专家姓名") @ApiModelProperty(value = "专家姓名")
private String expertName; private String expertName;


@ApiModelProperty(value = "职称级别")
private List<DictionaryFieldInfo> titleLevel;

@ApiModelProperty("工作单位") @ApiModelProperty("工作单位")
private String company; private String company;


@ApiModelProperty(" 单位法人编号")
private String legalEntityCode;

@ApiModelProperty("单位类型(字典code)")
private List<DictionaryFieldInfo> companyAttribute;

@ApiModelProperty(value = "手机号") @ApiModelProperty(value = "手机号")
private String phoneNo; private String phoneNo;


@ApiModelProperty(value = "专家类型(内外围)")
private List<DictionaryFieldInfo> expertType;
@ApiModelProperty(value = "所属专家库")
private List<DictFieldInfoDTO> expertLibrary;


@ApiModelProperty(value = "专家层级")
private ExpertRegionInfo expertRegionInfo;
@ApiModelProperty(value = "专家专业特长")
private List<DictFieldInfoDTO> expertSpecialty;


@ApiModelProperty(value = "是否浙政钉用户")
private String isDingUser;

@ApiModelProperty(value = "专家账号状态", allowableValues = "冻结:freezing,正常:normal")
private String expertAccountStatus;
@ApiModelProperty(value = "专家类型(内外围)")
private List<DictFieldInfoDTO> expertType;


@ApiModelProperty(value = "专家来源") @ApiModelProperty(value = "专家来源")
private List<TagFieldInfo> expertSource;
private List<DictFieldInfoDTO> expertSource;

@ApiModelProperty(value = "入库时间")
private LocalDateTime inPutTime;


@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/service/ExpertAdminManageService.java View File

@@ -3,7 +3,7 @@ package com.hz.pm.api.expert.service;


import com.hz.pm.api.common.model.CommonPage; import com.hz.pm.api.common.model.CommonPage;
import com.hz.pm.api.expert.model.cmd.ExpertAdminExpertManageQueryCmd; import com.hz.pm.api.expert.model.cmd.ExpertAdminExpertManageQueryCmd;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertManageListDTO;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertListDTO;


import java.util.List; import java.util.List;


@@ -19,7 +19,7 @@ public interface ExpertAdminManageService {
* @param expertAdminExpertManageQueryCmd * @param expertAdminExpertManageQueryCmd
* @return * @return
*/ */
CommonPage<ExpertAdminExpertManageListDTO> getExpertLibraryList(ExpertAdminExpertManageQueryCmd expertAdminExpertManageQueryCmd);
CommonPage<ExpertAdminExpertListDTO> getExpertLibraryList(ExpertAdminExpertManageQueryCmd expertAdminExpertManageQueryCmd);




/** /**


+ 5
- 19
hz-pm-api/src/main/java/com/hz/pm/api/expert/service/impl/ExpertAdminManageServiceImpl.java View File

@@ -9,10 +9,9 @@ import com.ningdatech.basic.util.CollUtils;
import com.hz.pm.api.common.model.CommonPage; import com.hz.pm.api.common.model.CommonPage;
import com.hz.pm.api.expert.assembler.ExpertUserInfoAssembler; import com.hz.pm.api.expert.assembler.ExpertUserInfoAssembler;
import com.hz.pm.api.expert.constant.ExpertAccountStatusEnum; import com.hz.pm.api.expert.constant.ExpertAccountStatusEnum;
import com.hz.pm.api.expert.constant.ExpertUserInfoStepEnum;
import com.hz.pm.api.expert.mapper.ExpertAdminManageMapper; import com.hz.pm.api.expert.mapper.ExpertAdminManageMapper;
import com.hz.pm.api.expert.model.cmd.ExpertAdminExpertManageQueryCmd; import com.hz.pm.api.expert.model.cmd.ExpertAdminExpertManageQueryCmd;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertManageListDTO;
import com.hz.pm.api.expert.model.dto.ExpertAdminExpertListDTO;
import com.hz.pm.api.expert.model.query.ExpertDictionaryQuery; import com.hz.pm.api.expert.model.query.ExpertDictionaryQuery;
import com.hz.pm.api.expert.model.query.ExpertTagQuery; import com.hz.pm.api.expert.model.query.ExpertTagQuery;
import com.hz.pm.api.expert.model.query.ListExpertQuery; import com.hz.pm.api.expert.model.query.ListExpertQuery;
@@ -26,7 +25,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -63,27 +61,15 @@ public class ExpertAdminManageServiceImpl implements ExpertAdminManageService {




@Override @Override
public CommonPage<ExpertAdminExpertManageListDTO> getExpertLibraryList(ExpertAdminExpertManageQueryCmd req) {
public CommonPage<ExpertAdminExpertListDTO> getExpertLibraryList(ExpertAdminExpertManageQueryCmd req) {
ListExpertQuery listExpertQuery = buildListExpertQuery(req); ListExpertQuery listExpertQuery = buildListExpertQuery(req);
List<Long> userIdList = listExpertUserId(listExpertQuery); List<Long> userIdList = listExpertUserId(listExpertQuery);


List<ExpertUserFullInfo> evidenceHasBeenSubmittedExpertInfoList = iExpertUserFullInfoService.list();
List<Long> evidenceHasBeenSubmittedExpertUserIdList = evidenceHasBeenSubmittedExpertInfoList
.stream().map(ExpertUserFullInfo::getUserId)
.distinct().collect(Collectors.toList());

Iterator<Long> iterator = userIdList.iterator();
while (iterator.hasNext()) {
if (!evidenceHasBeenSubmittedExpertUserIdList.contains(iterator.next())) {
userIdList.remove(iterator.next());
}
}

CommonPage<ExpertAdminExpertManageListDTO> commonPage = new CommonPage<>();
CommonPage<ExpertAdminExpertListDTO> commonPage = new CommonPage<>();
commonPage.setCurrentPageNumber(req.getPageNumber()); commonPage.setCurrentPageNumber(req.getPageNumber());
commonPage.setItemsTotal((long) userIdList.size()); commonPage.setItemsTotal((long) userIdList.size());


List<ExpertAdminExpertManageListDTO> recordList = new ArrayList<>();
List<ExpertAdminExpertListDTO> recordList = new ArrayList<>();


if (!userIdList.isEmpty()) { if (!userIdList.isEmpty()) {
List<Long> currPageUserIdList = CollUtil.page(req.getPageNumber() - 1, req.getPageSize(), userIdList); List<Long> currPageUserIdList = CollUtil.page(req.getPageNumber() - 1, req.getPageSize(), userIdList);
@@ -101,7 +87,7 @@ public class ExpertAdminManageServiceImpl implements ExpertAdminManageService {
List<ExpertTag> expertTagList = iExpertTagService.list(tagIn); List<ExpertTag> expertTagList = iExpertTagService.list(tagIn);
Map<Long, List<ExpertTag>> expertTagMap = CollUtils.group(expertTagList, ExpertTag::getUserId); Map<Long, List<ExpertTag>> expertTagMap = CollUtils.group(expertTagList, ExpertTag::getUserId);
for (ExpertUserFullInfo expertUserFullInfo : expertUserList) { for (ExpertUserFullInfo expertUserFullInfo : expertUserList) {
ExpertAdminExpertManageListDTO expertAdminExpertManageListDTO = ExpertUserInfoAssembler.convert(expertUserFullInfo, expertDictMap, expertTagMap);
ExpertAdminExpertListDTO expertAdminExpertManageListDTO = ExpertUserInfoAssembler.convert(expertUserFullInfo, expertDictMap);
recordList.add(expertAdminExpertManageListDTO); recordList.add(expertAdminExpertManageListDTO);
} }
} }


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/service/impl/ExpertInfoServiceImpl.java View File

@@ -16,7 +16,7 @@ import com.hz.pm.api.expert.constant.ExpertApplyStatusEnum;
import com.hz.pm.api.expert.constant.ExpertApplyTypeEnum; import com.hz.pm.api.expert.constant.ExpertApplyTypeEnum;
import com.hz.pm.api.expert.constant.ExpertUserInfoSensitiveFieldEnum; import com.hz.pm.api.expert.constant.ExpertUserInfoSensitiveFieldEnum;
import com.hz.pm.api.expert.entity.*; import com.hz.pm.api.expert.entity.*;
import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.expert.model.SensitiveModifySegment; import com.hz.pm.api.expert.model.SensitiveModifySegment;
import com.hz.pm.api.expert.model.TagFieldInfo; import com.hz.pm.api.expert.model.TagFieldInfo;
import com.hz.pm.api.expert.model.bo.ExpertInfoSensitiveFieldCheckBO; import com.hz.pm.api.expert.model.bo.ExpertInfoSensitiveFieldCheckBO;
@@ -735,7 +735,7 @@ public class ExpertInfoServiceImpl implements ExpertInfoService {
case title_level: { case title_level: {
SensitiveModifySegment segment = collectMap.get(sensitiveFieldEnum); SensitiveModifySegment segment = collectMap.get(sensitiveFieldEnum);
if (Objects.nonNull(segment)) { if (Objects.nonNull(segment)) {
List<DictionaryFieldInfo> dictionaryFieldInfoList = SensitiveModifySegmentUtils.getDictionaryFieldInfoListApply(segment);
List<DictFieldInfoDTO> dictionaryFieldInfoList = SensitiveModifySegmentUtils.getDictionaryFieldInfoListApply(segment);
updateExpertDictionaryList(expertUserId, dictionaryFieldInfoList, sensitiveFieldEnum.getKey()); updateExpertDictionaryList(expertUserId, dictionaryFieldInfoList, sensitiveFieldEnum.getKey());
} }
} }
@@ -820,7 +820,7 @@ public class ExpertInfoServiceImpl implements ExpertInfoService {
} }
} }


private void updateExpertDictionaryList(Long expertUserId, List<DictionaryFieldInfo> dictionaryFieldInfoList, String... dictionaryExpertInfoTypeArr) {
private void updateExpertDictionaryList(Long expertUserId, List<DictFieldInfoDTO> dictionaryFieldInfoList, String... dictionaryExpertInfoTypeArr) {
if (CollectionUtils.isNotEmpty(dictionaryFieldInfoList)) { if (CollectionUtils.isNotEmpty(dictionaryFieldInfoList)) {
// 删除专家字典字段 // 删除专家字典字段
LambdaQueryWrapper<ExpertDictionary> expertDictionaryRemove = Wrappers.lambdaQuery(ExpertDictionary.class) LambdaQueryWrapper<ExpertDictionary> expertDictionaryRemove = Wrappers.lambdaQuery(ExpertDictionary.class)


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/utils/SensitiveModifySegmentUtils.java View File

@@ -2,7 +2,7 @@ package com.hz.pm.api.expert.utils;




import com.ningdatech.basic.exception.BizException; import com.ningdatech.basic.exception.BizException;
import com.hz.pm.api.expert.model.DictionaryFieldInfo;
import com.hz.pm.api.expert.model.DictFieldInfoDTO;
import com.hz.pm.api.expert.model.SensitiveModifySegment; import com.hz.pm.api.expert.model.SensitiveModifySegment;
import com.hz.pm.api.expert.model.TagFieldInfo; import com.hz.pm.api.expert.model.TagFieldInfo;
import com.ningdatech.yxt.utils.JSONUtils; import com.ningdatech.yxt.utils.JSONUtils;
@@ -37,12 +37,12 @@ public class SensitiveModifySegmentUtils {


} }


public static List<DictionaryFieldInfo> getDictionaryFieldInfoListApply(SensitiveModifySegment segment) {
public static List<DictFieldInfoDTO> getDictionaryFieldInfoListApply(SensitiveModifySegment segment) {
switch (segment.getFieldName()) { switch (segment.getFieldName()) {
case administrative_rank: case administrative_rank:
case title_level: { case title_level: {
if (Objects.nonNull(segment.getApply())) { if (Objects.nonNull(segment.getApply())) {
return JSONUtils.parseArray(segment.getApply().toString(), DictionaryFieldInfo.class);
return JSONUtils.parseArray(segment.getApply().toString(), DictFieldInfoDTO.class);
} }
return new ArrayList<>(); return new ArrayList<>();
} }


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/meeting/controller/MeetingController.java View File

@@ -206,8 +206,8 @@ public class MeetingController {
@GetMapping("/{meetingId}/result/detail") @GetMapping("/{meetingId}/result/detail")
@ApiOperation("会议结果详情") @ApiOperation("会议结果详情")
@WebLog("会议结详情") @WebLog("会议结详情")
public void uploadMeetingResult(@PathVariable Long meetingId) {
meetingManage.meetingResultDetail(meetingId);
public MeetingResultUploadReq uploadMeetingResult(@PathVariable Long meetingId) {
return meetingManage.meetingResultDetail(meetingId);
} }


@PostMapping("/project/result/upload") @PostMapping("/project/result/upload")


Loading…
Cancel
Save