Ver Fonte

工具类迁移

huangpeng há 5 meses atrás
pai
commit
a4d55af41f

+ 3 - 3
zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/impl/SwBillingRecordServiceImpl.java

@@ -25,9 +25,9 @@ import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.rongwei.sfcommon.utils.SaveConstans.billInfo.PAIDINSTATUS;
-import static com.rongwei.sfcommon.utils.SaveConstans.billInfo.PENDINGSTATUS;
-import static com.rongwei.sfcommon.utils.SaveConstans.billReccord.PAIDSTATUS;
+import static com.rongwei.zhsw.utils.SaveConstans.billInfo.PAIDINSTATUS;
+import static com.rongwei.zhsw.utils.SaveConstans.billInfo.PENDINGSTATUS;
+import static com.rongwei.zhsw.utils.SaveConstans.billReccord.PAIDSTATUS;
 
 /**
  * 缴费记录(SwBillingRecord)表服务实现类

+ 1 - 1
zhsw-common/src/main/java/com/rongwei/sfcommon/utils/SaveConstans.java

@@ -1,4 +1,4 @@
-package com.rongwei.sfcommon.utils;
+package com.rongwei.zhsw.utils;
 
 public class SaveConstans {
 

+ 3 - 3
zhsw-common/src/main/java/com/rongwei/sfcommon/utils/CXCommonUtils.java

@@ -1,4 +1,4 @@
-package com.rongwei.sfcommon.utils;
+package com.rongwei.zhsw.utils;
 
 
 import com.rongwei.commonservice.service.RedisService;
@@ -20,8 +20,8 @@ import javax.servlet.http.HttpServletRequest;
  * @date 2023/12/15
  */
 @Component
