|
@@ -8,6 +8,7 @@ import com.zx.dataservice.options.DataOptions;
|
|
|
import com.zx.dataservice.options.RiskOptions;
|
|
|
import com.zx.dataservice.options.WSOptions;
|
|
|
import com.zx.dataservice.pojo.StockRestPojo;
|
|
|
+import com.zx.dataservice.redismessage.util.RedisUtil;
|
|
|
import com.zx.dataservice.service.ChoiceTempIndexService;
|
|
|
import com.zx.dataservice.utils.*;
|
|
|
import com.zx.dataservice.vo.StockRestRedisVO;
|
|
@@ -22,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.io.File;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@Service
|
|
|
public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
@@ -43,6 +45,9 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
@Autowired
|
|
|
private ChoiceStockMapper choiceStockMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private RedisUtil redisUtil;
|
|
|
+
|
|
|
@Override
|
|
|
public void analysisStockRestData(String type) {
|
|
|
// 1.获取文件夹文件 按照时间顺序拿到一个
|
|
@@ -238,42 +243,48 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
if (key.contains((WSOptions.get(key2).split("_")[0]+"_"+entry.getKey().toUpperCase()))) {// 存在该股票的风控 LTC_hy . contains (LTC)
|
|
|
StockRestPojo stockRestPojoRisk = getRiskNow(stockRestPojo, key, DataOptions.get(key)); // 风控后的数据 //tocode & mini & risk & multiples & status
|
|
|
stockRestPojoList.add(stockRestPojoRisk);
|
|
|
- stockRestRedisVO = new StockRestRedisVO();
|
|
|
- stockRestRedisVO.setCode(entry.getKey().toUpperCase());
|
|
|
- stockRestRedisVO.setNowPrice(stockRestPojoRisk.getNow());
|
|
|
- stockRestRedisVO.setChange(stockRestPojoRisk.getChange());
|
|
|
- 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
|
|
|
+ StockRestRedisVO stockRestRedisVOf = new StockRestRedisVO();
|
|
|
+ stockRestRedisVOf.setCode(stockRestPojoRisk.getCode().toUpperCase());
|
|
|
+ stockRestRedisVOf.setNowPrice(stockRestPojoRisk.getNow());
|
|
|
+ stockRestRedisVOf.setChange(stockRestPojoRisk.getChange());
|
|
|
+ stockRestRedisVOf.setHcrate(stockRestPojoRisk.getPctchange());
|
|
|
+ stockRestRedisVOf.setHighlimit(stockRestPojoRisk.getHighlimit());
|
|
|
+ stockRestRedisVOf.setLowlimit(stockRestPojoRisk.getLowlimit());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setBuy1(stockRestPojo.getBuyprice1());
|
|
|
+ stockRestRedisVOf.setBuy2(stockRestPojo.getBuyprice2());
|
|
|
+ stockRestRedisVOf.setBuy3(stockRestPojo.getBuyprice3());
|
|
|
+ stockRestRedisVOf.setBuy4(stockRestPojo.getBuyprice4());
|
|
|
+ stockRestRedisVOf.setBuy5(stockRestPojo.getBuyprice5());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setSell1(stockRestPojo.getSellprice1());
|
|
|
+ stockRestRedisVOf.setSell2(stockRestPojo.getSellprice2());
|
|
|
+ stockRestRedisVOf.setSell3(stockRestPojo.getSellprice3());
|
|
|
+ stockRestRedisVOf.setSell4(stockRestPojo.getSellprice4());
|
|
|
+ stockRestRedisVOf.setSell5(stockRestPojo.getSellprice5());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setBuy1_num(stockRestPojo.getBuyvolume1());
|
|
|
+ stockRestRedisVOf.setBuy2_num(stockRestPojo.getBuyvolume2());
|
|
|
+ stockRestRedisVOf.setBuy3_num(stockRestPojo.getBuyvolume3());
|
|
|
+ stockRestRedisVOf.setBuy4_num(stockRestPojo.getBuyvolume4());
|
|
|
+ stockRestRedisVOf.setBuy5_num(stockRestPojo.getBuyvolume5());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setSell1_num(stockRestPojo.getSellvolume1());
|
|
|
+ stockRestRedisVOf.setSell2_num(stockRestPojo.getSellvolume2());
|
|
|
+ stockRestRedisVOf.setSell3_num(stockRestPojo.getSellvolume3());
|
|
|
+ stockRestRedisVOf.setSell4_num(stockRestPojo.getSellvolume4());
|
|
|
+ stockRestRedisVOf.setSell5_num(stockRestPojo.getSellvolume5());
|
|
|
+
|
|
|
+ redisUtil.saveItem("index_"+WSOptions.get(key2).split("_")[0]+"_"+stockRestRedisVOf.getCode(),JSON.toJSONString(stockRestRedisVOf), 10, TimeUnit.DAYS);
|
|
|
+
|
|
|
+// mapws.get("stockRestRedisVO_" + WSOptions.get(key2).split("_")[0]).add(stockRestRedisVOf); // stockRestRedisVO_hy
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
- mapws.get("stockRestRedisVO_"+ WSOptions.get(key2).split("_")[0]).add(stockRestRedisVO);
|
|
|
+
|
|
|
+ redisUtil.saveItem("index_"+WSOptions.get(key2).split("_")[0]+"_"+stockRestRedisVO.getCode(),JSON.toJSONString(stockRestRedisVO), 10, TimeUnit.DAYS);
|
|
|
+
|
|
|
+// mapws.get("stockRestRedisVO_"+ WSOptions.get(key2).split("_")[0]).add(stockRestRedisVO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -302,9 +313,9 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
List<StockRestRedisVO> stockRestRedisVOList = new ArrayList<>();
|
|
|
Map<String,List<StockRestRedisVO>>mapws = new HashMap<>();
|
|
|
// mapws.put("stockRestRedisVO",new ArrayList<>()); // 无风控数据
|
|
|
- for(String key: WSOptions.keySet()){ // 所有的需要推送的 客户
|
|
|
- mapws.put("stockRestRedisVO_"+ WSOptions.get(key).split("_")[0],new ArrayList<>());
|
|
|
- }
|
|
|
+// for(String key: WSOptions.keySet()){ // 所有的需要推送的 客户
|
|
|
+// mapws.put("stockRestRedisVO_"+ WSOptions.get(key).split("_")[0],new ArrayList<>());
|
|
|
+// }
|
|
|
StockRestPojo stockRestPojo;
|
|
|
StockRestVO stockRestVO;
|
|
|
StockRestRedisVO stockRestRedisVO;
|
|
@@ -481,42 +492,48 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
if (key.contains((WSOptions.get(key2).split("_")[0]+"_"+entry.getKey().toUpperCase()))) {// 存在该股票的风控 LTC_hy . contains (LTC)
|
|
|
StockRestPojo stockRestPojoRisk = getRiskNow(stockRestPojo, key, DataOptions.get(key)); // 风控后的数据 //tocode & mini & risk & multiples & status
|
|
|
stockRestPojoList.add(stockRestPojoRisk);
|
|
|
- stockRestRedisVO = new StockRestRedisVO();
|
|
|
- stockRestRedisVO.setCode(entry.getKey().toUpperCase());
|
|
|
- stockRestRedisVO.setNowPrice(stockRestPojoRisk.getNow());
|
|
|
- stockRestRedisVO.setChange(stockRestPojoRisk.getChange());
|
|
|
- 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
|
|
|
+ StockRestRedisVO stockRestRedisVOf = new StockRestRedisVO();
|
|
|
+ stockRestRedisVOf.setCode(stockRestPojoRisk.getCode().toUpperCase());
|
|
|
+ stockRestRedisVOf.setNowPrice(stockRestPojoRisk.getNow());
|
|
|
+ stockRestRedisVOf.setChange(stockRestPojoRisk.getChange());
|
|
|
+ stockRestRedisVOf.setHcrate(stockRestPojoRisk.getPctchange());
|
|
|
+ stockRestRedisVOf.setHighlimit(stockRestPojoRisk.getHighlimit());
|
|
|
+ stockRestRedisVOf.setLowlimit(stockRestPojoRisk.getLowlimit());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setBuy1(stockRestPojo.getBuyprice1());
|
|
|
+ stockRestRedisVOf.setBuy2(stockRestPojo.getBuyprice2());
|
|
|
+ stockRestRedisVOf.setBuy3(stockRestPojo.getBuyprice3());
|
|
|
+ stockRestRedisVOf.setBuy4(stockRestPojo.getBuyprice4());
|
|
|
+ stockRestRedisVOf.setBuy5(stockRestPojo.getBuyprice5());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setSell1(stockRestPojo.getSellprice1());
|
|
|
+ stockRestRedisVOf.setSell2(stockRestPojo.getSellprice2());
|
|
|
+ stockRestRedisVOf.setSell3(stockRestPojo.getSellprice3());
|
|
|
+ stockRestRedisVOf.setSell4(stockRestPojo.getSellprice4());
|
|
|
+ stockRestRedisVOf.setSell5(stockRestPojo.getSellprice5());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setBuy1_num(stockRestPojo.getBuyvolume1());
|
|
|
+ stockRestRedisVOf.setBuy2_num(stockRestPojo.getBuyvolume2());
|
|
|
+ stockRestRedisVOf.setBuy3_num(stockRestPojo.getBuyvolume3());
|
|
|
+ stockRestRedisVOf.setBuy4_num(stockRestPojo.getBuyvolume4());
|
|
|
+ stockRestRedisVOf.setBuy5_num(stockRestPojo.getBuyvolume5());
|
|
|
+
|
|
|
+ stockRestRedisVOf.setSell1_num(stockRestPojo.getSellvolume1());
|
|
|
+ stockRestRedisVOf.setSell2_num(stockRestPojo.getSellvolume2());
|
|
|
+ stockRestRedisVOf.setSell3_num(stockRestPojo.getSellvolume3());
|
|
|
+ stockRestRedisVOf.setSell4_num(stockRestPojo.getSellvolume4());
|
|
|
+ stockRestRedisVOf.setSell5_num(stockRestPojo.getSellvolume5());
|
|
|
+
|
|
|
+ redisUtil.saveItem("index_"+WSOptions.get(key2).split("_")[0]+"_"+stockRestRedisVOf.getCode(),JSON.toJSONString(stockRestRedisVOf), 10, TimeUnit.DAYS);
|
|
|
+
|
|
|
+// mapws.get("stockRestRedisVO_" + WSOptions.get(key2).split("_")[0]).add(stockRestRedisVO); // stockRestRedisVO_hy
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
- mapws.get("stockRestRedisVO_"+ WSOptions.get(key2).split("_")[0]).add(stockRestRedisVO);
|
|
|
+
|
|
|
+ redisUtil.saveItem("index_"+WSOptions.get(key2).split("_")[0]+"_"+stockRestRedisVO.getCode(),JSON.toJSONString(stockRestRedisVO), 10, TimeUnit.DAYS);
|
|
|
+
|
|
|
+// mapws.get("stockRestRedisVO_"+ WSOptions.get(key2).split("_")[0]).add(stockRestRedisVO);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -546,21 +563,21 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
choiceStockMapper.insertBatchByAfter(list.subList(i, i + insertLength));
|
|
|
}
|
|
|
|
|
|
- Thread thread=new Thread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
-// HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
|
|
|
-// if(BuyAndSellUtils.isTransState()){
|
|
|
- try {
|
|
|
- new WebSocketController().sendSysMsgType("ZS",mapws);
|
|
|
-// HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
|
|
|
- }catch (Exception e){
|
|
|
- log.error("插入redis错误" + e);
|
|
|
- }
|
|
|
-// }
|
|
|
- }
|
|
|
- });
|
|
|
- thread.start();
|
|
|
+// Thread thread=new Thread(new Runnable() {
|
|
|
+// @Override
|
|
|
+// public void run() {
|
|
|
+//// HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
|
|
|
+//// if(BuyAndSellUtils.isTransState()){
|
|
|
+// try {
|
|
|
+// new WebSocketController().sendSysMsgType("ZS",mapws);
|
|
|
+//// HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
|
|
|
+// }catch (Exception e){
|
|
|
+// log.error("插入redis错误" + e);
|
|
|
+// }
|
|
|
+//// }
|
|
|
+// }
|
|
|
+// });
|
|
|
+// thread.start();
|
|
|
}
|
|
|
|
|
|
private void insertList(List<StockRestPojo> list,Map<String,List<StockRestRedisVO>>mapws ,String type) { // List<StockRestRedisVO> stockRestRedisVOList
|
|
@@ -583,21 +600,21 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
choiceStockMapper.insertBatchByAfter(list.subList(i, i + insertLength));
|
|
|
}
|
|
|
}
|
|
|
- Thread thread=new Thread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
-// HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
|
|
|
-// if(BuyAndSellUtils.isTransState()){
|
|
|
- try {
|
|
|
- new WebSocketController().sendSysMsgType("ZS",mapws);
|
|
|
-// HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
|
|
|
- }catch (Exception e){
|
|
|
- log.error("插入redis错误" + e);
|
|
|
- }
|
|
|
-// }
|
|
|
- }
|
|
|
- });
|
|
|
- thread.start();
|
|
|
+// Thread thread=new Thread(new Runnable() {
|
|
|
+// @Override
|
|
|
+// public void run() {
|
|
|
+//// HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
|
|
|
+//// if(BuyAndSellUtils.isTransState()){
|
|
|
+// try {
|
|
|
+// new WebSocketController().sendSysMsgType("ZS",mapws);
|
|
|
+//// HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
|
|
|
+// }catch (Exception e){
|
|
|
+// log.error("插入redis错误" + e);
|
|
|
+// }
|
|
|
+//// }
|
|
|
+// }
|
|
|
+// });
|
|
|
+// thread.start();
|
|
|
}
|
|
|
|
|
|
|
|
@@ -611,6 +628,7 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
if("1".equals(valueArr[4])){ // 如果此时没有开启风控 那么不变化
|
|
|
StockRestPojo stockRestPojoNew = new StockRestPojo();
|
|
|
BeanUtils.copyProperties(stockRestPojo,stockRestPojoNew,StockRestPojo.class);
|
|
|
+ stockRestPojoNew.setCode(valueArr[0]);
|
|
|
stockRestPojoNew.setTableName(tableName.toString());
|
|
|
return stockRestPojoNew;
|
|
|
}else {
|
|
@@ -623,6 +641,7 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
|
|
|
BeanUtils.copyProperties(stockRestPojo,stockRestPojoNew,StockRestPojo.class);
|
|
|
String nnow = BigdecimalUtil.getNew(stockRestPojo.getNow() + "", risk2, risk1, 4, 2, multiples);
|
|
|
stockRestPojoNew.setTableName(tableName.toString()); // 表
|
|
|
+ stockRestPojoNew.setCode(tocode);
|
|
|
stockRestPojoNew.setNow(nnow); // 现价
|
|
|
// 高
|
|
|
stockRestPojoNew.setHigh(BigdecimalUtil.getNew(stockRestPojo.getHigh() + "", risk2, risk1, 4, 2, multiples));
|