package com.nq.utils.task.index;
|
|
import com.nq.service.IStockIndexService;
|
import com.nq.service.IUserService;
|
import com.nq.utils.DateTimeUtil;
|
import com.nq.utils.stock.BuyAndSellUtils;
|
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
|
public class ForceSellIndexTask {
|
private static final Logger log = LoggerFactory.getLogger(ForceSellIndexTask.class);
|
|
|
@Autowired
|
IUserService iUserService;
|
@Autowired
|
IStockIndexService iStockIndexService;
|
|
|
private static final String am_begin = "9:30";
|
|
private static final String am_end = "11:30";
|
|
private static final String pm_begin = "13:00";
|
|
private static final String pm_end = "15:00";
|
|
|
@Scheduled(cron = "0 0/3 9-15 ? * MON-FRI")
|
public void banlanceUserIndexPositionTaskV1() {
|
boolean am = false;
|
boolean pm = false;
|
try {
|
am = BuyAndSellUtils.isTransTime("9:30", "11:30");
|
pm = BuyAndSellUtils.isTransTime("13:00", "15:00");
|
} catch (Exception e) {
|
log.error("執行定時任務(指數)出錯,e = {}", e);
|
}
|
|
log.info("當前 am = {} pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
|
if (am || pm) {
|
log.info("=====掃描用戶(指數)持倉執行,當前時間 {} =====", DateTimeUtil.dateToStr(new Date()));
|
dotask();
|
log.info("=====掃描用戶(指數)持倉結束,當前時間 {} =====", DateTimeUtil.dateToStr(new Date()));
|
} else {
|
log.info("當前時間不為周一至周五,或者不在交易時間內,不執行(強平指數)定時任務");
|
}
|
}
|
|
|
public void dotask() {
|
this.iUserService.ForceSellIndexTask();
|
}
|
|
/*指數強平提醒推送消息,每分鐘檢測一次*/
|
@Scheduled(cron = "0 0/3 9-15 ? * MON-FRI")
|
public void banlanceUserIndexPositionMessage() {
|
boolean am = false;
|
boolean pm = false;
|
try {
|
am = BuyAndSellUtils.isTransTime("9:30", "11:30");
|
pm = BuyAndSellUtils.isTransTime("13:00", "15:00");
|
} catch (Exception e) {
|
log.error("執行定時任務(指數)出錯,e = {}", e);
|
}
|
|
log.info("當前 am = {} pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
|
if (am || pm) {
|
log.info("=====掃描用戶(指數)持倉執行,當前時間 {} =====", DateTimeUtil.dateToStr(new Date()));
|
this.iUserService.ForceSellIndexsMessageTask();
|
log.info("=====掃描用戶(指數)持倉結束,當前時間 {} =====", DateTimeUtil.dateToStr(new Date()));
|
} else {
|
log.info("當前時間不為周一至周五,或者不在交易時間內,不執行(強平指數)定時任務");
|
}
|
}
|
|
/*指數分時圖k線定時任務*/
|
@Scheduled(cron = "0 0/1 9-15 * * ?")
|
public void zs1() {
|
boolean am = false;
|
boolean pm = false;
|
try {
|
am = BuyAndSellUtils.isTransTime("9:29", "11:31");
|
pm = BuyAndSellUtils.isTransTime("12:59", "15:00");
|
} catch (Exception e) {
|
log.error("= {}", e);
|
}
|
log.info("zs1-am = {} pm = {}", Boolean.valueOf(am), Boolean.valueOf(pm));
|
if (am || pm) {
|
log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
|
this.iUserService.zs1();
|
log.info("====={} =====", DateTimeUtil.dateToStr(new Date()));
|
}
|
}
|
//美股和港股指数 每天0点5分执行
|
@Scheduled(cron = "0 5 0 ? * MON-FRI")
|
|
public void otherIndexTask() {
|
log.info("====={美港指数同步开始} =====", DateTimeUtil.dateToStr(new Date()));
|
this.iStockIndexService.otherIndexTask();
|
log.info("====={美港指数同步结束} =====", DateTimeUtil.dateToStr(new Date()));
|
}
|
|
|
}
|