Commit 038d3aa8 authored by yangyang's avatar yangyang

fix: 30396 【现场问题】使用单位登录提示无该类型权限

parent ad997621
......@@ -499,8 +499,8 @@ public class TzsUserInfoController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/refreshUserGroupInfo")
@ApiOperation(httpMethod = "POST", value = "同步人员信息", notes = "同步人员信息")
public ResponseModel<TzsUserInfoDto> refreshUserInfo(@RequestBody List<String> userIds) {
tzsUserInfoServiceImpl.refreshUserGroupInfo(userIds);
public ResponseModel<TzsUserInfoDto> refreshUserInfo(@RequestBody List<String> userIds, @RequestParam(required = false) boolean refreshNonAdmin) {
tzsUserInfoServiceImpl.refreshUserGroupInfo(userIds, refreshNonAdmin);
return ResponseHelper.buildResponse(null);
}
}
......@@ -2413,19 +2413,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
}
public void refreshAdminUserRole(List<TzsUserInfo> userInfos, List<String> userId) {
List<String> adminUserIdList;
if (ValidationUtil.isEmpty(userInfos)) {
adminUserIdList = userId;
} else {
List<String> amosUserIdList = userInfos.stream().map(TzsUserInfo::getAmosUserId).collect(Collectors.toList());
adminUserIdList = userId.stream().filter(id -> !amosUserIdList.contains(id)).collect(Collectors.toList());
}
if (ValidationUtil.isEmpty(adminUserIdList)) {
return;
}
List<RegUnitInfo> regUnitInfos = regUnitInfoService.lambdaQuery().in(RegUnitInfo::getAdminUserId, adminUserIdList).list();
public void refreshAdminUserRole(List<RegUnitInfo> regUnitInfos) {
List<String> useUnitCodes = regUnitInfos.stream().map(RegUnitInfo::getUnitCode).collect(Collectors.toList());
if (ValidationUtil.isEmpty(useUnitCodes)) {
return;
......@@ -2477,14 +2465,29 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
}
public void refreshUserGroupInfo(List<String> userId) {
public void refreshUserGroupInfo(List<String> userId, boolean refreshNonAdmin) {
if (ObjectUtils.isEmpty(userId)) {
return;
}
List<RegUnitInfo> adminRegUnitInfos = regUnitInfoService.lambdaQuery().in(RegUnitInfo::getAdminUserId, userId).list();
refreshAdminUserRole(adminRegUnitInfos);
if (!refreshNonAdmin) {
return;
}
List<String> amosAdminUserIdList = adminRegUnitInfos.stream().map(RegUnitInfo::getAdminUserId).collect(Collectors.toList());
userId = userId.stream().filter(id -> !amosAdminUserIdList.contains(id)).collect(Collectors.toList());
if (ObjectUtils.isEmpty(userId)) {
return;
}
// 根据userId获取用户
List<TzsUserInfo> userInfos = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.in(TzsUserInfo::getAmosUserId, userId));
refreshAdminUserRole(userInfos, userId);
.in(TzsUserInfo::getAmosUserId, userId).eq(TzsUserInfo::getIsDelete, false));
if (ObjectUtils.isEmpty(userInfos)) {
return;
}
......
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