package com.xcong.excoin.quartz.job;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.xcong.excoin.modules.blackchain.service.DateUtil;
|
import com.xcong.excoin.modules.yunding.dao.YdOrderDao;
|
import com.xcong.excoin.modules.yunding.entity.YdOrderEntity;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
@Slf4j
|
@Component
|
@ConditionalOnProperty(prefix = "app", name = "loop-job", havingValue = "true")
|
public class YdPowerJob {
|
|
|
@Resource
|
private YdOrderDao ydOrderDao;
|
|
/**
|
* 产品生效
|
*/
|
@Scheduled(cron = "0 0/1 * * * ?")
|
public void orderWork() {
|
QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
|
objectQueryWrapper.eq("",YdOrderEntity.ORDER_STATE_READY);
|
List<YdOrderEntity> ydOrderEntities = ydOrderDao.selectList(objectQueryWrapper);
|
Date date = new Date();
|
if(CollUtil.isNotEmpty(ydOrderEntities)){
|
for(YdOrderEntity ydOrderEntity : ydOrderEntities){
|
Date workTime = ydOrderEntity.getWorkTime();
|
if(DateUtil.compare_date(date.toString(),workTime.toString()) == 1
|
&& ObjectUtil.isNotEmpty(workTime)){
|
Long id = ydOrderEntity.getId();
|
ydOrderDao.UpdateByIdAndState(id,YdOrderEntity.ORDER_STATE_WORK);
|
}
|
}
|
}
|
}
|
|
/**
|
* 产品终止
|
*/
|
@Scheduled(cron = "0 0/1 * * * ?")
|
public void orderEnd() {
|
QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
|
objectQueryWrapper.eq("",YdOrderEntity.ORDER_STATE_WORK);
|
List<YdOrderEntity> ydOrderEntities = ydOrderDao.selectList(objectQueryWrapper);
|
Date date = new Date();
|
if(CollUtil.isNotEmpty(ydOrderEntities)){
|
for(YdOrderEntity ydOrderEntity : ydOrderEntities){
|
Date endTime = ydOrderEntity.getEndTime();
|
if(DateUtil.compare_date(date.toString(),endTime.toString()) == 1
|
&& ObjectUtil.isNotEmpty(endTime)) {
|
Long id = ydOrderEntity.getId();
|
ydOrderDao.UpdateByIdAndState(id,YdOrderEntity.ORDER_STATE_END);
|
}
|
}
|
}
|
}
|
|
}
|