Pārlūkot izejas kodu

app注释 数据库域名更变

hl 1 gadu atpakaļ
vecāks
revīzija
f808da081a

+ 4 - 0
basic/src/main/java/com/liangjiang/basic/BasicApp.java

@@ -7,6 +7,10 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 
 import java.util.TimeZone;
 
+/**
+ * 开仓记录
+ * */
+
 @EnableScheduling
 @SpringBootApplication
 @EnableTransactionManagement

+ 1 - 1
basic/src/main/resources/application.yml

@@ -16,7 +16,7 @@ spring:
   datasource:
     username: root
     password: zxc123...
-    url: jdbc:mysql://as.skyfffire.com:3306/market_warehouse?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true
+    url: jdbc:mysql://4lapi.skyfffire.com:3306/market_warehouse?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
     druid:

+ 3 - 0
hot_collection/src/main/java/com/liangjiang/hot_collection/HotCollectionApp.java

@@ -7,6 +7,9 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 
 import java.util.TimeZone;
 
+/* *
+* 热点币对
+* */
 @EnableScheduling
 @SpringBootApplication
 @EnableAspectJAutoProxy

+ 30 - 12
hot_collection/src/main/java/com/liangjiang/hot_collection/aop/TaskHot.java

@@ -29,6 +29,8 @@ public class TaskHot {
     public static List<HotObj> hotListGate = new ArrayList<>();
     public static Map<String, HotObj> mapHotObj = new HashMap<>();
     public static Map<String, HotObj> dynamic = new HashMap<>();
+    public static Map<String, HotObj> symbolMap = new HashMap<>();
+
 
     @Autowired
     private BinanceTool binanceTool;
@@ -39,9 +41,9 @@ public class TaskHot {
     @Autowired
     private IHotSymbolService iHotSymbolService;
 
+
     @Scheduled(fixedRate = 5 * 1000)
     public void performTask() {
-        log.info("performTask");
         //获取交易所信息。
         List<HotObj> hot_binance = binanceTool.getHot();
         List<HotObj> hot_gate = gateTool.getHot();
@@ -52,10 +54,12 @@ public class TaskHot {
         for (HotObj h : hotListBinance) {
             String symbol = h.getSymbol().replace("_", "");
             map.put(symbol, h);
+            symbolMap.put(symbol, null);
         }
         for (HotObj h : hotListGate) {
             h.setSymbol(h.getSymbol().replace("_", ""));
             String symbol = h.getSymbol();
+            symbolMap.put(symbol, null);
             if (map.containsKey(symbol)) {
                 HotObj val = map.get(symbol);
                 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};
-
+        Map<String, HotObj> dingDingAll = new HashMap<>();
         for (String key : mapHotObj.keySet()) {
             HotObj hotObj = mapHotObj.get(key);
-
             String diefu = hotObj.getDiefu();
             String diefuStr = hotObj.getDiefuStr();
             String volume = hotObj.getVolume();
@@ -81,22 +84,25 @@ public class TaskHot {
 
             for (int i = fudu.length - 1; i >= 0; i--) {
                 if (Double.parseDouble(diefu) > fudu[i]) {
-                    dynamic.put(hotObj.getSymbol(), hotObj);
+                    dingDingAll.put(hotObj.getSymbol(), hotObj);
 //                    log.info("通知:" + symbol + " ▲上涨" + diefuStr + "% " + exchange + "-->" + volumeStr);
                     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() {
         List<HotSymbol> saveBatch = new ArrayList<>();
+        List<HotObj> hotObjList = new ArrayList<>();
         StringBuilder str = new StringBuilder();
         for (String key : dynamic.keySet()) {
             HotObj hotObj = dynamic.get(key);
-            str.append("\n" + hotObj.getSymbol() + " ▲上涨" + hotObj.getDiefuStr() + " " + hotObj.getExchange() + "-->" + hotObj.getVolumeStr());
+            hotObjList.add(hotObj);
 
             saveBatch.add(new HotSymbol()
                     .setExchange(hotObj.getExchange())
@@ -106,6 +112,19 @@ public class TaskHot {
                     .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) {
@@ -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() {
-        //每天删除前一天
+        // 删除8天前的数据
         // 获取当前日期的实例
         Calendar calendar = Calendar.getInstance();
         // 减去一天
-//        calendar.add(Calendar.DATE, -1);
-        // 创建一个日期格式化对象
+        calendar.add(Calendar.DATE, -8);
+        // 创建一个日期格式化对象ssss
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
         // 格式化前一天的日期
         String yesterdayStr = formatter.format(calendar.getTime());

+ 9 - 4
hot_collection/src/main/java/com/liangjiang/hot_collection/controller/ApiController.java

@@ -14,12 +14,10 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
+import java.util.*;
 
 import static com.liangjiang.hot_collection.aop.TaskHot.hotListBinance;
 import static com.liangjiang.hot_collection.aop.TaskHot.hotListGate;
@@ -55,5 +53,12 @@ public class ApiController {
         return R.ok(data);
     }
 
+    //获取 指定时间内的数据
+    @GetMapping("/getListByTime")
+    public R getListByTime(@RequestParam("startTime") String startTime,@RequestParam("endTime") String endTime) {
+        Map<String,List<HotSymbolDto>> data = iHotSymbolService.getListByTime(startTime,endTime);
+        return R.ok(data);
+    }
+
 
 }

+ 4 - 0
hot_collection/src/main/java/com/liangjiang/hot_collection/mapper/HotSymbolMapper.java

@@ -6,6 +6,7 @@ import com.liangjiang.hot_collection.domain.dto.HotSymbolDto;
 import com.liangjiang.hot_collection.domain.entity.HotSymbol;
 import com.liangjiang.hot_collection.domain.params.FindHotSymbolParams;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -13,4 +14,7 @@ import java.util.List;
 public interface HotSymbolMapper extends BaseMapper<HotSymbol> {
 
     List<HotSymbolDto> getHotSymbol(FindHotSymbolParams params);
+
+
+    List<HotSymbolDto> getSymbolList(@Param("startTime") String startTime,@Param("endTime") String endTime);
 }

+ 5 - 0
hot_collection/src/main/java/com/liangjiang/hot_collection/service/IHotSymbolService.java

@@ -8,8 +8,13 @@ import com.liangjiang.hot_collection.domain.entity.HotSymbol;
 import com.liangjiang.hot_collection.domain.params.FindHotParams;
 import com.liangjiang.hot_collection.domain.params.FindHotSymbolParams;
 
+import java.util.List;
+import java.util.Map;
+
 public interface IHotSymbolService  extends IService<HotSymbol> {
     PageBean<HotSymbolDto> findHotSymbolPage(FindHotSymbolParams params);
 
     PageBean<HotObj> findHotPage(FindHotParams params);
+
+    Map<String,List<HotSymbolDto>> getListByTime(String startTime, String endTime);
 }

+ 23 - 6
hot_collection/src/main/java/com/liangjiang/hot_collection/service/impl/HotSymbolServiceImpl.java

@@ -1,7 +1,6 @@
 package com.liangjiang.hot_collection.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.github.pagehelper.PageHelper;
 import com.liangjiang.hot_collection.domain.aop.HotObj;
 import com.liangjiang.hot_collection.domain.base.PageBean;
 import com.liangjiang.hot_collection.domain.dto.HotSymbolDto;
@@ -9,22 +8,23 @@ import com.liangjiang.hot_collection.domain.entity.HotSymbol;
 import com.liangjiang.hot_collection.domain.params.FindHotParams;
 import com.liangjiang.hot_collection.domain.params.FindHotSymbolParams;
 import com.liangjiang.hot_collection.mapper.HotSymbolMapper;
-import com.liangjiang.hot_collection.res.R;
 import com.liangjiang.hot_collection.service.IHotSymbolService;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
+import java.util.*;
 
 import static com.liangjiang.hot_collection.aop.TaskHot.hotListBinance;
 import static com.liangjiang.hot_collection.aop.TaskHot.hotListGate;
 
 @Slf4j
 @Service
+@RequiredArgsConstructor
 public class HotSymbolServiceImpl extends ServiceImpl<HotSymbolMapper, HotSymbol> implements IHotSymbolService {
+    private final HotSymbolMapper hotSymbolMapper;
+
     @Override
     public PageBean<HotSymbolDto> findHotSymbolPage(FindHotSymbolParams params) {
         if (params.getPageNum() == null || params.getPageSize() == null) {
@@ -89,6 +89,23 @@ public class HotSymbolServiceImpl extends ServiceImpl<HotSymbolMapper, HotSymbol
         return r;
     }
 
+    @Override
+    public Map<String, List<HotSymbolDto>> getListByTime(String startTime, String endTime) {
+        Map<String, List<HotSymbolDto>> data = new HashMap<>();
+        List<HotSymbolDto> list = hotSymbolMapper.getSymbolList(startTime, endTime);
+        list.stream().forEach(d -> {
+            String exchange = d.getExchange();
+            List array = new ArrayList();
+            if (data.containsKey(exchange)) {
+                array = data.get(exchange);
+            }
+            array.add(d);
+            data.put(exchange, array);
+        });
+
+        return data;
+    }
+
     private List<HotObj> findHot(FindHotParams params) {
         String exchange = params.getExchange();
         String sort = params.getSort();

+ 6 - 7
hot_collection/src/main/resources/application.yml

@@ -16,12 +16,12 @@ spring:
   jackson:
     time-zone: GMT+8
   datasource:
+#    username: root
+#    password: qwe123...
+#    url: jdbc:mysql://kline.skyfffire.com:3306/one_price_warehouse?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
     username: root
-    password: qwe123...
-    url: jdbc:mysql://kline.skyfffire.com:3306/idc?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
-    #    username: root
-    #    password: 123456
-    #    url: jdbc:mysql://127.0.0.1:3306/idc?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
+    password: 123456
+    url: jdbc:mysql://127.0.0.1:3306/one_price_warehouse?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
     druid:
@@ -54,7 +54,6 @@ mybatis-plus:
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     map-underscore-to-camel-case: false
 
-
 # 配置HTTP 请求代理
 #proxy-address-this:
-proxy-address-this:
+proxy-address-this: 127.0.0.1:7890

+ 12 - 0
hot_collection/src/main/resources/mapper/HotSymbolMapper.xml

@@ -15,5 +15,17 @@
         ORDER BY time desc
     </select>
 
+    <select id="getSymbolList" resultType="com.liangjiang.hot_collection.domain.dto.HotSymbolDto">
+        SELECT e.id       id,
+               e.exchange exchange,
+               e.symbol   symbol,
+               e.diefu    diefu,
+               e.volume   volume,
+               e.time     timeStr
+        FROM hot_symbol e
+        WHERE e.time &gt; #{startTime}
+          and e.time &lt; #{endTime}
+        ORDER BY e.time desc
+    </select>
 
 </mapper>

+ 3 - 0
price_collection/src/main/java/com/liangjiang/price_collection/PriceCollectionApp.java

@@ -8,6 +8,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 
 import java.util.TimeZone;
 
+/**
+ * 币对:买一卖一价格!(启用)
+ * */
 @EnableJms
 @EnableScheduling
 @SpringBootApplication

+ 1 - 1
price_collection/src/main/resources/application.yml

@@ -25,7 +25,7 @@ spring:
   datasource:
     username: root
     password: qwe123...
-    url: jdbc:mysql://kline.skyfffire.com:3306/one_price_warehouse?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
+    url: jdbc:mysql://4lapi.skyfffire.com:3306/one_price_warehouse?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
     druid: