fix:优化money股票K线图1H和1D只返回当天数据

This commit is contained in:
xiaoliuhu
2024-04-24 21:18:39 +08:00
parent fbc7815365
commit e680bee42b

View File

@@ -1,5 +1,6 @@
package cn.stock.market.web; package cn.stock.market.web;
import cn.hutool.core.date.DateUtil;
import cn.stock.market.MoneyStockSuggestDTO; import cn.stock.market.MoneyStockSuggestDTO;
import cn.stock.market.domain.basic.entity.MoneyStock; import cn.stock.market.domain.basic.entity.MoneyStock;
import cn.stock.market.domain.basic.repository.MoneyStockRepository; import cn.stock.market.domain.basic.repository.MoneyStockRepository;
@@ -725,6 +726,7 @@ public class MoneyApiController {
} }
if (response != null) { if (response != null) {
setResponse(response,resolution);
// API request successful, return the response // API request successful, return the response
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} else { } else {
@@ -735,6 +737,45 @@ public class MoneyApiController {
// 返回响应 // 返回响应
} }
private void setResponse(StockHistoryResponse response,String resolution){
if(!"ok".equals(response.getS())){
return;
}
if(Objects.isNull(response.getT())){
return;
}
if(StringUtils.equals("H",resolution) || StringUtils.equals("D",resolution)) {
List<Long> t = new ArrayList<>();
List<Double> o = new ArrayList<>();
List<Double> h = new ArrayList<>();
List<Double> l = new ArrayList<>();
List<Double> c = new ArrayList<>();
List<Long> v = new ArrayList<>();
//根据时间过滤,只留当天的数据
Date currentTime = new Date();
int i = 0;
for (Long time : response.getT()) {
time = time * 1000;
if (DateUtil.isSameDay(currentTime, new Date(time))) {
t.add(time);
o.add(response.getO().get(i));
h.add(response.getH().get(i));
l.add(response.getL().get(i));
c.add(response.getC().get(i));
v.add(response.getV().get(i));
}
i++;
}
response.setT(t);
response.setO(o);
response.setH(h);
response.setL(l);
response.setC(c);
response.setV(v);
}
}
@@ -759,13 +800,16 @@ public class MoneyApiController {
public static void main(String[] args) { public static void main(String[] args) {
nseGainer(); // nseGainer();
nseActives(); //// nseActives();
nseTopLoser(); //// nseTopLoser();
////
bseActives(); //// bseActives();
bseGainer(); //// bseGainer();
bseTopLoser(); //// bseTopLoser();
System.out.println(new Date());
System.out.println(new Date(1713949200000L));
System.out.println(DateUtil.isSameDay(new Date(),new Date(1713949200000L)));
} }
private Cache<String, List<MoneyStockSuggestDTO>> gainerStockSuggestCache = CacheBuilder.newBuilder() private Cache<String, List<MoneyStockSuggestDTO>> gainerStockSuggestCache = CacheBuilder.newBuilder()