升级 Knife4j 版本 , 增加租户管理的功能

This commit is contained in:
zhonghua1
2025-12-20 17:45:38 +08:00
parent 08bc957bd0
commit 7e12a154c5
6 changed files with 213 additions and 2 deletions

View File

@@ -13,6 +13,7 @@ import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
* <p>
@@ -139,5 +140,141 @@ public class TenantServiceImpl extends ServiceImpl<TenantMapper, Tenant> impleme
return queryWrapper;
}
@Override
public Map<String, Object> addTenant(Tenant tenant) {
Map<String, Object> result = new HashMap<>();
try {
// 验证必填字段
if (tenant.getTenantCode() == null || tenant.getTenantCode().trim().isEmpty()) {
result.put("success", false);
result.put("message", "租户编码不能为空");
return result;
}
if (tenant.getTenantName() == null || tenant.getTenantName().trim().isEmpty()) {
result.put("success", false);
result.put("message", "租户名称不能为空");
return result;
}
// 检查租户编码是否已存在
LambdaQueryWrapper<Tenant> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Tenant::getTenantCode, tenant.getTenantCode());
long count = this.count(queryWrapper);
if (count > 0) {
result.put("success", false);
result.put("message", "租户编码已存在");
return result;
}
// 生成UUID作为主键
tenant.setId(UUID.randomUUID().toString().replace("-", ""));
tenant.setCreateTime(LocalDateTime.now());
tenant.setUpdateTime(LocalDateTime.now());
// 设置默认状态为启用
if (tenant.getStatus() == null) {
tenant.setStatus(1);
}
boolean success = this.save(tenant);
if (success) {
result.put("success", true);
result.put("message", "租户添加成功");
result.put("data", tenant);
} else {
result.put("success", false);
result.put("message", "租户添加失败");
}
} catch (Exception e) {
result.put("success", false);
result.put("message", "租户添加异常:" + e.getMessage());
}
return result;
}
@Override
public Map<String, Object> updateTenant(Tenant tenant) {
Map<String, Object> result = new HashMap<>();
try {
if (tenant.getId() == null || tenant.getId().trim().isEmpty()) {
result.put("success", false);
result.put("message", "租户ID不能为空");
return result;
}
// 检查租户是否存在
Tenant existingTenant = this.getById(tenant.getId());
if (existingTenant == null) {
result.put("success", false);
result.put("message", "租户不存在");
return result;
}
// 如果修改了租户编码,检查新编码是否已存在
if (tenant.getTenantCode() != null && !tenant.getTenantCode().equals(existingTenant.getTenantCode())) {
LambdaQueryWrapper<Tenant> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Tenant::getTenantCode, tenant.getTenantCode());
long count = this.count(queryWrapper);
if (count > 0) {
result.put("success", false);
result.put("message", "租户编码已存在");
return result;
}
}
// 设置更新时间
tenant.setUpdateTime(LocalDateTime.now());
// 不更新创建时间
tenant.setCreateTime(existingTenant.getCreateTime());
boolean success = this.updateById(tenant);
if (success) {
result.put("success", true);
result.put("message", "租户信息更新成功");
result.put("data", tenant);
} else {
result.put("success", false);
result.put("message", "租户信息更新失败");
}
} catch (Exception e) {
result.put("success", false);
result.put("message", "更新异常:" + e.getMessage());
}
return result;
}
@Override
public Map<String, Object> deleteTenant(String id) {
Map<String, Object> result = new HashMap<>();
try {
if (id == null || id.trim().isEmpty()) {
result.put("success", false);
result.put("message", "租户ID不能为空");
return result;
}
// 检查租户是否存在
Tenant tenant = this.getById(id);
if (tenant == null) {
result.put("success", false);
result.put("message", "租户不存在");
return result;
}
boolean success = this.removeById(id);
if (success) {
result.put("success", true);
result.put("message", "租户删除成功");
} else {
result.put("success", false);
result.put("message", "租户删除失败");
}
} catch (Exception e) {
result.put("success", false);
result.put("message", "删除异常:" + e.getMessage());
}
return result;
}
}