初始化

This commit is contained in:
2025-04-16 16:18:59 +08:00
parent 98fa23c686
commit ec056f7c11
1097 changed files with 45449 additions and 1439 deletions

View File

@@ -11,7 +11,21 @@
<packaging>pom</packaging>
<modules>
<module>tashow-common</module>
<module>tashow-framework-web</module>
<module>tashow-framework-env</module>
<module>tashow-framework-ip</module>
<module>tashow-framework-job</module>
<module>tashow-framework-monitor</module>
<module>tashow-framework-mq</module>
<module>tashow-framework-protection</module>
<module>tashow-framework-rpc</module>
<module>tashow-framework-security</module>
<module>tashow-framework-tenant</module>
<module>tashow-framework-websocket</module>
<module>tashow-data-permission</module>
<module>tashow-data-mybatis</module>
<module>tashow-data-redis</module>
<module>tashow-data-excel</module>
</modules>
<artifactId>tashow-platform-framework</artifactId>

View File

@@ -8,7 +8,8 @@ import java.util.Collection;
import java.util.function.Consumer;
import java.util.function.Function;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertList;
/**
* Array 工具类

View File

@@ -7,11 +7,11 @@ import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.util.StringUtils;
import org.springframework.web.util.UriComponents;
import org.springframework.web.util.UriComponentsBuilder;
import jakarta.servlet.http.HttpServletRequest;
import java.net.URI;
import java.nio.charset.Charset;
import java.util.Map;

View File

@@ -1,64 +0,0 @@
package cn.iocoder.yudao.framework.common.util.collection;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.function.BiFunction;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* {@link CollectionUtils} 的单元测试
*/
public class CollectionUtilsTest {
@Data
@AllArgsConstructor
private static class Dog {
private Integer id;
private String name;
private String code;
}
@Test
public void testDiffList() {
// 准备参数
Collection<Dog> oldList = Arrays.asList(
new Dog(1, "花花", "hh"),
new Dog(2, "旺财", "wc")
);
Collection<Dog> newList = Arrays.asList(
new Dog(null, "花花2", "hh"),
new Dog(null, "小白", "xb")
);
BiFunction<Dog, Dog, Boolean> sameFunc = (oldObj, newObj) -> {
boolean same = oldObj.getCode().equals(newObj.getCode());
// 如果相等的情况下,需要设置下 id后续好更新
if (same) {
newObj.setId(oldObj.getId());
}
return same;
};
// 调用
List<List<Dog>> result = CollectionUtils.diffList(oldList, newList, sameFunc);
// 断言
assertEquals(result.size(), 3);
// 断言 create
assertEquals(result.get(0).size(), 1);
assertEquals(result.get(0).get(0), new Dog(null, "小白", "xb"));
// 断言 update
assertEquals(result.get(1).size(), 1);
assertEquals(result.get(1).get(0), new Dog(1, "花花2", "hh"));
// 断言 delete
assertEquals(result.get(2).size(), 1);
assertEquals(result.get(2).get(0), new Dog(2, "旺财", "wc"));
}
}

View File

@@ -3,22 +3,21 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-spring-boot-starter-excel</artifactId>
<artifactId>tashow-data-excel</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>Excel 拓展</description>
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<dependencies>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-common</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-common</artifactId>
</dependency>
<!-- Spring 核心 -->
@@ -29,15 +28,15 @@
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-rpc</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-framework-rpc</artifactId>
<optional>true</optional>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行 Dict 的查询 -->
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-module-system-api</artifactId> <!-- 需要使用它,进行 Dict 的查询 -->
<version>${revision}</version>
</dependency>
@@ -71,8 +70,8 @@
</dependency>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-biz-ip</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-framework-ip</artifactId>
<optional>true</optional> <!-- 设置为 optional只有在 AreaConvert 的时候使用 -->
</dependency>
</dependencies>

View File

