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