Explorar el Código

根据用户ID查询租户下拉框

hanzhengyi hace 6 meses
padre
commit
2025b3d467

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserTenantController.java

@@ -2,6 +2,7 @@ package com.usky.system.controller.web;
 
 
 import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.exception.BusinessErrorCode;
 import com.usky.common.log.annotation.Log;
 import com.usky.common.log.enums.BusinessType;
 import com.usky.system.domain.SysTenant;
@@ -45,6 +46,10 @@ public class SysUserTenantController extends BaseController {
     @DeleteMapping("/{tenantId}/{userId}")
     public ApiResult<Void> remove(@PathVariable Integer tenantId,@PathVariable Long userId)
     {
+        Boolean isDefault = sysUserTenantService.getIdByUser(tenantId,userId);
+        if (isDefault){
+            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "该用户默认租户不可解绑");
+        }
         sysUserTenantService.deleteUserTenant(tenantId,userId);
         return ApiResult.success();
     }

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysUserTenantService.java

@@ -34,4 +34,9 @@ public interface SysUserTenantService extends CrudService<SysUserTenant> {
      * 根据用户查询企业下拉框
      */
     public List<SysTenant> getTenantByUser(Long userId);
+
+    /**
+     * 根据用户查询绑定状态
+     */
+    public Boolean getIdByUser(Integer tenantId,Long userId);
 }

+ 9 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -15,6 +15,7 @@ import com.usky.system.mapper.*;
 import com.usky.system.model.LoginUser;
 import com.usky.system.service.ISysConfigService;
 import com.usky.system.service.ISysUserService;
+import com.usky.system.service.SysUserTenantService;
 import com.usky.system.service.vo.SysUserNewVO;
 import com.usky.system.service.vo.UserPostVo;
 import org.slf4j.Logger;
@@ -59,6 +60,9 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     @Autowired
     private ISysConfigService iSysConfigService;
 
+    @Autowired
+    private SysUserTenantService sysUserTenantService;
+
 
     /**
      * 根据条件分页查询用户列表
@@ -313,8 +317,11 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     public int insertUser(SysUser user) {
         // 新增用户信息
         int rows = userMapper.insertUser(user);
-        this.save(user);
-
+        SysUserTenant sysUserTenant = new SysUserTenant();
+        sysUserTenant.setUserId(user.getUserId());
+        sysUserTenant.setIsDefault(true);
+        sysUserTenant.setTenantId(user.getTenantId());
+        sysUserTenantService.save(sysUserTenant);
         // 新增用户岗位关联
         insertUserPost(user);
         // 新增用户与角色管理

+ 10 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserTenantServiceImpl.java

@@ -83,4 +83,14 @@ public class SysUserTenantServiceImpl extends AbstractCrudService<SysUserTenantM
         }
         return tenantList;
     }
+
+    @Override
+    @Transactional
+    public Boolean getIdByUser(Integer tenantId,Long userId){
+        LambdaQueryWrapper<SysUserTenant> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(SysUserTenant::getUserId,userId)
+                .eq(SysUserTenant::getTenantId,tenantId);
+        List<SysUserTenant> userTenants = this.list(queryWrapper);
+        return userTenants.get(0).getIsDefault();
+    }
 }