|
@@ -29,6 +29,8 @@ public class TaskHot {
|
|
|
public static List<HotObj> hotListGate = new ArrayList<>();
|
|
public static List<HotObj> hotListGate = new ArrayList<>();
|
|
|
public static Map<String, HotObj> mapHotObj = new HashMap<>();
|
|
public static Map<String, HotObj> mapHotObj = new HashMap<>();
|
|
|
public static Map<String, HotObj> dynamic = new HashMap<>();
|
|
public static Map<String, HotObj> dynamic = new HashMap<>();
|
|
|
|
|
+ public static Map<String, HotObj> symbolMap = new HashMap<>();
|
|
|
|
|
+
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private BinanceTool binanceTool;
|
|
private BinanceTool binanceTool;
|
|
@@ -39,9 +41,9 @@ public class TaskHot {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IHotSymbolService iHotSymbolService;
|
|
private IHotSymbolService iHotSymbolService;
|
|
|
|
|
|
|
|
|
|
+
|
|
|
@Scheduled(fixedRate = 5 * 1000)
|
|
@Scheduled(fixedRate = 5 * 1000)
|
|
|
public void performTask() {
|
|
public void performTask() {
|
|
|
- log.info("performTask");
|
|
|
|
|
//获取交易所信息。
|
|
//获取交易所信息。
|
|
|
List<HotObj> hot_binance = binanceTool.getHot();
|
|
List<HotObj> hot_binance = binanceTool.getHot();
|
|
|
List<HotObj> hot_gate = gateTool.getHot();
|
|
List<HotObj> hot_gate = gateTool.getHot();
|
|
@@ -52,10 +54,12 @@ public class TaskHot {
|
|
|
for (HotObj h : hotListBinance) {
|
|
for (HotObj h : hotListBinance) {
|
|
|
String symbol = h.getSymbol().replace("_", "");
|
|
String symbol = h.getSymbol().replace("_", "");
|
|
|
map.put(symbol, h);
|
|
map.put(symbol, h);
|
|
|
|
|
+ symbolMap.put(symbol, null);
|
|
|
}
|
|
}
|
|
|
for (HotObj h : hotListGate) {
|
|
for (HotObj h : hotListGate) {
|
|
|
h.setSymbol(h.getSymbol().replace("_", ""));
|
|
h.setSymbol(h.getSymbol().replace("_", ""));
|
|
|
String symbol = h.getSymbol();
|
|
String symbol = h.getSymbol();
|
|
|
|
|
+ symbolMap.put(symbol, null);
|
|
|
if (map.containsKey(symbol)) {
|
|
if (map.containsKey(symbol)) {
|
|
|
HotObj val = map.get(symbol);
|
|
HotObj val = map.get(symbol);
|
|
|
val.setExchange(val.getExchange() + "|gate");
|
|
val.setExchange(val.getExchange() + "|gate");
|
|
@@ -68,10 +72,9 @@ public class TaskHot {
|
|
|
|
|
|
|
|
//生成变更记录
|
|
//生成变更记录
|
|
|
int[] fudu = {15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200};
|
|
int[] fudu = {15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200};
|
|
|
-
|
|
|
|
|
|
|
+ Map<String, HotObj> dingDingAll = new HashMap<>();
|
|
|
for (String key : mapHotObj.keySet()) {
|
|
for (String key : mapHotObj.keySet()) {
|
|
|
HotObj hotObj = mapHotObj.get(key);
|
|
HotObj hotObj = mapHotObj.get(key);
|
|
|
-
|
|
|
|
|
String diefu = hotObj.getDiefu();
|
|
String diefu = hotObj.getDiefu();
|
|
|
String diefuStr = hotObj.getDiefuStr();
|
|
String diefuStr = hotObj.getDiefuStr();
|
|
|
String volume = hotObj.getVolume();
|
|
String volume = hotObj.getVolume();
|
|
@@ -81,22 +84,25 @@ public class TaskHot {
|
|
|
|
|
|
|
|
for (int i = fudu.length - 1; i >= 0; i--) {
|
|
for (int i = fudu.length - 1; i >= 0; i--) {
|
|
|
if (Double.parseDouble(diefu) > fudu[i]) {
|
|
if (Double.parseDouble(diefu) > fudu[i]) {
|
|
|
- dynamic.put(hotObj.getSymbol(), hotObj);
|
|
|
|
|
|
|
+ dingDingAll.put(hotObj.getSymbol(), hotObj);
|
|
|
// log.info("通知:" + symbol + " ▲上涨" + diefuStr + "% " + exchange + "-->" + volumeStr);
|
|
// log.info("通知:" + symbol + " ▲上涨" + diefuStr + "% " + exchange + "-->" + volumeStr);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ dynamic = dingDingAll;
|
|
|
|
|
+ log.info("时间:" + dynamic.toString());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Scheduled(fixedRate = 1 * 60 * 60 * 1000)
|
|
|
|
|
-// @Scheduled(fixedRate = 5 * 1000)
|
|
|
|
|
|
|
+// @Scheduled(fixedRate = 1 * 30 * 60 * 1000)
|
|
|
|
|
+ @Scheduled(fixedRate = 50 * 1000)
|
|
|
public void performTaskDingDing() {
|
|
public void performTaskDingDing() {
|
|
|
List<HotSymbol> saveBatch = new ArrayList<>();
|
|
List<HotSymbol> saveBatch = new ArrayList<>();
|
|
|
|
|
+ List<HotObj> hotObjList = new ArrayList<>();
|
|
|
StringBuilder str = new StringBuilder();
|
|
StringBuilder str = new StringBuilder();
|
|
|
for (String key : dynamic.keySet()) {
|
|
for (String key : dynamic.keySet()) {
|
|
|
HotObj hotObj = dynamic.get(key);
|
|
HotObj hotObj = dynamic.get(key);
|
|
|
- str.append("\n" + hotObj.getSymbol() + " ▲上涨" + hotObj.getDiefuStr() + " " + hotObj.getExchange() + "-->" + hotObj.getVolumeStr());
|
|
|
|
|
|
|
+ hotObjList.add(hotObj);
|
|
|
|
|
|
|
|
saveBatch.add(new HotSymbol()
|
|
saveBatch.add(new HotSymbol()
|
|
|
.setExchange(hotObj.getExchange())
|
|
.setExchange(hotObj.getExchange())
|
|
@@ -106,6 +112,19 @@ public class TaskHot {
|
|
|
.setTime(new Date())
|
|
.setTime(new Date())
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
|
|
+ //排序
|
|
|
|
|
+ Collections.sort(hotObjList, new Comparator<HotObj>() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public int compare(HotObj o1, HotObj o2) {
|
|
|
|
|
+// log.info("时间??????????????:" + o1.getVolume()+"-----"+o2.getVolume());
|
|
|
|
|
+ Double v1 = Double.parseDouble(o1.getVolume());
|
|
|
|
|
+ Double v2 = Double.parseDouble(o2.getVolume());
|
|
|
|
|
+ return v2.compareTo(v1);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ for (HotObj val : hotObjList) {
|
|
|
|
|
+ str.append("\n" + val.getSymbol() + " ▲上涨" + val.getDiefuStr() + " " + val.getExchange() + "-->" + val.getVolumeStr());
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
//发送钉钉推送
|
|
//发送钉钉推送
|
|
|
if (str.toString().length() > 0) {
|
|
if (str.toString().length() > 0) {
|
|
@@ -117,15 +136,14 @@ public class TaskHot {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Scheduled(fixedRate = 24 * 60 * 60 * 1000)
|
|
|
|
|
-// @Scheduled(fixedRate = 60 * 1000)
|
|
|
|
|
|
|
+ @Scheduled(fixedRate = 1 * 60 * 60 * 1000)
|
|
|
public void delTaskDingDing() {
|
|
public void delTaskDingDing() {
|
|
|
- //每天删除前一天
|
|
|
|
|
|
|
+ // 删除8天前的数据
|
|
|
// 获取当前日期的实例
|
|
// 获取当前日期的实例
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
// 减去一天
|
|
// 减去一天
|
|
|
-// calendar.add(Calendar.DATE, -1);
|
|
|
|
|
- // 创建一个日期格式化对象
|
|
|
|
|
|
|
+ calendar.add(Calendar.DATE, -8);
|
|
|
|
|
+ // 创建一个日期格式化对象ssss
|
|
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
// 格式化前一天的日期
|
|
// 格式化前一天的日期
|
|
|
String yesterdayStr = formatter.format(calendar.getTime());
|
|
String yesterdayStr = formatter.format(calendar.getTime());
|