Commit 174d798c authored by yangyang's avatar yangyang

fix(编辑企业信息): 新增手动刷新用户组的接口

parent 35e87aeb
...@@ -495,4 +495,12 @@ public class TzsUserInfoController extends BaseController { ...@@ -495,4 +495,12 @@ public class TzsUserInfoController extends BaseController {
public ResponseModel<String> deletePersonSubtypeHistoricalData() { public ResponseModel<String> deletePersonSubtypeHistoricalData() {
return ResponseHelper.buildResponse(tzsUserInfoService.deletePersonSubtypeHistoricalData()); return ResponseHelper.buildResponse(tzsUserInfoService.deletePersonSubtypeHistoricalData());
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/refreshUserGroupInfo")
@ApiOperation(httpMethod = "POST", value = "同步人员信息", notes = "同步人员信息")
public ResponseModel<TzsUserInfoDto> refreshUserInfo(@RequestBody List<String> userIds) {
tzsUserInfoServiceImpl.refreshUserGroupInfo(userIds);
return ResponseHelper.buildResponse(null);
}
} }
...@@ -46,6 +46,7 @@ import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService; ...@@ -46,6 +46,7 @@ import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService;
import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo; import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo; import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo;
import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo; import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo;
import com.yeejoin.amos.boot.module.tcm.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl; import com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl;
import com.yeejoin.amos.component.feign.config.InnerInvokException; import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
...@@ -72,6 +73,7 @@ import org.springframework.util.ObjectUtils; ...@@ -72,6 +73,7 @@ import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.component.emq.EmqKeeper; import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
...@@ -2320,6 +2322,16 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -2320,6 +2322,16 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
} }
private void syncNewPost(TzsUserInfoDto tzsUserInfoDto) { private void syncNewPost(TzsUserInfoDto tzsUserInfoDto) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(reginParams)) {
return ;
}
Long companySeq = reginParams.getCompany().getSequenceNbr();
List<String> appCodesSet = reginParams.getUserModel().getAppCodes();
syncNewPost(tzsUserInfoDto, companySeq, appCodesSet);
}
private void syncNewPost(TzsUserInfoDto tzsUserInfoDto, Long companySeq, List<String> appCodesSet) {
System.out.println(tzsUserInfoDto); System.out.println(tzsUserInfoDto);
// tzs_user_info; // tzs_user_info;
if (ValidationUtil.isEmpty(tzsUserInfoDto.getAmosUserId())) { if (ValidationUtil.isEmpty(tzsUserInfoDto.getAmosUserId())) {
...@@ -2329,10 +2341,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -2329,10 +2341,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
if (userFeignClientResult == null || userFeignClientResult.getResult() == null) { if (userFeignClientResult == null || userFeignClientResult.getResult() == null) {
return; return;
} }
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(reginParams)) {
return ;
}
List<DataDictionary> dataDictionaries = iDataDictionaryService.lambdaQuery() List<DataDictionary> dataDictionaries = iDataDictionaryService.lambdaQuery()
.in(DataDictionary::getType, Arrays.asList("QYRYJS", "QYRYYHZ")) .in(DataDictionary::getType, Arrays.asList("QYRYJS", "QYRYYHZ"))
.eq(DataDictionary::getIsDelete, false).list(); .eq(DataDictionary::getIsDelete, false).list();
...@@ -2343,8 +2352,6 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -2343,8 +2352,6 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
String roles = qyrygwList.get(0).getCode(); String roles = qyrygwList.get(0).getCode();
String roleGroupCode = qyryyhzList.get(0).getCode(); String roleGroupCode = qyryyhzList.get(0).getCode();
Long companySeq = reginParams.getCompany().getSequenceNbr();
List<String> appCodesSet = reginParams.getUserModel().getAppCodes();
List<RoleModel> allRoleList = new ArrayList<>(); List<RoleModel> allRoleList = new ArrayList<>();
List<Long> roleIds = new ArrayList<>(); List<Long> roleIds = new ArrayList<>();
DataDictionary unitType = iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getCode, roles).eq(DataDictionary::getType, USER_ROLE)); DataDictionary unitType = iDataDictionaryService.getOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getCode, roles).eq(DataDictionary::getType, USER_ROLE));
...@@ -2397,4 +2404,44 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -2397,4 +2404,44 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
} }
} }
} }
public void refreshUserGroupInfo(List<String> userId) {
if (ObjectUtils.isEmpty(userId)) {
return;
}
// 根据userId获取用户
List<TzsUserInfo> userInfos = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.in(TzsUserInfo::getAmosUserId, userId));
if (ObjectUtils.isEmpty(userInfos)) {
return;
}
List<String> unitCodes = userInfos.stream().map(TzsUserInfo::getUnitCode).collect(Collectors.toList());
List<RegUnitInfo> regUnitInfos = regUnitInfoService.lambdaQuery().in(RegUnitInfo::getUnitCode, unitCodes).list();
String adminUserIds = regUnitInfos.stream().map(RegUnitInfo::getAdminUserId).filter(Objects::nonNull).collect(Collectors.joining(","));
List<AgencyUserModel> userList = Privilege.agencyUserClient.queryByIds(adminUserIds, true).getResult();
Map<String, AgencyUserModel> userModelMap = userList.stream().collect(Collectors.toMap(AgencyUserModel::getUserId, x -> x, (oldValue, newValue) -> newValue));
Map<String, RegUnitInfo> regUnitInfoMap = regUnitInfos.stream().collect(Collectors.toMap(RegUnitInfo::getUnitCode, x -> x, (oldValue, newValue) -> newValue));
for (TzsUserInfo userInfo : userInfos) {
// 更新人员信息同步平台
TzsUserInfoDto tzsUserInfoDto = new TzsUserInfoDto();
Bean.toModel(userInfo, tzsUserInfoDto);
RegUnitInfo regUnitInfo = regUnitInfoMap.get(tzsUserInfoDto.getUnitCode());
if (regUnitInfo == null || StringUtils.isEmpty(regUnitInfo.getAdminUserId())) {
continue;
}
AgencyUserModel adminUserModel = userModelMap.get(regUnitInfo.getAdminUserId());
if (adminUserModel == null) {
continue;
}
Long companySeq = Long.valueOf(regUnitInfo.getAmosCompanySeq());
List<String> appCodesSet = adminUserModel.getAppCodes();
// 根据post同步平台的用户组
syncNewPost(tzsUserInfoDto, companySeq, appCodesSet);
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment