@@ -19,7 +19,7 @@ | |||||
<dependency> | <dependency> | ||||
<groupId>com.baomidou</groupId> | <groupId>com.baomidou</groupId> | ||||
<artifactId>mybatis-plus-generator</artifactId> | <artifactId>mybatis-plus-generator</artifactId> | ||||
<version>3.5.1</version> | |||||
<version>3.5.3.2</version> | |||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
<groupId>org.freemarker</groupId> | <groupId>org.freemarker</groupId> | ||||
@@ -128,11 +128,7 @@ | |||||
<dependency> | <dependency> | ||||
<groupId>org.springframework.boot</groupId> | <groupId>org.springframework.boot</groupId> | ||||
<artifactId>spring-boot-starter-test</artifactId> | <artifactId>spring-boot-starter-test</artifactId> | ||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.mapstruct</groupId> | |||||
<artifactId>mapstruct</artifactId> | |||||
<version>1.5.3.Final</version> | |||||
<scope>test</scope> | |||||
</dependency> | </dependency> | ||||
<!--引入jwt--> | <!--引入jwt--> | ||||
<dependency> | <dependency> | ||||
@@ -141,11 +137,6 @@ | |||||
<version>3.10.3</version> | <version>3.10.3</version> | ||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
<groupId>org.mapstruct</groupId> | |||||
<artifactId>mapstruct-processor</artifactId> | |||||
<version>1.5.3.Final</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.springframework.boot</groupId> | <groupId>org.springframework.boot</groupId> | ||||
<artifactId>spring-boot-configuration-processor</artifactId> | <artifactId>spring-boot-configuration-processor</artifactId> | ||||
</dependency> | </dependency> | ||||
@@ -254,6 +254,7 @@ public class ExpertInfoCmdAssembler { | |||||
expertInfoModifyCmd.setExpertIntentionWorkRegionInfo(expertIntentionWorkRegionInfo); | expertInfoModifyCmd.setExpertIntentionWorkRegionInfo(expertIntentionWorkRegionInfo); | ||||
expertInfoModifyCmd.setExpertAvoidCompanyList(expertAvoidCompanyList); | expertInfoModifyCmd.setExpertAvoidCompanyList(expertAvoidCompanyList); | ||||
expertInfoModifyCmd.setExpertInfoSensitiveFieldCheckBO(expertInfoSensitiveFieldCheckBO); | expertInfoModifyCmd.setExpertInfoSensitiveFieldCheckBO(expertInfoSensitiveFieldCheckBO); | ||||
expertInfoModifyCmd.setBusinessStrips(expertJobInfo.getBusinessStrips()); | |||||
return expertInfoModifyCmd; | return expertInfoModifyCmd; | ||||
} | } | ||||
@@ -1,6 +1,7 @@ | |||||
package com.ningdatech.pmapi.expert.assembler; | package com.ningdatech.pmapi.expert.assembler; | ||||
import cn.hutool.core.bean.BeanUtil; | |||||
import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||
import cn.hutool.core.util.StrUtil; | import cn.hutool.core.util.StrUtil; | ||||
import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
@@ -9,13 +10,11 @@ import com.ningdatech.pmapi.common.enumeration.BoolDisplayEnum; | |||||
import com.ningdatech.pmapi.common.helper.RegionCacheHelper; | import com.ningdatech.pmapi.common.helper.RegionCacheHelper; | ||||
import com.ningdatech.pmapi.common.model.FileBasicInfo; | import com.ningdatech.pmapi.common.model.FileBasicInfo; | ||||
import com.ningdatech.pmapi.expert.constant.ExpertApplyTypeEnum; | import com.ningdatech.pmapi.expert.constant.ExpertApplyTypeEnum; | ||||
import com.ningdatech.pmapi.expert.entity.ExpertAvoidCompany; | |||||
import com.ningdatech.pmapi.expert.entity.ExpertIntentionWorkRegion; | |||||
import com.ningdatech.pmapi.expert.entity.ExpertMetaApply; | |||||
import com.ningdatech.pmapi.expert.entity.ExpertUserFullInfo; | |||||
import com.ningdatech.pmapi.expert.entity.*; | |||||
import com.ningdatech.pmapi.expert.model.*; | import com.ningdatech.pmapi.expert.model.*; | ||||
import com.ningdatech.pmapi.expert.model.dto.*; | import com.ningdatech.pmapi.expert.model.dto.*; | ||||
import com.ningdatech.pmapi.expert.model.vo.ExpertFullInfoVO; | import com.ningdatech.pmapi.expert.model.vo.ExpertFullInfoVO; | ||||
import com.ningdatech.pmapi.gov.model.vo.GovBusinessStripVO; | |||||
import com.ningdatech.pmapi.meta.constant.DictExpertInfoTypeEnum; | import com.ningdatech.pmapi.meta.constant.DictExpertInfoTypeEnum; | ||||
import com.ningdatech.pmapi.meta.constant.ExpertTagEnum; | import com.ningdatech.pmapi.meta.constant.ExpertTagEnum; | ||||
import com.ningdatech.pmapi.meta.helper.DictionaryCache; | import com.ningdatech.pmapi.meta.helper.DictionaryCache; | ||||
@@ -256,7 +255,8 @@ public class ExpertUserInfoAssembler { | |||||
List<ExpertDictionary> expertDictionaryList, | List<ExpertDictionary> expertDictionaryList, | ||||
List<ExpertIntentionWorkRegion> intentionWorkRegionList, | List<ExpertIntentionWorkRegion> intentionWorkRegionList, | ||||
List<ExpertMetaApply> expertMetaApplyList, | List<ExpertMetaApply> expertMetaApplyList, | ||||
List<ExpertAvoidCompany> expertAvoidCompanyList) { | |||||
List<ExpertAvoidCompany> expertAvoidCompanyList, | |||||
List<ExpertGovBusinessStrip> businessStrips) { | |||||
ExpertUserFullInfoDTO expertFullInfoDto = buildExpertUserFullInfoDTO(expertUserFullInfo); | ExpertUserFullInfoDTO expertFullInfoDto = buildExpertUserFullInfoDTO(expertUserFullInfo); | ||||
List<ExpertDictionaryDTO> expertDicts = buildExpertDictionaryDTOList(expertDictionaryList); | List<ExpertDictionaryDTO> expertDicts = buildExpertDictionaryDTOList(expertDictionaryList); | ||||
List<ExpertTagDTO> expertTags = buildExpertTagDTOList(expertTagList); | List<ExpertTagDTO> expertTags = buildExpertTagDTOList(expertTagList); | ||||
@@ -273,6 +273,7 @@ public class ExpertUserInfoAssembler { | |||||
expertFullInfoAll.setExpertIntentionWorkRegionInfo(intentionWorkRegions); | expertFullInfoAll.setExpertIntentionWorkRegionInfo(intentionWorkRegions); | ||||
expertFullInfoAll.setExpertApplyIntentionWorkRegionInfo(applyIntentionWorkRegions); | expertFullInfoAll.setExpertApplyIntentionWorkRegionInfo(applyIntentionWorkRegions); | ||||
expertFullInfoAll.setExpertAvoidCompanyList(expertAvoidCompanyDTOList); | expertFullInfoAll.setExpertAvoidCompanyList(expertAvoidCompanyDTOList); | ||||
expertFullInfoAll.setBusinessStrips(BeanUtil.copyToList(businessStrips, GovBusinessStripVO.class)); | |||||
return expertFullInfoAll; | return expertFullInfoAll; | ||||
} | } | ||||
@@ -1,10 +1,13 @@ | |||||
package com.ningdatech.pmapi.expert.entity; | package com.ningdatech.pmapi.expert.entity; | ||||
import com.baomidou.mybatisplus.annotation.FieldFill; | |||||
import com.baomidou.mybatisplus.annotation.TableField; | |||||
import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||
import lombok.Data; | import lombok.Data; | ||||
import java.io.Serializable; | import java.io.Serializable; | ||||
import java.time.LocalDateTime; | |||||
/** | /** | ||||
* <p> | * <p> | ||||
@@ -28,4 +31,11 @@ public class ExpertGovBusinessStrip implements Serializable { | |||||
private String businessStripName; | private String businessStripName; | ||||
private Long expertUserId; | private Long expertUserId; | ||||
@TableField(fill = FieldFill.INSERT) | |||||
private LocalDateTime createOn; | |||||
@TableField(fill = FieldFill.INSERT) | |||||
private Long createBy; | |||||
} | } |
@@ -1,5 +1,6 @@ | |||||
package com.ningdatech.pmapi.expert.model; | package com.ningdatech.pmapi.expert.model; | ||||
import com.ningdatech.pmapi.gov.model.vo.GovBusinessStripVO; | |||||
import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||
import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||
import lombok.Data; | import lombok.Data; | ||||
@@ -88,4 +89,8 @@ public class ExpertJobInfo { | |||||
@NotBlank | @NotBlank | ||||
@ApiModelProperty("工作经历") | @ApiModelProperty("工作经历") | ||||
private String experience; | private String experience; | ||||
@ApiModelProperty("专家条线") | |||||
private List<GovBusinessStripVO> businessStrips; | |||||
} | } |
@@ -3,6 +3,7 @@ package com.ningdatech.pmapi.expert.model.cmd; | |||||
import com.ningdatech.pmapi.expert.model.bo.ExpertInfoSensitiveFieldCheckBO; | import com.ningdatech.pmapi.expert.model.bo.ExpertInfoSensitiveFieldCheckBO; | ||||
import com.ningdatech.pmapi.expert.model.dto.*; | import com.ningdatech.pmapi.expert.model.dto.*; | ||||
import com.ningdatech.pmapi.gov.model.vo.GovBusinessStripVO; | |||||
import lombok.Data; | import lombok.Data; | ||||
import java.util.List; | import java.util.List; | ||||
@@ -35,4 +36,6 @@ public class ExpertInfoModifyCmd { | |||||
private ExpertInfoSensitiveFieldCheckBO expertInfoSensitiveFieldCheckBO; | private ExpertInfoSensitiveFieldCheckBO expertInfoSensitiveFieldCheckBO; | ||||
private ModifyApplyExtraInfoDTO modifyApplyExtraInfo; | private ModifyApplyExtraInfoDTO modifyApplyExtraInfo; | ||||
private List<GovBusinessStripVO> businessStrips; | |||||
} | } |
@@ -1,5 +1,6 @@ | |||||
package com.ningdatech.pmapi.expert.model.dto; | package com.ningdatech.pmapi.expert.model.dto; | ||||
import com.ningdatech.pmapi.gov.model.vo.GovBusinessStripVO; | |||||
import lombok.Data; | import lombok.Data; | ||||
import java.util.List; | import java.util.List; | ||||
@@ -35,5 +36,7 @@ public class ExpertFullInfoAllDTO { | |||||
*/ | */ | ||||
private List<ExpertAvoidCompanyDTO> expertAvoidCompanyList; | private List<ExpertAvoidCompanyDTO> expertAvoidCompanyList; | ||||
private List<GovBusinessStripVO> businessStrips; | |||||
} | } |
@@ -2,8 +2,8 @@ package com.ningdatech.pmapi.expert.service; | |||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||
import com.ningdatech.pmapi.expert.entity.ExpertGovBusinessStrip; | |||||
import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||
import com.ningdatech.pmapi.expert.entity.ExpertGovBusinessStrip; | |||||
import java.util.Collection; | import java.util.Collection; | ||||
import java.util.List; | import java.util.List; | ||||
@@ -25,4 +25,10 @@ public interface IExpertGovBusinessStripService extends IService<ExpertGovBusine | |||||
return list(query); | return list(query); | ||||
} | } | ||||
default boolean removeByUserId(Long userId) { | |||||
LambdaQueryWrapper<ExpertGovBusinessStrip> query = Wrappers.lambdaQuery(ExpertGovBusinessStrip.class) | |||||
.eq(ExpertGovBusinessStrip::getExpertUserId, userId); | |||||
return remove(query); | |||||
} | |||||
} | } |
@@ -1,5 +1,6 @@ | |||||
package com.ningdatech.pmapi.expert.service.impl; | package com.ningdatech.pmapi.expert.service.impl; | ||||
import cn.hutool.core.bean.BeanUtil; | |||||
import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||
import cn.hutool.core.util.PhoneUtil; | import cn.hutool.core.util.PhoneUtil; | ||||
import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
@@ -76,6 +77,7 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
private final IExpertSensitiveInfoModifyDetailRecordService iExpertSensitiveInfoModifyDetailRecordService; | private final IExpertSensitiveInfoModifyDetailRecordService iExpertSensitiveInfoModifyDetailRecordService; | ||||
private final IUserInfoService userInfoService; | private final IUserInfoService userInfoService; | ||||
private final YxtCallOrSmsHelper yxtCallOrSmsHelper; | private final YxtCallOrSmsHelper yxtCallOrSmsHelper; | ||||
private final IExpertGovBusinessStripService expertGovBusinessStripService; | |||||
@Value("${login.url:}") | @Value("${login.url:}") | ||||
private String loginUrl; | private String loginUrl; | ||||
@@ -319,8 +321,10 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
List<ExpertAvoidCompany> expertAvoidCompanyList = iExpertAvoidCompanyService | List<ExpertAvoidCompany> expertAvoidCompanyList = iExpertAvoidCompanyService | ||||
.list(Wrappers.lambdaQuery(ExpertAvoidCompany.class).eq(ExpertAvoidCompany::getUserId, userId)); | .list(Wrappers.lambdaQuery(ExpertAvoidCompany.class).eq(ExpertAvoidCompany::getUserId, userId)); | ||||
List<ExpertGovBusinessStrip> businessStrips = expertGovBusinessStripService.listByUserIds(Collections.singletonList(userId)); | |||||
return ExpertUserInfoAssembler.buildExpertFullInfoAllDTO(expertUserFullInfo, expertTagList, expertDictionaryList | return ExpertUserInfoAssembler.buildExpertFullInfoAllDTO(expertUserFullInfo, expertTagList, expertDictionaryList | ||||
, expertIntentionWorkRegionList, expertMetaApplyList, expertAvoidCompanyList); | |||||
, expertIntentionWorkRegionList, expertMetaApplyList, expertAvoidCompanyList, businessStrips); | |||||
} | } | ||||
@@ -454,6 +458,8 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
List<ExpertTag> expertTagList = iExpertTagService.list(Wrappers.lambdaQuery(ExpertTag.class) | List<ExpertTag> expertTagList = iExpertTagService.list(Wrappers.lambdaQuery(ExpertTag.class) | ||||
.in(ExpertTag::getUserId, userIds)); | .in(ExpertTag::getUserId, userIds)); | ||||
Map<Long, List<ExpertTag>> expertTagListMap = CollUtils.group(expertTagList, ExpertTag::getUserId); | Map<Long, List<ExpertTag>> expertTagListMap = CollUtils.group(expertTagList, ExpertTag::getUserId); | ||||
List<ExpertGovBusinessStrip> businessStrips = expertGovBusinessStripService.listByUserIds(userIds); | |||||
Map<Long, List<ExpertGovBusinessStrip>> stripMap = CollUtils.group(businessStrips, ExpertGovBusinessStrip::getExpertUserId); | |||||
// 所有专家字典字段 | // 所有专家字典字段 | ||||
List<ExpertDictionary> expertDictionaryList = iExpertDictionaryService.list(Wrappers.lambdaQuery(ExpertDictionary.class) | List<ExpertDictionary> expertDictionaryList = iExpertDictionaryService.list(Wrappers.lambdaQuery(ExpertDictionary.class) | ||||
.in(ExpertDictionary::getUserId, userIds)); | .in(ExpertDictionary::getUserId, userIds)); | ||||
@@ -478,7 +484,8 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
expertDictMap.getOrDefault(w.getUserId(), Collections.emptyList()), | expertDictMap.getOrDefault(w.getUserId(), Collections.emptyList()), | ||||
intentionRegionMap.getOrDefault(w.getUserId(), Collections.emptyList()), | intentionRegionMap.getOrDefault(w.getUserId(), Collections.emptyList()), | ||||
metaApplyMap.getOrDefault(w.getUserId(), Collections.emptyList()), | metaApplyMap.getOrDefault(w.getUserId(), Collections.emptyList()), | ||||
avoidInfoMap.getOrDefault(w.getUserId(), Collections.emptyList()))) | |||||
avoidInfoMap.getOrDefault(w.getUserId(), Collections.emptyList()), | |||||
stripMap.getOrDefault(w.getUserId(), Collections.emptyList()))) | |||||
.collect(Collectors.toList()); | .collect(Collectors.toList()); | ||||
} | } | ||||
@@ -551,6 +558,16 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
// 重新保存 | // 重新保存 | ||||
iExpertAvoidCompanyService.saveBatch(saveExpertAvoidCompanyList); | iExpertAvoidCompanyService.saveBatch(saveExpertAvoidCompanyList); | ||||
} | } | ||||
// 保存专家条线 | |||||
expertGovBusinessStripService.removeByUserId(userId); | |||||
if (CollUtil.isNotEmpty(cmd.getBusinessStrips())) { | |||||
List<ExpertGovBusinessStrip> strips = CollUtils.convert(cmd.getBusinessStrips(), w -> { | |||||
ExpertGovBusinessStrip strip = BeanUtil.copyProperties(w, ExpertGovBusinessStrip.class); | |||||
strip.setExpertUserId(userId); | |||||
return strip; | |||||
}); | |||||
expertGovBusinessStripService.saveBatch(strips); | |||||
} | |||||
// 敏感字段申请 | // 敏感字段申请 | ||||
ExpertInfoSensitiveFieldCheckBO expertInfoSensitiveFieldCheckBO = cmd.getExpertInfoSensitiveFieldCheckBO(); | ExpertInfoSensitiveFieldCheckBO expertInfoSensitiveFieldCheckBO = cmd.getExpertInfoSensitiveFieldCheckBO(); | ||||
ModifyApplyExtraInfoDTO modifyApplyExtraInfo = cmd.getModifyApplyExtraInfo(); | ModifyApplyExtraInfoDTO modifyApplyExtraInfo = cmd.getModifyApplyExtraInfo(); | ||||
@@ -9,7 +9,7 @@ import lombok.Data; | |||||
* @since 2023-03-08 | * @since 2023-03-08 | ||||
*/ | */ | ||||
@Data | @Data | ||||
@ApiModel(value = "条线VO", description = "") | |||||
@ApiModel(value = "条线VO") | |||||
public class GovBusinessStripVO { | public class GovBusinessStripVO { | ||||
@ApiModelProperty("条线code") | @ApiModelProperty("条线code") | ||||
@@ -18,7 +18,7 @@ | |||||
<maven.compiler.target>1.8</maven.compiler.target> | <maven.compiler.target>1.8</maven.compiler.target> | ||||
<jwt.version>3.7.0</jwt.version> | <jwt.version>3.7.0</jwt.version> | ||||
<com.alibaba.druid.version>1.2.8</com.alibaba.druid.version> | <com.alibaba.druid.version>1.2.8</com.alibaba.druid.version> | ||||
<mybatis.plus.version>3.5.1</mybatis.plus.version> | |||||
<mybatis.plus.version>3.5.3.2</mybatis.plus.version> | |||||
<io.springfox-swagger2.version>3.0.0</io.springfox-swagger2.version> | <io.springfox-swagger2.version>3.0.0</io.springfox-swagger2.version> | ||||
<swagger-knife.version>3.0.3</swagger-knife.version> | <swagger-knife.version>3.0.3</swagger-knife.version> | ||||
<fastjson.version>1.2.83</fastjson.version> | <fastjson.version>1.2.83</fastjson.version> | ||||
@@ -51,12 +51,6 @@ | |||||
<artifactId>fastjson</artifactId> | <artifactId>fastjson</artifactId> | ||||
<version>${fastjson.version}</version> | <version>${fastjson.version}</version> | ||||
</dependency> | </dependency> | ||||
<!-- 解析客户端操作系统、浏览器信息 --> | |||||
<dependency> | |||||
<groupId>nl.basjes.parse.useragent</groupId> | |||||
<artifactId>yauaa</artifactId> | |||||
<version>${useragent.yauaa}</version> | |||||
</dependency> | |||||
<dependency> | <dependency> | ||||
<groupId>org.springframework.boot</groupId> | <groupId>org.springframework.boot</groupId> | ||||
<artifactId>spring-boot-dependencies</artifactId> | <artifactId>spring-boot-dependencies</artifactId> | ||||