tujidelv 1 год назад
Родитель
Сommit
bd140d4173

+ 41 - 35
src/main/java/top/lvzhiqiang/service/impl/CoinServiceImpl.java

@@ -308,7 +308,7 @@ public class CoinServiceImpl implements CoinService {
         }
 
         if ("detail".equals(operationType)) {
-            return MarkdownToHtmlUtils.markdownToHtmlExtensions(coinWatchlist.getRemark());
+            return parseWatchlistOther(symbol) + MarkdownToHtmlUtils.markdownToHtmlExtensions(coinWatchlist.getRemark());
         } else if ("update".equals(operationType)) {
             return coinWatchlist.getRemark();
         } else {
@@ -2142,41 +2142,9 @@ public class CoinServiceImpl implements CoinService {
         } else if ("watchlist".equals(nameEn)) {
             CoinWatchlist coinWatchlist = coinMapper.findWatchlistBySymbol(id);
 
-            CoinWatchlistOther coinWatchlistOther = coinMapper.findWatchlistOtherBySymbol(id);
+            String watchlistOtherStr = parseWatchlistOther(id);
 
-            StringBuffer sb =  new StringBuffer();
-            sb.append("<table border=\"1\" cellspacing=\"0\">");
-
-            sb.append("<tr><td>").append("流通市值").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getMarketCap())).append("</td></tr>");
-            sb.append("<tr><td>").append("流通供应量").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getCirculatingSupply())).append("</td></tr>");
-            sb.append("<tr><td>").append("流通率").append("</td>").append("<td>").append(StringUtils.isNotEmpty(coinWatchlistOther.getCirculatingRate()) ? new BigDecimal(coinWatchlistOther.getCirculatingRate()).setScale(1, RoundingMode.HALF_UP) + "%" : "--").append("</td></tr>");
-            sb.append("<tr><td>").append("总供应量").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getTotalSupply())).append("</td></tr>");
-            sb.append("<tr><td>").append("最大供应量").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getMaxSupply())).append("</td></tr>");
-            sb.append("<tr><td>").append("完全稀释的市值").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getFullyDilutedMarketCap())).append("</td></tr>");
-
-            String[] coingeckoExchangeNameArr = InitRunner.dicCodeMap.get("coingecko_exchange_names").getCodeValue().split(",");
-            List<String> coingeckoExchangeNameList = new ArrayList<>();
-            if (StringUtils.isNotEmpty(coinWatchlistOther.getCexSpot()) && coingeckoExchangeNameArr.length == coinWatchlistOther.getCexSpot().length()) {
-                for (int i = 0; i < coingeckoExchangeNameArr.length; i++) {
-                    if ("1".equals(String.valueOf(coinWatchlistOther.getCexSpot().charAt(i)))) {
-                        coingeckoExchangeNameList.add(coingeckoExchangeNameArr[i]);
-                    }
-                }
-            }
-            sb.append("<tr><td>").append("现货").append("</td>").append("<td>").append(String.join("、", coingeckoExchangeNameList)).append("</td></tr>");
-            String[] coingeckoExchangeFuturesNameArr = InitRunner.dicCodeMap.get("coingecko_exchange_futures_names").getCodeValue().split(",");
-            List<String> coingeckoExchangeFuturesNameList = new ArrayList<>();
-            if (StringUtils.isNotEmpty(coinWatchlistOther.getCexPerpetual()) && coingeckoExchangeFuturesNameArr.length == coinWatchlistOther.getCexPerpetual().length()) {
-                for (int i = 0; i < coingeckoExchangeFuturesNameArr.length; i++) {
-                    if ("1".equals(String.valueOf(coinWatchlistOther.getCexPerpetual().charAt(i)))) {
-                        coingeckoExchangeFuturesNameList.add(coingeckoExchangeFuturesNameArr[i]);
-                    }
-                }
-            }
-            sb.append("<tr><td>").append("合约").append("</td>").append("<td>").append(String.join("、", coingeckoExchangeFuturesNameList)).append("</td></tr>");
-            sb.append("</table>");
-
-            coinWatchlist.setRemark(sb + MarkdownToHtmlUtils.markdownToHtmlExtensions(coinWatchlist.getRemark()));
+            coinWatchlist.setRemark(watchlistOtherStr + MarkdownToHtmlUtils.markdownToHtmlExtensions(coinWatchlist.getRemark()));
             coinWatchlist.setFeixiaohaoUrl("https://www.feixiaohao.com/currencies/" + coinWatchlist.getFeixiaohaoUrl());
             coinWatchlist.setCmcUrl("https://coinmarketcap.com/zh/currencies/" + coinWatchlist.getCmcUrl());
             coinWatchlist.setCoingeckoUrl("https://www.coingecko.com/zh/%E6%95%B0%E5%AD%97%E8%B4%A7%E5%B8%81/" + coinWatchlist.getCoingeckoUrl());
