|
@@ -156,24 +156,47 @@ public class WebTenantGatewayImpl implements WebTenantGateway {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void addTenantAdmin(TenantAdminAddParam req) {
|
|
|
- // 1. 检查账号是否已存在
|
|
|
- AdminUserInfo exist = adminUserService.queryByAccount(req.getAccount());
|
|
|
- if (Objects.nonNull(exist)) {
|
|
|
- throw new BizException(ErrorEnum.USER_ALREADY_EXISTS.getErrorCode(), ErrorEnum.USER_ALREADY_EXISTS.getErrorMessage());
|
|
|
+
|
|
|
+ if (req.getUserId() == null) {
|
|
|
+ // 1. 检查账号是否已存在
|
|
|
+ AdminUserInfo exist = adminUserService.queryByAccount(req.getAccount());
|
|
|
+ if (Objects.nonNull(exist)) {
|
|
|
+ throw new BizException(ErrorEnum.USER_ALREADY_EXISTS.getErrorCode(), ErrorEnum.USER_ALREADY_EXISTS.getErrorMessage());
|
|
|
+ }
|
|
|
+ //2.保存新用户到 admin_user_info 表
|
|
|
+ AdminUserInfo adminUserInfo = CopyUtils.copy(req, AdminUserInfo.class);
|
|
|
+ adminUserInfo.setPassword(PasswordUtil.encrypt(req.getPassword()));
|
|
|
+ adminUserInfo.setUserType(AdminUserType.USER_ADMIN.getCode());
|
|
|
+ adminUserInfo.setTenantId(req.getTenantId());
|
|
|
+ adminUserService.save(adminUserInfo);
|
|
|
+
|
|
|
+ //3.保存用户角色到 tbl_user_role 表
|
|
|
+ TblUserRole userRole = new TblUserRole();
|
|
|
+ userRole.setUserId(adminUserInfo.getUserId());
|
|
|
+ userRole.setRoleId(req.getRoleId());
|
|
|
+ tblUserRoleService.save(userRole);
|
|
|
+ } else {
|
|
|
+
|
|
|
+ AdminUserInfo exist = adminUserService.queryByAccount(req.getAccount());
|
|
|
+ if (exist != null && exist.getUserId() != req.getUserId()) {
|
|
|
+ throw new BizException(ErrorEnum.USER_ALREADY_EXISTS.getErrorCode(), ErrorEnum.USER_ALREADY_EXISTS.getErrorMessage());
|
|
|
+ }
|
|
|
+ //2.保存新用户到 admin_user_info 表
|
|
|
+ BeanUtils.copyProperties(req, exist);
|
|
|
+ exist.setPassword(PasswordUtil.encrypt(req.getPassword()));
|
|
|
+ exist.setUserType(AdminUserType.USER_ADMIN.getCode());
|
|
|
+ exist.setTenantId(req.getTenantId());
|
|
|
+ adminUserService.updateAllById(exist);
|
|
|
+
|
|
|
+ //3.保存用户角色到 tbl_user_role 表
|
|
|
+ tblUserRoleService.delByUserId(exist.getUserId());
|
|
|
+ TblUserRole userRole = new TblUserRole();
|
|
|
+ userRole.setUserId(exist.getUserId());
|
|
|
+ userRole.setRoleId(req.getRoleId());
|
|
|
+ tblUserRoleService.save(userRole);
|
|
|
}
|
|
|
- //2.保存新用户到 admin_user_info 表
|
|
|
- AdminUserInfo adminUserInfo = CopyUtils.copy(req, AdminUserInfo.class);
|
|
|
- adminUserInfo.setPassword(PasswordUtil.encrypt(req.getPassword()));
|
|
|
- adminUserInfo.setUserType(AdminUserType.USER_ADMIN.getCode());
|
|
|
- adminUserInfo.setTenantId(req.getTenantId());
|
|
|
- adminUserService.save(adminUserInfo);
|
|
|
-
|
|
|
- //3.保存用户角色到 tbl_user_role 表
|
|
|
- TblUserRole userRole = new TblUserRole();
|
|
|
- userRole.setUserId(adminUserInfo.getUserId());
|
|
|
- userRole.setRoleId(req.getRoleId());
|
|
|
- tblUserRoleService.save(userRole);
|
|
|
}
|
|
|
|
|
|
@Override
|