Ver Fonte

1.盘后数据
2.买一卖一
—— qlm

qlm há 4 anos atrás
pai
commit
04d4a20973

+ 1 - 1
pom.xml

@@ -36,7 +36,7 @@
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid-spring-boot-starter</artifactId>
-            <version>1.2.1</version>
+            <version>1.2.2</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 1 - 1
src/main/java/com/zx/dataservice/config/ActiveConfig.java

@@ -41,7 +41,7 @@ public class ActiveConfig {
                         "  PRIMARY KEY (`id`) USING BTREE\n" +
                         ") ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; ");
 
-                String tableNamenowHist = "risk_control_formula_" + record.getStr("riskkey").toLowerCase() ;
+                String tableNamenowHist = "risk_control_formula_history_" + record.getStr("riskkey").toLowerCase() ;
                 Db.use("gp").update("CREATE TABLE "+tableNamenowHist+"  (\n" +
                         "  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',\n" +
                         "  `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '指数代码',\n" +

+ 1 - 0
src/main/java/com/zx/dataservice/config/DataSourceConfig1.java

@@ -35,6 +35,7 @@ public class DataSourceConfig1 {
         dataSource.setMaxWait(Integer.parseInt(PropertiesUtil.getProperty("spring.druid.maxWait")));
         dataSource.setTimeBetweenEvictionRunsMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.timeBetweenEvictionRunsMillis")));
         dataSource.setMinEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.minEvictableIdleTimeMillis")));
+//        dataSource.setMaxEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.maxEvictableIdleTimeMillis")));
         dataSource.setValidationQuery(PropertiesUtil.getProperty("spring.druid.validationQuery"));
         dataSource.setTestWhileIdle(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testWhileIdle")));
         dataSource.setTestOnBorrow(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testOnBorrow")));

+ 2 - 0
src/main/java/com/zx/dataservice/config/DataSourceConfig2.java

@@ -32,6 +32,8 @@ public class DataSourceConfig2 {
         dataSource.setMaxWait(Integer.parseInt(PropertiesUtil.getProperty("spring.druid.maxWait")));
         dataSource.setTimeBetweenEvictionRunsMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.timeBetweenEvictionRunsMillis")));
         dataSource.setMinEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.minEvictableIdleTimeMillis")));
+//        dataSource.setMaxEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.maxEvictableIdleTimeMillis")));
+
         dataSource.setValidationQuery(PropertiesUtil.getProperty("spring.druid.validationQuery"));
         dataSource.setTestWhileIdle(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testWhileIdle")));
         dataSource.setTestOnBorrow(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testOnBorrow")));

+ 2 - 0
src/main/java/com/zx/dataservice/config/JfinalActiveRecordConfig.java

@@ -56,6 +56,7 @@ public class JfinalActiveRecordConfig implements ApplicationRunner {
         dataSource.setMaxWait(Integer.parseInt(PropertiesUtil.getProperty("spring.druid.maxWait")));
         dataSource.setTimeBetweenEvictionRunsMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.timeBetweenEvictionRunsMillis")));
         dataSource.setMinEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.minEvictableIdleTimeMillis")));
+//        dataSource.setMaxEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.maxEvictableIdleTimeMillis")));
         dataSource.setValidationQuery(PropertiesUtil.getProperty("spring.druid.validationQuery"));
         dataSource.setTestWhileIdle(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testWhileIdle")));
         dataSource.setTestOnBorrow(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testOnBorrow")));
@@ -82,6 +83,7 @@ public class JfinalActiveRecordConfig implements ApplicationRunner {
         dataSource.setMaxWait(Integer.parseInt(PropertiesUtil.getProperty("spring.druid.maxWait")));
         dataSource.setTimeBetweenEvictionRunsMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.timeBetweenEvictionRunsMillis")));
         dataSource.setMinEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.minEvictableIdleTimeMillis")));
+//        dataSource.setMaxEvictableIdleTimeMillis(Long.parseLong(PropertiesUtil.getProperty("spring.druid.maxEvictableIdleTimeMillis")));
         dataSource.setValidationQuery(PropertiesUtil.getProperty("spring.druid.validationQuery"));
         dataSource.setTestWhileIdle(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testWhileIdle")));
         dataSource.setTestOnBorrow(Boolean.parseBoolean(PropertiesUtil.getProperty("spring.druid.testOnBorrow")));

+ 11 - 0
src/main/java/com/zx/dataservice/controller/CallBackController.java

@@ -142,6 +142,17 @@ public class CallBackController {
         return true;
     }
 
+    @GetMapping("/showWs")
+    @ResponseBody
+    public boolean showWs(String code){
+        try {
+
+        } catch (Exception e) {
+            if(e.toString().length()>500){                LOG.error(e.toString().substring(0,450));            }else {                LOG.error(e.toString());            }
+        }
+        return true;
+    }
+
 
 
 

+ 6 - 2
src/main/java/com/zx/dataservice/controller/WebSocketController.java

@@ -120,6 +120,8 @@ public class WebSocketController {
         if(map.containsValue(session)){
             for (Entry<String, Session> entry : map.entrySet()){
                 if(entry.getValue().equals(session)){
+                    InetSocketAddress remoteAddress = getRemoteAddress(session);
+                    System.out.println(remoteAddress+DateUtils.getCurrentTimeSSS() +entry.getKey()+"断开连接");
                     map.remove(entry.getKey());
                     break;
                 }
@@ -137,12 +139,14 @@ public class WebSocketController {
         if(map.containsValue(session)){
             for (Entry<String, Session> entry : map.entrySet()) {
                 if(entry.getValue().equals(session)){
+                    InetSocketAddress remoteAddress = getRemoteAddress(session);
+                    System.out.println(remoteAddress+DateUtils.getCurrentTimeSSS() +entry.getKey()+"断开连接");
                     map.remove(entry.getKey());
                     break;
                 }
             }
         }
-        error.printStackTrace();
+//        error.printStackTrace();
     }
 
     public void remWSKey(String key){
@@ -231,7 +235,7 @@ public class WebSocketController {
                 Session session = map.get(key);
                 // 每个小时打印 还在的 连接
                 if(session!=null&&session.isOpen()&& StringUtils.isNotBlank(WSOptions.get(key))){
-                    if(WSOptions.get(key).split("_")[1].toLowerCase().equals("ALL".toLowerCase())||WSOptions.get(key).split("_")[1].toLowerCase().equals(type.toLowerCase())){ // 推送所有
+                    if(WSOptions.get(key).split("_")[1].toLowerCase().equals("ALL".toLowerCase())||WSOptions.get(key).split("_")[1].toLowerCase().contains(type.toLowerCase())){ // 推送所有
                         // 推送对应的 风控 记录
                         synchronized(session){
                             if(session.isOpen()){

+ 51 - 0
src/main/java/com/zx/dataservice/service/impl/ChoiceBondServiceImpl.java

@@ -190,6 +190,31 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
                     stockRestRedisVO.setHcrate(stockRestPojo.getPctchange());
                     stockRestRedisVO.setHighlimit(stockRestPojo.getHighlimit());
                     stockRestRedisVO.setLowlimit(stockRestPojo.getLowlimit());
+
+                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
+
                     stockRestRedisVOList.add(stockRestRedisVO);
                     }
                 }catch (Exception e){
@@ -343,6 +368,7 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
                     stockRestPojo.setCode(entry.getKey().toUpperCase());
                     stockRestPojo.setTableName(tableName.toString());
                     if(new BigDecimal(stockRestPojo.getNow()+"").compareTo(BigDecimal.ZERO)!=0){
+                        stockRestPojo.setRealTime((System.currentTimeMillis() / 1000));
 
                         stockRestPojoList.add(stockRestPojo);
                         stockRestVO = new StockRestVO();
@@ -355,6 +381,31 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
                         stockRestRedisVO.setHcrate(stockRestPojo.getPctchange());
                         stockRestRedisVO.setHighlimit(stockRestPojo.getHighlimit());
                         stockRestRedisVO.setLowlimit(stockRestPojo.getLowlimit());
+
+                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
+
                         stockRestRedisVOList.add(stockRestRedisVO);
                     }
                 }catch (Exception e){

+ 5 - 5
src/main/java/com/zx/dataservice/service/impl/ChoiceHisServiceImpl.java

@@ -79,7 +79,7 @@ public class ChoiceHisServiceImpl implements ChoiceHisService {
                         Record record1 = new Record();
                         record1.setColumns(record);
                         // 查询当天的数据 开盘价
-                        Record ropen = Db.use("gp").findFirst("select id,now from " + tortTabeName + "  where  " +
+                        Record ropen = Db.use("gp").findFirst("select id,now,preclose from " + tortTabeName + "  where  " +
                                 "date = '" + record.getStr("dates").replace("-", "").replace("/", "") + "' " +
                                 " and  high <> '0' and low <> '0' and open <> '0'  order by time+0 asc LIMIT 1    ");
                         if(ropen!=null){  // 存在当天的数据就直接取 当天的数据
@@ -95,13 +95,13 @@ public class ChoiceHisServiceImpl implements ChoiceHisService {
                             //最高,最低
                             Record rmaxmin = Db.use("gp").findFirst("select min(now) min ,max(now) max from " + tortTabeName + "  where  " +
                                     "date = '" + record.getStr("dates").replace("-", "").replace("/", "") + "'  ");
-                            String minn = ropen.get("min")+"";
-                            String maxn = ropen.get("max")+"";
+                            String minn = rmaxmin.get("min")+"";
+                            String maxn = rmaxmin.get("max")+"";
                             BigDecimal bbb = new BigDecimal(minn).add(new BigDecimal(maxn));
                             // 平均
                             String AVERAGE =  bbb.divide(new BigDecimal(2), 4, 2)+"";
                             // change 涨跌
-                            String changen = BigdecimalUtil.getNew(rclose+ "", preclosen, "-", 4, 2);
+                            String changen = BigdecimalUtil.getNew(closen+ "", preclosen, "-", 4, 2);
                             // 涨跌幅 pctchange
                             String pctchangen = BigdecimalUtil.getNew(changen, preclosen, "/", 4, 2);
                             record1.set("open",openn);
@@ -209,7 +209,7 @@ public class ChoiceHisServiceImpl implements ChoiceHisService {
                 }
 
             } catch (Exception e) {
-
+                e.printStackTrace();
             }
         }
     }

+ 53 - 1
src/main/java/com/zx/dataservice/service/impl/ChoiceStockServiceImpl.java

@@ -193,6 +193,31 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
 
                         stockRestRedisVO.setHighlimit(stockRestPojo.getHighlimit());
                         stockRestRedisVO.setLowlimit(stockRestPojo.getLowlimit());
+
+                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
+
                         stockRestRedisVOList.add(stockRestRedisVO);
                     }
                 }catch (Exception e){
@@ -341,6 +366,8 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
                     stockRestPojo.setCode(entry.getKey().toUpperCase());
                     stockRestPojo.setTableName(tableName.toString());
                     if(new BigDecimal(stockRestPojo.getNow()+"").compareTo(BigDecimal.ZERO)!=0) {
+                        stockRestPojo.setRealTime((System.currentTimeMillis() / 1000));
+
                         stockRestPojoList.add(stockRestPojo);
                         stockRestVO = new StockRestVO();
                         BeanUtils.copyProperties(stockRestPojo, stockRestVO);
@@ -350,9 +377,34 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
                         stockRestRedisVO.setNowPrice(stockRestPojo.getNow());
                         stockRestRedisVO.setChange(stockRestPojo.getChange());
                         stockRestRedisVO.setHcrate(stockRestPojo.getPctchange());
-
                         stockRestRedisVO.setHighlimit(stockRestPojo.getHighlimit());
                         stockRestRedisVO.setLowlimit(stockRestPojo.getLowlimit());
+
+
+                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
+
                         stockRestRedisVOList.add(stockRestRedisVO);
                     }
                 }catch (Exception e){

+ 181 - 40
src/main/java/com/zx/dataservice/service/impl/ChoiceTempIndexServiceImpl.java

@@ -106,26 +106,27 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                     stockRestPojo.setHighlimit("0");
                     stockRestPojo.setLowlimit("0");
                     stockRestPojo.setAverageprice("");
-                    stockRestPojo.setBuyprice1("");
-                    stockRestPojo.setBuyprice2("");
-                    stockRestPojo.setBuyprice3("");
-                    stockRestPojo.setBuyprice4("");
-                    stockRestPojo.setBuyprice5("");
-                    stockRestPojo.setBuyvolume1("");
-                    stockRestPojo.setBuyvolume2("");
-                    stockRestPojo.setBuyvolume3("");
-                    stockRestPojo.setBuyvolume4("");
-                    stockRestPojo.setBuyvolume5("");
-                    stockRestPojo.setSellprice1("");
-                    stockRestPojo.setSellprice2("");
-                    stockRestPojo.setSellprice3("");
-                    stockRestPojo.setSellprice4("");
-                    stockRestPojo.setSellprice5("");
-                    stockRestPojo.setSellvolume1("");
-                    stockRestPojo.setSellvolume2("");
-                    stockRestPojo.setSellvolume3("");
-                    stockRestPojo.setSellvolume4("");
-                    stockRestPojo.setSellvolume5("");
+
+                    stockRestPojo.setBuyprice1(randomBuySell(stockRestPojo.getNow(), 0));
+                    stockRestPojo.setBuyprice2(randomBuySell(stockRestPojo.getBuyprice1(), 0));
+                    stockRestPojo.setBuyprice3(randomBuySell(stockRestPojo.getBuyprice2(), 0));
+                    stockRestPojo.setBuyprice4(randomBuySell(stockRestPojo.getBuyprice3(), 0));
+                    stockRestPojo.setBuyprice5(randomBuySell(stockRestPojo.getBuyprice4(), 0));
+                    stockRestPojo.setBuyvolume1(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume2(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume3(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume4(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume5(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellprice1(randomBuySell(stockRestPojo.getNow(), 1));
+                    stockRestPojo.setSellprice2(randomBuySell(stockRestPojo.getSellprice1(), 1));
+                    stockRestPojo.setSellprice3(randomBuySell(stockRestPojo.getSellprice2(), 1));
+                    stockRestPojo.setSellprice4(randomBuySell(stockRestPojo.getSellprice3(), 1));
+                    stockRestPojo.setSellprice5(randomBuySell(stockRestPojo.getSellprice4(), 1));
+                    stockRestPojo.setSellvolume1(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume2(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume3(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume4(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume5(String.valueOf(new BigDecimal(randomInt())));
                     stockRestPojo.setClosedtime("");
                     stockRestPojo.setClosedvolume("");
                     stockRestPojo.setClosedamount("");
@@ -198,6 +199,32 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                         stockRestRedisVO.setHcrate(stockRestPojo.getPctchange());
                         stockRestRedisVO.setHighlimit(stockRestPojo.getHighlimit());
                         stockRestRedisVO.setLowlimit(stockRestPojo.getLowlimit());
+
+
+                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
+
 //                        stockRestRedisVOList.add(stockRestRedisVO);// old
 
                         for (String key2 : WSOptions.keySet()){  // 所有的需要推送的客户
@@ -218,6 +245,30 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                                         stockRestRedisVO.setHcrate(stockRestPojoRisk.getPctchange());
                                         stockRestRedisVO.setHighlimit(stockRestPojoRisk.getHighlimit());
                                         stockRestRedisVO.setLowlimit(stockRestPojoRisk.getLowlimit());
+
+                                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
                                         mapws.get("stockRestRedisVO_" + WSOptions.get(key2).split("_")[0]).add(stockRestRedisVO);   //  stockRestRedisVO_hy
                                     }
                                 }
@@ -299,26 +350,26 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                     stockRestPojo.setHighlimit("");
                     stockRestPojo.setLowlimit("");
                     stockRestPojo.setAverageprice("");
-                    stockRestPojo.setBuyprice1("");
-                    stockRestPojo.setBuyprice2("");
-                    stockRestPojo.setBuyprice3("");
-                    stockRestPojo.setBuyprice4("");
-                    stockRestPojo.setBuyprice5("");
-                    stockRestPojo.setBuyvolume1("");
-                    stockRestPojo.setBuyvolume2("");
-                    stockRestPojo.setBuyvolume3("");
-                    stockRestPojo.setBuyvolume4("");
-                    stockRestPojo.setBuyvolume5("");
-                    stockRestPojo.setSellprice1("");
-                    stockRestPojo.setSellprice2("");
-                    stockRestPojo.setSellprice3("");
-                    stockRestPojo.setSellprice4("");
-                    stockRestPojo.setSellprice5("");
-                    stockRestPojo.setSellvolume1("");
-                    stockRestPojo.setSellvolume2("");
-                    stockRestPojo.setSellvolume3("");
-                    stockRestPojo.setSellvolume4("");
-                    stockRestPojo.setSellvolume5("");
+                    stockRestPojo.setBuyprice1(randomBuySell(stockRestPojo.getNow(), 0));
+                    stockRestPojo.setBuyprice2(randomBuySell(stockRestPojo.getBuyprice1(), 0));
+                    stockRestPojo.setBuyprice3(randomBuySell(stockRestPojo.getBuyprice2(), 0));
+                    stockRestPojo.setBuyprice4(randomBuySell(stockRestPojo.getBuyprice3(), 0));
+                    stockRestPojo.setBuyprice5(randomBuySell(stockRestPojo.getBuyprice4(), 0));
+                    stockRestPojo.setBuyvolume1(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume2(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume3(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume4(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setBuyvolume5(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellprice1(randomBuySell(stockRestPojo.getNow(), 1));
+                    stockRestPojo.setSellprice2(randomBuySell(stockRestPojo.getSellprice1(), 1));
+                    stockRestPojo.setSellprice3(randomBuySell(stockRestPojo.getSellprice2(), 1));
+                    stockRestPojo.setSellprice4(randomBuySell(stockRestPojo.getSellprice3(), 1));
+                    stockRestPojo.setSellprice5(randomBuySell(stockRestPojo.getSellprice4(), 1));
+                    stockRestPojo.setSellvolume1(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume2(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume3(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume4(String.valueOf(new BigDecimal(randomInt())));
+                    stockRestPojo.setSellvolume5(String.valueOf(new BigDecimal(randomInt())));
                     stockRestPojo.setClosedtime("");
                     stockRestPojo.setClosedvolume("");
                     stockRestPojo.setClosedamount("");
@@ -380,6 +431,8 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                     stockRestPojo.setCode(entry.getKey().toUpperCase());
                     stockRestPojo.setTableName(tableName.toString());
                     if(new BigDecimal(stockRestPojo.getNow()+"").compareTo(BigDecimal.ZERO)!=0) {
+                        stockRestPojo.setRealTime((System.currentTimeMillis() / 1000));
+
                         stockRestPojoList.add(stockRestPojo);
                         stockRestVO = new StockRestVO();
                         BeanUtils.copyProperties(stockRestPojo, stockRestVO);
@@ -393,6 +446,30 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                         stockRestRedisVO.setLowlimit(stockRestPojo.getLowlimit());
 //                        stockRestRedisVOList.add(stockRestRedisVO);
 
+                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
+
                         for (String key2 : WSOptions.keySet()){  // 所有的需要推送的客户
                             // 如果该股票需要风控
                             if(DataOptions.get("keyall").contains((WSOptions.get(key2).split("_")[0]+entry.getKey().toUpperCase()))){  // 存在该用户的该股票的风控 记录
@@ -411,6 +488,31 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                                         stockRestRedisVO.setHcrate(stockRestPojoRisk.getPctchange());
                                         stockRestRedisVO.setHighlimit(stockRestPojoRisk.getHighlimit());
                                         stockRestRedisVO.setLowlimit(stockRestPojoRisk.getLowlimit());
+
+                                        stockRestRedisVO.setBuy1(stockRestPojo.getBuyprice1());
+                                        stockRestRedisVO.setBuy2(stockRestPojo.getBuyprice2());
+                                        stockRestRedisVO.setBuy3(stockRestPojo.getBuyprice3());
+                                        stockRestRedisVO.setBuy4(stockRestPojo.getBuyprice4());
+                                        stockRestRedisVO.setBuy5(stockRestPojo.getBuyprice5());
+
+                                        stockRestRedisVO.setSell1(stockRestPojo.getSellprice1());
+                                        stockRestRedisVO.setSell2(stockRestPojo.getSellprice2());
+                                        stockRestRedisVO.setSell3(stockRestPojo.getSellprice3());
+                                        stockRestRedisVO.setSell4(stockRestPojo.getSellprice4());
+                                        stockRestRedisVO.setSell5(stockRestPojo.getSellprice5());
+
+                                        stockRestRedisVO.setBuy1_num(stockRestPojo.getBuyvolume1());
+                                        stockRestRedisVO.setBuy2_num(stockRestPojo.getBuyvolume2());
+                                        stockRestRedisVO.setBuy3_num(stockRestPojo.getBuyvolume3());
+                                        stockRestRedisVO.setBuy4_num(stockRestPojo.getBuyvolume4());
+                                        stockRestRedisVO.setBuy5_num(stockRestPojo.getBuyvolume5());
+
+                                        stockRestRedisVO.setSell1_num(stockRestPojo.getSellvolume1());
+                                        stockRestRedisVO.setSell2_num(stockRestPojo.getSellvolume2());
+                                        stockRestRedisVO.setSell3_num(stockRestPojo.getSellvolume3());
+                                        stockRestRedisVO.setSell4_num(stockRestPojo.getSellvolume4());
+                                        stockRestRedisVO.setSell5_num(stockRestPojo.getSellvolume5());
+
                                         mapws.get("stockRestRedisVO_" + WSOptions.get(key2).split("_")[0]).add(stockRestRedisVO);   //  stockRestRedisVO_hy
                                     }
                                 }
@@ -509,6 +611,7 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
         tableName.append("_"+keyArr[0]);
         if("1".equals(valueArr[4])){ // 如果此时没有开启风控 那么不变化
             StockRestPojo stockRestPojoNew = new StockRestPojo();
+            BeanUtils.copyProperties(stockRestPojo,stockRestPojoNew,StockRestPojo.class);
             stockRestPojoNew.setTableName(tableName.toString());
             return stockRestPojoNew;
         }else {
@@ -544,8 +647,46 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                     ((new BigDecimal(stockRestPojoNew.getChange() + "").divide(new BigDecimal(stockRestPojoNew.getPreclose() + ""), 4, 2))) : 0)+"");
 
 
+            stockRestPojoNew.setBuyprice1(randomBuySell(stockRestPojoNew.getNow(), 0));
+            stockRestPojoNew.setBuyprice2(randomBuySell(stockRestPojoNew.getBuyprice1(), 0));
+            stockRestPojoNew.setBuyprice3(randomBuySell(stockRestPojoNew.getBuyprice2(), 0));
+            stockRestPojoNew.setBuyprice4(randomBuySell(stockRestPojoNew.getBuyprice3(), 0));
+            stockRestPojoNew.setBuyprice5(randomBuySell(stockRestPojoNew.getBuyprice4(), 0));
+            stockRestPojoNew.setBuyvolume1(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setBuyvolume2(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setBuyvolume3(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setBuyvolume4(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setBuyvolume5(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setSellprice1(randomBuySell(stockRestPojoNew.getNow(), 1));
+            stockRestPojoNew.setSellprice2(randomBuySell(stockRestPojoNew.getSellprice1(), 1));
+            stockRestPojoNew.setSellprice3(randomBuySell(stockRestPojoNew.getSellprice2(), 1));
+            stockRestPojoNew.setSellprice4(randomBuySell(stockRestPojoNew.getSellprice3(), 1));
+            stockRestPojoNew.setSellprice5(randomBuySell(stockRestPojoNew.getSellprice4(), 1));
+            stockRestPojoNew.setSellvolume1(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setSellvolume2(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setSellvolume3(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setSellvolume4(String.valueOf(new BigDecimal(randomInt())));
+            stockRestPojoNew.setSellvolume5(String.valueOf(new BigDecimal(randomInt())));
+
             return stockRestPojoNew;
         }
     }
 
+    private String randomBuySell(String now, int type) {
+        // 买
+        if (0 == type) {
+            return new BigDecimal(now).subtract(new BigDecimal(0.01)).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
+        } else {
+            return new BigDecimal(now).add(new BigDecimal(0.01)).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
+        }
+    }
+
+    private int randomInt() {
+        int max = 10000;
+        int min = 5000;
+        int ran = (int) (Math.random() * (max - min) + min);
+        return ran;
+    }
+
+
 }

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

@@ -31,7 +31,7 @@ public class AnalysisRiskDataTask {
         List<Record> recordRisks = Db.use("gp").find("select id,riskkey from risk_config ");
         for (Record record:recordRisks) {
             String tableNamenow = "risk_control_formula_" + record.getStr("riskkey").toLowerCase() ;
-            Record recordr = Db.use("hb").findFirst("select TABLE_NAME,TABLE_TYPE from information_schema.TABLES where TABLE_NAME = ? ", tableNamenow);
+            Record recordr = Db.use("gp").findFirst("select TABLE_NAME,TABLE_TYPE from information_schema.TABLES where TABLE_NAME = ? ", tableNamenow);
             if (recordr == null) { // 如果表不存在
                 Db.use("gp").update("CREATE TABLE `" + tableNamenow + "` (\n" +
                         "  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',\n" +
@@ -47,7 +47,7 @@ public class AnalysisRiskDataTask {
                         "  PRIMARY KEY (`id`) USING BTREE\n" +
                         ") ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; ");
 
-                String tableNamenowHist = "risk_control_formula_" + record.getStr("riskkey").toLowerCase() ;
+                String tableNamenowHist = "risk_control_formula_history_" + record.getStr("riskkey").toLowerCase() ;
                 Db.use("gp").update("CREATE TABLE "+tableNamenowHist+"  (\n" +
                         "  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',\n" +
                         "  `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '指数代码',\n" +

+ 22 - 0
src/main/java/com/zx/dataservice/vo/StockRestRedisVO.java

@@ -11,4 +11,26 @@ public class StockRestRedisVO {
     private String highlimit;
     private String lowlimit;
 
+    private String buy1;
+    private String buy2;
+    private String buy3;
+    private String buy4;
+    private String buy5;
+
+    private String sell1;
+    private String sell2;
+    private String sell3;
+    private String sell4;
+    private String sell5;
+    private String buy1_num;
+    private String buy2_num;
+    private String buy3_num;
+    private String buy4_num;
+    private String buy5_num;
+    private String sell1_num;
+    private String sell2_num;
+    private String sell3_num;
+    private String sell4_num;
+    private String sell5_num;
+
 }