From 23d47f8d63d1c52878598f58b99d62156696f6c3 Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 14 Jul 2023 15:57:41 +0800 Subject: [PATCH] add --- .../qiaoba/api/tenant/entity/SysTenant.java | 3 +++ .../controller/SysTenantController.java | 9 ++++++++- .../tenant/entity/dto/TenantSettingDto.java | 2 +- .../tenant/runner/SyncDataToCacheRunner.java | 17 ++++++----------- .../tenant/service/SysTenantService.java | 8 ++++++++ .../service/impl/SysTenantServiceImpl.java | 19 ++++++++++++++++--- 6 files changed, 42 insertions(+), 16 deletions(-) diff --git a/qiaoba-api/qiaoba-api-tenant/src/main/java/com/qiaoba/api/tenant/entity/SysTenant.java b/qiaoba-api/qiaoba-api-tenant/src/main/java/com/qiaoba/api/tenant/entity/SysTenant.java index b1b4387..f673b39 100644 --- a/qiaoba-api/qiaoba-api-tenant/src/main/java/com/qiaoba/api/tenant/entity/SysTenant.java +++ b/qiaoba-api/qiaoba-api-tenant/src/main/java/com/qiaoba/api/tenant/entity/SysTenant.java @@ -58,4 +58,7 @@ public class SysTenant extends BaseEntity { this.status = status; } + public SysTenant(String tenantId) { + this.tenantId = tenantId; + } } diff --git a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/controller/SysTenantController.java b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/controller/SysTenantController.java index 725d459..a0ebf3d 100644 --- a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/controller/SysTenantController.java +++ b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/controller/SysTenantController.java @@ -1,6 +1,5 @@ package com.qiaoba.module.tenant.controller; -import cn.hutool.core.bean.BeanUtil; import com.qiaoba.api.job.annotation.Log; import com.qiaoba.api.job.enums.BusinessType; import com.qiaoba.api.tenant.entity.SysTenant; @@ -78,6 +77,14 @@ public class SysTenantController { return AjaxResult.toAjax(sysTenantService.updateMode(dto)); } + @PreAuthorize("hasAuthority('tenant:edit')") + @PutMapping("/update-status") + @Operation(summary = "修改状态") + public AjaxResult updateStatus(TenantSettingDto dto) { + return AjaxResult.toAjax(sysTenantService.updateStatus(dto)); + } + + @PreAuthorize("hasAuthority('tenant:remove')") @DeleteMapping("/refreshCache") @Operation(summary = "刷新缓存") diff --git a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/entity/dto/TenantSettingDto.java b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/entity/dto/TenantSettingDto.java index 2478ee4..0416c4d 100644 --- a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/entity/dto/TenantSettingDto.java +++ b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/entity/dto/TenantSettingDto.java @@ -18,5 +18,5 @@ public class TenantSettingDto implements Serializable { private String tenantId; private String mode; - + private String status; } diff --git a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/runner/SyncDataToCacheRunner.java b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/runner/SyncDataToCacheRunner.java index 2396831..adcc262 100644 --- a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/runner/SyncDataToCacheRunner.java +++ b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/runner/SyncDataToCacheRunner.java @@ -1,11 +1,8 @@ package com.qiaoba.module.tenant.runner; -import com.qiaoba.api.system.service.SysConfigApiService; -import com.qiaoba.api.system.service.SysDictApiService; import com.qiaoba.api.tenant.entity.SysTenant; import com.qiaoba.api.tenant.entity.param.SysTenantParam; import com.qiaoba.api.tenant.service.SysTenantApiService; -import com.qiaoba.api.tenant.utils.TenantUtil; import com.qiaoba.common.base.constant.TenantConstant; import com.qiaoba.common.base.context.BaseContext; import com.qiaoba.module.tenant.service.SysTenantInitService; @@ -18,7 +15,7 @@ import org.springframework.stereotype.Component; import java.util.List; /** - * 项目启动后同步-[系统配置] + * 项目启动后同步-[租户各项配置] * * @author ailanyin * @version 1.0 @@ -35,19 +32,17 @@ public class SyncDataToCacheRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { - // 查询主库中所有正常的租户列表 - List sysTenantList; try { BaseContext.setTenantId(TenantConstant.DEFAULT_TENANT_ID); - sysTenantList = sysTenantApiService.selectList(SysTenantParam.buildNormalSelectParam()); + // 查询主库中所有正常的租户列表 + List sysTenantList = sysTenantApiService.selectList(SysTenantParam.buildNormalSelectParam()); + for (SysTenant sysTenant : sysTenantList) { + sysTenantInitService.syncTenantData2Cache(sysTenant); + } } finally { BaseContext.clearTenantId(); } - for (SysTenant sysTenant : sysTenantList) { - sysTenantInitService.syncTenantData2Cache(sysTenant); - } } - } diff --git a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/SysTenantService.java b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/SysTenantService.java index b9e2f96..fabfa4a 100644 --- a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/SysTenantService.java +++ b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/SysTenantService.java @@ -88,6 +88,14 @@ public interface SysTenantService extends SysTenantApiService { */ int updateMode(TenantSettingDto dto); + /** + * 修改状态 + * + * @param dto dto + * @return 结果 + */ + int updateStatus(TenantSettingDto dto); + /** * 完成初始化 * diff --git a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/impl/SysTenantServiceImpl.java b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/impl/SysTenantServiceImpl.java index 5303fd8..822db1f 100644 --- a/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/impl/SysTenantServiceImpl.java +++ b/qiaoba-module/qiaoba-module-tenant/src/main/java/com/qiaoba/module/tenant/service/impl/SysTenantServiceImpl.java @@ -126,7 +126,8 @@ public class SysTenantServiceImpl implements SysTenantService { @Override public int updateMode(TenantSettingDto dto) { - SysTenant sysTenant = BeanUtil.copyProperties(dto, SysTenant.class); + SysTenant sysTenant = new SysTenant(dto.getTenantId()); + sysTenant.setMode(dto.getMode()); int result = sysTenantMapper.updateById(sysTenant); if (result > BaseConstant.HANDLE_ERROR) { toCache(selectById(sysTenant.getTenantId())); @@ -134,10 +135,22 @@ public class SysTenantServiceImpl implements SysTenantService { return result; } + @Override + public int updateStatus(TenantSettingDto dto) { + SysTenant sysTenant = new SysTenant(dto.getTenantId()); + sysTenant.setStatus(dto.getStatus()); + int result = sysTenantMapper.updateById(sysTenant); + if (result > BaseConstant.HANDLE_ERROR) { + SysTenant tenant = selectById(sysTenant.getTenantId()); + toCache(tenant); + // 处理数据源 todo + } + return result; + } + @Override public int initCompleted(String tenantId) { - SysTenant sysTenant = new SysTenant(); - sysTenant.setTenantId(tenantId); + SysTenant sysTenant = new SysTenant(tenantId); sysTenant.setInitialized(BaseEnum.YES.getCode()); int result = sysTenantMapper.updateById(sysTenant); if (result > BaseConstant.HANDLE_ERROR) {