-public class CXCommonUtils {
-    private static final Logger log = LoggerFactory.getLogger(CXCommonUtils.class.getName());
+public class ZhswCommonUtils {
+    private static final Logger log = LoggerFactory.getLogger(ZhswCommonUtils.class.getName());
     @Autowired
     private RedisService autoRedisService;
 

+ 156 - 0
zhsw-server/src/main/java/com/rongwei/zhsw/config/MybatisConfig.java

@@ -0,0 +1,156 @@
+package com.rongwei.zhsw.config;
+
+import com.baomidou.mybatisplus.core.parser.ISqlParser;
+import com.baomidou.mybatisplus.core.parser.ISqlParserFilter;
+import com.baomidou.mybatisplus.core.parser.SqlParserHelper;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.tenant.TenantHandler;
+import com.baomidou.mybatisplus.extension.plugins.tenant.TenantSqlParser;
+import com.rongwei.rwcommonconfig.config.interceptor.QuerySqlAdaptationInterceptor;
+import net.sf.jsqlparser.expression.Expression;
+import net.sf.jsqlparser.expression.LongValue;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.reflection.MetaObject;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * Created by duyisong on 17/5/28.
+ */
+@EnableTransactionManagement
+@Configuration
+@MapperScan("com.rongwei.*.*.dao")
+public class MybatisConfig {
+
+    /**
+     * 自定义查询sql多数据库适配
+     * @return
+     */
+    @Bean
+    public QuerySqlAdaptationInterceptor querySqlAdaptationInterceptor(){
+        QuerySqlAdaptationInterceptor sqlAdaptation = new QuerySqlAdaptationInterceptor();
+        return sqlAdaptation;
+    }
+
+    /*
+     * 分页插件,自动识别数据库类型
+     * 多租户,请参考官网【插件扩展】
+     */
+    @Bean
+    public PaginationInterceptor paginationInterceptor() {
+        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
+        /*
+         * 【测试多租户】 SQL 解析处理拦截器<br>
+         * 这里固定写成住户 1 实际情况你可以从cookie读取,因此数据看不到 【 麻花藤 】 这条记录( 注意观察 SQL )<br>
+         */
+        List<ISqlParser> sqlParserList = new ArrayList<>();
+        TenantSqlParser tenantSqlParser = new TenantSqlParser();
+        tenantSqlParser.setTenantHandler(new TenantHandler() {
+            @Override
+            public Expression getTenantId() {
+                // 该 where 条件 3.2.0 版本开始添加的,用于分区是否为在 where 条件中使用
+                // 此判断用于支持返回多个租户 ID 场景,具体使用查看示例工程
+                // 查询redis缓存的租户ID
+                return new LongValue(1L);
+            }
+
+            @Override
+            public String getTenantIdColumn() {
+                return "TENANTID";
+            }
+
+            @Override
+            public boolean doTableFilter(String tableName) {
+                // 这里可以判断是否过滤表,true表示过滤、false不过滤
+                /*
+                if ("user".equals(tableName)) {
+                    return true;
+                }*/
+                return true;
+            }
+        });
+        //sqlParserList.add(tenantSqlParser);
+        paginationInterceptor.setSqlParserList(sqlParserList);
+        paginationInterceptor.setSqlParserFilter(new ISqlParserFilter() {
+            @Override
+            public boolean doFilter(MetaObject metaObject) {
+                MappedStatement ms = SqlParserHelper.getMappedStatement(metaObject);
+                // 过滤自定义查询此时无租户信息约束【 麻花藤 】出现
+                if ("com.rongwei.rwadmincommon.system.dao.getAll".equals(ms.getId())) {
+                    return true;
+                }
+                return false;
+            }
+        });
+        paginationInterceptor.setLimit(2000);
+        return paginationInterceptor;
+    }
+
+    /**
+     * 打印 sql
+     */
+    @Bean
+    public PerformanceInterceptor performanceInterceptor() {
+        PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
+        //格式化sql语句
+        Properties properties = new Properties();
+        properties.setProperty("format", "true");
+        performanceInterceptor.setProperties(properties);
+        return performanceInterceptor;
+    }
+
+    /*@Bean
+    public MapperScannerConfigurer mapperScannerConfigurer() {
+        log.info("[config] 注册 tkMtBatis");
+        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
+        mapperScannerConfigurer.setBasePackage("com.rongwei.rwadmin.system.dao");
+        Properties properties = new Properties();
+        properties.setProperty("markerInterface", "com.rongwei.rwadmin.common.mapper.BaseDao");
+        mapperScannerConfigurer.setProperties(properties);
+        return mapperScannerConfigurer;
+    }
+
+    @Bean
+    public PageHelper pageHelper(DataSource dataSource) {
+        log.info("[config] 注册 MyBatis分页插件PageHelper");
+        PageHelper pageHelper = new PageHelper();
+        Properties p = new Properties();
+        p.setProperty("offsetAsPageNum", "true");
+        p.setProperty("rowBoundsWithCount", "true");
+        p.setProperty("reasonable", "true");
+        pageHelper.setProperties(p);
+        return pageHelper;
+    }*/
+
+
+    // 配置sqlSessionFactory
+    /*@Bean(name = "sqlSessionFactory")
+    public SqlSessionFactory sqlSessionFactoryBean(DataSource dataSource
+            ,QuerySqlAdaptationInterceptor sqlAdaptation,PaginationInterceptor paginationInterceptor) {
+        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
+        bean.setDataSource(dataSource);
+        if(StringUtils.isNotBlank(typeAliasesPackage)){
+            bean.setTypeAliasesPackage(typeAliasesPackage);
+        }
+
+        // 自定义的sql日志拦截器
+        Interceptor sqlLogInterceptor = new SqlLogInterceptor();
+        Interceptor[] plugins =  new Interceptor[]{ sqlLogInterceptor};
+        bean.setPlugins(plugins);
+        try {
+            bean.setMapperLocations(resolver.getResources(xmlLocation));
+            return bean.getObject();
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+    }*/
+
+}