Jelajahi Sumber

修复解析数据bug

z 4 tahun lalu
induk
melakukan
bb2d3a403b

+ 107 - 100
src/main/java/com/zx/dataservice/service/impl/ChoiceBondServiceImpl.java

@@ -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() {

+ 104 - 98
src/main/java/com/zx/dataservice/service/impl/ChoiceStockServiceImpl.java

@@ -27,7 +27,6 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
 
     private static final String goalFileUrl = "/www/wwwroot/csqdata/stock/backup";
 
-//    private static final String url = "http://huarongjgb.com/lucene/updateInfo.do";
     private static final String url = "http://huarongjgb.com/lucene/updateInfo.do";
 
     @Autowired
@@ -64,110 +63,117 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
             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(String.valueOf(entry.getValue().get(12)));
-                stockRestPojo.setCommissionratio(String.valueOf(entry.getValue().get(13)));
-                stockRestPojo.setCommissiondiff(String.valueOf(entry.getValue().get(14)));
-                stockRestPojo.setTradestatus(String.valueOf(entry.getValue().get(15)));
-                stockRestPojo.setOutvolume(String.valueOf(entry.getValue().get(16)));
-                stockRestPojo.setInvolume(String.valueOf(entry.getValue().get(17)));
-                stockRestPojo.setHighlimit(String.valueOf(entry.getValue().get(18)));
-                stockRestPojo.setLowlimit(String.valueOf(entry.getValue().get(19)));
-                stockRestPojo.setSpeed(String.valueOf(entry.getValue().get(20)));
-                stockRestPojo.setAverageprice(String.valueOf(entry.getValue().get(21)));
-                stockRestPojo.setBuyprice1(String.valueOf(entry.getValue().get(22)));
-                stockRestPojo.setBuyprice2(String.valueOf(entry.getValue().get(23)));
-                stockRestPojo.setBuyprice3(String.valueOf(entry.getValue().get(24)));
-                stockRestPojo.setBuyprice4(String.valueOf(entry.getValue().get(25)));
-                stockRestPojo.setBuyprice5(String.valueOf(entry.getValue().get(26)));
-                stockRestPojo.setBuyvolume1(String.valueOf(entry.getValue().get(27)));
-                stockRestPojo.setBuyvolume2(String.valueOf(entry.getValue().get(28)));
-                stockRestPojo.setBuyvolume3(String.valueOf(entry.getValue().get(29)));
-                stockRestPojo.setBuyvolume4(String.valueOf(entry.getValue().get(30)));
-                stockRestPojo.setBuyvolume5(String.valueOf(entry.getValue().get(31)));
-                stockRestPojo.setSellprice1(String.valueOf(entry.getValue().get(32)));
-                stockRestPojo.setSellprice2(String.valueOf(entry.getValue().get(33)));
-                stockRestPojo.setSellprice3(String.valueOf(entry.getValue().get(34)));
-                stockRestPojo.setSellprice4(String.valueOf(entry.getValue().get(35)));
-                stockRestPojo.setSellprice5(String.valueOf(entry.getValue().get(36)));
-                stockRestPojo.setSellvolume1(String.valueOf(entry.getValue().get(37)));
-                stockRestPojo.setSellvolume2(String.valueOf(entry.getValue().get(38)));
-                stockRestPojo.setSellvolume3(String.valueOf(entry.getValue().get(39)));
-                stockRestPojo.setSellvolume4(String.valueOf(entry.getValue().get(40)));
-                stockRestPojo.setSellvolume5(String.valueOf(entry.getValue().get(41)));
-                stockRestPojo.setClosedtime(String.valueOf(entry.getValue().get(42)));
-                stockRestPojo.setClosedvolume(String.valueOf(entry.getValue().get(43)));
-                stockRestPojo.setClosedamount(String.valueOf(entry.getValue().get(44)));
-                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(String.valueOf(entry.getValue().get(12)));
+                    stockRestPojo.setCommissionratio(String.valueOf(entry.getValue().get(13)));
+                    stockRestPojo.setCommissiondiff(String.valueOf(entry.getValue().get(14)));
+                    stockRestPojo.setTradestatus(String.valueOf(entry.getValue().get(15)));
+                    stockRestPojo.setOutvolume(String.valueOf(entry.getValue().get(16)));
+                    stockRestPojo.setInvolume(String.valueOf(entry.getValue().get(17)));
+                    stockRestPojo.setHighlimit(String.valueOf(entry.getValue().get(18)));
+                    stockRestPojo.setLowlimit(String.valueOf(entry.getValue().get(19)));
+                    stockRestPojo.setSpeed(String.valueOf(entry.getValue().get(20)));
+                    stockRestPojo.setAverageprice(String.valueOf(entry.getValue().get(21)));
+                    stockRestPojo.setBuyprice1(String.valueOf(entry.getValue().get(22)));
+                    stockRestPojo.setBuyprice2(String.valueOf(entry.getValue().get(23)));
+                    stockRestPojo.setBuyprice3(String.valueOf(entry.getValue().get(24)));
+                    stockRestPojo.setBuyprice4(String.valueOf(entry.getValue().get(25)));
+                    stockRestPojo.setBuyprice5(String.valueOf(entry.getValue().get(26)));
+                    stockRestPojo.setBuyvolume1(String.valueOf(entry.getValue().get(27)));
+                    stockRestPojo.setBuyvolume2(String.valueOf(entry.getValue().get(28)));
+                    stockRestPojo.setBuyvolume3(String.valueOf(entry.getValue().get(29)));
+                    stockRestPojo.setBuyvolume4(String.valueOf(entry.getValue().get(30)));
+                    stockRestPojo.setBuyvolume5(String.valueOf(entry.getValue().get(31)));
+                    stockRestPojo.setSellprice1(String.valueOf(entry.getValue().get(32)));
+                    stockRestPojo.setSellprice2(String.valueOf(entry.getValue().get(33)));
+                    stockRestPojo.setSellprice3(String.valueOf(entry.getValue().get(34)));
+                    stockRestPojo.setSellprice4(String.valueOf(entry.getValue().get(35)));
+                    stockRestPojo.setSellprice5(String.valueOf(entry.getValue().get(36)));
+                    stockRestPojo.setSellvolume1(String.valueOf(entry.getValue().get(37)));
+                    stockRestPojo.setSellvolume2(String.valueOf(entry.getValue().get(38)));
+                    stockRestPojo.setSellvolume3(String.valueOf(entry.getValue().get(39)));
+                    stockRestPojo.setSellvolume4(String.valueOf(entry.getValue().get(40)));
+                    stockRestPojo.setSellvolume5(String.valueOf(entry.getValue().get(41)));
+                    stockRestPojo.setClosedtime(String.valueOf(entry.getValue().get(42)));
+                    stockRestPojo.setClosedvolume(String.valueOf(entry.getValue().get(43)));
+                    stockRestPojo.setClosedamount(String.valueOf(entry.getValue().get(44)));
+                    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;
         }

