| | |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.bean.BeanValidators; |
| | | import com.ruoyi.common.utils.spring.SpringUtils; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.system.domain.SysPost; |
| | | import com.ruoyi.system.domain.SysUserPost; |
| | | import com.ruoyi.system.domain.SysUserRole; |
| | |
| | | public class SysUserServiceImpl implements ISysUserService |
| | | { |
| | | private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); |
| | | |
| | | private static final Long ADMIN_ROLE_ID = 1L; |
| | | |
| | | private static final String MIDDLE_PLATFORM_CREATE_BY = "middlePlatform"; |
| | | |
| | | @Autowired |
| | | private SysUserMapper userMapper; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取中台账号对应的本地权限载体,本地不存在时创建独立用户并赋予管理员角色。 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public SysUser getOrCreateMiddlePlatformAdmin(String userName) |
| | | { |
| | | String account = StringUtils.trim(userName); |
| | | SysUser user = userMapper.selectUserByUserName(account); |
| | | if (StringUtils.isNotNull(user)) |
| | | { |
| | | return user; |
| | | } |
| | | |
| | | SysUser middlePlatformUser = new SysUser(); |
| | | middlePlatformUser.setUserName(account); |
| | | middlePlatformUser.setNickName(account); |
| | | // 使用随机本地密码,避免中台账号绕过中台认证直接从本地登录。 |
| | | middlePlatformUser.setPassword(SecurityUtils.encryptPassword(IdUtils.fastSimpleUUID())); |
| | | middlePlatformUser.setStatus(UserConstants.NORMAL); |
| | | middlePlatformUser.setRoleId(ADMIN_ROLE_ID); |
| | | middlePlatformUser.setCreateBy(MIDDLE_PLATFORM_CREATE_BY); |
| | | middlePlatformUser.setRemark("中台认证用户自动创建"); |
| | | insertUser(middlePlatformUser); |
| | | |
| | | SysUser createdUser = userMapper.selectUserByUserName(account); |
| | | if (StringUtils.isNull(createdUser)) |
| | | { |
| | | throw new ServiceException("中台用户本地账号创建失败"); |
| | | } |
| | | log.info("中台登录用户:{} 本地账号不存在,已自动创建并赋予管理员角色。", account); |
| | | return createdUser; |
| | | } |
| | | |
| | | /** |
| | | * 通过用户ID查询用户 |
| | | * |
| | | * @param userId 用户ID |