|
@@ -58,111 +58,118 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
|
|
|
str = null;
|
|
|
StockRestPojo stockRestPojo;
|
|
|
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
|
|
|
- stockRestPojo = new StockRestPojo();
|
|
|
- stockRestPojo.setDate(String.valueOf(entry.getValue().get(0)));
|
|
|
- stockRestPojo.setTime(String.valueOf(entry.getValue().get(1)));
|
|
|
- stockRestPojo.setNow(String.valueOf(entry.getValue().get(2)));
|
|
|
- stockRestPojo.setHigh(String.valueOf(entry.getValue().get(3)));
|
|
|
- stockRestPojo.setLow(String.valueOf(entry.getValue().get(4)));
|
|
|
- stockRestPojo.setOpen(String.valueOf(entry.getValue().get(5)));
|
|
|
- stockRestPojo.setPreclose(String.valueOf(entry.getValue().get(6)));
|
|
|
- stockRestPojo.setRoundlot(String.valueOf(entry.getValue().get(7)));
|
|
|
- stockRestPojo.setChange(String.valueOf(entry.getValue().get(8)));
|
|
|
- stockRestPojo.setPctchange(String.valueOf(entry.getValue().get(9)));
|
|
|
- stockRestPojo.setVolume(String.valueOf(entry.getValue().get(10)));
|
|
|
- stockRestPojo.setAmount(String.valueOf(entry.getValue().get(11)));
|
|
|
- stockRestPojo.setVolumeratio("");
|
|
|
- stockRestPojo.setCommissionratio("");
|
|
|
- stockRestPojo.setCommissiondiff("");
|
|
|
- stockRestPojo.setTradestatus("");
|
|
|
- stockRestPojo.setOutvolume("");
|
|
|
- stockRestPojo.setInvolume("");
|
|
|
- stockRestPojo.setHighlimit("");
|
|
|
- stockRestPojo.setLowlimit("");
|
|
|
- stockRestPojo.setSpeed("");
|
|
|
- stockRestPojo.setAverageprice("");
|
|
|
-
|
|
|
- stockRestPojo.setBuyprice1(String.valueOf(entry.getValue().get(12)));
|
|
|
- stockRestPojo.setBuyprice2(String.valueOf(entry.getValue().get(13)));
|
|
|
- stockRestPojo.setBuyprice3(String.valueOf(entry.getValue().get(14)));
|
|
|
- stockRestPojo.setBuyprice4(String.valueOf(entry.getValue().get(15)));
|
|
|
- stockRestPojo.setBuyprice5(String.valueOf(entry.getValue().get(16)));
|
|
|
- stockRestPojo.setBuyvolume1(String.valueOf(entry.getValue().get(17)));
|
|
|
- stockRestPojo.setBuyvolume2(String.valueOf(entry.getValue().get(18)));
|
|
|
- stockRestPojo.setBuyvolume3(String.valueOf(entry.getValue().get(19)));
|
|
|
- stockRestPojo.setBuyvolume4(String.valueOf(entry.getValue().get(20)));
|
|
|
- stockRestPojo.setBuyvolume5(String.valueOf(entry.getValue().get(21)));
|
|
|
- stockRestPojo.setSellprice1(String.valueOf(entry.getValue().get(22)));
|
|
|
- stockRestPojo.setSellprice2(String.valueOf(entry.getValue().get(23)));
|
|
|
- stockRestPojo.setSellprice3(String.valueOf(entry.getValue().get(24)));
|
|
|
- stockRestPojo.setSellprice4(String.valueOf(entry.getValue().get(25)));
|
|
|
- stockRestPojo.setSellprice5(String.valueOf(entry.getValue().get(26)));
|
|
|
- stockRestPojo.setSellvolume1(String.valueOf(entry.getValue().get(27)));
|
|
|
- stockRestPojo.setSellvolume2(String.valueOf(entry.getValue().get(28)));
|
|
|
- stockRestPojo.setSellvolume3(String.valueOf(entry.getValue().get(29)));
|
|
|
- stockRestPojo.setSellvolume4(String.valueOf(entry.getValue().get(30)));
|
|
|
- stockRestPojo.setSellvolume5(String.valueOf(entry.getValue().get(31)));
|
|
|
- stockRestPojo.setClosedtime("");
|
|
|
- stockRestPojo.setClosedvolume("");
|
|
|
- stockRestPojo.setClosedamount("");
|
|
|
- StringBuffer dateStr = new StringBuffer(stockRestPojo.getDate());
|
|
|
- if (StringUtils.isEmpty(stockRestPojo.getTime())) {
|
|
|
- dateStr = dateStr.append(000000);
|
|
|
- } else {
|
|
|
- if (5 == stockRestPojo.getTime().length()) {
|
|
|
- // 长度为5表示 小时前面需要补0
|
|
|
- dateStr = dateStr.append(0).append(stockRestPojo.getTime());
|
|
|
+ try {
|
|
|
+ stockRestPojo = new StockRestPojo();
|
|
|
+ stockRestPojo.setDate(String.valueOf(entry.getValue().get(0)));
|
|
|
+ if(String.valueOf(entry.getValue().get(1)).equals("0")){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ stockRestPojo.setTime(String.valueOf(entry.getValue().get(1)));
|
|
|
+ stockRestPojo.setNow(String.valueOf(entry.getValue().get(2)));
|
|
|
+ stockRestPojo.setHigh(String.valueOf(entry.getValue().get(3)));
|
|
|
+ stockRestPojo.setLow(String.valueOf(entry.getValue().get(4)));
|
|
|
+ stockRestPojo.setOpen(String.valueOf(entry.getValue().get(5)));
|
|
|
+ stockRestPojo.setPreclose(String.valueOf(entry.getValue().get(6)));
|
|
|
+ stockRestPojo.setRoundlot(String.valueOf(entry.getValue().get(7)));
|
|
|
+ stockRestPojo.setChange(String.valueOf(entry.getValue().get(8)));
|
|
|
+ stockRestPojo.setPctchange(String.valueOf(entry.getValue().get(9)));
|
|
|
+ stockRestPojo.setVolume(String.valueOf(entry.getValue().get(10)));
|
|
|
+ stockRestPojo.setAmount(String.valueOf(entry.getValue().get(11)));
|
|
|
+ stockRestPojo.setVolumeratio("");
|
|
|
+ stockRestPojo.setCommissionratio("");
|
|
|
+ stockRestPojo.setCommissiondiff("");
|
|
|
+ stockRestPojo.setTradestatus("");
|
|
|
+ stockRestPojo.setOutvolume("");
|
|
|
+ stockRestPojo.setInvolume("");
|
|
|
+ stockRestPojo.setHighlimit("");
|
|
|
+ stockRestPojo.setLowlimit("");
|
|
|
+ stockRestPojo.setSpeed("");
|
|
|
+ stockRestPojo.setAverageprice("");
|
|
|
+
|
|
|
+ stockRestPojo.setBuyprice1(String.valueOf(entry.getValue().get(12)));
|
|
|
+ stockRestPojo.setBuyprice2(String.valueOf(entry.getValue().get(13)));
|
|
|
+ stockRestPojo.setBuyprice3(String.valueOf(entry.getValue().get(14)));
|
|
|
+ stockRestPojo.setBuyprice4(String.valueOf(entry.getValue().get(15)));
|
|
|
+ stockRestPojo.setBuyprice5(String.valueOf(entry.getValue().get(16)));
|
|
|
+ stockRestPojo.setBuyvolume1(String.valueOf(entry.getValue().get(17)));
|
|
|
+ stockRestPojo.setBuyvolume2(String.valueOf(entry.getValue().get(18)));
|
|
|
+ stockRestPojo.setBuyvolume3(String.valueOf(entry.getValue().get(19)));
|
|
|
+ stockRestPojo.setBuyvolume4(String.valueOf(entry.getValue().get(20)));
|
|
|
+ stockRestPojo.setBuyvolume5(String.valueOf(entry.getValue().get(21)));
|
|
|
+ stockRestPojo.setSellprice1(String.valueOf(entry.getValue().get(22)));
|
|
|
+ stockRestPojo.setSellprice2(String.valueOf(entry.getValue().get(23)));
|
|
|
+ stockRestPojo.setSellprice3(String.valueOf(entry.getValue().get(24)));
|
|
|
+ stockRestPojo.setSellprice4(String.valueOf(entry.getValue().get(25)));
|
|
|
+ stockRestPojo.setSellprice5(String.valueOf(entry.getValue().get(26)));
|
|
|
+ stockRestPojo.setSellvolume1(String.valueOf(entry.getValue().get(27)));
|
|
|
+ stockRestPojo.setSellvolume2(String.valueOf(entry.getValue().get(28)));
|
|
|
+ stockRestPojo.setSellvolume3(String.valueOf(entry.getValue().get(29)));
|
|
|
+ stockRestPojo.setSellvolume4(String.valueOf(entry.getValue().get(30)));
|
|
|
+ stockRestPojo.setSellvolume5(String.valueOf(entry.getValue().get(31)));
|
|
|
+ stockRestPojo.setClosedtime("");
|
|
|
+ stockRestPojo.setClosedvolume("");
|
|
|
+ stockRestPojo.setClosedamount("");
|
|
|
+ StringBuffer dateStr = new StringBuffer(stockRestPojo.getDate());
|
|
|
+ if (StringUtils.isEmpty(stockRestPojo.getTime())) {
|
|
|
+ dateStr = dateStr.append(000000);
|
|
|
} else {
|
|
|
- dateStr = dateStr.append(stockRestPojo.getTime());
|
|
|
+ if (5 == stockRestPojo.getTime().length()) {
|
|
|
+ // 长度为5表示 小时前面需要补0
|
|
|
+ dateStr = dateStr.append(0).append(stockRestPojo.getTime());
|
|
|
+ } else {
|
|
|
+ dateStr = dateStr.append(stockRestPojo.getTime());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Date date = TimeUtil.strToDate(dateStr.toString());
|
|
|
+ // 毫秒转成秒
|
|
|
+ stockRestPojo.setRealTime(date.getTime() / 1000);
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(date);
|
|
|
+ int min = calendar.get(Calendar.MINUTE); // 获取分钟
|
|
|
+ int sec = calendar.get(Calendar.SECOND); // 获取秒数
|
|
|
+
|
|
|
+ // 1分钟数据
|
|
|
+ if (sec != 0) {
|
|
|
+ stockRestPojo.setDateOne(stockRestPojo.getRealTime() + 60 - sec);
|
|
|
+ } else {
|
|
|
+ stockRestPojo.setDateOne(stockRestPojo.getRealTime());
|
|
|
}
|
|
|
- }
|
|
|
- Date date = TimeUtil.strToDate(dateStr.toString());
|
|
|
- // 毫秒转成秒
|
|
|
- stockRestPojo.setRealTime(date.getTime() / 1000);
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- calendar.setTime(date);
|
|
|
- int min = calendar.get(Calendar.MINUTE); // 获取分钟
|
|
|
- int sec = calendar.get(Calendar.SECOND); // 获取秒数
|
|
|
-
|
|
|
- // 1分钟数据
|
|
|
- if (sec != 0) {
|
|
|
- stockRestPojo.setDateOne(stockRestPojo.getRealTime() + 60 - sec);
|
|
|
- } else {
|
|
|
- stockRestPojo.setDateOne(stockRestPojo.getRealTime());
|
|
|
- }
|
|
|
|
|
|
- // 5分钟数据
|
|
|
- if (sec != 0 || min % 5 != 0) {
|
|
|
- stockRestPojo.setDateFive(stockRestPojo.getRealTime() + (5 * 60) - sec - (min % 5 * 60));
|
|
|
- } else {
|
|
|
- stockRestPojo.setDateFive(stockRestPojo.getRealTime());
|
|
|
- }
|
|
|
+ // 5分钟数据
|
|
|
+ if (sec != 0 || min % 5 != 0) {
|
|
|
+ stockRestPojo.setDateFive(stockRestPojo.getRealTime() + (5 * 60) - sec - (min % 5 * 60));
|
|
|
+ } else {
|
|
|
+ stockRestPojo.setDateFive(stockRestPojo.getRealTime());
|
|
|
+ }
|
|
|
|
|
|
- // 15分钟数据
|
|
|
- if (sec != 0 || min % 15 != 0) {
|
|
|
- stockRestPojo.setDateFifteen(stockRestPojo.getRealTime() + (15 * 60) - sec - (min % 15 * 60));
|
|
|
- } else {
|
|
|
- stockRestPojo.setDateFifteen(stockRestPojo.getRealTime());
|
|
|
- }
|
|
|
+ // 15分钟数据
|
|
|
+ if (sec != 0 || min % 15 != 0) {
|
|
|
+ stockRestPojo.setDateFifteen(stockRestPojo.getRealTime() + (15 * 60) - sec - (min % 15 * 60));
|
|
|
+ } else {
|
|
|
+ stockRestPojo.setDateFifteen(stockRestPojo.getRealTime());
|
|
|
+ }
|
|
|
|
|
|
- // 30分钟数据
|
|
|
- if (sec != 0 || min % 30 != 0) {
|
|
|
- stockRestPojo.setDateThirty(stockRestPojo.getRealTime() + (30 * 60) - sec - (min % 30 * 60));
|
|
|
- } else {
|
|
|
- stockRestPojo.setDateThirty(stockRestPojo.getRealTime());
|
|
|
- }
|
|
|
+ // 30分钟数据
|
|
|
+ if (sec != 0 || min % 30 != 0) {
|
|
|
+ stockRestPojo.setDateThirty(stockRestPojo.getRealTime() + (30 * 60) - sec - (min % 30 * 60));
|
|
|
+ } else {
|
|
|
+ stockRestPojo.setDateThirty(stockRestPojo.getRealTime());
|
|
|
+ }
|
|
|
|
|
|
- // 60分钟数据
|
|
|
- if (sec != 0 || min % 60 != 0) {
|
|
|
- stockRestPojo.setDateSixty(stockRestPojo.getRealTime() + (60 * 60) - sec - (min % 60 * 60));
|
|
|
- } else {
|
|
|
- stockRestPojo.setDateSixty(stockRestPojo.getRealTime());
|
|
|
+ // 60分钟数据
|
|
|
+ if (sec != 0 || min % 60 != 0) {
|
|
|
+ stockRestPojo.setDateSixty(stockRestPojo.getRealTime() + (60 * 60) - sec - (min % 60 * 60));
|
|
|
+ } else {
|
|
|
+ stockRestPojo.setDateSixty(stockRestPojo.getRealTime());
|
|
|
+ }
|
|
|
+ StringBuffer tableName = new StringBuffer("data_rt_");
|
|
|
+ tableName.append(entry.getKey().replace(".", "_").toLowerCase());
|
|
|
+ stockRestPojo.setCode(entry.getKey().toLowerCase());
|
|
|
+ stockRestPojo.setTableName(tableName.toString());
|
|
|
+ stockRestPojoList.add(stockRestPojo);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("错误数据导致失败" + e);
|
|
|
}
|
|
|
- StringBuffer tableName = new StringBuffer("data_rt_");
|
|
|
- tableName.append(entry.getKey().replace(".", "_").toLowerCase());
|
|
|
- stockRestPojo.setCode(entry.getKey().toLowerCase());
|
|
|
- stockRestPojo.setTableName(tableName.toString());
|
|
|
- stockRestPojoList.add(stockRestPojo);
|
|
|
}
|
|
|
map = null;
|
|
|
}
|
|
@@ -175,10 +182,10 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
|
|
|
log.info("=====入库==债券==开始,当前时间 {} =====", DateTimeUtil.dateToStr(new Date()));
|
|
|
int insertLength = list.size();
|
|
|
int i = 0;
|
|
|
- int insertSize = 200;
|
|
|
+ int insertSize = 500;
|
|
|
while (insertLength > insertSize) {
|
|
|
choiceBondMapper.insertBatch(list.subList(i, i + insertSize));
|
|
|
- stockMapper.updateBatchStockInfo(list.subList(i, i + 500));
|
|
|
+ stockMapper.updateBatchStockInfo(list.subList(i, i + insertSize));
|
|
|
i = i + insertSize;
|
|
|
insertLength = insertLength - insertSize;
|
|
|
Thread thread=new Thread(new Runnable() {
|