|
|
@@ -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<>();
|