add
This commit is contained in:
@ -68,4 +68,9 @@ public class BaseConstant {
|
||||
* 租户 key 前缀
|
||||
*/
|
||||
public static final String TENANT_KEY_PREFIX = "tenant_";
|
||||
|
||||
/**
|
||||
* header 租户 key
|
||||
*/
|
||||
public static final String HEADER_KEY_TENANT = "tenant";
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.qiaoba.common.database.filters;
|
||||
|
||||
import com.qiaoba.common.base.constants.BaseConstant;
|
||||
import com.qiaoba.common.base.context.BaseContext;
|
||||
import com.qiaoba.common.database.config.DynamicDataSourceContext;
|
||||
import com.qiaoba.common.database.constants.DynamicDatasourceConstant;
|
||||
@ -32,7 +33,7 @@ public class DynamicDataSourceFilter extends OncePerRequestFilter {
|
||||
|
||||
@Override
|
||||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
||||
before();
|
||||
before(request);
|
||||
filterChain.doFilter(request, response);
|
||||
after();
|
||||
}
|
||||
@ -43,12 +44,13 @@ public class DynamicDataSourceFilter extends OncePerRequestFilter {
|
||||
return false;
|
||||
}
|
||||
|
||||
private void before() {
|
||||
private void before(HttpServletRequest request) {
|
||||
String tenantId = request.getHeader(BaseConstant.HEADER_KEY_TENANT);
|
||||
// todo
|
||||
//设置当前租户对应的数据源
|
||||
BaseContext.setDataSource(DynamicDatasourceConstant.DEFAULT_MASTER_DATASOURCE_KEY);
|
||||
//设置当前租户对应的租户ID
|
||||
BaseContext.setTenantId("1");
|
||||
BaseContext.setTenantId(tenantId);
|
||||
//设置当前租户对应的数据库类型
|
||||
BaseContext.setDatabaseType("MySQL");
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import com.qiaoba.common.base.result.AjaxResult;
|
||||
import com.qiaoba.common.database.entity.PageQuery;
|
||||
import com.qiaoba.common.database.entity.TableDataInfo;
|
||||
import com.qiaoba.common.poi.utils.ExcelUtil;
|
||||
import com.qiaoba.module.system.service.SysDictDataService;
|
||||
import com.qiaoba.module.system.service.SysDictTypeService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@ -27,6 +28,8 @@ import java.util.List;
|
||||
public class SysDictTypeController {
|
||||
|
||||
private final SysDictTypeService sysDictTypeService;
|
||||
private final SysDictDataService sysDictDataService;
|
||||
|
||||
|
||||
@PreAuthorize("hasAuthority('system:dict:list')")
|
||||
@GetMapping("/list")
|
||||
@ -64,4 +67,11 @@ public class SysDictTypeController {
|
||||
public AjaxResult remove(@PathVariable List<String> ids) {
|
||||
return AjaxResult.toAjax(sysDictTypeService.deleteByIds(ids));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('system:dict:remove')")
|
||||
@DeleteMapping("/refreshCache")
|
||||
public AjaxResult refreshCache() {
|
||||
sysDictDataService.resetDictCache();
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
@ -73,4 +73,9 @@ public interface SysDictDataService extends SysDictApiService {
|
||||
* @return list
|
||||
*/
|
||||
List<SysDictData> selectList(SysDictDataParam param);
|
||||
|
||||
/**
|
||||
* 重置字典缓存数据
|
||||
*/
|
||||
void resetDictCache();
|
||||
}
|
||||
|
@ -65,4 +65,5 @@ public interface SysDictTypeService {
|
||||
* @return list
|
||||
*/
|
||||
List<SysDictType> selectList(SysDictTypeParam param);
|
||||
|
||||
}
|
||||
|
@ -9,14 +9,14 @@ import com.qiaoba.auth.utils.SecurityUtil;
|
||||
import com.qiaoba.common.base.exceptions.ServiceException;
|
||||
import com.qiaoba.common.database.entity.PageQuery;
|
||||
import com.qiaoba.common.database.entity.TableDataInfo;
|
||||
import com.qiaoba.common.redis.constants.CacheConstant;
|
||||
import com.qiaoba.module.system.mapper.SysDictDataMapper;
|
||||
import com.qiaoba.module.system.service.SysDictDataService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@ -70,6 +70,11 @@ public class SysDictDataServiceImpl implements SysDictDataService {
|
||||
return sysDictDataMapper.selectList(param2Wrapper(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDictCache() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysDictData> selectByDictType(String dictType) {
|
||||
return sysDictDataMapper.selectList(param2Wrapper(new SysDictDataParam(dictType)));
|
||||
|
@ -2,19 +2,26 @@ package com.qiaoba.module.system.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.qiaoba.api.system.entity.SysDictData;
|
||||
import com.qiaoba.api.system.entity.SysDictType;
|
||||
import com.qiaoba.api.system.entity.param.SysDictDataParam;
|
||||
import com.qiaoba.api.system.entity.param.SysDictTypeParam;
|
||||
import com.qiaoba.auth.utils.SecurityUtil;
|
||||
import com.qiaoba.common.base.exceptions.ServiceException;
|
||||
import com.qiaoba.common.database.entity.PageQuery;
|
||||
import com.qiaoba.common.database.entity.TableDataInfo;
|
||||
import com.qiaoba.common.redis.constants.CacheConstant;
|
||||
import com.qiaoba.common.redis.service.RedisService;
|
||||
import com.qiaoba.module.system.mapper.SysDictTypeMapper;
|
||||
import com.qiaoba.module.system.service.SysDictTypeService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 字典类型管理 服务层实现
|
||||
@ -28,6 +35,8 @@ import java.util.List;
|
||||
public class SysDictTypeServiceImpl implements SysDictTypeService {
|
||||
|
||||
private final SysDictTypeMapper sysDictTypeMapper;
|
||||
private final RedisService redisService;
|
||||
|
||||
|
||||
@Override
|
||||
public int insert(SysDictType sysDictType) {
|
||||
@ -66,6 +75,7 @@ public class SysDictTypeServiceImpl implements SysDictTypeService {
|
||||
return sysDictTypeMapper.selectList(param2Wrapper(param));
|
||||
}
|
||||
|
||||
|
||||
private void checkAllowInsertOrUpdate(SysDictType sysDictType) {
|
||||
String dictType = sysDictTypeMapper.checkDictTypeUnique(sysDictType);
|
||||
if (StrUtil.isNotBlank(dictType)) {
|
||||
|
Reference in New Issue
Block a user