package org.springblade.common.utils;
import java.util.Date;
/**
* 比较时间工具类
*/
public class DateComparisonUtils {
public static int compareDates(Date date1, Date date2) {
if (date1.before(date2)) {
return -1; // date1在date2之前
} else if (date1.after(date2)) {
return 1; // date1在date2之后
} else {
return 0; // date1和date2相等
}
}
}
@Override
public void surveysPush() {
//状态 1:未进行 2:进行中 3:已结束 4:暂存
//查询出所有未结束的数据
List<SurveysEntity> surveysPushes = baseMapper.getNotEnd();
if (surveysPushes != null && surveysPushes.size() > 0) {
surveysPushes.forEach(item -> {
//开始时间和结束时间都有值
if (item.getStartDate() != null && item.getEndDate() != null) {
if(new Date().before(item.getStartDate())){
//当前时间在开始时间之前
item.setStatus(1);
}else if(item.getEndDate().before(new Date())){
//当前时间在结束时间之后
item.setStatus(3);
}else{
item.setStatus(2);
}
this.updateById(item);
}
//开始时间有值 结束时间无值
if (item.getStartDate() != null && item.getEndDate() == null) {
int comparison = DateComparisonUtils.compareDates(new Date(), item.getStartDate());
if (comparison < 0) {
System.out.println("date1在date2之前");
item.setStatus(1);
} else if (comparison > 0) {
System.out.println("date1在date2之后");
item.setStatus(2);
} else {
System.out.println("date1和date2相等");
item.setStatus(2);
}
this.updateById(item);
}
//开始时间无值 结束时间有值
if (item.getStartDate() == null && item.getEndDate() != null) {
int comparison = DateComparisonUtils.compareDates(new Date(), item.getEndDate());
if (comparison < 0) {
System.out.println("date1在date2之前");
} else if (comparison > 0) {
System.out.println("date1在date2之后");
item.setStatus(3);
} else {
System.out.println("date1和date2相等");
item.setStatus(3);
}
this.updateById(item);
}
});
}
}