package cn.exrick.xboot.your.schedulings;
|
import cn.exrick.xboot.your.entity.*;
|
import cn.exrick.xboot.your.service.*;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
|
//删除历史数据
|
@Component
|
public class OrderDealScheduleImpl {
|
|
@Autowired
|
private IOrderTaskOriginalService iOrderTaskOriginalService;
|
|
@Autowired
|
private IOrderDetailOriginalService iOrderDetailOriginalService;
|
|
@Autowired
|
private IOrderTaskService iOrderTaskService;
|
|
@Autowired
|
private IOrderDetailService iOrderDetailService;
|
|
@Autowired
|
private IDuoZhengService iDuoZhengService;
|
|
@Scheduled(cron="0 0 21 * * ?")//每晚下午9点执行
|
//@Scheduled(cron="0 33 17 * * ?")//测试
|
public void execute(){
|
String day = getDay(-14);
|
QueryWrapper<OrderTask> wrapper = new QueryWrapper<>();
|
wrapper.lt("send_Date",day);
|
iOrderTaskService.remove(wrapper);
|
|
QueryWrapper<OrderDetail> wrapper2 = new QueryWrapper<>();
|
wrapper2.lt("create_time",day+" 00:00:00");
|
iOrderDetailService.remove(wrapper2);
|
|
String day2 = getDay(-30);
|
QueryWrapper<OrderTaskOriginal> wrapper3 = new QueryWrapper<>();
|
wrapper3.lt("create_time",day2+" 00:00:00");
|
iOrderTaskOriginalService.remove(wrapper3);
|
|
QueryWrapper<OrderDetailOriginal> wrapper4 = new QueryWrapper<>();
|
wrapper4.lt("create_time",day2+" 00:00:00");
|
iOrderDetailOriginalService.remove(wrapper4);
|
|
QueryWrapper<DuoZheng> wrapper5 = new QueryWrapper<>();
|
iDuoZhengService.remove(wrapper5);
|
|
List<DuoZheng> list = iDuoZhengService.getYiHuDuoZheng();
|
iDuoZhengService.saveBatch(list);
|
}
|
|
private String getDay(int day){
|
Date dNow = new Date(); //当前时间
|
Calendar calendar = Calendar.getInstance(); //得到日历
|
calendar.setTime(dNow);//把当前时间赋给日历
|
calendar.add(Calendar.DAY_OF_MONTH, day); //设置为前n天
|
Date dBefore = calendar.getTime(); //得到前一天的时间
|
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式
|
String defaultStartDate = sdf.format(dBefore);
|
return defaultStartDate;
|
}
|
}
|