From 0e6ed51eb2150d18749fd54453f4fc827a87b1a5 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 19 Nov 2020 10:01:41 +0800
Subject: [PATCH] 增加自动创建history天表任务
---
src/main/java/com/moral/task/HistoryTableCreatAndDeleteTask.java | 36 ++++++++++++++++++
/dev/null | 36 ------------------
src/main/java/com/moral/service/HistoryService.java | 2 +
src/main/java/com/moral/service/impl/HistoryServiceImpl.java | 5 ++
src/main/java/com/moral/mapper/HistoryMapper.java | 2 +
src/main/resources/mapper/HistoryMapper.xml | 12 ++++++
6 files changed, 57 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/moral/mapper/HistoryMapper.java b/src/main/java/com/moral/mapper/HistoryMapper.java
index 07beec2..ce7c160 100644
--- a/src/main/java/com/moral/mapper/HistoryMapper.java
+++ b/src/main/java/com/moral/mapper/HistoryMapper.java
@@ -33,4 +33,6 @@
void deletePartition(@Param("p") String p);
+ void createHistoryTable(@Param("yearMonthDay") String yearMonthDay);
+
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/HistoryService.java b/src/main/java/com/moral/service/HistoryService.java
index d56b7a6..2b226a8 100644
--- a/src/main/java/com/moral/service/HistoryService.java
+++ b/src/main/java/com/moral/service/HistoryService.java
@@ -14,4 +14,6 @@
int deleteHistoryData(String oldTime);
void deletePartition(String p);
+
+ void createHistoryTable(String yearMonthDay);
}
diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
index ab676cd..25986c4 100644
--- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
@@ -36,4 +36,9 @@
public void deletePartition(String p) {
historyMapper.deletePartition(p);
}
+
+ @Override
+ public void createHistoryTable(String yearMonthDay) {
+ historyMapper.createHistoryTable(yearMonthDay);
+ }
}
diff --git a/src/main/java/com/moral/task/HistoryTableCreatAndDeleteTask.java b/src/main/java/com/moral/task/HistoryTableCreatAndDeleteTask.java
new file mode 100644
index 0000000..654130e
--- /dev/null
+++ b/src/main/java/com/moral/task/HistoryTableCreatAndDeleteTask.java
@@ -0,0 +1,36 @@
+package com.moral.task;
+
+import javax.annotation.Resource;
+
+import com.moral.service.HistoryService;
+import com.moral.util.DateUtil;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Component
+public class HistoryTableCreatAndDeleteTask {
+ private static transient Logger logger = LoggerFactory.getLogger(HistoryTableInsertTask.class);
+ @Resource
+ private HistoryService historyService;
+
+ @XxlJob("deleteHitoryTable")
+ public ReturnT deleteHistoryTable(String param) {
+ return new ReturnT(200,"������������");
+ }
+
+ @XxlJob("createHistoryTable")
+ public ReturnT createHistoryTable(String param) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ String yearMonthDay = sdf.format(DateUtil.rollHour(new Date(),24));
+ historyService.createHistoryTable(yearMonthDay);
+ return new ReturnT(200,"������������");
+ }
+
+}
diff --git a/src/main/java/com/moral/task/HistoryTableDeleteTask.java b/src/main/java/com/moral/task/HistoryTableDeleteTask.java
deleted file mode 100644
index 3912d7e..0000000
--- a/src/main/java/com/moral/task/HistoryTableDeleteTask.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.moral.task;
-
-import javax.annotation.Resource;
-
-import com.moral.service.HistoryService;
-import com.moral.util.DateUtil;
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.annotation.XxlJob;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class HistoryTableDeleteTask {
- private static transient Logger logger = LoggerFactory.getLogger(HistoryTableInsertTask.class);
- @Resource
- private HistoryService historyService;
-
- @XxlJob("deleteOldDate")
- public ReturnT deleteOldData(String param) {
- String p=DateUtil.getOldTime(8);
- String s=DateUtil.getOldTime(7);
- String[] ss=p.split("-");
- p="p"+ss[0]+ss[1]+ss[2];
- int i=historyService.deleteHistoryData(s);
- if (i>0){
- ReturnT returnT = new ReturnT(200, s+"������������������������");
- historyService.deletePartition(p);
- return returnT;
- }else{
- ReturnT returnT = new ReturnT(500, "������������������");
- return returnT;
- }
- }
-}
diff --git a/src/main/resources/mapper/HistoryMapper.xml b/src/main/resources/mapper/HistoryMapper.xml
index 80947b2..0b3770c 100644
--- a/src/main/resources/mapper/HistoryMapper.xml
+++ b/src/main/resources/mapper/HistoryMapper.xml
@@ -247,4 +247,16 @@
<update id="deletePartition">
ALTER table history drop PARTITION ${p};
</update>
+
+ <update id="createHistoryTable" parameterType="String">
+ CREATE TABLE history_${yearMonthDay} (
+ `mac` varchar(20) DEFAULT NULL,
+ `value` json DEFAULT NULL,
+ `time` datetime DEFAULT NULL,
+ `version` int(11) DEFAULT NULL,
+ KEY `_idx_mac_time` (`mac`,`time`) USING BTREE,
+ KEY `_idx_mac` (`mac`) USING BTREE,
+ KEY `_idx_time` (`time`) USING BTREE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0