Kaynağa Gözat

专家列表修改

tags/24080901
WendyYang 1 yıl önce
ebeveyn
işleme
ddca2acd30
29 değiştirilmiş dosya ile 223 ekleme ve 404 silme
  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 Dosyayı Görüntüle

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

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.List;
@@ -15,7 +15,7 @@ public class 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)) {
return true;
}
@@ -27,8 +27,8 @@ public class DictUtils {
if (list1.size() != list2.size()) {
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++) {
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 Dosyayı Görüntüle

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


+ 5
- 5
hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/DictAssembler.java Dosyayı Görüntüle

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

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 java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

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

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


+ 26
- 89
hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertAdminExpertManageAssembler.java Dosyayı Görüntüle

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

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
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.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.meta.helper.DictionaryCache;
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.TagDTO;
import com.hz.pm.api.sys.model.dto.RegionDTO;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;

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

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

}

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());
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 Dosyayı Görüntüle

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

private static List<ExpertDictionaryDTO> buildExpertDictionaryList(ExpertBasicInfo basicInfo, ExpertEduInfo eduInfo
, 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)) {
recommendedWay = recommendInfo.getRecommendedWay();
}
List<DictionaryFieldInfo> dictionaryFieldInfoList = new ArrayList<>();
List<DictFieldInfoDTO> dictionaryFieldInfoList = new ArrayList<>();
assemblerDictionaryFieldName(dictionaryFieldInfoList, political, ExpertDictTypeEnum.POLITICAL);
assemblerDictionaryFieldName(dictionaryFieldInfoList, expertType, ExpertDictTypeEnum.EXPERT_TYPE);
assemblerDictionaryFieldName(dictionaryFieldInfoList, edu, ExpertDictTypeEnum.EDU);
@@ -152,7 +152,7 @@ public class ExpertInfoCmdAssembler {
}

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


+ 27
- 53
hz-pm-api/src/main/java/com/hz/pm/api/expert/assembler/ExpertUserInfoAssembler.java Dosyayı Görüntüle

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

import cn.hutool.core.bean.BeanUtil;
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.model.FileBasicInfo;
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.entity.ExpertDictionary;
import com.hz.pm.api.meta.model.entity.ExpertTag;
import com.ningdatech.basic.util.CollUtils;
import com.ningdatech.file.entity.vo.result.AttachFileVo;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
@@ -45,7 +45,7 @@ public class ExpertUserInfoAssembler {
public ExpertFullInfoVO buildExpertDetail(List<AttachFileVo> attachFiles, ExpertFullInfoAllDTO expertFullInfoAll) {
ExpertUserFullInfoDTO expertUserInfo = expertFullInfoAll.getExpertUserInfoDTO();
// 字典字典段map
Map<String, List<DictionaryFieldInfo>> dictMap = buildDictInfoMap(expertFullInfoAll.getExpertDictionaryList());
Map<String, List<DictFieldInfoDTO>> dictMap = buildDictInfoMap(expertFullInfoAll.getExpertDictionaryList());
// 专家文件资料map
Map<Long, FileBasicInfo> fileMap = buildFileBasicInfoMap(attachFiles);
// 专家标签字段map
@@ -118,19 +118,19 @@ public class ExpertUserInfoAssembler {
}).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 -> {
DictionaryFieldInfo dictionaryFieldInfo = new DictionaryFieldInfo();
DictFieldInfoDTO dictionaryFieldInfo = new DictFieldInfoDTO();
dictionaryFieldInfo.setDictionaryFieldName(r.getExpertInfoField());
dictionaryFieldInfo.setDictionaryCode(r.getDictionaryCode());
Optional<DictionaryDTO> dictionaryDTO = dictionaryCache.getByCode(r.getDictionaryCode());
dictionaryDTO.ifPresent(dictDTO -> dictionaryFieldInfo.setDictionaryName(dictDTO.getName()));
return dictionaryFieldInfo;
}).collect(Collectors.groupingBy(DictionaryFieldInfo::getDictionaryFieldName));
}).collect(Collectors.groupingBy(DictFieldInfoDTO::getDictionaryFieldName));
}

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

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

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

