1
zj
8 hours ago d615fc515fc52d6ed970c11d59a017e48de4be32
src/main/java/com/nq/utils/task/stock/ClosingStayTask.java
@@ -1,70 +1,44 @@
package com.nq.utils.task.stock;//package com.nq.utils.task.stock;
package com.nq.utils.task.stock;
import com.nq.service.IUserPositionService;
import com.nq.utils.DateTimeUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
//@Component
@Component
public class ClosingStayTask {
    private static final Logger log = LoggerFactory.getLogger(ClosingStayTask.class);
    @Autowired
    IUserPositionService iUserPositionService;
    /*遞延費周一到周五,每天七點定時計算*/
@Scheduled(cron = "0 0 7 * * ?")
@Scheduled(cron = "0 15 9 ? * MON-FRI")
    /** 递延费:T+1,每个交易日 14:50 从余额扣款 */
    @Scheduled(cron = "0 */1 * * * ?")
    public void closingStayV1() {
        log.info("=======================收盤收取留倉費任務開始 ===========================");
        log.info("收盤收取留倉費任務 開始時間 = {}", DateTimeUtil.dateToStr(new Date()));
        log.info("");
        log.info("=======================递延费扣款任务开始 ===========================");
        log.info("递延费扣款任务 开始时间 = {}", DateTimeUtil.dateToStr(new Date()));
        dotask();
        log.info("");
        log.info("收盤收取留倉費任務 結束時間 = {}", DateTimeUtil.dateToStr(new Date()));
        log.info("=======================收盤收取留倉費任務結束 ===========================");
        log.info("递延费扣款任务 结束时间 = {}", DateTimeUtil.dateToStr(new Date()));
        log.info("=======================递延费扣款任务结束 ===========================");
    }
    public void dotask() {
        this.iUserPositionService.doClosingStayTask();
    }
    /*留倉到期強制平倉,每天15點執行*/
@Scheduled(cron = "0 0 15 ? * MON-FRI")
    /** 递延费达到最大天数后强制平仓,每个交易日 14:55 执行 */
    @Scheduled(cron = "0 55 14 ? * MON-FRI")
    public void expireStayUnwind() {
        log.info("=======================留倉到期強制平倉任務開始 ===========================");
        log.info("留倉到期強制平倉 開始時間 = {}", DateTimeUtil.dateToStr(new Date()));
        log.info("=======================递延费到期强制平仓任务开始 ===========================");
        log.info("递延费到期强制平仓 开始时间 = {}", DateTimeUtil.dateToStr(new Date()));
        this.iUserPositionService.expireStayUnwindTask();
        log.info("留倉到期強制平倉 結束時間 = {}", DateTimeUtil.dateToStr(new Date()));
        log.info("=======================留倉到期強制平倉任務結束 ===========================");
        log.info("递延费到期强制平仓 结束时间 = {}", DateTimeUtil.dateToStr(new Date()));
        log.info("=======================递延费到期强制平仓任务结束 ===========================");
    }
}