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; @Component public class ClosingStayTask { private static final Logger log = LoggerFactory.getLogger(ClosingStayTask.class); @Autowired IUserPositionService iUserPositionService; /** 递延费:T+1,每个交易日 14:50 从余额扣款 */ @Scheduled(cron = "0 */1 * * * ?") public void closingStayV1() { log.info("=======================递延费扣款任务开始 ==========================="); log.info("递延费扣款任务 开始时间 = {}", DateTimeUtil.dateToStr(new Date())); dotask(); log.info("递延费扣款任务 结束时间 = {}", DateTimeUtil.dateToStr(new Date())); log.info("=======================递延费扣款任务结束 ==========================="); } public void dotask() { this.iUserPositionService.doClosingStayTask(); } /** 递延费达到最大天数后强制平仓,每个交易日 14:55 执行 */ @Scheduled(cron = "0 55 14 ? * MON-FRI") public void expireStayUnwind() { log.info("=======================递延费到期强制平仓任务开始 ==========================="); log.info("递延费到期强制平仓 开始时间 = {}", DateTimeUtil.dateToStr(new Date())); this.iUserPositionService.expireStayUnwindTask(); log.info("递延费到期强制平仓 结束时间 = {}", DateTimeUtil.dateToStr(new Date())); log.info("=======================递延费到期强制平仓任务结束 ==========================="); } }