fix:修改economictimes获取指数详情bug
This commit is contained in:
@@ -1072,17 +1072,18 @@ public class StockService {
|
||||
List<IndiaIndexVo> indexVoList = new ArrayList<>();
|
||||
try {
|
||||
//获取详情
|
||||
String scripcode = "SENSEX";
|
||||
String exchangeid = "47";
|
||||
String currentTime = DateTimeUtil.dateToStr(new Date(),DateTimeUtil.YMD_FORMAT);
|
||||
String indexid = "2365";
|
||||
String exchange = "47";
|
||||
String keyName = "sensex";
|
||||
IndiaIndexVo vo1 = new IndiaIndexVo();
|
||||
JSONObject object = EttechchartsApis.getStockDetail(scripcode, exchangeid,currentTime);
|
||||
IndiaStockVO market = ettechchartsObjToVo(object);
|
||||
JSONObject object = EttechchartsApis.getStockDetail(indexid, exchange,keyName);
|
||||
IndiaStockVO market = EttechchartsApis.ettechchartsObjToVo(object);
|
||||
market.setName("BSESENSEX指数");
|
||||
vo1.setIndexVo(market);
|
||||
|
||||
//获取k线图 1min 当天的数据 分钟
|
||||
List kine = EttechchartsApis.getStockKline(scripcode,exchangeid);
|
||||
String scripcode = "SENSEX";
|
||||
List kine = EttechchartsApis.getStockKline(scripcode,exchange);
|
||||
vo1.setKLine(kine);
|
||||
indexVoList.add(vo1);
|
||||
}catch (Exception e){
|
||||
@@ -1090,16 +1091,17 @@ public class StockService {
|
||||
}
|
||||
try {
|
||||
//获取详情
|
||||
String scripcode = "NSE+Index";
|
||||
String indexid = "2369";
|
||||
String exchangeid = "50";
|
||||
String currentTime = DateTimeUtil.dateToStr(new Date(),DateTimeUtil.YMD_FORMAT);
|
||||
String keyName = "nifty";
|
||||
IndiaIndexVo vo1 = new IndiaIndexVo();
|
||||
JSONObject object = EttechchartsApis.getStockDetail(scripcode, exchangeid,currentTime);
|
||||
IndiaStockVO market = ettechchartsObjToVo(object);
|
||||
JSONObject object = EttechchartsApis.getStockDetail(indexid, exchangeid,keyName);
|
||||
IndiaStockVO market = EttechchartsApis.ettechchartsObjToVo(object);
|
||||
market.setName("NIFTY50指数");
|
||||
vo1.setIndexVo(market);
|
||||
|
||||
//获取k线图 1min 当天的数据 分钟
|
||||
String scripcode = "NSE+Index";
|
||||
List kine = EttechchartsApis.getStockKline(scripcode,exchangeid);
|
||||
vo1.setKLine(kine);
|
||||
indexVoList.add(vo1);
|
||||
@@ -1109,27 +1111,5 @@ public class StockService {
|
||||
return ServerResponse.createBySuccess(indexVoList);
|
||||
}
|
||||
|
||||
private IndiaStockVO ettechchartsObjToVo(JSONObject object) {
|
||||
IndiaStockVO market = new IndiaStockVO();
|
||||
if (object.containsKey("Close")) {
|
||||
market.setClose(object.getString("Close"));
|
||||
}
|
||||
if (object.containsKey("Adj_Close")) {
|
||||
market.setNowPrice(object.getString("Adj_Close"));
|
||||
}
|
||||
if (object.containsKey("perchg")) {
|
||||
market.setRate(object.getString("perchg"));
|
||||
}
|
||||
if (object.containsKey("High")) {
|
||||
market.setHigh(object.getString("High"));
|
||||
}
|
||||
if (object.containsKey("Low")) {
|
||||
market.setLow(object.getString("Low"));
|
||||
}
|
||||
if (object.containsKey("Open")) {
|
||||
market.setOpen(object.getString("Open"));
|
||||
}
|
||||
return market;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -56,51 +56,50 @@ public class EttechchartsApis {
|
||||
// return null;
|
||||
}
|
||||
//获取指数详情
|
||||
public static JSONObject getStockDetail(String scripcode,String exchangeid,String currentTime){
|
||||
String url = String.format("https://json.bselivefeeds.indiatimes.com/ET_Community/currenttick?scripcode=%s&exchangeid=%s&datatype=eod&filtertype=eod&tagId=&firstreceivedataid=2023-06-30&lastreceivedataid=%s&directions=current&callback=serviceHit.autoLoadResultCallback&scripcodetype=index",scripcode,exchangeid,currentTime);
|
||||
public static JSONObject getStockDetail(String indexid,String exchange,String keyName){
|
||||
String url = String.format("https://json.bselivefeeds.indiatimes.com/ET_Community/liveindices?outputtype=json&indexid=2365&exchange=47&company=true&pagesize=1&sortby=percentchange&sortorder=desc&callback=objIndices.getDataCB&language=",indexid,exchange);
|
||||
String str = get(url);
|
||||
if(StringUtils.isBlank(str)){
|
||||
return new JSONObject();
|
||||
}
|
||||
str = str.substring(str.indexOf("(")+1,str.lastIndexOf(")"));
|
||||
JSONObject object = JSON.parseObject(str);
|
||||
if(!object.containsKey("query")){
|
||||
if(!object.containsKey("searchresult")){
|
||||
return new JSONObject();
|
||||
}
|
||||
JSONObject query = object.getJSONObject("query");
|
||||
if(!query.containsKey("results")){
|
||||
JSONObject query = object.getJSONObject("searchresult");
|
||||
if(!query.containsKey("index")){
|
||||
return new JSONObject();
|
||||
}
|
||||
JSONObject results = query.getJSONObject("results");
|
||||
if(!results.containsKey("quote")){
|
||||
JSONObject results = query.getJSONObject("index");
|
||||
if(!results.containsKey(keyName)){
|
||||
return new JSONObject();
|
||||
}
|
||||
JSONArray quote = results.getJSONArray("quote");
|
||||
//
|
||||
return (JSONObject) quote.get(0);
|
||||
// return getList(object.getString("data"),1);
|
||||
// return null;
|
||||
return results.getJSONObject(keyName);
|
||||
}
|
||||
|
||||
private static IndiaStockVO ettechchartsObjToVo(JSONObject object) {
|
||||
public static IndiaStockVO ettechchartsObjToVo(JSONObject object) {
|
||||
IndiaStockVO market = new IndiaStockVO();
|
||||
if (object.containsKey("Close")) {
|
||||
market.setClose(object.getString("Close"));
|
||||
if (object.containsKey("CloseIndexValue")) {
|
||||
market.setClose(object.getString("CloseIndexValue"));
|
||||
}
|
||||
if (object.containsKey("Adj_Close")) {
|
||||
market.setNowPrice(object.getString("Adj_Close"));
|
||||
if (object.containsKey("PercentChange")) {
|
||||
market.setRate(object.getString("PercentChange"));
|
||||
}
|
||||
if (object.containsKey("perchg")) {
|
||||
market.setRate(object.getString("perchg"));
|
||||
if (object.containsKey("HighIndexValue")) {
|
||||
market.setHigh(object.getString("HighIndexValue"));
|
||||
}
|
||||
if (object.containsKey("High")) {
|
||||
market.setHigh(object.getString("High"));
|
||||
if (object.containsKey("LowIndexValue")) {
|
||||
market.setLow(object.getString("LowIndexValue"));
|
||||
}
|
||||
if (object.containsKey("Low")) {
|
||||
market.setLow(object.getString("Low"));
|
||||
if (object.containsKey("OpenIndexValue")) {
|
||||
market.setOpen(object.getString("OpenIndexValue"));
|
||||
}
|
||||
if (object.containsKey("Open")) {
|
||||
market.setOpen(object.getString("Open"));
|
||||
if (object.containsKey("CurrentIndexValue")) {
|
||||
market.setNowPrice(object.getString("CurrentIndexValue"));
|
||||
}
|
||||
if (object.containsKey("NetChange")) {
|
||||
market.setNumber(object.getString("NetChange"));
|
||||
}
|
||||
return market;
|
||||
}
|
||||
@@ -109,9 +108,10 @@ public class EttechchartsApis {
|
||||
//获取详情
|
||||
String scripcode = "NSE+Index";
|
||||
String exchangeid = "50";
|
||||
String currentTime = DateTimeUtil.dateToStr(new Date(),DateTimeUtil.YMD_FORMAT);
|
||||
String indexid = "2369";
|
||||
String keyName = "nifty";
|
||||
IndiaIndexVo vo1 = new IndiaIndexVo();
|
||||
JSONObject object = EttechchartsApis.getStockDetail(scripcode, exchangeid,currentTime);
|
||||
JSONObject object = EttechchartsApis.getStockDetail(indexid, exchangeid,keyName);
|
||||
IndiaStockVO market = ettechchartsObjToVo(object);
|
||||
market.setName("NIFTY50指数");
|
||||
vo1.setIndexVo(market);
|
||||
@@ -125,10 +125,11 @@ public class EttechchartsApis {
|
||||
public static void requestSensexData(List<IndiaIndexVo> indexVoList) {
|
||||
//获取详情
|
||||
String scripcode = "SENSEX";
|
||||
String indexid = "2365";
|
||||
String exchangeid = "47";
|
||||
String currentTime = DateTimeUtil.dateToStr(new Date(),DateTimeUtil.YMD_FORMAT);
|
||||
String keyName = "sensex";
|
||||
IndiaIndexVo vo1 = new IndiaIndexVo();
|
||||
JSONObject object = EttechchartsApis.getStockDetail(scripcode, exchangeid,currentTime);
|
||||
JSONObject object = EttechchartsApis.getStockDetail(indexid, exchangeid,keyName);
|
||||
IndiaStockVO market = ettechchartsObjToVo(object);
|
||||
market.setName("BSESENSEX指数");
|
||||
vo1.setIndexVo(market);
|
||||
|
||||
Reference in New Issue
Block a user