From 0b4c87807860c0bfff0759a5cdc736c80e5f5772 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 25 Sep 2025 15:50:48 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java | 8 ++--
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5DayJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MinuteJob.java | 4 +-
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java | 53 +++++++++++++++++++++++---
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1WeekJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline15MinuteJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MonJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1YearJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline60MinuteJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineInitServiceImpl.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5MinuteJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1DayJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline30MinuteJob.java | 2
trading-order-admin/src/main/java/com/yami/trading/admin/task/IcoTask.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline4HourJob.java | 2
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineService.java | 2 +
trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java | 4 +-
17 files changed, 69 insertions(+), 26 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java
index 9ec6abe..e7a1029 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java
@@ -106,7 +106,7 @@
}
//更新ico实时价格
- if (model.getUnitAmount().compareTo(BigDecimal.ZERO) >0 &&
+ /*if (model.getUnitAmount().compareTo(BigDecimal.ZERO) >0 &&
model.getUnitAmount().compareTo(ico.getUnitAmount()) != 0){
String symbol = ico.getSymbol();
RequestDataHelper.set("symbol", symbol);
@@ -119,7 +119,7 @@
realtimeService.updateById(realtime);
RequestDataHelper.clear();
DataCache.putRealtime(symbol, realtime);
- }
+ }*/
}
//新增或编辑表单保存
icoService.saveOrUpdate(ico);
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/IcoTask.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/IcoTask.java
index 70cf1d4..1332448 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/task/IcoTask.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/IcoTask.java
@@ -174,7 +174,7 @@
/**
* K线数据修正
*/
- @Scheduled(cron = "0 */5 * * * ?")
+ //@Scheduled(cron = "0 */5 * * * ?")
public void klineInit() {
List<Item> items = ApplicationContextUtils.getApplicationContext().getBean(ItemService.class).list();
if (CollectionUtil.isNotEmpty(items)) {
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java
index 327b75b..9367bb0 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java
@@ -97,11 +97,11 @@
}
}
- BigDecimal currentValue = AdjustmentValueCache.getCurrentValue().get(symbol);
+ /*BigDecimal currentValue = AdjustmentValueCache.getCurrentValue().get(symbol);
if (currentValue != null) {
data.forEach(kline -> {
- /*logger.info("==currentValue==close:{}, low:{}, high:{}, open:{}, currentValue:{}",
- kline.getClose(), kline.getLow(), kline.getHigh(), kline.getOpen(), currentValue);*/
+ *//*logger.info("==currentValue==close:{}, low:{}, high:{}, open:{}, currentValue:{}",
+ kline.getClose(), kline.getLow(), kline.getHigh(), kline.getOpen(), currentValue);*//*
if (!kline.isAdjusted()){
if (kline.getClose().compareTo(kline.getLow()) >= 0 && kline.getClose().compareTo(kline.getHigh()) <= 0) {
kline.setClose(kline.getClose().add(currentValue));
@@ -112,7 +112,7 @@
kline.setAdjusted(true);
}
});
- }
+ }*/
return Result.succeed(this.build(data, line, symbol));
} catch (Exception e) {
logger.error("getKline error", e);
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineService.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineService.java
index 6cc0afe..86d089f 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineService.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineService.java
@@ -6,6 +6,8 @@
import java.util.List;
public interface CryptosKlineService {
+ public void init(String symbol);
+
public void saveInit(String symbol);
public void saveOne(String symbol, String line);
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
index fb05daa..8a28e75 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/CryptosKlineServiceImpl.java
@@ -7,6 +7,7 @@
import com.yami.trading.common.config.RequestDataHelper;
import com.yami.trading.common.constants.Constants;
import com.yami.trading.common.util.DateUtils;
+import com.yami.trading.huobi.data.AdjustmentValueCache;
import com.yami.trading.huobi.data.DataCache;
import com.yami.trading.huobi.hobi.HobiDataService;
import com.yami.trading.service.data.KlineDBService;
@@ -18,6 +19,7 @@
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
import org.springframework.stereotype.Component;
+import java.math.BigDecimal;
import java.util.*;
@Component
@@ -34,6 +36,19 @@
private SysparaService sysparaService;
@Autowired
private NamedParameterJdbcOperations namedParameterJdbcTemplate;
+
+ @Override
+ public void init(String symbol) {
+ this.bulid(symbol, Kline.PERIOD_1MIN);
+ this.bulid(symbol, Kline.PERIOD_5MIN);
+ this.bulid(symbol, Kline.PERIOD_15MIN);
+ this.bulid(symbol, Kline.PERIOD_30MIN);
+ this.bulid(symbol, Kline.PERIOD_60MIN);
+ this.bulid(symbol, Kline.PERIOD_4HOUR);
+ this.bulid(symbol, Kline.PERIOD_1DAY);
+ this.bulid(symbol, Kline.PERIOD_1MON);
+ this.bulid(symbol, Kline.PERIOD_1WEEK);
+ }
@Override
public void saveInit(String symbol) {
@@ -55,6 +70,19 @@
}
+ public void bulid(String symbol, String line) {
+ RequestDataHelper.set("symbol", symbol);
+ List<Kline> list = hobiDataService.kline(itemService.findBySymbol(symbol).getSymbol(), line, null,
+ 0);
+ KlineTimeObject model = new KlineTimeObject();
+ Collections.sort(list); // 按时间升序
+ model.setKline(list);
+ model.setLastTime(new Date());
+ DataCache.putKline(symbol, line, model);
+ RequestDataHelper.clear();
+
+ }
+
public void bulidInit(String symbol, String line) {
RequestDataHelper.set("symbol", symbol);
List<Kline> list = hobiDataService.kline(itemService.findBySymbol(symbol).getSymbol(), line, null,
@@ -68,6 +96,8 @@
RequestDataHelper.clear();
}
+
+
@Override
public void saveOne(String symbol, String line) {
@@ -87,12 +117,13 @@
String key = symbol + "_" + line;
Kline hobiOne = DataCache.getKline_hobi().get(key);
- if (hobiOne == null || lastOne == null) {
+ /*if (hobiOne == null || lastOne == null) {
+ logger.error("saveOne error, hobiOne is null,symbol [" + symbol + "]");
// 取不到远程数据,直接退出
return;
- }
+ }*/
RequestDataHelper.set("symbol", symbol);
- Kline kline = this.bulidKline(realtime, lastOne, hobiOne, line);
+ Kline kline = this.bulidKline(realtime, lastOne, null, line);
kline.setPeriod(line);
klineDBService.save(kline);
@@ -124,8 +155,17 @@
if (lastOne != null) {
kline.setOpen(lastOne.getClose());
+ kline.setHigh(lastOne.getHigh());
+ kline.setLow(lastOne.getLow());
+
+ if (realtime.getClose().compareTo(kline.getHigh()) > 0) {
+ kline.setHigh(realtime.getClose());
+ }
+ if (realtime.getClose().compareTo(kline.getOpen()) < 0) {
+ kline.setLow(realtime.getClose());
+ }
}
- int interval = this.sysparaService.find("data_interval").getInteger().intValue() / 1000;
+ /*int interval = this.sysparaService.find("data_interval").getInteger().intValue() / 1000;
HighLow highLow = null;
switch (line) {
@@ -169,9 +209,10 @@
}
if (highLow != null && highLow.getLow() != null) {
kline.setLow(highLow.getLow());
- }
+ }*/
- kline.setVolume(hobiOne.getVolume());
+
+ //kline.setVolume(hobiOne.getVolume());
return kline;
}
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineInitServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineInitServiceImpl.java
index b34bee8..c61f27d 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineInitServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineInitServiceImpl.java
@@ -50,7 +50,7 @@
logger.info("当前开始初始化币对单个k线图: {}", symbol);
Item bySymbol = itemService.findBySymbol(symbol);
if (Item.cryptos.equalsIgnoreCase(bySymbol.getType())) {
- cryptosKlineService.saveInit(symbol);
+ cryptosKlineService.init(symbol);
} else if ("1".equalsIgnoreCase(bySymbol.getFake())) {
fakeKlineInitService.saveInit(symbols);
} else {
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline15MinuteJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline15MinuteJob.java
index 16ed4fc..f675f89 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline15MinuteJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline15MinuteJob.java
@@ -27,7 +27,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0/15 * ? * *")
+ @Scheduled(cron = "1 0/15 * ? * *")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline15MinuteJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1DayJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1DayJob.java
index 3e9f8ca..95d484b 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1DayJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1DayJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0/1 * * * ?")
+ @Scheduled(cron = "0 1 0 * * ?")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline1DayJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MinuteJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MinuteJob.java
index 7f93f74..01e140e 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MinuteJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MinuteJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 * * ? * *")
+ @Scheduled(cron = "1 * * ? * *")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline1MinuteJob start ... ");
@@ -37,7 +37,7 @@
for (int i = 0; i < item_list.size(); i++) {
Item item = item_list.get(i);
if (MarketOpenChecker.isMarketOpenByItemCloseType(item.getOpenCloseType()) && item.getType().equals("cryptos")) {
- log.debug("--------------- 5min kline --------- {}", item.getSymbol());
+ //log.debug("--------------- 1min kline --------- {}", item.getSymbol());
if (Item.cryptos.equalsIgnoreCase(item.getType())) {
cryptosKlineService.saveOne(item.getSymbol(), Kline.PERIOD_1MIN);
} else {
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MonJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MonJob.java
index 2628885..1751669 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MonJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1MonJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0 0 1 * ?")
+ @Scheduled(cron = "0 1 0 1 * ?")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline1MonJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1WeekJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1WeekJob.java
index 6b7f057..01447e8 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1WeekJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1WeekJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0 0 ? * 1")
+ @Scheduled(cron = "1 0 0 ? * 2")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline1WeekJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1YearJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1YearJob.java
index ebb8b6d..23b2d98 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1YearJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline1YearJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0 0 1 1 ?")
+ @Scheduled(cron = "1 0 0 1 1 ?")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline1YearJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline30MinuteJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline30MinuteJob.java
index 71d1deb..8eacc3c 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline30MinuteJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline30MinuteJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0/30 * ? * *")
+ @Scheduled(cron = "1 0/30 * ? * *")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline30MinuteJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline4HourJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline4HourJob.java
index fb3b3e3..3ea1448 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline4HourJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline4HourJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0 */4 ? * *")
+ @Scheduled(cron = "1 0 */4 ? * *")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline4HourJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5DayJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5DayJob.java
index 974a451..3404b80 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5DayJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5DayJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0 0 */5 * ?")
+ @Scheduled(cron = "1 0 0 */5 * ?")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline5DayJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5MinuteJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5MinuteJob.java
index 0105744..5ae08ea 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5MinuteJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline5MinuteJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0/5 * ? * *")
+ @Scheduled(cron = "1 0/5 * ? * *")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline5MinuteJob start ... ");
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline60MinuteJob.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline60MinuteJob.java
index ba77442..0a774d6 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline60MinuteJob.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/klinejob/Kline60MinuteJob.java
@@ -28,7 +28,7 @@
@Autowired
private CryptosKlineService cryptosKlineService;
- @Scheduled(cron = "0 0 * ? * *")
+ @Scheduled(cron = "1 0 * ? * *")
public void taskJob() {
StopWatch stopWatch = new StopWatch();
log.info("Kline60MinuteJob start ... ");
--
Gitblit v1.9.3