add
This commit is contained in:
@ -67,8 +67,8 @@ public class SysTenantController {
|
||||
|
||||
@GetMapping("/normal-list")
|
||||
@Operation(summary = "获取正常列表[开放接口]")
|
||||
public TableDataInfo<SysTenant> normalPageList(PageQuery pageQuery) {
|
||||
return sysTenantService.selectPageList(SysTenantParam.buildNormalSelectParam(), pageQuery);
|
||||
public TableDataInfo<SysTenant> normalPageList(@RequestParam(required = false) String companyName,PageQuery pageQuery) {
|
||||
return sysTenantService.selectPageList(SysTenantParam.buildNormalSelectParam(companyName), pageQuery);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tenant:edit')")
|
||||
|
@ -15,13 +15,6 @@ import java.util.List;
|
||||
*/
|
||||
public interface SysTenantDatasourceMapper extends BaseMapper<SysTenantDatasource> {
|
||||
|
||||
/**
|
||||
* 查询所有数据源模式的租户ID
|
||||
*
|
||||
* @return tenantIds
|
||||
*/
|
||||
List<String> selectTenantIds();
|
||||
|
||||
/**
|
||||
* 通过IP查询租户数据源信息 todo select *
|
||||
*
|
||||
|
@ -6,7 +6,7 @@ import com.qiaoba.module.tenant.service.SysTenantService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 项目启动完成后-将主库中的租户信息同步到 Redis 中
|
||||
@ -15,7 +15,7 @@ import org.springframework.stereotype.Service;
|
||||
* @version 1.0
|
||||
* @since 2022-09-22 04:20:28
|
||||
*/
|
||||
@Service
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class SysTenantRunner implements ApplicationRunner {
|
||||
|
||||
|
@ -81,13 +81,6 @@ public interface SysTenantDatasourceService {
|
||||
*/
|
||||
List<SysTenantDatasource> selectList(SysTenantDatasourceParam param);
|
||||
|
||||
/**
|
||||
* 查询所有数据源模式的租户ID
|
||||
*
|
||||
* @return tenantIds
|
||||
*/
|
||||
List<String> selectTenantIds();
|
||||
|
||||
/**
|
||||
* 将租户下的除datasourceId之外的其他数据源设置为备用
|
||||
*
|
||||
|
@ -3,6 +3,7 @@ package com.qiaoba.module.tenant.service;
|
||||
import com.qiaoba.api.tenant.entity.SysTenant;
|
||||
import com.qiaoba.api.tenant.entity.dto.SysTenantDto;
|
||||
import com.qiaoba.api.tenant.entity.param.SysTenantParam;
|
||||
import com.qiaoba.api.tenant.service.SysTenantApiService;
|
||||
import com.qiaoba.common.database.entity.PageQuery;
|
||||
import com.qiaoba.common.database.entity.TableDataInfo;
|
||||
import com.qiaoba.module.tenant.entity.dto.TenantSettingDto;
|
||||
@ -14,7 +15,7 @@ import com.qiaoba.module.tenant.entity.dto.TenantSettingDto;
|
||||
* @version 1.0
|
||||
* @since 2023/5/30 10:55
|
||||
*/
|
||||
public interface SysTenantService {
|
||||
public interface SysTenantService extends SysTenantApiService {
|
||||
|
||||
/**
|
||||
* 新增租户
|
||||
|
@ -1,15 +1,16 @@
|
||||
package com.qiaoba.module.tenant.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.qiaoba.api.tenant.entity.SysTenant;
|
||||
import com.qiaoba.api.tenant.entity.SysTenantDatasource;
|
||||
import com.qiaoba.api.tenant.entity.param.SysTenantDatasourceParam;
|
||||
import com.qiaoba.api.tenant.entity.param.SysTenantParam;
|
||||
import com.qiaoba.common.base.enums.BaseEnum;
|
||||
import com.qiaoba.common.base.enums.DataBaseEnum;
|
||||
import com.qiaoba.common.base.exception.ServiceException;
|
||||
import com.qiaoba.common.database.entity.DynamicDataSource;
|
||||
import com.qiaoba.common.database.service.DynamicDatasourceService;
|
||||
import com.qiaoba.module.tenant.service.SysTenantDatasourceService;
|
||||
import com.qiaoba.module.tenant.service.SysTenantService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -27,14 +28,16 @@ import java.util.*;
|
||||
public class DynamicDatasourceServiceImpl implements DynamicDatasourceService {
|
||||
|
||||
private final SysTenantDatasourceService sysTenantDatasourceService;
|
||||
private final SysTenantService sysTenantService;
|
||||
|
||||
@Override
|
||||
public Map<String, List<DynamicDataSource>> loadAllTenantDatasource() {
|
||||
Map<String, List<DynamicDataSource>> datasourceMap = new LinkedHashMap<>();
|
||||
List<String> tenantIds = sysTenantDatasourceService.selectTenantIds();
|
||||
for (String tenantId : tenantIds) {
|
||||
List<SysTenantDatasource> datasourceList = sysTenantDatasourceService.selectList(new SysTenantDatasourceParam(tenantId));
|
||||
datasourceMap.put(tenantId, transformList(datasourceList));
|
||||
List<SysTenant> sysTenants = sysTenantService.selectList(SysTenantParam.buildNormalSelectParam());
|
||||
for (SysTenant sysTenant : sysTenants) {
|
||||
List<SysTenantDatasource> datasourceList = sysTenantDatasourceService.selectList(new SysTenantDatasourceParam(sysTenant.getTenantId()));
|
||||
datasourceMap.put(sysTenant.getTenantId(), transformList(datasourceList));
|
||||
|
||||
}
|
||||
return datasourceMap;
|
||||
}
|
||||
|
@ -108,11 +108,6 @@ public class SysTenantDatasourceServiceImpl implements SysTenantDatasourceServic
|
||||
return sysTenantDatasourceMapper.selectList(paramToWrapper(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> selectTenantIds() {
|
||||
return sysTenantDatasourceMapper.selectTenantIds();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBackupDatasourceExcludeId(String tenantId, String excludeId) {
|
||||
sysTenantDatasourceMapper.setBackupDatasourceExcludeId(tenantId, excludeId, BaseEnum.NO.getCode());
|
||||
|
@ -39,7 +39,7 @@ import java.util.Objects;
|
||||
@Configuration
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class SysTenantServiceImpl implements SysTenantService, SysTenantApiService {
|
||||
public class SysTenantServiceImpl implements SysTenantService {
|
||||
|
||||
|
||||
private final SysTenantMapper sysTenantMapper;
|
||||
@ -150,6 +150,7 @@ public class SysTenantServiceImpl implements SysTenantService, SysTenantApiServi
|
||||
QueryWrapper<SysTenant> wrapper = new QueryWrapper<>();
|
||||
wrapper.lambda()
|
||||
.eq(StrUtil.isNotBlank(param.getStatus()), SysTenant::getStatus, param.getStatus())
|
||||
.eq(StrUtil.isNotBlank(param.getInitialized()), SysTenant::getInitialized, param.getInitialized())
|
||||
.like(StrUtil.isNotBlank(param.getCompanyName()), SysTenant::getCompanyName, param.getCompanyName())
|
||||
.like(StrUtil.isNotBlank(param.getContactName()), SysTenant::getContactName, param.getContactName());
|
||||
|
||||
|
@ -3,9 +3,6 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.qiaoba.module.tenant.mapper.SysTenantDatasourceMapper">
|
||||
<select id="selectTenantIds" resultType="string">
|
||||
SELECT tenant_id FROM sys_tenant_datasource GROUP BY tenant_id
|
||||
</select>
|
||||
|
||||
<update id="setBackupDatasourceExcludeId">
|
||||
update sys_tenant_datasource set is_primary = #{code} where tenant_id = #{tenantId} and datasource_id != #{excludeId}
|
||||
@ -14,4 +11,5 @@
|
||||
<select id="selectByIp" resultType="com.qiaoba.api.tenant.entity.SysTenantDatasource">
|
||||
select * from sys_tenant_datasource where ip = #{ip} and tenant_id = #{tenantId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
Reference in New Issue
Block a user