From f37c32e7d663b40a8a55e50735f46c9535016c2c Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 25 May 2024 15:27:33 +0800
Subject: [PATCH] 新增日志及附件临时表数据定时清理

---
 src/main/java/org/springblade/modules/system/mapper/LogApiMapper.java                  |    5 +
 src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.java                |    4 +
 src/main/java/org/springblade/modules/system/service/ILogErrorService.java             |    4 +
 src/main/java/org/springblade/modules/resource/service/impl/AttachDataServiceImpl.java |   10 +++
 src/main/java/org/springblade/xxljob/jobhandler/DataHandleJob.java                     |   59 +++++++++++++++++++
 src/main/java/org/springblade/modules/system/service/impl/LogApiServiceImpl.java       |    8 ++
 src/main/java/org/springblade/modules/system/service/impl/LogUsualServiceImpl.java     |    7 ++
 src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.java                |    5 +
 src/main/java/org/springblade/modules/system/service/impl/LogServiceImpl.java          |   12 ++++
 src/main/java/org/springblade/modules/system/service/ILogUsualService.java             |    4 +
 src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.xml                 |    5 +
 src/main/java/org/springblade/modules/system/service/ILogApiService.java               |    5 +
 src/main/java/org/springblade/modules/system/service/ILogService.java                  |    6 ++
 src/main/java/org/springblade/modules/system/service/impl/LogErrorServiceImpl.java     |    7 ++
 src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.xml                 |    5 +
 src/main/java/org/springblade/modules/system/mapper/LogApiMapper.xml                   |    5 +
 src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.xml             |    5 +
 src/main/java/org/springblade/modules/resource/service/IAttachDataService.java         |    6 ++
 src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.java            |    5 +
 19 files changed, 167 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.java b/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.java
index 6e6c6ec..6742f52 100644
--- a/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.java
+++ b/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.java
@@ -22,4 +22,9 @@
 	 */
 	List<AttachDataVO> selectAttachDataPage(IPage page, AttachDataVO attachData);
 
+	/**
+	 * 附件临时文件信息清理
+	 * @return
+	 */
+    void removeBladeAttachData();
 }
diff --git a/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.xml b/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.xml
index fde1851..2e23628 100644
--- a/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.xml
+++ b/src/main/java/org/springblade/modules/resource/mapper/AttachDataMapper.xml
@@ -19,4 +19,9 @@
         select * from blade_attach_data where 1=1
     </select>
 
+    <!--附件临时文件信息清理(删除今天之前的数据)-->
+    <delete id="removeBladeAttachData">
+        DELETE FROM blade_attach_data WHERE create_time &lt; CURDATE();
+    </delete>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/resource/service/IAttachDataService.java b/src/main/java/org/springblade/modules/resource/service/IAttachDataService.java
index db8337e..034532b 100644
--- a/src/main/java/org/springblade/modules/resource/service/IAttachDataService.java
+++ b/src/main/java/org/springblade/modules/resource/service/IAttachDataService.java
@@ -22,4 +22,10 @@
 	 */
 	IPage<AttachDataVO> selectAttachDataPage(IPage<AttachDataVO> page, AttachDataVO attachData);
 
+	/**
+	 * 附件临时文件信息清理
+	 * @param param
+	 * @return
+	 */
+    boolean removeBladeAttachDatas(String param);
 }
diff --git a/src/main/java/org/springblade/modules/resource/service/impl/AttachDataServiceImpl.java b/src/main/java/org/springblade/modules/resource/service/impl/AttachDataServiceImpl.java
index c94f954..2e62ae5 100644
--- a/src/main/java/org/springblade/modules/resource/service/impl/AttachDataServiceImpl.java
+++ b/src/main/java/org/springblade/modules/resource/service/impl/AttachDataServiceImpl.java
@@ -21,4 +21,14 @@
 		return page.setRecords(baseMapper.selectAttachDataPage(page, attachData));
 	}
 
