@@ -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()) | |||
@@ -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()); | |||
@@ -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; | |||
@@ -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; | |||
} | |||
} |
@@ -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 -> { | |||
@@ -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; | |||
} | |||
@@ -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), | |||
// 技术专长 | |||
@@ -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)); | |||
} | |||
@@ -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()) { | |||
@@ -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; | |||
} | |||
@@ -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(); | |||
@@ -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; | |||
} |
@@ -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; | |||
/** | |||
* 籍贯 | |||
@@ -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; | |||
/** | |||
* 学位证附件信息 | |||
@@ -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; | |||
/** | |||
* 工作地址 | |||
@@ -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,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; | |||
@@ -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: | |||
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
} |
@@ -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; | |||
@@ -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; | |||
} |
@@ -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; | |||
@@ -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); | |||
/** | |||
@@ -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); | |||
} | |||
} | |||
@@ -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) | |||
@@ -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<>(); | |||
} | |||
@@ -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") | |||