Browse Source

[优化]定时清理wx_msg_record 过期数据

release_toaliyun_real
bruce 6 years ago
committed by Stormeye Wu
parent
commit
3cd2d4749f
6 changed files with 50 additions and 0 deletions
  1. +23
    -0
      mallinkSchedule/src/main/java/com/iformall/schedule/WxMsgRecordSchedule.java
  2. +1
    -0
      mallinkSchedule/src/main/resources/application-dev.yml
  3. +1
    -0
      mallinkSchedule/src/main/resources/application-prod.yml
  4. +1
    -0
      mallinkSchedule/src/main/resources/application-test.yml
  5. +6
    -0
      mallinkService/src/main/java/com/iformall/service/WxMsgRecordService.java
  6. +18
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java

+ 23
- 0
mallinkSchedule/src/main/java/com/iformall/schedule/WxMsgRecordSchedule.java View File

@@ -0,0 +1,23 @@
package com.iformall.schedule;

import com.iformall.service.WxMsgRecordService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

@Component
public class WxMsgRecordSchedule {

@Resource
private WxMsgRecordService msgRecordService;

@Value("${fm.clear_data_before_msg_record}")
private int monthBefore;

@Scheduled(cron = "0 0 1 1 * ?") // 每月1日凌晨01:00清理过期的wx_msg_record表
public void clearOldData() {
msgRecordService.clearOldData(monthBefore);
}
}

+ 1
- 0
mallinkSchedule/src/main/resources/application-dev.yml View File

@@ -111,6 +111,7 @@ fm:
upload_dir: /home/test/server/uploads/
monitor_emails: houtaikaifa@iformall.com,xiaochengxufabu@iformall.com
monitor_enable: true
clear_data_before_msg_record: 1

logging:
level:


+ 1
- 0
mallinkSchedule/src/main/resources/application-prod.yml View File

@@ -96,6 +96,7 @@ fm:
upload_dir: /home/ec2-user/server/uploads/
monitor_emails: houtaikaifa@iformall.com,xiaochengxufabu@iformall.com
monitor_enable: false
clear_data_before_msg_record: 1

logging:
level:


+ 1
- 0
mallinkSchedule/src/main/resources/application-test.yml View File

@@ -96,6 +96,7 @@ fm:
upload_dir: /home/ec2-user/server/uploads/
monitor_emails: houtaikaifa@iformall.com,xiaochengxufabu@iformall.com
monitor_enable: false
clear_data_before_msg_record: 1

logging:
level:


+ 6
- 0
mallinkService/src/main/java/com/iformall/service/WxMsgRecordService.java View File

@@ -10,4 +10,10 @@ public interface WxMsgRecordService {
List<WxMsgRecord> findList(WxMsgRecord record);

void update(WxMsgRecord record);

/**
*
* @param monthBefore 距离当前月份数
*/
void clearOldData(int monthBefore) ;
}

+ 18
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java View File

@@ -1,5 +1,7 @@
package com.iformall.service.impl;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.msg.*;
import com.iformall.enums.EnumMsgRecordStatus;
@@ -8,6 +10,11 @@ import com.iformall.service.WxMsgRecordService;
import com.iformall.utils.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;

/**
@@ -59,4 +66,15 @@ public class WxMsgRecordServiceImpl implements WxMsgRecordService {
public void update(WxMsgRecord record) {
wxMsgRecordMapper.updateByBaseMsg(record);
}

@Override
public void clearOldData(int monthBefore) {
if (monthBefore == 0) {
monthBefore = 1;
}
LocalDate ld = LocalDate.now().minusMonths(monthBefore);
wxMsgRecordMapper.delete(new QueryWrapper<WxMsgRecord>().
in("msg_status", Arrays.asList(EnumMsgRecordStatus.CONSUME_SUCC.getCode()))
.le("createtime", DateTimeFormatter.ofPattern("yyyy-MM-dd").format(ld)));
}
}

Loading…
Cancel
Save