This commit is contained in:
2023-07-14 15:57:41 +08:00
parent 2a2ad20bba
commit 23d47f8d63
6 changed files with 42 additions and 16 deletions

View File

@ -58,4 +58,7 @@ public class SysTenant extends BaseEntity {
this.status = status;
}
public SysTenant(String tenantId) {
this.tenantId = tenantId;
}
}

View File

@ -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 = "刷新缓存")

View File

@ -18,5 +18,5 @@ public class TenantSettingDto implements Serializable {
private String tenantId;
private String mode;
private String status;
}

View File

@ -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<SysTenant> sysTenantList;
try {
BaseContext.setTenantId(TenantConstant.DEFAULT_TENANT_ID);
sysTenantList = sysTenantApiService.selectList(SysTenantParam.buildNormalSelectParam());
// 查询主库中所有正常的租户列表
List<SysTenant> sysTenantList = sysTenantApiService.selectList(SysTenantParam.buildNormalSelectParam());
for (SysTenant sysTenant : sysTenantList) {
sysTenantInitService.syncTenantData2Cache(sysTenant);
}
} finally {
BaseContext.clearTenantId();
}
for (SysTenant sysTenant : sysTenantList) {
sysTenantInitService.syncTenantData2Cache(sysTenant);
}
}
}

View File

@ -88,6 +88,14 @@ public interface SysTenantService extends SysTenantApiService {
*/
int updateMode(TenantSettingDto dto);
/**
* 修改状态
*
* @param dto dto
* @return 结果
*/
int updateStatus(TenantSettingDto dto);
/**
* 完成初始化
*

View File

@ -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) {