+ 3 - 2
src/main/java/com/zx/dataservice/task/AnalysisBondRestDataTask.java

@@ -5,6 +5,7 @@ import com.zx.dataservice.utils.DateTimeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
@@ -21,8 +22,8 @@ public class AnalysisBondRestDataTask {
     @Autowired
     private ChoiceBondService choiceBondService;
 
-//    @Async("executorBond")
-//    @Scheduled(fixedRate=10)
+    @Async("executorBond")
+    @Scheduled(fixedRate=10)
     public void toAnalysisRestData() {
         log.info("=====定时任务===解析东方财富数据==债券==开始,当前时间 {} =====", DateTimeUtil.dateToStr(new Date()));
         doTask();

+ 5 - 4
src/main/java/com/zx/dataservice/task/AnalysisStockRestDataTask.java

@@ -5,6 +5,8 @@ import com.zx.dataservice.utils.DateTimeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -20,13 +22,12 @@ public class AnalysisStockRestDataTask {
     @Autowired
     private ChoiceStockService choiceStockService;
 
-//    @Async("executorStock")
-//    @Scheduled(fixedRate=10)
-    public void toAnalysisRestData() throws InterruptedException {
+    @Async("executorStock")
+    @Scheduled(fixedRate=10)
+    public void toAnalysisRestData() {
         log.info("=====定时任务===解析东方财富数据==股票==开始,当前时间 {} =====", DateTimeUtil.dateToStr(new Date()));
         doTask();
         log.info("=====定时任务===解析东方财富数据==股票==结束,当前时间 {} =====", DateTimeUtil.dateToStr(new Date()));
-//        Thread.sleep(2000);
     }
 
     public void doTask() {

+ 1 - 2
src/main/java/com/zx/dataservice/task/MakeRestDataTask.java

@@ -7,7 +7,6 @@ import com.zx.dataservice.utils.DateTimeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -40,7 +39,7 @@ public class MakeRestDataTask {
         log.info("=====定时任务===制造新债==结束,当前时间 {} =====", DateTimeUtil.dateToStr(new Date()));
     }
 
-    @Scheduled(cron = "0/3 * * * * ?")
+//    @Scheduled(cron = "0/3 * * * * ?")
     public void creatorUvxy() {
         try {
             if(BuyAndSellUtils.isTransTime("09:30", "12:00") || BuyAndSellUtils.isTransTime("13:00", "15:00")){

+ 0 - 9
src/main/java/com/zx/dataservice/task/TaskConfig.java

@@ -12,15 +12,6 @@ import java.util.concurrent.ThreadPoolExecutor;
 @EnableAsync
 public class TaskConfig {
 
-
-//    @Bean
-//    public TaskScheduler taskScheduler() {
-//         ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
-//        // 设置scheduler执行线程为20个
-//         scheduler.setPoolSize(2000);
-//         return scheduler;
-//    }
-
     @Bean("executorStock")
     public Executor taskSchedulerStock() {
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();

+ 1 - 1
src/main/resources/application-dev.properties

@@ -1,5 +1,5 @@
 #¶Ë¿Ú
-server.port=8090
+server.port=8080
 
 #Êý¾Ý¿âÏà¹ØÅäÖÃ
 #spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

+ 40 - 0
src/main/resources/application-real.properties

@@ -0,0 +1,40 @@
+#端口
+server.port=8080
+
+spring.druid.initialSize=50
+spring.druid.minIdle=50
+spring.druid.maxActive=2000
+spring.druid.maxWait=60000
+spring.druid.timeBetweenEvictionRunsMillis=10000
+spring.druid.minEvictableIdleTimeMillis=30000
+spring.druid.validationQuery=SELECT 1 FROM DUAL
+spring.druid.testWhileIdle=false
+spring.druid.testOnBorrow=false
+spring.druid.testOnReturn=false
+spring.druid.poolPreparedStatements=true
+spring.druid.maxPoolPreparedStatementPerConnectionSize=20
+spring.druid.removeAbandoned=true
+spring.druid.removeAbandonedTimeout=1800
+spring.druid.filters=stat
+
+
+# 数据源1 股票数据库
+spring.datasource.test1.jdbc-Url=jdbc:mysql://bj-cdb-1j873yci.sql.tencentcdb.com:61196/stock_data?characterEncoding=utf-8&allowMultiQueries=true
+spring.datasource.test1.username=root
+spring.datasource.test1.password=TestBicon@123
+spring.datasource.test1.driver-class-name=com.mysql.cj.jdbc.Driver
+
+# 数据源2 业务数据库
+spring.datasource.test2.jdbc-Url=jdbc:mysql://bj-cdb-1j873yci.sql.tencentcdb.com:61196/stock?characterEncoding=utf-8&allowMultiQueries=true
+spring.datasource.test2.username=root
+spring.datasource.test2.password=TestBicon@123
+spring.datasource.test2.driver-class-name=com.mysql.cj.jdbc.Driver
+
+# 数据源3 债券数据库
+spring.datasource.test3.jdbc-Url=jdbc:mysql://bj-cdb-1j873yci.sql.tencentcdb.com:61196/stock_data_zhaiquan?characterEncoding=utf-8&allowMultiQueries=true
+spring.datasource.test3.username=root
+spring.datasource.test3.password=TestBicon@123
+spring.datasource.test3.driver-class-name=com.mysql.cj.jdbc.Driver
+
+#是否激活 swagger true or false
+swagger.enable=false

+ 1 - 1
src/main/resources/application.properties

@@ -1,6 +1,6 @@
 
 #ʹÓÃÅäÖÃÎļþ
-spring.profiles.active=dev
+spring.profiles.active=real
 
 #¶Ë¿Ú
 #server.port=8080