@@ -2187,6 +2155,44 @@ public class CoinServiceImpl implements CoinService {
         return null;
     }
 
+    private String parseWatchlistOther(String id) {
+        CoinWatchlistOther coinWatchlistOther = coinMapper.findWatchlistOtherBySymbol(id);
+
+        StringBuffer sb = new StringBuffer();
+        sb.append("<table border=\"1\" cellspacing=\"0\">");
+
+        sb.append("<tr><td>").append("流通市值").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getMarketCap())).append("</td></tr>");
+        sb.append("<tr><td>").append("流通供应量").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getCirculatingSupply())).append("</td></tr>");
+        sb.append("<tr><td>").append("流通率").append("</td>").append("<td>").append(StringUtils.isNotEmpty(coinWatchlistOther.getCirculatingRate()) ? new BigDecimal(coinWatchlistOther.getCirculatingRate()).setScale(1, RoundingMode.HALF_UP) + "%" : "--").append("</td></tr>");
+        sb.append("<tr><td>").append("总供应量").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getTotalSupply())).append("</td></tr>");
+        sb.append("<tr><td>").append("最大供应量").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getMaxSupply())).append("</td></tr>");
+        sb.append("<tr><td>").append("完全稀释的市值").append("</td>").append("<td>").append(convertHumanReadable(coinWatchlistOther.getFullyDilutedMarketCap())).append("</td></tr>");
+
+        String[] coingeckoExchangeNameArr = InitRunner.dicCodeMap.get("coingecko_exchange_names").getCodeValue().split(",");
+        List<String> coingeckoExchangeNameList = new ArrayList<>();
+        if (StringUtils.isNotEmpty(coinWatchlistOther.getCexSpot()) && coingeckoExchangeNameArr.length == coinWatchlistOther.getCexSpot().length()) {
+            for (int i = 0; i < coingeckoExchangeNameArr.length; i++) {
+                if ("1".equals(String.valueOf(coinWatchlistOther.getCexSpot().charAt(i)))) {
+                    coingeckoExchangeNameList.add(coingeckoExchangeNameArr[i]);
+                }
+            }
+        }
+        sb.append("<tr><td>").append("现货").append("</td>").append("<td>").append(coingeckoExchangeNameList.size() > 0 ? String.join("、", coingeckoExchangeNameList) : "--").append("</td></tr>");
+        String[] coingeckoExchangeFuturesNameArr = InitRunner.dicCodeMap.get("coingecko_exchange_futures_names").getCodeValue().split(",");
+        List<String> coingeckoExchangeFuturesNameList = new ArrayList<>();
+        if (StringUtils.isNotEmpty(coinWatchlistOther.getCexPerpetual()) && coingeckoExchangeFuturesNameArr.length == coinWatchlistOther.getCexPerpetual().length()) {
+            for (int i = 0; i < coingeckoExchangeFuturesNameArr.length; i++) {
+                if ("1".equals(String.valueOf(coinWatchlistOther.getCexPerpetual().charAt(i)))) {
+                    coingeckoExchangeFuturesNameList.add(coingeckoExchangeFuturesNameArr[i]);
+                }
+            }
+        }
+        sb.append("<tr><td>").append("合约").append("</td>").append("<td>").append(coingeckoExchangeFuturesNameList.size() > 0 ? String.join("、", coingeckoExchangeFuturesNameList) : "--").append("</td></tr>");
+        sb.append("</table>");
+
+        return sb.toString();
+    }
+
     @Override
     public void debugTest() {
         Map<String, Object> params = new HashMap<>();

+ 1 - 0
src/main/resources/static/coin.html

@@ -290,6 +290,7 @@
                 <option value="total_market_ranking">市值排名</option>
                 <option value="increase_multiple">涨幅倍数</option>
                 <option value="issuing_days">发行天数</option>
+                <option value="create_time">创建日期</option>
             </select>
             <select id="apis-quiet-div-watchlist-sort" style="height: 24px;">
                 <option value="desc">desc</option>