|
|
@@ -16,14 +16,20 @@
|
|
|
*/
|
|
|
package org.springblade.modules.system.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.common.cache.ParamCache;
|
|
|
+import org.springblade.core.cache.utils.CacheUtil;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
+import org.springblade.core.tenant.BladeTenantProperties;
|
|
|
import org.springblade.core.tenant.TenantId;
|
|
|
import org.springblade.core.tool.constant.BladeConstant;
|
|
|
+import org.springblade.core.tool.jackson.JsonUtil;
|
|
|
+import org.springblade.core.tool.support.Kv;
|
|
|
+import org.springblade.core.tool.utils.DesUtil;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.modules.system.entity.*;
|
|
|
import org.springblade.modules.system.mapper.TenantMapper;
|
|
|
@@ -38,6 +44,7 @@ import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static org.springblade.common.constant.TenantConstant.*;
|
|
|
+import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
|
|
|
|
|
|
/**
|
|
|
* 服务实现类
|
|
|
@@ -56,6 +63,7 @@ public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> imp
|
|
|
private final IRoleMenuService roleMenuService;
|
|
|
private final IDictBizService dictBizService;
|
|
|
private final IUserService userService;
|
|
|
+ private final BladeTenantProperties tenantProperties;
|
|
|
|
|
|
@Override
|
|
|
public IPage<Tenant> selectTenantPage(IPage<Tenant> page, Tenant tenant) {
|
|
|
@@ -159,6 +167,24 @@ public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> imp
|
|
|
return tenantTemp && userTemp;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean setting(Integer accountNumber, Date expireTime, String ids) {
|
|
|
+ CacheUtil.clear(SYS_CACHE);
|
|
|
+ Func.toLongList(ids).forEach(id -> {
|
|
|
+ LambdaUpdateWrapper<Tenant> luw = Wrappers.<Tenant>update().lambda()
|
|
|
+ .set(Tenant::getAccountNumber, accountNumber)
|
|
|
+ .set(Tenant::getExpireTime, expireTime)
|
|
|
+ .eq(Tenant::getId, id);
|
|
|
+ if (tenantProperties.getLicense()) {
|
|
|
+ Kv kv = Kv.create().set("accountNumber", accountNumber).set("expireTime", expireTime).set("id", id);
|
|
|
+ String licenseKey = DesUtil.encryptToHex(JsonUtil.toJson(kv), DES_KEY);
|
|
|
+ luw.set(Tenant::getLicenseKey, licenseKey);
|
|
|
+ }
|
|
|
+ update(luw);
|
|
|
+ });
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
private String getTenantId(List<String> codes) {
|
|
|
String code = tenantId.generate();
|
|
|
if (codes.contains(code)) {
|