public ExpertBasicInfo convert(ExpertUserFullInfoDTO expertUserInfoDTO
, Map<String, List<DictionaryFieldInfo>> dictionaryFieldInfoMap
, Map<String, List<DictFieldInfoDTO>> dictionaryFieldInfoMap
, Map<String, List<TagFieldInfo>> tagFieldInfoMap
, List<ExpertRegionDTO> expertIntentionWorkRegionInfo) {
//专家层级
@@ -369,53 +369,27 @@ public class ExpertUserInfoAssembler {
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导出使用
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 Dosyayı Görüntüle

@@ -1,7 +1,7 @@
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.meta.model.ExpertRegionInfo;
import lombok.AllArgsConstructor;
@@ -33,9 +33,9 @@ public enum ExpertUserInfoSensitiveFieldEnum {
company_uniq_code("company_uniq_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),
// 技术专长


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/helper/ExpertInfoSensitiveFieldModifyCheckHelper.java Dosyayı Görüntüle

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

ExpertUserFullInfoDTO expertUserInfoDTO = expertUserFullInfoAll.getExpertUserInfoDTO();
// 字典字典段map
Map<String, List<DictionaryFieldInfo>> dictionaryFieldInfoMap =
Map<String, List<DictFieldInfoDTO>> dictionaryFieldInfoMap =
expertUserInfoAssembler.buildDictInfoMap(expertUserFullInfoAll.getExpertDictionaryList());
// 专家文件资料map
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)) {
dictionaryFieldInfoList.forEach(r -> r.setDictionaryFieldName(fieldName));
}


+ 8
- 8
hz-pm-api/src/main/java/com/hz/pm/api/expert/helper/ExpertManageHelper.java Dosyayı Görüntüle

@@ -64,14 +64,14 @@ public class ExpertManageHelper {
* @param 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(edu);
dictFieldList.addAll(degree);
@@ -79,7 +79,7 @@ public class ExpertManageHelper {
dictFieldList.addAll(companyAttribute);
dictFieldList.addAll(administrativeRank);

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


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/manage/ExpertAdminManage.java Dosyayı Görüntüle

@@ -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.cmd.ExpertAdminExpertManageQueryCmd;
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.ExpertTagQuery;
import com.hz.pm.api.expert.model.req.AdminExpertBasicInfoModifyRequest;
@@ -83,11 +83,11 @@ public class ExpertAdminManage {
if (queryCmd.isHasNonData()) {
return PageVo.empty();
}
CommonPage<ExpertAdminExpertManageListDTO> pageResult = expertAdminManageService.getExpertLibraryList(queryCmd);
CommonPage<ExpertAdminExpertListDTO> pageResult = expertAdminManageService.getExpertLibraryList(queryCmd);

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



+ 5
- 5
hz-pm-api/src/main/java/com/hz/pm/api/expert/manage/ExpertMetaApplyManage.java Dosyayı Görüntüle

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

if (Objects.nonNull(extraInfo)) {
List<DictionaryFieldInfo> expertType = extraInfo.getExpertType();
List<DictFieldInfoDTO> expertType = extraInfo.getExpertType();
if (CollUtil.isNotEmpty(expertType)) {
expertStorageDealCmd.setExpertType(extraInfo.getExpertType().stream().map(r -> {
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 Dosyayı Görüntüle

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

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


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

+ 2
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertBasicInfo.java Dosyayı Görüntüle

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

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

/**
* 身份证号码
@@ -131,7 +130,7 @@ public class ExpertBasicInfo {
* 专家类型(内外围)
*/
@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 Dosyayı Görüntüle

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

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

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

/**
* 毕业证附件信息
@@ -58,7 +56,7 @@ public class ExpertEduInfo {
*/
@NotNull
@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 Dosyayı Görüntüle

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

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

/**
* 单位类型(字典code)
*/
@NotNull
@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 Dosyayı Görüntüle

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

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

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


+ 1
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/ExpertRecommendInfo.java Dosyayı Görüntüle

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

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

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


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/SensitiveModifySegment.java Dosyayı Görüntüle

@@ -55,8 +55,8 @@ public class SensitiveModifySegment {
}
case administrative_rank:
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 technical_expertise:


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/cmd/MetaApplyListQuery.java Dosyayı Görüntüle

@@ -3,7 +3,7 @@ package com.hz.pm.api.expert.model.cmd;
import com.ningdatech.basic.model.PagePo;
import com.hz.pm.api.expert.constant.ExpertApplyStatusEnum;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -45,6 +45,6 @@ public class MetaApplyListQuery extends PagePo {
private LocalDateTime applyEndTime;

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

}

+ 76
- 0
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/dto/ExpertAdminExpertListDTO.java Dosyayı Görüntüle

@@ -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 Dosyayı Görüntüle

@@ -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 Dosyayı Görüntüle

@@ -1,6 +1,6 @@
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -38,7 +38,7 @@ public class MetaApplyResultRequest {
@ApiModel("入库审核额外参数")
public static class StorageApplyResultExtraInfo {
@ApiModelProperty("专家类型-内外围")
private List<DictionaryFieldInfo> expertType;
private List<DictFieldInfoDTO> expertType;

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


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/model/vo/ExpertApplyMetaVO.java Dosyayı Görüntüle

@@ -1,6 +1,6 @@
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -52,7 +52,7 @@ public class ExpertApplyMetaVO {
* 职称级别
*/
@ApiModelProperty("职称级别")
private List<DictionaryFieldInfo> titleLevel;
private List<DictFieldInfoDTO> titleLevel;

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

@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 Dosyayı Görüntüle

@@ -1,9 +1,7 @@
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.ApiModelProperty;
import lombok.Data;
@@ -25,35 +23,26 @@ public class ExpertLibraryListItemVO {
@ApiModelProperty(value = "专家姓名")
private String expertName;

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

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

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

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

@ApiModelProperty(value = "手机号")
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 = "专家来源")
private List<TagFieldInfo> expertSource;
private List<DictFieldInfoDTO> expertSource;

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

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


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/expert/service/ExpertAdminManageService.java Dosyayı Görüntüle

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

import com.hz.pm.api.common.model.CommonPage;
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;

@@ -19,7 +19,7 @@ public interface ExpertAdminManageService {
* @param expertAdminExpertManageQueryCmd
* @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 Dosyayı Görüntüle

@@ -9,10 +9,9 @@ import com.ningdatech.basic.util.CollUtils;
import com.hz.pm.api.common.model.CommonPage;
import com.hz.pm.api.expert.assembler.ExpertUserInfoAssembler;
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.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.ExpertTagQuery;
import com.hz.pm.api.expert.model.query.ListExpertQuery;
@@ -26,7 +25,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

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


@Override
public CommonPage<ExpertAdminExpertManageListDTO> getExpertLibraryList(ExpertAdminExpertManageQueryCmd req) {
public CommonPage<ExpertAdminExpertListDTO> getExpertLibraryList(ExpertAdminExpertManageQueryCmd req) {
ListExpertQuery listExpertQuery = buildListExpertQuery(req);
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.setItemsTotal((long) userIdList.size());

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

if (!userIdList.isEmpty()) {
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);
Map<Long, List<ExpertTag>> expertTagMap = CollUtils.group(expertTagList, ExpertTag::getUserId);
for (ExpertUserFullInfo expertUserFullInfo : expertUserList) {
ExpertAdminExpertManageListDTO expertAdminExpertManageListDTO = ExpertUserInfoAssembler.convert(expertUserFullInfo, expertDictMap, expertTagMap);
ExpertAdminExpertListDTO expertAdminExpertManageListDTO = ExpertUserInfoAssembler.convert(expertUserFullInfo, expertDictMap);
recordList.add(expertAdminExpertManageListDTO);
}
}


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/service/impl/ExpertInfoServiceImpl.java Dosyayı Görüntüle

@@ -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.ExpertUserInfoSensitiveFieldEnum;
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.TagFieldInfo;
import com.hz.pm.api.expert.model.bo.ExpertInfoSensitiveFieldCheckBO;
@@ -735,7 +735,7 @@ public class ExpertInfoServiceImpl implements ExpertInfoService {
case title_level: {
SensitiveModifySegment segment = collectMap.get(sensitiveFieldEnum);
if (Objects.nonNull(segment)) {
List<DictionaryFieldInfo> dictionaryFieldInfoList = SensitiveModifySegmentUtils.getDictionaryFieldInfoListApply(segment);
List<DictFieldInfoDTO> dictionaryFieldInfoList = SensitiveModifySegmentUtils.getDictionaryFieldInfoListApply(segment);
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)) {
// 删除专家字典字段
LambdaQueryWrapper<ExpertDictionary> expertDictionaryRemove = Wrappers.lambdaQuery(ExpertDictionary.class)


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/expert/utils/SensitiveModifySegmentUtils.java Dosyayı Görüntüle

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


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.TagFieldInfo;
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()) {
case administrative_rank:
case title_level: {
if (Objects.nonNull(segment.getApply())) {
return JSONUtils.parseArray(segment.getApply().toString(), DictionaryFieldInfo.class);
return JSONUtils.parseArray(segment.getApply().toString(), DictFieldInfoDTO.class);
}
return new ArrayList<>();
}


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/meeting/controller/MeetingController.java Dosyayı Görüntüle

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

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


Yükleniyor…
İptal
Kaydet