package com.yami.trading.admin.task;
|
|
import com.yami.trading.service.trader.FollowCommissionService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDate;
|
import java.time.ZoneId;
|
|
/**
|
* 按自然日结算跟单「日盈利百分比」提成(处理跨天:每日一行,定时任务结算前一自然日)
|
*/
|
@Component
|
@Slf4j
|
public class FollowDailyPnlSettleJob {
|
|
@Resource
|
private FollowCommissionService followCommissionService;
|
|
/** 每日 00:30 结算上一自然日(与 JVM 默认时区一致,WebApplication 已设为 GMT+8) */
|
@Scheduled(cron = "0 30 0 * * ?")
|
public void settleYesterday() {
|
LocalDate yesterday = LocalDate.now(ZoneId.systemDefault()).minusDays(1);
|
try {
|
int n = followCommissionService.settleDailyPnlForDate(yesterday);
|
log.info("FollowDailyPnlSettleJob settled date={} rows={}", yesterday, n);
|
} catch (Exception e) {
|
log.error("FollowDailyPnlSettleJob failed date={}", yesterday, e);
|
}
|
}
|
}
|