package com.yami.trading.admin.task.future;
|
|
import cn.hutool.core.date.DateUtil;
|
import com.yami.trading.bean.data.domain.Realtime;
|
import com.yami.trading.bean.future.domain.FuturesOrder;
|
import com.yami.trading.huobi.data.DataCache;
|
import com.yami.trading.service.future.FuturesOrderService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
|
@Slf4j
|
@Service
|
public class FuturesOrderCalculationService {
|
@Autowired
|
private FuturesOrderService futuresOrderService;
|
|
public void saveCalculation(FuturesOrder order) {
|
|
try {
|
|
Realtime realtime = DataCache.getRealtime(order.getSymbol());
|
if (null == realtime) {
|
return;
|
}
|
|
BigDecimal close = realtime.getClose();
|
futuresOrderService.refreshCache(order, close.doubleValue());// 更新订单信息并纪录到缓存
|
|
if (order.getSettlementTime()< DateUtil.currentSeconds()) {
|
futuresOrderService.saveClose(order, realtime);
|
|
}
|
|
} catch (Throwable e) {
|
log.error("FuturesOrderCalculationServiceImpl run fail", e);
|
}
|
}
|
|
}
|