fix:修改bug

This commit is contained in:
xiaoliuhu
2023-12-20 21:54:35 +08:00
parent 0c41d65eeb
commit 4b52b3cc83
4 changed files with 63 additions and 5 deletions

View File

@@ -786,7 +786,8 @@ public class StockService {
builder.header(key, value);
}
}
public void syncIndiaData(){
public ServerResponse syncIndiaData(){
log.info("同步股票数据开始。。。。");
Map<String, Stock> stockMap = StockRepository.of().cacheCodeMap();
Stopwatch stopwatch = Stopwatch.createStarted();
@@ -835,7 +836,7 @@ public class StockService {
if((total - currentTotal) < pageSize ){
pageSize = total - currentTotal;
}
if(total == currentTotal){
if(total <= currentTotal){
break;
}
pageNum ++;
@@ -846,6 +847,63 @@ public class StockService {
int count = list.size();
log.info("syncAFutureStockList执行, 受影响数{}, 耗时:{}毫秒", count, stopwatch.elapsed(TimeUnit.MILLISECONDS));
log.info("同步股票数据结束。。。。");
return ServerResponse.createBySuccess();
} catch (Exception e) {
log.info("同步股票数据异常,异常信息{}。。。。",e.getMessage());
return ServerResponse.createByErrorMsg(e.getMessage());
}
}
public void syncIndiaData2(){
log.info("同步股票数据开始。。。。");
Map<String, Stock> stockMap = StockRepository.of().cacheCodeMap();
Stopwatch stopwatch = Stopwatch.createStarted();
List<Stock> list = Lists.newArrayList();
int currentTotal = 0;
int pageNum =1;
int pageSize = 300;
try {
String str = Utils.readTxt();
JSONObject jsonObject = JSON.parseObject(str);
JSONArray dataObjArray = JSON.parseArray(jsonObject.get("data").toString());
for (Object obj : dataObjArray) {
JSONObject jsonObject2 = JSON.parseObject(obj.toString());
String code = jsonObject2.get("Id").toString();
String name = jsonObject2.get("Name").toString();
String stockSymbol = jsonObject2.get("Symbol").toString();
String exchangeId = jsonObject2.get("ExchangeId").toString();
String fundamentalMarketCap = null;
if(jsonObject2.containsKey("FundamentalMarketCap") && jsonObject2.get("FundamentalMarketCap") != null){
fundamentalMarketCap = jsonObject2.get("FundamentalMarketCap").toString();
}
if (stockMap.containsKey(code)) {
log.info("已经存在 {} 信息, 跳过", code);
continue;
}
if(! Utils.isShOrSzOrBJ(code)) {
log.info("{} 非 sh 或者 sz 或者 bj , 跳过", code);
continue;
}
Stock stock = new Stock();
stock.setStockSymbol(stockSymbol);
stock.setStockExchangeId(exchangeId);
stock.setStockName(name);
stock.setStockCode(code);
stock.setIsLock(0);
stock.setIsShow(0);
stock.setAddTime(new Date());
stock.setStockState(0);
stock.setFundamentalMarketCap(fundamentalMarketCap);
list.add(stock);
}
if(CollectionUtils.isNotEmpty(list)) {
StockRepository.of().saveAll(list);
}
int count = list.size();
log.info("syncAFutureStockList执行, 受影响数{}, 耗时:{}毫秒", count, stopwatch.elapsed(TimeUnit.MILLISECONDS));
log.info("同步股票数据结束。。。。");
} catch (Exception e) {
log.info("同步股票数据异常,异常信息{}。。。。",e.getMessage());
}

View File

@@ -69,4 +69,5 @@ public class StockPO {
String stockExchangeId;
String stockSymbol;
String fundamentalMarketCap;
}

View File

@@ -402,7 +402,7 @@ public final class Utils {
BufferedReader br = null;
StringBuilder buffer = new StringBuilder();
try {
String file = Objects.requireNonNull(Utils.class.getResource("/india.txt")).getPath();
String file = Objects.requireNonNull(Utils.class.getResource("/2036.txt")).getPath();
fr = new FileReader(file);
br = new BufferedReader(fr);

View File

@@ -694,7 +694,6 @@ public class StockApiController {
@ResponseBody
public ServerResponse syncIndiaData() {
stockService.syncIndiaData();
return ServerResponse.createBySuccess();
return stockService.syncIndiaData();
}
}