diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index 4a45039b3..040da7080 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -1870,39 +1870,6 @@ public class UserApplicationService { } catch (Exception e) { log.warn("同步YMS平台员工信息失败,但不影响用户保存: {}", e.getMessage()); } - //给用户分配默认普通角色权限 - RoleDo roleDo = new RoleDo(); - roleDo.setRoleCode(RoleEnum.DRIVER.getCode()); - roleDo.setOrganizationId(userEntity.getOrganizationId()); - RoleEntity roleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(roleDo); - if (null != roleEntity) { - UserRoleDo userRoleDo = new UserRoleDo(); - userRoleDo.setUserId(userEntity.getUserId()); - userRoleDo.setRoleId(roleEntity.getRoleId()); - //判断是否存在当前登录人 - LoginUser loginUser = SecurityUtils.getLoginUser(); - if (ObjectUtil.isNull(loginUser)) { - userRoleDomainService.addUserRole(userRoleDo,userEntity); - }else { - userRoleDomainService.addUserRole(userRoleDo); - } - } - //给用户分配默认普通用户角色(must) - RoleDo mustRoleDo = new RoleDo(); - mustRoleDo.setRoleCode(RoleEnum.MUST.getCode()); - mustRoleDo.setOrganizationId(userEntity.getOrganizationId()); - RoleEntity mustRoleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(mustRoleDo); - if (null != mustRoleEntity) { - UserRoleDo mustUserRoleDo = new UserRoleDo(); - mustUserRoleDo.setUserId(userEntity.getUserId()); - mustUserRoleDo.setRoleId(mustRoleEntity.getRoleId()); - LoginUser loginUser2 = SecurityUtils.getLoginUser(); - if (ObjectUtil.isNull(loginUser2)) { - userRoleDomainService.addUserRole(mustUserRoleDo, userEntity); - } else { - userRoleDomainService.addUserRole(mustUserRoleDo); - } - } //2024年3月27日16:40:15 处理用户验证码注册,首次登录redis用户数据不更新问题 //此处根据id重新查询 return userDomainService.selectByUserId(userEntity.getUserId()); @@ -1956,6 +1923,24 @@ public class UserApplicationService { userDO.setDriverEnterpriseCode(driverEnterpriseCode); UserPo userPo = registerAddUser(userDO); + // 承运企业添加司机,补分配driver角色 + RoleDo driverRoleDo = new RoleDo(); + driverRoleDo.setRoleCode(RoleEnum.DRIVER.getCode()); + driverRoleDo.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + RoleEntity driverRoleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(driverRoleDo); + if (null != driverRoleEntity) { + UserRoleDo driverUserRoleDo = new UserRoleDo(); + driverUserRoleDo.setUserId(userPo.getUserId()); + driverUserRoleDo.setRoleId(driverRoleEntity.getRoleId()); + userRoleDomainService.addUserRole(driverUserRoleDo); + // 更新user表role_code追加driver + UserDO updateRoleDO = new UserDO(); + updateRoleDO.setUserId(userPo.getUserId()); + updateRoleDO.setRoleCode((userPo.getRoleCode() != null ? userPo.getRoleCode() + "," : "") + RoleEnum.DRIVER.getCode()); + updateRoleDO.setRoleName((userPo.getRoleName() != null ? userPo.getRoleName() + "," : "") + RoleEnum.DRIVER.getName()); + userDomainService.updateUser(updateRoleDO); + } + //20240314 运输企业添加司机,默认生成一条空的司机信息方便列表查询 UserDriverDO userDriverDO = new UserDriverDO(); userDriverDO.setUserId(userPo.getUserId()); diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java index ca42936d6..524d19793 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java @@ -12,9 +12,13 @@ import com.mhd.common.log.enums.BusinessType; import com.mhd.user.application.service.UserApplicationService; import com.mhd.user.application.service.UserDriverApplicationService; import com.mhd.user.application.service.UserShipperApplicationService; +import com.mhd.user.domain.roleAggregate.repository.todo.RoleDo; import com.mhd.user.domain.userAggregate.repository.po.UserDocumentWarningQueryPo; import com.mhd.user.domain.userAggregate.repository.todo.*; import com.mhd.user.domain.userAggregate.service.UserRoleDomainService; +import com.mhd.user.domain.roleAggregate.service.RoleDomainService; +import com.mhd.user.domain.roleAggregate.entity.RoleEntity; +import com.mhd.common.core.enums.RoleEnum; import com.mhd.user.interfaces.assember.*; import com.mhd.user.interfaces.dto.addDTO.*; import com.mhd.user.interfaces.dto.queryDTO.UserDataPermissionQueryDTO; @@ -75,6 +79,9 @@ public class UserAPI extends BaseController { @Autowired private UserRoleDomainService userRoleDomainService; + @Resource + private RoleDomainService roleDomainService; + @Resource private TokenService tokenService; @@ -335,6 +342,27 @@ public class UserAPI extends BaseController { if (ObjectUtil.isNotNull(userPo)) { sysUserVo.setUserid(userPo.getUserId()); } + // 小程序注册用户默认分配普通用户角色(must) + try { + RoleDo mustRoleDo = new RoleDo(); + mustRoleDo.setRoleCode(RoleEnum.MUST.getCode()); + mustRoleDo.setOrganizationId(userPo.getOrganizationId()); + RoleEntity mustRoleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(mustRoleDo); + if (null != mustRoleEntity) { + UserRoleDo mustUserRoleDo = new UserRoleDo(); + mustUserRoleDo.setUserId(userPo.getUserId()); + mustUserRoleDo.setRoleId(mustRoleEntity.getRoleId()); + userRoleDomainService.addUserRole(mustUserRoleDo); + // 更新user表role_code和role_name + UserDO updateRoleDO = new UserDO(); + updateRoleDO.setUserId(userPo.getUserId()); + updateRoleDO.setRoleCode(RoleEnum.MUST.getCode()); + updateRoleDO.setRoleName(RoleEnum.MUST.getName()); + userApplicationService.updateUser(updateRoleDO); + } + } catch (Exception e) { + log.warn("小程序注册分配默认角色失败: {}", e.getMessage()); + } sysUserVo.setUserPo(userPo); return R.ok(sysUserVo, "操作成功"); }