diff --git a/src/main/java/cn/stock/market/lesg/RefinitivConsumer.java b/src/main/java/cn/stock/market/lesg/RefinitivConsumer.java index 5984e1e..166a8a2 100644 --- a/src/main/java/cn/stock/market/lesg/RefinitivConsumer.java +++ b/src/main/java/cn/stock/market/lesg/RefinitivConsumer.java @@ -279,49 +279,62 @@ public class RefinitivConsumer implements ApplicationRunner { String interval = null; String resourceEndpoint = null; Date start = new Date(); + String fields = null; + Integer flag = 0; if(StringUtils.equals("1m",resolution)){ start = DateTimeUtil.getDayOfMorning(start,0); countback = 360; interval = "PT1M"; resourceEndpoint = baseURLToday + symbol; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES"; }else if(StringUtils.equals("5m",resolution)){ start = DateTimeUtil.getDayOfMorning(start,0); countback = 150; interval = "PT5M"; resourceEndpoint = baseURLToday + symbol; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES"; }else if(StringUtils.equals("10m",resolution)){ start = DateTimeUtil.getDayOfMorning(start,0); countback = 50; interval = "PT10M"; resourceEndpoint = baseURLToday + symbol; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES"; }else if(StringUtils.equals("30m",resolution)){ start = DateTimeUtil.getDayOfMorning(start,0); countback = 30; interval = "PT30M"; resourceEndpoint = baseURLToday + symbol; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES"; }else if(StringUtils.equals("H",resolution)){ start = DateTimeUtil.getDayOfMorning(start,0); countback = 60; interval = "PT1H"; resourceEndpoint = baseURLToday + symbol; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES"; }else if(StringUtils.equals("D",resolution)){ start = DateTimeUtil.getDayOfMorning(start,-30); countback = 30; interval ="P1D"; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,OFF_CLOSE,NUM_MOVES"; + flag = 1; resourceEndpoint = baseURLHistory + symbol; }else if(StringUtils.equals("W",resolution)){ start = DateTimeUtil.getDayOfMorning(start,-60); countback = 30; interval ="P1W"; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,OFF_CLOSE,NUM_MOVES"; + flag = 2; resourceEndpoint = baseURLHistory + symbol; }else if(StringUtils.equals("M",resolution)){ start = DateTimeUtil.getDayOfYear(start,-1); countback = 30; interval ="P1M"; + fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,OFF_CLOSE,NUM_MOVES"; + flag = 2; resourceEndpoint = baseURLHistory + symbol; } @@ -332,6 +345,7 @@ public class RefinitivConsumer implements ApplicationRunner { .form("start",startStr) .form("count",countback) .form("interval",interval) + .form("fields",fields) .header("Authorization","Bearer " + token) .execute(); if(response.getStatus() != 200){ @@ -359,11 +373,29 @@ public class RefinitivConsumer implements ApplicationRunner { long timestampMillis = instant.getEpochSecond(); t.add(timestampMillis); } - o.add(Double.valueOf(date.get(3).toString())); - h.add(Double.valueOf(date.get(1).toString())); - l.add(Double.valueOf(date.get(2).toString())); - c.add(Double.valueOf(date.get(4).toString())); - v.add(date.get(6) == null?0:Double.valueOf(date.get(6).toString())); + if(flag == 0) { + o.add(Double.valueOf(date.get(3).toString())); + h.add(Double.valueOf(date.get(1).toString())); + l.add(Double.valueOf(date.get(2).toString())); + c.add(Double.valueOf(date.get(4).toString())); + v.add(date.get(5) == null?0:Double.valueOf(date.get(5).toString())); + } + if(flag == 1){ + o.add(Double.valueOf(date.get(4).toString())); + h.add(Double.valueOf(date.get(2).toString())); + l.add(Double.valueOf(date.get(3).toString())); + c.add(Double.valueOf(date.get(1).toString())); + v.add(date.get(5) == null?0:Double.valueOf(date.get(5).toString())); + } + if(flag == 2){ + o.add(Double.valueOf(date.get(1).toString())); + h.add(Double.valueOf(date.get(4).toString())); + l.add(Double.valueOf(date.get(2).toString())); + c.add(Double.valueOf(date.get(5).toString())); + v.add(date.get(3) == null?0:Double.valueOf(date.get(3).toString())); + } + + } result.setT(t); result.setO(o);