@@ -26,6 +26,7 @@ import com.ningdatech.pmapi.expert.model.dto.ExpertDictionaryDTO; | |||||
import com.ningdatech.pmapi.expert.model.dto.ExpertTagDTO; | import com.ningdatech.pmapi.expert.model.dto.ExpertTagDTO; | ||||
import com.ningdatech.pmapi.expert.model.query.ExpertDictionaryQuery; | import com.ningdatech.pmapi.expert.model.query.ExpertDictionaryQuery; | ||||
import com.ningdatech.pmapi.expert.model.req.MetaApplyResultRequest; | import com.ningdatech.pmapi.expert.model.req.MetaApplyResultRequest; | ||||
import com.ningdatech.pmapi.expert.model.req.MetaApplyResultRequest.StorageApplyResultExtraInfo; | |||||
import com.ningdatech.pmapi.expert.model.vo.ExpertApplyMetaVO; | import com.ningdatech.pmapi.expert.model.vo.ExpertApplyMetaVO; | ||||
import com.ningdatech.pmapi.expert.model.vo.MetaApplyResultVo; | import com.ningdatech.pmapi.expert.model.vo.MetaApplyResultVo; | ||||
import com.ningdatech.pmapi.expert.service.ExpertAdminManageService; | import com.ningdatech.pmapi.expert.service.ExpertAdminManageService; | ||||
@@ -527,16 +528,17 @@ public class ExpertMetaApplyManage { | |||||
return expertMetaApplyListQuery; | return expertMetaApplyListQuery; | ||||
} | } | ||||
private ExpertStorageDealCmd buildExpertStorageDealCmd( | |||||
MetaApplyResultRequest applyResultRequest, Long expertUserId, ExpertMetaApply expertMetaApply) { | |||||
MetaApplyResultRequest.StorageApplyResultExtraInfo extraInfo = applyResultRequest.getStorageApplyResultExtraInfo(); | |||||
private ExpertStorageDealCmd buildExpertStorageDealCmd(MetaApplyResultRequest applyResultRequest, | |||||
Long expertUserId, | |||||
ExpertMetaApply expertMetaApply) { | |||||
StorageApplyResultExtraInfo extraInfo = applyResultRequest.getStorageApplyResultExtraInfo(); | |||||
ExpertStorageDealCmd expertStorageDealCmd = new ExpertStorageDealCmd(); | ExpertStorageDealCmd expertStorageDealCmd = new ExpertStorageDealCmd(); | ||||
Boolean applyResult = applyResultRequest.getApplyResult(); | Boolean applyResult = applyResultRequest.getApplyResult(); | ||||
expertStorageDealCmd.setApplyResult(applyResult); | expertStorageDealCmd.setApplyResult(applyResult); | ||||
if (Objects.nonNull(extraInfo)) { | if (Objects.nonNull(extraInfo)) { | ||||
List<DictionaryFieldInfo> expertType = extraInfo.getExpertType(); | List<DictionaryFieldInfo> expertType = extraInfo.getExpertType(); | ||||
if (CollectionUtils.isNotEmpty(expertType)) { | |||||
if (CollUtil.isNotEmpty(expertType)) { | |||||
expertStorageDealCmd.setExpertType(extraInfo.getExpertType().stream().map(r -> { | expertStorageDealCmd.setExpertType(extraInfo.getExpertType().stream().map(r -> { | ||||
ExpertDictionaryDTO expertDictionaryDTO = new ExpertDictionaryDTO(); | ExpertDictionaryDTO expertDictionaryDTO = new ExpertDictionaryDTO(); | ||||
expertDictionaryDTO.setExpertInfoField(r.getDictionaryFieldName()); | expertDictionaryDTO.setExpertInfoField(r.getDictionaryFieldName()); | ||||
@@ -545,7 +547,7 @@ public class ExpertMetaApplyManage { | |||||
}).collect(Collectors.toList())); | }).collect(Collectors.toList())); | ||||
} | } | ||||
List<TagFieldInfo> other = extraInfo.getOther(); | List<TagFieldInfo> other = extraInfo.getOther(); | ||||
if (CollectionUtils.isNotEmpty(other)) { | |||||
if (CollUtil.isNotEmpty(other)) { | |||||
expertStorageDealCmd.setOther(extraInfo.getOther().stream().map(r -> { | expertStorageDealCmd.setOther(extraInfo.getOther().stream().map(r -> { | ||||
ExpertTagDTO expertTagDTO = new ExpertTagDTO(); | ExpertTagDTO expertTagDTO = new ExpertTagDTO(); | ||||
expertTagDTO.setExpertInfoField(r.getTagFieldName()); | expertTagDTO.setExpertInfoField(r.getTagFieldName()); | ||||
@@ -562,8 +564,8 @@ public class ExpertMetaApplyManage { | |||||
} | } | ||||
private ExpertInfoModifyApplyDealCmd buildExpertInfoModifyApplyDealCmd(MetaApplyResultRequest applyResultRequest | |||||
, Long userId, Long applyId) { | |||||
private ExpertInfoModifyApplyDealCmd buildExpertInfoModifyApplyDealCmd(MetaApplyResultRequest applyResultRequest, | |||||
Long userId, Long applyId) { | |||||
ExpertInfoModifyApplyDealCmd expertInfoModifyApplyDealCmd = new ExpertInfoModifyApplyDealCmd(); | ExpertInfoModifyApplyDealCmd expertInfoModifyApplyDealCmd = new ExpertInfoModifyApplyDealCmd(); | ||||
Boolean applyResult = applyResultRequest.getApplyResult(); | Boolean applyResult = applyResultRequest.getApplyResult(); | ||||
expertInfoModifyApplyDealCmd.setApplyResult(applyResult); | expertInfoModifyApplyDealCmd.setApplyResult(applyResult); | ||||
@@ -572,8 +574,8 @@ public class ExpertMetaApplyManage { | |||||
return expertInfoModifyApplyDealCmd; | return expertInfoModifyApplyDealCmd; | ||||
} | } | ||||
private ExpertIntentionApplyDealCmd buildExpertIntentionApplyDealCmd(MetaApplyResultRequest applyResultRequest | |||||
, ExpertMetaApply expertMetaApply) { | |||||
private ExpertIntentionApplyDealCmd buildExpertIntentionApplyDealCmd(MetaApplyResultRequest applyResultRequest, | |||||
ExpertMetaApply expertMetaApply) { | |||||
Boolean applyResult = applyResultRequest.getApplyResult(); | Boolean applyResult = applyResultRequest.getApplyResult(); | ||||
String applyType = expertMetaApply.getApplyType(); | String applyType = expertMetaApply.getApplyType(); | ||||
ExpertApplyTypeEnum applyTypeEnum = ExpertApplyTypeEnum.of(applyType); | ExpertApplyTypeEnum applyTypeEnum = ExpertApplyTypeEnum.of(applyType); | ||||
@@ -590,12 +592,11 @@ public class ExpertMetaApplyManage { | |||||
/** | /** | ||||
* 专家管理员 新增专家使用使用 | * 专家管理员 新增专家使用使用 | ||||
* | * | ||||
* @param expertUserId | |||||
* @param expertUserId \ | |||||
*/ | */ | ||||
@Transactional(rollbackFor = Exception.class) | @Transactional(rollbackFor = Exception.class) | ||||
public void autoPassExpertApply(Long expertUserId) { | public void autoPassExpertApply(Long expertUserId) { | ||||
List<ExpertMetaApply> expertIntentionJoinApplyList = iMetaApplyService.list(Wrappers | |||||
.lambdaQuery(ExpertMetaApply.class) | |||||
List<ExpertMetaApply> expertIntentionJoinApplyList = iMetaApplyService.list(Wrappers.lambdaQuery(ExpertMetaApply.class) | |||||
.eq(ExpertMetaApply::getUserId, expertUserId) | .eq(ExpertMetaApply::getUserId, expertUserId) | ||||
.in(ExpertMetaApply::getApplyType, ExpertApplyTypeEnum.EXPERT_INTENTION_JOIN.getKey(), ExpertApplyTypeEnum.EXPERT_STORAGE.getKey()) | .in(ExpertMetaApply::getApplyType, ExpertApplyTypeEnum.EXPERT_INTENTION_JOIN.getKey(), ExpertApplyTypeEnum.EXPERT_STORAGE.getKey()) | ||||
.eq(ExpertMetaApply::getApplyStatus, ExpertApplyStatusEnum.PENDING_REVIEW.getKey())); | .eq(ExpertMetaApply::getApplyStatus, ExpertApplyStatusEnum.PENDING_REVIEW.getKey())); | ||||
@@ -27,19 +27,23 @@ public interface ExpertInfoService { | |||||
/** | /** | ||||
* 专家信息修改审核结果处理 | * 专家信息修改审核结果处理 | ||||
* | * | ||||
* @param expertInfoModifyApplyDealCmd | |||||
* @param expertInfoModifyApplyDealCmd \ | |||||
*/ | */ | ||||
void expertInfoModifyDeal(ExpertInfoModifyApplyDealCmd expertInfoModifyApplyDealCmd); | void expertInfoModifyDeal(ExpertInfoModifyApplyDealCmd expertInfoModifyApplyDealCmd); | ||||
/** | /** | ||||
* 根据user_id 获取用户全量信息 | * 根据user_id 获取用户全量信息 | ||||
* | * | ||||
* @param userId | |||||
* @return | |||||
* @param userId \ | |||||
* @return \ | |||||
*/ | */ | ||||
ExpertFullInfoAllDTO getExpertUserFullInfoAll(Long userId); | ExpertFullInfoAllDTO getExpertUserFullInfoAll(Long userId); | ||||
/** | |||||
* 专家入库审核处理 | |||||
* | |||||
* @param cmd \ | |||||
**/ | |||||
void expertStorageDeal(ExpertStorageDealCmd cmd); | void expertStorageDeal(ExpertStorageDealCmd cmd); | ||||
@@ -29,6 +29,12 @@ import com.ningdatech.pmapi.meta.model.entity.ExpertDictionary; | |||||
import com.ningdatech.pmapi.meta.model.entity.ExpertTag; | import com.ningdatech.pmapi.meta.model.entity.ExpertTag; | ||||
import com.ningdatech.pmapi.meta.service.IExpertDictionaryService; | import com.ningdatech.pmapi.meta.service.IExpertDictionaryService; | ||||
import com.ningdatech.pmapi.meta.service.IExpertTagService; | import com.ningdatech.pmapi.meta.service.IExpertTagService; | ||||
import com.ningdatech.pmapi.sys.model.entity.Role; | |||||
import com.ningdatech.pmapi.sys.model.entity.UserRole; | |||||
import com.ningdatech.pmapi.sys.service.IRoleService; | |||||
import com.ningdatech.pmapi.sys.service.IUserRoleService; | |||||
import com.ningdatech.pmapi.sys.service.impl.UserRoleServiceImpl; | |||||
import com.ningdatech.pmapi.user.entity.enumeration.RoleEnum; | |||||
import com.ningdatech.pmapi.user.util.LoginUserUtil; | import com.ningdatech.pmapi.user.util.LoginUserUtil; | ||||
import com.ningdatech.yxt.utils.JSONUtils; | import com.ningdatech.yxt.utils.JSONUtils; | ||||
import lombok.RequiredArgsConstructor; | import lombok.RequiredArgsConstructor; | ||||
@@ -56,6 +62,8 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
private final IExpertAvoidCompanyService iExpertAvoidCompanyService; | private final IExpertAvoidCompanyService iExpertAvoidCompanyService; | ||||
private final IExpertIntentionWorkRegionService iExpertIntentionWorkRegionService; | private final IExpertIntentionWorkRegionService iExpertIntentionWorkRegionService; | ||||
private final IExpertMetaApplyService iExpertMetaApplyService; | private final IExpertMetaApplyService iExpertMetaApplyService; | ||||
private final IRoleService roleService; | |||||
private final IUserRoleService userRoleService; | |||||
private final IExpertSensitiveInfoModifyDetailRecordService iExpertSensitiveInfoModifyDetailRecordService; | private final IExpertSensitiveInfoModifyDetailRecordService iExpertSensitiveInfoModifyDetailRecordService; | ||||
@@ -369,16 +377,14 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
/** | /** | ||||
* 专家入库审核 | * 专家入库审核 | ||||
* | * | ||||
* @param cmd | |||||
* @param cmd \ | |||||
*/ | */ | ||||
@Override | @Override | ||||
@Transactional(rollbackFor = Exception.class) | @Transactional(rollbackFor = Exception.class) | ||||
public void expertStorageDeal(ExpertStorageDealCmd cmd) { | public void expertStorageDeal(ExpertStorageDealCmd cmd) { | ||||
boolean applyResult = cmd.getApplyResult(); | |||||
Long expertUserId = cmd.getExpertUserId(); | Long expertUserId = cmd.getExpertUserId(); | ||||
ExpertUserFullInfo expertUserFullInfo = iExpertUserFullInfoService.getByUserId(expertUserId); | ExpertUserFullInfo expertUserFullInfo = iExpertUserFullInfoService.getByUserId(expertUserId); | ||||
if (applyResult) { | |||||
if (cmd.getApplyResult()) { | |||||
// 修改专家状态为可用 | // 修改专家状态为可用 | ||||
expertUserFullInfo.setExpertAccountStatus(ExpertAccountStatusEnum.AVAILABLE.getKey()); | expertUserFullInfo.setExpertAccountStatus(ExpertAccountStatusEnum.AVAILABLE.getKey()); | ||||
expertUserFullInfo.setRemark(cmd.getRemark()); | expertUserFullInfo.setRemark(cmd.getRemark()); | ||||
@@ -390,10 +396,21 @@ public class ExpertInfoServiceImpl implements ExpertInfoService { | |||||
iExpertTagService.saveBatch(saveExpertTagList); | iExpertTagService.saveBatch(saveExpertTagList); | ||||
// 保存所有专家字典字段 | // 保存所有专家字典字段 | ||||
List<ExpertDictionaryDTO> expertType = cmd.getExpertType(); | List<ExpertDictionaryDTO> expertType = cmd.getExpertType(); | ||||
if (CollectionUtils.isNotEmpty(expertType)) { | |||||
expertType = expertType.stream().peek(r -> r.setExpertInfoField(DictExpertInfoTypeEnum.EXPERT_TYPE.getKey())).collect(Collectors.toList()); | |||||
List<ExpertDictionary> saveExpertDictionaryList = buildSaveExpertDictionaryList(expertUserId, expertType); | |||||
iExpertDictionaryService.saveBatch(saveExpertDictionaryList); | |||||
if (CollUtil.isNotEmpty(expertType)) { | |||||
expertType.forEach(r -> r.setExpertInfoField(DictExpertInfoTypeEnum.EXPERT_TYPE.getKey())); | |||||
List<ExpertDictionary> saveExpertDictList = buildSaveExpertDictionaryList(expertUserId, expertType); | |||||
iExpertDictionaryService.saveBatch(saveExpertDictList); | |||||
} | |||||
// 补充专家 专家角色 | |||||
Role role = roleService.getOne(Wrappers.lambdaQuery(Role.class).eq(Role::getCode, RoleEnum.EXPERT)); | |||||
if (Objects.nonNull(role)) { | |||||
UserRole one = userRoleService.getOne(expertUserId, role.getId()); | |||||
if (Objects.isNull(one)) { | |||||
UserRole saveUserRole = new UserRole(); | |||||
saveUserRole.setUserId(expertUserId); | |||||
saveUserRole.setRoleId(role.getId()); | |||||
userRoleService.save(saveUserRole); | |||||
} | |||||
} | } | ||||
} else { | } else { | ||||
expertUserFullInfo.setUserInfoStep(ExpertUserInfoStepEnum.INFORMATION_TO_BE_SUBMITTED.getKey()); | expertUserFullInfo.setUserInfoStep(ExpertUserInfoStepEnum.INFORMATION_TO_BE_SUBMITTED.getKey()); | ||||
@@ -75,4 +75,7 @@ public interface IRoleService extends IService<Role> { | |||||
* @return boolean | * @return boolean | ||||
*/ | */ | ||||
Boolean check(String name, Long id); | Boolean check(String name, Long id); | ||||
} | } |
@@ -1,6 +1,9 @@ | |||||
package com.ningdatech.pmapi.sys.service; | package com.ningdatech.pmapi.sys.service; | ||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||
import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||
import com.ningdatech.pmapi.common.constant.BizConst; | |||||
import com.ningdatech.pmapi.sys.model.entity.UserRole; | import com.ningdatech.pmapi.sys.model.entity.UserRole; | ||||
import java.util.List; | import java.util.List; | ||||
@@ -32,5 +35,12 @@ public interface IUserRoleService extends IService<UserRole> { | |||||
**/ | **/ | ||||
List<Long> listUserIdByRoleId(Long roleId); | List<Long> listUserIdByRoleId(Long roleId); | ||||
default UserRole getOne(Long userId, Long roleId) { | |||||
LambdaQueryWrapper<UserRole> eq = Wrappers.lambdaQuery(UserRole.class) | |||||
.eq(UserRole::getUserId, userId) | |||||
.eq(UserRole::getRoleId, roleId) | |||||
.last(BizConst.LIMIT_1); | |||||
return getOne(eq); | |||||
} | |||||
} | } |