package com.stylefeng.guns.modular.system.util;
|
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.modular.system.model.TActivityGeneralization;
|
import com.stylefeng.guns.modular.system.model.TDriver;
|
import com.stylefeng.guns.modular.system.service.ITActivityGeneralizationService;
|
import com.stylefeng.guns.modular.system.service.ITDriverService;
|
import com.stylefeng.guns.modular.system.service.ITLocationService;
|
import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.util.Date;
|
import java.util.List;
|
|
|
/**
|
* 定时任务工具类
|
*/
|
@Component
|
public class TaskUtil {
|
|
@Autowired
|
private ITLocationService locationService;
|
|
@Autowired
|
private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
|
|
@Value("${pushMinistryOfTransport}")
|
private boolean pushMinistryOfTransport;
|
|
@Autowired
|
private ITDriverService driverService;
|
|
@Autowired
|
private ITActivityGeneralizationService activityGeneralizationService;
|
|
/**
|
* 每隔一分钟去处理的定时任务
|
*/
|
@Scheduled(fixedRate = 1000 * 60)
|
public void taskMinute(){
|
try {
|
Date date = new Date();
|
|
List<TActivityGeneralization> tActivityGeneralizations = activityGeneralizationService.selectList(null);
|
for (TActivityGeneralization tActivityGeneralization : tActivityGeneralizations) {
|
if (tActivityGeneralization.getState()!=4){
|
if (tActivityGeneralization.getStartTime().before(date)){
|
tActivityGeneralization.setState(2);
|
}
|
if (date.after(tActivityGeneralization.getStartTime()) && date.before(tActivityGeneralization.getEndTime())){
|
tActivityGeneralization.setState(1);
|
}
|
if (date.after(tActivityGeneralization.getEndTime())){
|
tActivityGeneralization.setState(3);
|
}
|
}
|
}
|
activityGeneralizationService.updateBatchById(tActivityGeneralizations);
|
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
/**
|
* 每天的凌晨执行的任务
|
*/
|
@Scheduled(cron = "0 0 0 * * *")
|
public void taskDay(){
|
try {
|
locationService.updateFence();//更新线上电子围栏
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
|
/**
|
* 每月第一天的1点执行的任务
|
*/
|
@Scheduled(cron = "0 0 1 1 * *")
|
public void taskMonth(){
|
try {
|
if(pushMinistryOfTransport){
|
List<TDriver> tDrivers = driverService.selectList(new EntityWrapper<TDriver>().eq("authState", 2).ne("flag", 3));
|
for(TDriver driver : tDrivers){
|
pushMinistryOfTransportUtil.baseInfoDriverStat(driver.getId());
|
}
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
}
|