+	/**
+	 * 附件临时文件信息清理
+	 * @param param
+	 * @return
+	 */
+	@Override
+	public boolean removeBladeAttachDatas(String param) {
+		baseMapper.removeBladeAttachData();
+		return true;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.java b/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.java
index f6d0ed0..84998f5 100644
--- a/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.java
@@ -37,4 +37,9 @@
 	 * @return
 	 */
 	List<LogApiExt> selectLogApiExtPage(IPage<LogApiExt> page,@Param("logApi") LogApiExt logApi);
+
+	/**
+	 * 删除日志
+	 */
+    int removeByTime();
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.xml b/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.xml
index 7dd7dd9..fd06b96 100644
--- a/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/LogApiMapper.xml
@@ -20,4 +20,9 @@
         order by id desc,create_time desc
     </select>
 
+    <!--删除接口日志信息-->
+    <delete id="removeByTime">
+        DELETE FROM blade_log_api WHERE create_time &lt; NOW() - INTERVAL 180 DAY;
+    </delete>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.java b/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.java
index 4fbb70c..531d32c 100644
--- a/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.java
@@ -26,4 +26,8 @@
  */
 public interface LogErrorMapper extends BaseMapper<LogError> {
 
+	/**
+	 * 删除日志
+	 */
+    void removeByTime();
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.xml b/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.xml
index d14b253..34cd13e 100644
--- a/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/LogErrorMapper.xml
@@ -24,4 +24,9 @@
         <result column="create_by" property="createBy"/>
     </resultMap>
 
+    <!--删除接口日志信息-->
+    <delete id="removeByTime">
+        DELETE FROM blade_log_error WHERE create_time &lt; NOW() - INTERVAL 90 DAY;
+    </delete>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.java b/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.java
index 9e4e186..9881b45 100644
--- a/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.java
@@ -26,4 +26,9 @@
  */
 public interface LogUsualMapper extends BaseMapper<LogUsual> {
 
+	/**
+	 *
+	 * @return
+	 */
+    int removeByTime();
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.xml b/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.xml
index 410cad1..f3973b3 100644
--- a/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/LogUsualMapper.xml
@@ -19,4 +19,9 @@
         <result column="create_by" property="createBy"/>
     </resultMap>
 
+    <!--删除通用日志信息-->
+    <delete id="removeByTime">
+        DELETE FROM blade_log_usual WHERE create_time &lt; NOW() - INTERVAL 90 DAY;
+    </delete>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/ILogApiService.java b/src/main/java/org/springblade/modules/system/service/ILogApiService.java
index 12d8236..0eb21cf 100644
--- a/src/main/java/org/springblade/modules/system/service/ILogApiService.java
+++ b/src/main/java/org/springblade/modules/system/service/ILogApiService.java
@@ -34,4 +34,9 @@
 	 * @return
 	 */
 	IPage<LogApiExt> selectLogApiExtPage(IPage<LogApiExt> page, LogApiExt logApi);
+
+	/**
+	 * 删除日志
+	 */
+    void removeByTime();
 }
diff --git a/src/main/java/org/springblade/modules/system/service/ILogErrorService.java b/src/main/java/org/springblade/modules/system/service/ILogErrorService.java
index 1964a52..bd969a4 100644
--- a/src/main/java/org/springblade/modules/system/service/ILogErrorService.java
+++ b/src/main/java/org/springblade/modules/system/service/ILogErrorService.java
@@ -26,4 +26,8 @@
  */
 public interface ILogErrorService extends IService<LogError> {
 
+	/**
+	 * 删除日志
+	 */
+    void removeByTime();
 }
diff --git a/src/main/java/org/springblade/modules/system/service/ILogService.java b/src/main/java/org/springblade/modules/system/service/ILogService.java
index fc9187e..54ecce9 100644
--- a/src/main/java/org/springblade/modules/system/service/ILogService.java
+++ b/src/main/java/org/springblade/modules/system/service/ILogService.java
@@ -51,4 +51,10 @@
 	 */
 	Boolean saveErrorLog(LogError log);
 
+	/**
+	 * 清理时间范围外的日志记录信息
+	 * @param param
+	 * @return
+	 */
+    boolean removeLogs(String param);
 }
diff --git a/src/main/java/org/springblade/modules/system/service/ILogUsualService.java b/src/main/java/org/springblade/modules/system/service/ILogUsualService.java
index 457007d..8f702b8 100644
--- a/src/main/java/org/springblade/modules/system/service/ILogUsualService.java
+++ b/src/main/java/org/springblade/modules/system/service/ILogUsualService.java
@@ -26,4 +26,8 @@
  */
 public interface ILogUsualService extends IService<LogUsual> {
 
+	/**
+	 * 删除日志
+	 */
+    void removeByTime();
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/LogApiServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/LogApiServiceImpl.java
index d4092d5..6ea0da3 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/LogApiServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/LogApiServiceImpl.java
@@ -41,4 +41,12 @@
 	public IPage<LogApiExt> selectLogApiExtPage(IPage<LogApiExt> page, LogApiExt logApi) {
 		return page.setRecords(baseMapper.selectLogApiExtPage(page,logApi));
 	}
+
+	/**
+	 * 删除日志
+	 */
+	@Override
+	public void removeByTime() {
+		baseMapper.removeByTime();
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/LogErrorServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/LogErrorServiceImpl.java
index fa207d5..d5af965 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/LogErrorServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/LogErrorServiceImpl.java
@@ -30,4 +30,11 @@
 @Service
 public class LogErrorServiceImpl extends ServiceImpl<LogErrorMapper, LogError> implements ILogErrorService {
 
+	/**
+	 * 删除日志
+	 */
+	@Override
+	public void removeByTime() {
+		baseMapper.removeByTime();
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/LogServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/LogServiceImpl.java
index fb965f0..40a13fd 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/LogServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/LogServiceImpl.java
@@ -91,6 +91,18 @@
 		return errorService.save(log);
 	}
 
+	/**
+	 * 清理时间范围外的日志记录信息
+	 * @param param
+	 * @return
+	 */
+	@Override
+	public boolean removeLogs(String param) {
+		usualService.removeByTime();
+		apiService.removeByTime();
+		errorService.removeByTime();
+		return true;
+	}
 
 	/**
 	 * 解析请求头
diff --git a/src/main/java/org/springblade/modules/system/service/impl/LogUsualServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/LogUsualServiceImpl.java
index 7262f39..09fd317 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/LogUsualServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/LogUsualServiceImpl.java
@@ -30,4 +30,11 @@
 @Service
 public class LogUsualServiceImpl extends ServiceImpl<LogUsualMapper, LogUsual> implements ILogUsualService {
 
+	/**
+	 * 删除日志
+	 */
+	@Override
+	public void removeByTime() {
+		baseMapper.removeByTime();
+	}
 }
diff --git a/src/main/java/org/springblade/xxljob/jobhandler/DataHandleJob.java b/src/main/java/org/springblade/xxljob/jobhandler/DataHandleJob.java
new file mode 100644
index 0000000..66ae3f7
--- /dev/null
+++ b/src/main/java/org/springblade/xxljob/jobhandler/DataHandleJob.java
@@ -0,0 +1,59 @@
+package org.springblade.xxljob.jobhandler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.xxl.job.core.context.XxlJobHelper;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import org.apache.logging.log4j.util.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springblade.modules.resource.service.IAttachDataService;
+import org.springblade.modules.system.service.ILogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 数据处理任务
+ * @author zhongrj
+ * @date 2024-05-25
+ */
+@Component
+public class DataHandleJob {
+
+	private static Logger logger = LoggerFactory.getLogger(LabelHandleJob.class);
+
+	@Autowired
+	private ILogService logService;
+
+	@Autowired
+	private IAttachDataService attachDataService;
+
+	/**
+	 * 清理时间范围外的日志记录信息
+	 */
+	@XxlJob("logJobHandler")
+	public void logJobHandler (String param){
+		XxlJobHelper.log("开始执行任务...清理时间范围外的日志记录信息");
+		// 解析参数
+		JSONObject jsonParam = JSON.parseObject(param);
+//		String dayString = jsonParam.getString("day");
+		// 开始执行
+		boolean result = logService.removeLogs(param);
+		XxlJobHelper.log("任务响应结果..." + result);
+		// 结束
+		XxlJobHelper.log("结束自动创建任务...");
+	}
+
+	/**
+	 * 附件临时文件信息清理
+	 */
+	@XxlJob("attachDataJobHandler")
+	public void attachDataJobHandler (String param){
+		XxlJobHelper.log("开始执行任务...附件临时文件信息清理");
+		// 开始执行
+		boolean result = attachDataService.removeBladeAttachDatas(param);
+		XxlJobHelper.log("任务响应结果..." + result);
+		// 结束
+		XxlJobHelper.log("结束自动创建任务...");
+	}
+}

--
Gitblit v1.9.3