diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java index 7ce985d8..339f3eb2 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java @@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.jero.common.constant.CommonConstant; +import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.DateUtils; import com.jero.common.util.PasswordUtil; import com.jero.common.util.UUIDGenerator; @@ -73,6 +75,9 @@ public class SyncIamService { @Resource private ISysRolePermissionService sysRolePermissionService; + @Resource + private ISysBaseAPI sysBaseAPI; + private String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; /** @@ -811,11 +816,20 @@ public class SyncIamService { List userRoleList = new ArrayList<>(); for (UserRoleDto userRoleDto : userRoleDtoList){ - SysUserRole sysUserRole = new SysUserRole(); - sysUserRole.setUserId(userRoleDto.getUserId()); - sysUserRole.setRoleId(userRoleDto.getArId()); + if (CharSequenceUtil.isNotEmpty(userRoleDto.getAccountCode())){ + SysUserRole sysUserRole = new SysUserRole(); + // 根据 accountCode 字段(即用户名username) 从数据库里查出来用户id,在给到sysUserRole + LoginUser userInfo = sysBaseAPI.getUserByName(userRoleDto.getAccountCode()); - userRoleList.add(sysUserRole); + if (userInfo == null){ + continue; + } + + sysUserRole.setUserId(userInfo.getId()); + sysUserRole.setRoleId(userRoleDto.getArId()); + + userRoleList.add(sysUserRole); + } } this.sysUserRoleService.saveBatch(userRoleList); } catch (Exception e){