ludc
2023-03-16 e12e717a045c4b5d9893ddac9135c1721e7a0cc3
Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
@@ -38,6 +38,7 @@
import org.springblade.system.cache.DictCache;
import org.springblade.system.cache.ParamCache;
import org.springblade.system.cache.SysCache;
import org.springblade.system.entity.RoleMenu;
import org.springblade.system.entity.Tenant;
import org.springblade.system.enums.DictEnum;
import org.springblade.system.feign.ISysClient;
@@ -84,18 +85,6 @@
      }
      String tenantId = user.getTenantId();
      Tenant tenant = SysCache.getTenant(tenantId);
      if (Func.isNotEmpty(tenant)) {
         Integer accountNumber = tenant.getAccountNumber();
         if (tenantProperties.getLicense()) {
            String licenseKey = tenant.getLicenseKey();
            String decrypt = DesUtil.decryptFormHex(licenseKey, TenantConstant.DES_KEY);
            accountNumber = JsonUtil.parse(decrypt, Tenant.class).getAccountNumber();
         }
         Long tenantCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId));
         if (accountNumber != null && accountNumber > 0 && accountNumber <= tenantCount) {
            throw new ServiceException("当前租户已到最大账号额度!");
         }
      }
      if (Func.isNotEmpty(user.getPassword())) {
         user.setPassword(DigestUtil.encrypt(user.getPassword()));
      }
@@ -108,6 +97,28 @@
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean submitList(List<User> users) {
      Boolean flag = true;
      for (User user : users){
         if (StringUtil.isBlank(user.getTenantId())) {
            user.setTenantId(BladeConstant.ADMIN_TENANT_ID);
         }
         String tenantId = user.getTenantId();
         if (Func.isNotEmpty(user.getPassword())) {
            user.setPassword(DigestUtil.encrypt(user.getPassword()));
         }
         Long userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId).eq(User::getAccount, user.getAccount()));
         if (userCount > 0L && Func.isEmpty(user.getId())) {
            throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
         }
         flag = save(user) && submitUserDept(user);
      }
      return flag;
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean updateUser(User user) {
      String tenantId = user.getTenantId();
      Long userCount = baseMapper.selectCount(