Browse Source

add:增加monitorCurrency列表v1

tujidelv 2 years ago
parent
commit
de57481bbb

+ 1 - 1
src/main/java/top/lvzhiqiang/controller/CoinController.java

@@ -49,7 +49,7 @@ public class CoinController {
      * 2023/9/5 15:23
      */
     @PostMapping("/mainSearch")
-    public JSONArray mainSearch(@RequestBody JSONObject params) {
+    public JSONArray mainSearch(@RequestBody JSONObject params) throws Exception {
         if (!params.containsKey("nameEn")) {
             throw new ParameterException("参数错误!");
         }

+ 3 - 0
src/main/java/top/lvzhiqiang/mapper/CoinMapper.java

@@ -37,4 +37,7 @@ public interface CoinMapper {
             "</if>" +
             "</script>"})
     List<CoinHistoryOrder> findByParams();
+
+    @Select("select symbol from coin_monitor_currency where delete_flag = 1 order by sort")
+    List<String> findMonitorCurrencyList();
 }

+ 1 - 1
src/main/java/top/lvzhiqiang/service/CoinService.java

@@ -22,7 +22,7 @@ public interface CoinService {
      * @param params
      * @return
      */
-    JSONArray mainSearch(JSONObject params);
+    JSONArray mainSearch(JSONObject params) throws Exception;
 
     void syncData(String startTime, String endTime, String pageSize);
 }

+ 14 - 1
src/main/java/top/lvzhiqiang/service/impl/CoinServiceImpl.java

@@ -244,7 +244,7 @@ public class CoinServiceImpl implements CoinService {
     }
 
     @Override
-    public JSONArray mainSearch(JSONObject params) {
+    public JSONArray mainSearch(JSONObject params) throws Exception {
         JSONArray result = new JSONArray();
         if (params.getString("nameEn").equals("allPositionv2")) {
             Map<String, String> paramMap = new HashMap<>();
@@ -274,11 +274,24 @@ public class CoinServiceImpl implements CoinService {
 
             renderMainSearch4OrderHistoryProductType(historyOrderList);
             result = (JSONArray) JSON.toJSON(historyOrderList);
+        } else if (params.getString("nameEn").equals("monitorCurrency")) {
+            List<String> monitorCurrencyList = coinMapper.findMonitorCurrencyList();
+
+            beforeProxy();
+            String requestUrl = mainUrl + params.getString("url");
+            Connection.Response response = JsoupUtil.requestBody(requestUrl, JsoupUtil.HTTP_GET, proxy, null, null);
+            result = JSONObject.parseObject(response.body()).getJSONArray("data");
+
+            result = renderMainSearch4MonitorCurrency(result, monitorCurrencyList);
         }
 
         return result;
     }
 
+    private JSONArray renderMainSearch4MonitorCurrency(JSONArray result, List<String> monitorCurrencyList) {
+        return result.stream().filter(iter -> monitorCurrencyList.contains(((JSONObject) iter).getString("symbol"))).collect(Collectors.toCollection(JSONArray::new));
+    }
+
     private void renderMainSearch4OrderHistoryProductType(List<CoinHistoryOrder> historyOrderList) {
         for (CoinHistoryOrder coinHistoryOrder : historyOrderList) {
             coinHistoryOrder.setCTime(DateUtils.longToString(Long.valueOf(coinHistoryOrder.getCTime())));