44 lines
1.1 KiB
Java
Executable File
44 lines
1.1 KiB
Java
Executable File
package project.futures.job;
|
|
|
|
import java.util.Date;
|
|
|
|
import org.apache.commons.logging.Log;
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
|
import project.data.DataCache;
|
|
import project.data.model.Realtime;
|
|
import project.futures.FuturesOrder;
|
|
import project.futures.FuturesOrderService;
|
|
|
|
public class FuturesOrderCalculationServiceImpl implements FuturesOrderCalculationService {
|
|
private static Log logger = LogFactory.getLog(FuturesOrderCalculationServiceImpl.class);
|
|
private FuturesOrderService futuresOrderService;
|
|
|
|
public void saveCalculation(FuturesOrder order) {
|
|
|
|
try {
|
|
|
|
Realtime realtime = DataCache.getRealtime(order.getSymbol());
|
|
if (null == realtime) {
|
|
return;
|
|
}
|
|
|
|
double close = realtime.getClose();
|
|
futuresOrderService.refreshCache(order, close);// 更新订单信息并纪录到缓存
|
|
|
|
if (order.getSettlement_time().before(new Date())) {
|
|
futuresOrderService.saveClose(order, realtime);
|
|
|
|
}
|
|
|
|
} catch (Throwable e) {
|
|
logger.error("FuturesOrderCalculationServiceImpl run fail", e);
|
|
}
|
|
}
|
|
|
|
public void setFuturesOrderService(FuturesOrderService futuresOrderService) {
|
|
this.futuresOrderService = futuresOrderService;
|
|
}
|
|
|
|
}
|