From d32bc8f5fa5cd1a9ef293614124420b17acdaa5f Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 23 Sep 2021 15:21:08 +0800
Subject: [PATCH] screen-api                   增加小时和五分钟跨表查询

---
 screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java b/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java
index 4a253f7..a43b5e9 100644
--- a/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java
+++ b/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java
@@ -1,22 +1,61 @@
 package com.moral.api.config.mybatis;
 
-import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.parsers.DynamicTableNameParser;
+import com.baomidou.mybatisplus.extension.parsers.ITableNameHandler;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.handler.TableNameHandler;
+import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.moral.api.entity.HistoryFiveMinutely;
+import com.moral.api.mapper.HistoryFiveMinutelyMapper;
+import com.moral.api.service.HistorySecondUavService;
+import com.moral.api.service.impl.HistorySecondUavServiceImpl;
+import com.moral.api.service.impl.OrganizationServiceImpl;
+import org.apache.ibatis.reflection.MetaObject;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 
 @Configuration
 public class MybatisPlusConfig {
 
-    /**
-     * ������������
-     */
+    public static ThreadLocal<String> tableName = new ThreadLocal<>();
+
     @Bean
-    public PaginationInterceptor paginationInterceptor() {
-        PaginationInterceptor page = new PaginationInterceptor();
-        return page;
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+
+        //������������
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptorIIL(DbType.MYSQL));
+
+        // ������������SQL���������
+        DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
+        HashMap<String, TableNameHandler> map = new HashMap<>();
+        map.put("history_hourly", (sql, tableName) -> tableName+this.tableName.get());
+        map.put("history_five_minutely", (sql, tableName) -> tableName+this.tableName.get());
+
+        dynamicTableNameInnerInterceptor.setTableNameHandlerMap(map);
+        interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor);
+
+        return interceptor;
     }
 
+    /*@Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+
+        //������������
+        PaginationInnerInterceptorIIL paginationInnerInterceptorIIL = new PaginationInnerInterceptorIIL(DbType.MYSQL);
+        paginationInnerInterceptorIIL.setMultiTableQueryName(multiTableQueryNames);
+        interceptor.addInnerInterceptor(paginationInnerInterceptorIIL);
+
+        return interceptor;
+    }*/
 
 }

--
Gitblit v1.8.0