@@ -1,12 +1,12 @@
package cn.iocoder.yudao.framework.dict.config;
package com.tashow.cloud.excel.dict.config;
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
import com.tashow.cloud.excel.dict.core.DictFrameworkUtils;
import com.tashow.cloud.systemapi.api.dict.DictDataApi;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
public class YudaoDictAutoConfiguration {
public class DictAutoConfiguration {
@Bean
@SuppressWarnings("InstantiationOfUtilityClass")

View File

@@ -1,6 +1,6 @@
package cn.iocoder.yudao.framework.dict.config;
package com.tashow.cloud.excel.dict.config;
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
import com.tashow.cloud.systemapi.api.dict.DictDataApi;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients;
@@ -11,5 +11,5 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
*/
@AutoConfiguration
@EnableFeignClients(clients = DictDataApi.class) // 主要是引入相关的 API 服务
public class YudaoDictRpcAutoConfiguration {
public class DictRpcAutoConfiguration {
}

View File

@@ -1,12 +1,12 @@
package cn.iocoder.yudao.framework.dict.core;
package com.tashow.cloud.excel.dict.core;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.core.KeyValue;
import cn.iocoder.yudao.framework.common.util.cache.CacheUtils;
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.tashow.cloud.common.core.KeyValue;
import com.tashow.cloud.common.util.cache.CacheUtils;
import com.tashow.cloud.systemapi.api.dict.DictDataApi;
import com.tashow.cloud.systemapi.api.dict.dto.DictDataRespDTO;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;

View File

@@ -0,0 +1,6 @@
/**
* 字典数据模块,提供 {@link com.tashow.cloud.excel.dict.core.DictFrameworkUtils} 工具类
*
* 通过将字典缓存在内存中,保证性能
*/
package com.tashow.cloud.excel.dict;

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.excel.core.annotations;
package com.tashow.cloud.excel.excel.core.annotations;
import java.lang.annotation.*;

View File

@@ -1,13 +1,13 @@
package cn.iocoder.yudao.framework.excel.core.convert;
package com.tashow.cloud.excel.excel.core.convert;
import cn.hutool.core.convert.Convert;
import cn.iocoder.yudao.framework.ip.core.Area;
import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.tashow.cloud.ip.core.Area;
import com.tashow.cloud.ip.core.utils.AreaUtils;
import lombok.extern.slf4j.Slf4j;
/**

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.framework.excel.core.convert;
package com.tashow.cloud.excel.excel.core.convert;
import cn.hutool.core.convert.Convert;
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import com.tashow.cloud.excel.dict.core.DictFrameworkUtils;
import com.tashow.cloud.excel.excel.core.annotations.DictFormat;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;

View File

@@ -1,6 +1,6 @@
package cn.iocoder.yudao.framework.excel.core.convert;
package com.tashow.cloud.excel.excel.core.convert;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import com.tashow.cloud.common.util.json.JsonUtils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.excel.core.convert;
package com.tashow.cloud.excel.excel.core.convert;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.excel.core.handler;
package com.tashow.cloud.excel.excel.core.handler;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
@@ -6,10 +6,10 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.iocoder.yudao.framework.common.core.KeyValue;
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
import cn.iocoder.yudao.framework.excel.core.annotations.ExcelColumnSelect;
import cn.iocoder.yudao.framework.excel.core.function.ExcelColumnSelectFunction;
import com.tashow.cloud.common.core.KeyValue;
import com.tashow.cloud.excel.dict.core.DictFrameworkUtils;
import com.tashow.cloud.excel.excel.core.annotations.ExcelColumnSelect;
import com.tashow.cloud.excel.excel.core.function.ExcelColumnSelectFunction;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.write.handler.SheetWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
@@ -25,7 +25,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertList;
/**
* 基于固定 sheet 实现下拉框
@@ -155,4 +155,4 @@ public class SelectSheetWriteHandler implements SheetWriteHandler {
writeSheetHolder.getSheet().addValidationData(validation);
}
}
}

View File

@@ -1,6 +1,6 @@
package cn.iocoder.yudao.framework.excel.core.util;
package com.tashow.cloud.excel.excel.core.util;
import cn.iocoder.yudao.framework.excel.core.handler.SelectSheetWriteHandler;
import com.tashow.cloud.excel.excel.core.handler.SelectSheetWriteHandler;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.converters.longconverter.LongStringConverter;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;

View File

@@ -1,4 +1,4 @@
/**
* 基于 EasyExcel 实现 Excel 相关的操作
*/
package cn.iocoder.yudao.framework.excel;
package com.tashow.cloud.excel.excel;

View File

@@ -0,0 +1,2 @@
com.tashow.cloud.excel.dict.config.DictRpcAutoConfiguration
com.tashow.cloud.excel.dict.config.DictAutoConfiguration

View File

@@ -3,28 +3,27 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
<artifactId>tashow-data-mybatis</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>数据库连接池、多数据源、事务、MyBatis 拓展</description>
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<dependencies>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-common</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-common</artifactId>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-web</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-framework-web</artifactId>
<scope>provided</scope> <!-- 设置为 provided只有 OncePerRequestFilter 使用到 -->
</dependency>

View File

@@ -1,7 +1,7 @@
package cn.iocoder.yudao.framework.datasource.config;
package com.tashow.cloud.mybatis.datasource.config;
import cn.iocoder.yudao.framework.datasource.core.filter.DruidAdRemoveFilter;
import com.alibaba.druid.spring.boot3.autoconfigure.properties.DruidStatProperties;
import com.tashow.cloud.mybatis.datasource.core.filter.DruidAdRemoveFilter;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -17,7 +17,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@AutoConfiguration
@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理
@EnableConfigurationProperties(DruidStatProperties.class)
public class YudaoDataSourceAutoConfiguration {
public class DataSourceAutoConfiguration {
/**
* 创建 DruidAdRemoveFilter 过滤器过滤 common.js 的广告

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.datasource.core.enums;
package com.tashow.cloud.mybatis.datasource.core.enums;
/**
* 对应于多数据源中不同数据源配置

View File

@@ -1,12 +1,14 @@
package cn.iocoder.yudao.framework.datasource.core.filter;
package com.tashow.cloud.mybatis.datasource.core.filter;
import com.alibaba.druid.util.Utils;
import org.springframework.web.filter.OncePerRequestFilter;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
import java.io.IOException;
/**

View File

@@ -2,4 +2,4 @@
* 数据库连接池采用 Druid
* 多数据源采用爆米花
*/
package cn.iocoder.yudao.framework.datasource;
package com.tashow.cloud.mybatis.datasource;

View File

@@ -1,10 +1,10 @@
package cn.iocoder.yudao.framework.mybatis.config;
package com.tashow.cloud.mybatis.mybatis.config;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
import cn.iocoder.yudao.framework.mybatis.core.util.JdbcUtils;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.tashow.cloud.common.util.collection.SetUtils;
import com.tashow.cloud.mybatis.mybatis.core.util.JdbcUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.framework.mybatis.config;
package com.tashow.cloud.mybatis.mybatis.config;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.mybatis.core.handler.DefaultDBFieldHandler;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@@ -11,6 +10,7 @@ import com.baomidou.mybatisplus.extension.parser.JsqlParserGlobal;
import com.baomidou.mybatisplus.extension.parser.cache.JdkSerialCaffeineJsqlParseCache;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.tashow.cloud.mybatis.mybatis.core.handler.DefaultDBFieldHandler;
import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -26,9 +26,9 @@ import java.util.concurrent.TimeUnit;
* @author 芋道源码
*/
@AutoConfiguration(before = MybatisPlusAutoConfiguration.class) // 目的先于 MyBatis Plus 自动配置避免 @MapperScan 可能扫描不到 Mapper 打印 warn 日志
@MapperScan(value = "${yudao.info.base-package}", annotationClass = Mapper.class,
@MapperScan(value = "${tashow.info.base-package}", annotationClass = Mapper.class,
lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载目前仅用于单元测试
public class YudaoMybatisAutoConfiguration {
public class MybatisAutoConfiguration {
static {
// 动态 SQL 智能优化支持本地缓存加速解析更完善的租户复杂 XML 动态 SQL 支持静态注入缓存

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.mybatis.core.dataobject;
package com.tashow.cloud.mybatis.mybatis.core.dataobject;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.mybatis.core.enums;
package com.tashow.cloud.mybatis.mybatis.core.enums;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.DbType;

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.framework.mybatis.core.handler;
package com.tashow.cloud.mybatis.mybatis.core.handler;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
import com.tashow.cloud.web.web.core.util.WebFrameworkUtils;
import org.apache.ibatis.reflection.MetaObject;
import java.time.LocalDateTime;

View File

@@ -1,12 +1,6 @@
package cn.iocoder.yudao.framework.mybatis.core.mapper;
package com.tashow.cloud.mybatis.mybatis.core.mapper;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.SortablePageParam;
import cn.iocoder.yudao.framework.common.pojo.SortingField;
import cn.iocoder.yudao.framework.mybatis.core.util.JdbcUtils;
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -18,6 +12,12 @@ import com.baomidou.mybatisplus.extension.toolkit.Db;
import com.github.yulichang.base.MPJBaseMapper;
import com.github.yulichang.interfaces.MPJBaseJoin;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.SortablePageParam;
import com.tashow.cloud.common.pojo.SortingField;
import com.tashow.cloud.mybatis.mybatis.core.util.JdbcUtils;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;

View File

@@ -1,10 +1,10 @@
package cn.iocoder.yudao.framework.mybatis.core.query;
package com.tashow.cloud.mybatis.mybatis.core.query;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.tashow.cloud.common.util.collection.ArrayUtils;
import org.springframework.util.StringUtils;
import java.util.Collection;

View File

@@ -1,11 +1,11 @@
package cn.iocoder.yudao.framework.mybatis.core.query;
package com.tashow.cloud.mybatis.mybatis.core.query;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.github.yulichang.toolkit.MPJWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.tashow.cloud.common.util.collection.ArrayUtils;
import org.springframework.util.StringUtils;
import java.util.Collection;

View File

@@ -1,10 +1,10 @@
package cn.iocoder.yudao.framework.mybatis.core.query;
package com.tashow.cloud.mybatis.mybatis.core.query;
import cn.iocoder.yudao.framework.mybatis.core.util.JdbcUtils;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.tashow.cloud.mybatis.mybatis.core.util.JdbcUtils;
import org.springframework.util.StringUtils;
import java.util.Collection;

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.mybatis.core.type;
package com.tashow.cloud.mybatis.mybatis.core.type;
import cn.hutool.core.lang.Assert;
import cn.hutool.crypto.SecureUtil;

View File

@@ -1,7 +1,7 @@
package cn.iocoder.yudao.framework.mybatis.core.type;
package com.tashow.cloud.mybatis.mybatis.core.type;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.util.string.StrUtils;
import com.tashow.cloud.common.util.string.StrUtils;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;

View File

@@ -1,7 +1,7 @@
package cn.iocoder.yudao.framework.mybatis.core.type;
package com.tashow.cloud.mybatis.mybatis.core.type;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.util.string.StrUtils;
import com.tashow.cloud.common.util.string.StrUtils;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.mybatis.core.type;
package com.tashow.cloud.mybatis.mybatis.core.type;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;

View File

@@ -1,10 +1,10 @@
package cn.iocoder.yudao.framework.mybatis.core.util;
package com.tashow.cloud.mybatis.mybatis.core.util;
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
import cn.iocoder.yudao.framework.common.util.spring.SpringUtils;
import cn.iocoder.yudao.framework.mybatis.core.enums.DbTypeEnum;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.mybatisplus.annotation.DbType;
import com.tashow.cloud.common.util.object.ObjectUtils;
import com.tashow.cloud.common.util.spring.SpringUtils;
import com.tashow.cloud.mybatis.mybatis.core.enums.DbTypeEnum;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import javax.sql.DataSource;

View File

@@ -1,16 +1,16 @@
package cn.iocoder.yudao.framework.mybatis.core.util;
package com.tashow.cloud.mybatis.mybatis.core.util;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.SortingField;
import cn.iocoder.yudao.framework.mybatis.core.enums.DbTypeEnum;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.pojo.SortingField;
import com.tashow.cloud.mybatis.mybatis.core.enums.DbTypeEnum;
import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.schema.Column;
import net.sf.jsqlparser.schema.Table;

View File

@@ -1,4 +1,4 @@
/**
* 使用 MyBatis Plus 提升使用 MyBatis 的开发效率
*/
package cn.iocoder.yudao.framework.mybatis;
package com.tashow.cloud.mybatis.mybatis;

View File

@@ -1,12 +1,12 @@
package cn.iocoder.yudao.framework.translate.config;
package com.tashow.cloud.mybatis.translate.config;
import cn.iocoder.yudao.framework.translate.core.TranslateUtils;
import com.fhs.trans.service.impl.TransService;
import com.tashow.cloud.mybatis.translate.core.TranslateUtils;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
public class YudaoTranslateAutoConfiguration {
public class TranslateAutoConfiguration {
@Bean
@SuppressWarnings({"InstantiationOfUtilityClass", "SpringJavaInjectionPointsAutowiringInspection"})

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.translate.core;
package com.tashow.cloud.mybatis.translate.core;
import cn.hutool.core.collection.CollUtil;
import com.fhs.core.trans.vo.VO;

View File

@@ -1,4 +1,4 @@
/**
* 使用 Easy-Trans 提升使用 VO 数据翻译的开发效率
*/
package cn.iocoder.yudao.framework.translate;
package com.tashow.cloud.mybatis.translate;

View File

@@ -0,0 +1,2 @@
org.springframework.boot.env.EnvironmentPostProcessor=\
com.tashow.cloud.mybatis.mybatis.config.IdTypeEnvironmentPostProcessor

View File

@@ -0,0 +1,3 @@
com.tashow.cloud.mybatis.datasource.config.DataSourceAutoConfiguration
com.tashow.cloud.mybatis.mybatis.config.MybatisAutoConfiguration
com.tashow.cloud.mybatis.translate.config.TranslateAutoConfiguration

View File

@@ -2,12 +2,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>tashow-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>tashow-data-permission</artifactId>
<packaging>jar</packaging>
@@ -22,28 +22,28 @@
<!-- Web 相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-security</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-framework-security</artifactId>
<optional>true</optional> <!-- 可选,如果使用 DeptDataPermissionRule 必须提供 -->
</dependency>
<!-- DB 相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-data-mybatis</artifactId>
</dependency>
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-rpc</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-framework-rpc</artifactId>
<optional>true</optional>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行数据权限的获取 -->
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-module-system-api</artifactId> <!-- 需要使用它,进行数据权限的获取 -->
<version>${revision}</version>
</dependency>

View File

@@ -1,10 +1,15 @@
package com.tashow.cloud.datapermission.config;
package com.tashow.cloud.permission.config;
import com.tashow.cloud.datapermission.core.aop.DataPermissionAnnotationAdvisor;
import com.tashow.cloud.datapermission.core.db.DataPermissionRuleHandler;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRuleFactory;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRuleFactoryImpl;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
import com.tashow.cloud.permission.core.rule.DataPermissionRuleFactory;
import com.tashow.cloud.permission.core.rule.DataPermissionRuleFactoryImpl;
import com.tashow.cloud.permission.core.aop.DataPermissionAnnotationAdvisor;
import com.tashow.cloud.permission.core.db.DataPermissionRuleHandler;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import java.util.List;

View File

@@ -1,13 +1,14 @@
package com.tashow.cloud.datapermission.config;
package com.tashow.cloud.permission.config;
import com.tashow.cloud.datapermission.core.rpc.DataPermissionRequestInterceptor;
import com.tashow.cloud.datapermission.core.rpc.DataPermissionRpcWebFilter;
import com.tashow.cloud.permission.core.rpc.DataPermissionRequestInterceptor;
import com.tashow.cloud.permission.core.rpc.DataPermissionRpcWebFilter;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import static cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum.TENANT_CONTEXT_FILTER;
import static com.tashow.cloud.common.enums.WebFilterOrderEnum.TENANT_CONTEXT_FILTER;
/**
* 数据权限针对 RPC 的自动配置类

View File

@@ -1,10 +1,10 @@
package com.tashow.cloud.datapermission.config;
package com.tashow.cloud.permission.config;
import cn.hutool.extra.spring.SpringUtil;
import com.tashow.cloud.datapermission.core.rule.dept.DeptDataPermissionRule;
import com.tashow.cloud.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import com.tashow.cloud.permission.core.rule.dept.DeptDataPermissionRule;
import com.tashow.cloud.permission.core.rule.dept.DeptDataPermissionRuleCustomizer;
import com.tashow.cloud.security.security.core.LoginUser;
import com.tashow.cloud.systemapi.api.permission.PermissionApi;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.annotation;
package com.tashow.cloud.permission.core.annotation;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import java.lang.annotation.*;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.aop;
package com.tashow.cloud.permission.core.aop;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import org.aopalliance.aop.Advice;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.aop;
package com.tashow.cloud.permission.core.aop;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import lombok.Getter;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.aop;
package com.tashow.cloud.permission.core.aop;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.alibaba.ttl.TransmittableThreadLocal;
import java.util.LinkedList;

View File

@@ -1,9 +1,9 @@
package com.tashow.cloud.datapermission.core.db;
package com.tashow.cloud.permission.core.db;
import cn.hutool.core.collection.CollUtil;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRuleFactory;
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import com.tashow.cloud.permission.core.rule.DataPermissionRuleFactory;
import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler;
import lombok.RequiredArgsConstructor;
import net.sf.jsqlparser.expression.Expression;

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.datapermission.core.rpc;
package com.tashow.cloud.permission.core.rpc;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import feign.RequestInterceptor;
import feign.RequestTemplate;

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.datapermission.core.rpc;
package com.tashow.cloud.permission.core.rpc;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.datapermission.core.util.DataPermissionUtils;
import com.tashow.cloud.permission.core.util.DataPermissionUtils;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.datapermission.core.rule;
package com.tashow.cloud.permission.core.rule;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import net.sf.jsqlparser.expression.Alias;

View File

@@ -1,9 +1,9 @@
package com.tashow.cloud.datapermission.core.rule;
package com.tashow.cloud.permission.core.rule;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import lombok.RequiredArgsConstructor;
import java.util.Collections;

View File

@@ -1,18 +1,18 @@
package com.tashow.cloud.datapermission.core.rule.dept;
package com.tashow.cloud.permission.core.rule.dept;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import com.tashow.cloud.common.enums.UserTypeEnum;
import com.tashow.cloud.common.util.collection.CollectionUtils;
import com.tashow.cloud.common.util.json.JsonUtils;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import com.tashow.cloud.security.security.core.LoginUser;
import com.tashow.cloud.security.security.core.util.SecurityFrameworkUtils;
import com.tashow.cloud.systemapi.api.permission.PermissionApi;
import com.tashow.cloud.systemapi.api.permission.dto.DeptDataPermissionRespDTO;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.datapermission.core.rule.dept;
package com.tashow.cloud.permission.core.rule.dept;
/**
* {@link DeptDataPermissionRule} 的自定义配置接口

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.datapermission.core.util;
package com.tashow.cloud.permission.core.util;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import lombok.SneakyThrows;
import java.util.concurrent.Callable;

View File

@@ -1,4 +1,4 @@
/**
* 基于 JSqlParser 解析 SQL增加数据权限的 WHERE 条件
*/
package com.tashow.cloud.datapermission;
package com.tashow.cloud.permission;

View File

@@ -1,3 +1,3 @@
com.tashow.cloud.datapermission.config.DataPermissionAutoConfiguration
com.tashow.cloud.datapermission.config.DeptDataPermissionAutoConfiguration
com.tashow.cloud.datapermission.config.DataPermissionRpcAutoConfiguration
com.tashow.cloud.permission.config.DataPermissionAutoConfiguration
com.tashow.cloud.permission.config.DeptDataPermissionAutoConfiguration
com.tashow.cloud.permission.config.DataPermissionRpcAutoConfiguration

View File

@@ -2,23 +2,22 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-spring-boot-starter-redis</artifactId>
<artifactId>tashow-data-redis</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>Redis 封装拓展</description>
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<dependencies>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-common</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-common</artifactId>
</dependency>
<!-- DB 相关 -->

View File

@@ -1,9 +1,8 @@
package cn.iocoder.yudao.framework.redis.config;
package com.tashow.cloud.redis.config;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.redis.core.TimeoutRedisCacheManager;
import com.tashow.cloud.redis.core.TimeoutRedisCacheManager;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.cache.CacheProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
@@ -19,15 +18,16 @@ import org.springframework.util.StringUtils;
import java.util.Objects;
import static cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration.buildRedisSerializer;
import static com.tashow.cloud.redis.config.RedisAutoConfiguration.buildRedisSerializer;
/**
* Cache 配置类基于 Redis 实现
*/
@AutoConfiguration
@EnableConfigurationProperties({CacheProperties.class, YudaoCacheProperties.class})
@EnableConfigurationProperties({org.springframework.boot.autoconfigure.cache.CacheProperties.class, CacheProperties.class})
@EnableCaching
public class YudaoCacheAutoConfiguration {
public class CacheAutoConfiguration {
/**
* RedisCacheConfiguration Bean
@@ -36,7 +36,7 @@ public class YudaoCacheAutoConfiguration {
*/
@Bean
@Primary
public RedisCacheConfiguration redisCacheConfiguration(CacheProperties cacheProperties) {
public RedisCacheConfiguration redisCacheConfiguration(org.springframework.boot.autoconfigure.cache.CacheProperties cacheProperties) {
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();
// 设置使用 : 单冒号而不是双 :: 冒号避免 Redis Desktop Manager 多余空格
// 详细可见 https://blog.csdn.net/chuixue24/article/details/103928965 博客
@@ -54,7 +54,7 @@ public class YudaoCacheAutoConfiguration {
RedisSerializationContext.SerializationPair.fromSerializer(buildRedisSerializer()));
// 设置 CacheProperties.Redis 的属性
CacheProperties.Redis redisProperties = cacheProperties.getRedis();
org.springframework.boot.autoconfigure.cache.CacheProperties.Redis redisProperties = cacheProperties.getRedis();
if (redisProperties.getTimeToLive() != null) {
config = config.entryTtl(redisProperties.getTimeToLive());
}
@@ -70,7 +70,7 @@ public class YudaoCacheAutoConfiguration {
@Bean
public RedisCacheManager redisCacheManager(RedisTemplate<String, Object> redisTemplate,
RedisCacheConfiguration redisCacheConfiguration,
YudaoCacheProperties yudaoCacheProperties) {
CacheProperties yudaoCacheProperties) {
// 创建 RedisCacheWriter 对象
RedisConnectionFactory connectionFactory = Objects.requireNonNull(redisTemplate.getConnectionFactory());
RedisCacheWriter cacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory,

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.redis.config;
package com.tashow.cloud.redis.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -9,10 +9,10 @@ import org.springframework.validation.annotation.Validated;
*
* @author Wanwan
*/
@ConfigurationProperties("yudao.cache")
@ConfigurationProperties("tashow.cache")
@Data
@Validated
public class YudaoCacheProperties {
public class CacheProperties {
/**
* {@link #redisScanBatchSize} 默认值

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.redis.config;
package com.tashow.cloud.redis.config;
import cn.hutool.core.util.ReflectUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -14,7 +14,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
* Redis 配置类
*/
@AutoConfiguration(before = RedissonAutoConfigurationV2.class) // 目的使用自己定义的 RedisTemplate Bean
public class YudaoRedisAutoConfiguration {
public class RedisAutoConfiguration {
/**
* 创建 RedisTemplate Bean使用 JSON 序列化方式

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.redis.core;
package com.tashow.cloud.redis.core;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;

View File

@@ -0,0 +1,2 @@
com.tashow.cloud.redis.config.RedisAutoConfiguration
com.tashow.cloud.redis.config.CacheAutoConfiguration

View File

@@ -3,12 +3,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-spring-boot-starter-env</artifactId>
<artifactId>tashow-framework-env</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
@@ -16,7 +16,6 @@
开发环境拓展,实现类似阿里的特性环境的能力
1. https://segmentfault.com/a/1190000018022987
</description>
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<properties>
<maven.compiler.source>8</maven.compiler.source>
@@ -25,8 +24,8 @@
<dependencies>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-common</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-common</artifactId>
</dependency>
<!-- Spring 核心 -->

View File

@@ -1,15 +1,16 @@
package cn.iocoder.yudao.framework.env.config;
package com.tashow.cloud.env.config;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
import cn.iocoder.yudao.framework.env.core.util.EnvUtils;
import com.tashow.cloud.common.util.collection.SetUtils;
import com.tashow.cloud.env.core.util.EnvUtils;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.core.env.ConfigurableEnvironment;
import java.util.Set;
import static cn.iocoder.yudao.framework.env.core.util.EnvUtils.HOST_NAME_VALUE;
import static com.tashow.cloud.env.core.util.EnvUtils.HOST_NAME_VALUE;
/**
* 多环境的 {@link EnvEnvironmentPostProcessor} 实现类

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.env.config;
package com.tashow.cloud.env.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -8,11 +8,11 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author 芋道源码
*/
@ConfigurationProperties(prefix = "yudao.env")
@ConfigurationProperties(prefix = "tashow.env")
@Data
public class EnvProperties {
public static final String TAG_KEY = "yudao.env.tag";
public static final String TAG_KEY = "tashow.env.tag";
/**
* 环境标签

View File

@@ -1,7 +1,7 @@
package cn.iocoder.yudao.framework.env.config;
package com.tashow.cloud.env.config;
import cn.iocoder.yudao.framework.env.core.fegin.EnvLoadBalancerClientFactory;
import cn.iocoder.yudao.framework.env.core.fegin.EnvRequestInterceptor;
import com.tashow.cloud.env.core.fegin.EnvLoadBalancerClientFactory;
import com.tashow.cloud.env.core.fegin.EnvRequestInterceptor;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -21,7 +21,7 @@ import java.util.List;
*/
@AutoConfiguration
@EnableConfigurationProperties(EnvProperties.class)
public class YudaoEnvRpcAutoConfiguration {
public class EnvRpcAutoConfiguration {
// ========== Feign 相关 ==========

View File

@@ -1,7 +1,7 @@
package cn.iocoder.yudao.framework.env.config;
package com.tashow.cloud.env.config;
import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
import cn.iocoder.yudao.framework.env.core.web.EnvWebFilter;
import com.tashow.cloud.common.enums.WebFilterOrderEnum;
import com.tashow.cloud.env.core.web.EnvWebFilter;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -16,7 +16,7 @@ import org.springframework.context.annotation.Bean;
@AutoConfiguration
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@EnableConfigurationProperties(EnvProperties.class)
public class YudaoEnvWebAutoConfiguration {
public class EnvWebAutoConfiguration {
/**
* 创建 {@link EnvWebFilter} Bean

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.env.core.context;
package com.tashow.cloud.env.core.context;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.ttl.TransmittableThreadLocal;

View File

@@ -1,11 +1,11 @@
package cn.iocoder.yudao.framework.env.core.fegin;
package com.tashow.cloud.env.core.fegin;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.env.core.context.EnvContextHolder;
import cn.iocoder.yudao.framework.env.core.util.EnvUtils;
import com.alibaba.cloud.nacos.balancer.NacosBalancer;
import com.tashow.cloud.common.util.collection.CollectionUtils;
import com.tashow.cloud.env.core.context.EnvContextHolder;
import com.tashow.cloud.env.core.util.EnvUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.ObjectProvider;

View File

@@ -1,4 +1,4 @@
package cn.iocoder.yudao.framework.env.core.fegin;
package com.tashow.cloud.env.core.fegin;
import org.springframework.cloud.client.ServiceInstance;

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.framework.env.core.fegin;
package com.tashow.cloud.env.core.fegin;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.env.core.context.EnvContextHolder;
import cn.iocoder.yudao.framework.env.core.util.EnvUtils;
import com.tashow.cloud.env.core.context.EnvContextHolder;
import com.tashow.cloud.env.core.util.EnvUtils;
import feign.RequestInterceptor;
import feign.RequestTemplate;

View File

@@ -0,0 +1 @@
package com.tashow.cloud.env.core;

View File

@@ -1,12 +1,12 @@
package cn.iocoder.yudao.framework.env.core.util;
package com.tashow.cloud.env.core.util;
import cn.iocoder.yudao.framework.env.config.EnvProperties;
import com.tashow.cloud.env.config.EnvProperties;
import feign.RequestTemplate;
import jakarta.servlet.http.HttpServletRequest;
import lombok.SneakyThrows;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.core.env.Environment;
import jakarta.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.util.Objects;

View File

@@ -1,14 +1,14 @@
package cn.iocoder.yudao.framework.env.core.web;
package com.tashow.cloud.env.core.web;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.env.core.context.EnvContextHolder;
import cn.iocoder.yudao.framework.env.core.util.EnvUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import com.tashow.cloud.env.core.context.EnvContextHolder;
import com.tashow.cloud.env.core.util.EnvUtils;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
import java.io.IOException;
/**

View File

@@ -0,0 +1,2 @@
org.springframework.boot.env.EnvironmentPostProcessor=\
com.tashow.cloud.env.config.EnvEnvironmentPostProcessor

View File

@@ -0,0 +1,2 @@
com.tashow.cloud.env.config.EnvWebAutoConfiguration
com.tashow.cloud.env.config.EnvRpcAutoConfiguration

View File

@@ -2,13 +2,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-spring-boot-starter-biz-ip</artifactId>
<artifactId>tashow-framework-ip</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
@@ -18,12 +18,11 @@
2. 城市功能:查询城市编码对应的城市信息
基于 https://github.com/modood/Administrative-divisions-of-China 实现
</description>
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<dependencies>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-common</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-common</artifactId>
</dependency>
<!-- IP地址检索 -->

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.framework.ip.core;
package com.tashow.cloud.ip.core;
import cn.iocoder.yudao.framework.ip.core.enums.AreaTypeEnum;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.tashow.cloud.ip.core.enums.AreaTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,6 +1,6 @@
package cn.iocoder.yudao.framework.ip.core.enums;
package com.tashow.cloud.ip.core.enums;
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
import com.tashow.cloud.common.core.ArrayValuable;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@@ -1,12 +1,12 @@
package cn.iocoder.yudao.framework.ip.core.utils;
package com.tashow.cloud.ip.core.utils;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.csv.CsvRow;
import cn.hutool.core.text.csv.CsvUtil;
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
import cn.iocoder.yudao.framework.ip.core.Area;
import cn.iocoder.yudao.framework.ip.core.enums.AreaTypeEnum;
import com.tashow.cloud.common.util.object.ObjectUtils;
import com.tashow.cloud.ip.core.Area;
import com.tashow.cloud.ip.core.enums.AreaTypeEnum;
import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;
@@ -16,8 +16,9 @@ import java.util.List;
import java.util.Map;
import java.util.function.Function;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.findFirst;
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertList;
import static com.tashow.cloud.common.util.collection.CollectionUtils.findFirst;
/**
* 区域工具类

View File

@@ -1,7 +1,7 @@
package cn.iocoder.yudao.framework.ip.core.utils;
package com.tashow.cloud.ip.core.utils;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.iocoder.yudao.framework.ip.core.Area;
import com.tashow.cloud.ip.core.Area;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.lionsoul.ip2region.xdb.Searcher;

View File

@@ -0,0 +1,6 @@
/**
* @Author liwq
* @Date 2025年04月16日 10:38
* @Desc
*/
package com.tashow.cloud.ip;

View File

@@ -2,23 +2,22 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-spring-boot-starter-job</artifactId>
<artifactId>tashow-framework-job</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>任务拓展,基于 XXL-Job 实现</description>
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<dependencies>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-common</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-common</artifactId>
</dependency>
<!-- Spring 核心 -->

Some files were not shown because too many files have changed in this diff Show More