KKSU
2024-04-17 829f629756e5402bcd3e9f6ef1f9c6dbffbabb11
src/main/java/com/xcong/excoin/quartz/job/YdPowerJob.java
@@ -1,8 +1,9 @@
package com.xcong.excoin.quartz.job;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
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;
@@ -16,7 +17,7 @@
@Slf4j
@Component
@ConditionalOnProperty(prefix = "app", name = "loop-job", havingValue = "true")
@ConditionalOnProperty(prefix = "app", name = "xch-job", havingValue = "true")
public class YdPowerJob {
@@ -26,18 +27,20 @@
    /**
     * 产品生效
     */
    @Scheduled(cron = "0/10 * * * * ?")
    @Scheduled(cron = "0 0/1 * * * ?")
    public void orderWork() {
//        log.info("产品生效任务");
        QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
        objectQueryWrapper.eq("",YdOrderEntity.ORDER_STATE_READY);
        objectQueryWrapper.eq("state",YdOrderEntity.ORDER_STATE_READY);
        objectQueryWrapper.eq("type",YdOrderEntity.PRODUCT_ORDER);
        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){
                    ydOrderEntity.setState(YdOrderEntity.ORDER_STATE_WORK);
                    ydOrderDao.updateById(ydOrderEntity);
                if(ObjectUtil.isNotEmpty(workTime) && DateUtil.compare(date, workTime) > -1){
                    Long id = ydOrderEntity.getId();
                    ydOrderDao.UpdateByIdAndState(id,YdOrderEntity.ORDER_STATE_WORK);
                }
            }
        }
@@ -46,18 +49,19 @@
    /**
     * 产品终止
     */
    @Scheduled(cron = "0/10 * * * * ?")
    @Scheduled(cron = "0 0/1 * * * ?")
    public void orderEnd() {
        QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
        objectQueryWrapper.eq("",YdOrderEntity.ORDER_STATE_WORK);
        objectQueryWrapper.eq("state",YdOrderEntity.ORDER_STATE_WORK);
        objectQueryWrapper.eq("type",YdOrderEntity.PRODUCT_ORDER);
        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) {
                    ydOrderEntity.setState(YdOrderEntity.ORDER_STATE_END);
                    ydOrderDao.updateById(ydOrderEntity);
                if(ObjectUtil.isNotEmpty(endTime) && DateUtil.compare(date, endTime) > -1) {
                    Long id = ydOrderEntity.getId();
                    ydOrderDao.UpdateByIdAndState(id,YdOrderEntity.ORDER_STATE_END);
                }
            }
        }