From a9e9e1207ce417388b1d8f03df5833cea24939b7 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 08 Aug 2024 01:10:12 +0800
Subject: [PATCH] 1
---
mexcClient/src/main/java/org/example/mexcclient/util/RedisUtil.java | 3 +
kucoinClient/src/main/java/org/example/kucoinclient/util/RedisUtil.java | 2
websocketSerivce/src/main/java/org/example/server/impl/CurrencySerivceImpl.java | 12 +++++-
bitgetsClient/src/main/java/org/example/bitgetsclient/util/RedisUtil.java | 2
websocketSerivce/src/main/java/org/example/task/MexcStock.java | 2
websocketSerivce/src/main/resources/application.properties | 4 +-
websocketSerivce/src/main/java/org/example/controller/UserController.java | 62 +++++++++++++++++++++++++++++++
websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java | 5 +-
geteClient/src/main/java/org/example/geteclient/util/RedisUtil.java | 2
9 files changed, 83 insertions(+), 11 deletions(-)
diff --git a/bitgetsClient/src/main/java/org/example/bitgetsclient/util/RedisUtil.java b/bitgetsClient/src/main/java/org/example/bitgetsclient/util/RedisUtil.java
index 2daa1dd..eed248d 100644
--- a/bitgetsClient/src/main/java/org/example/bitgetsclient/util/RedisUtil.java
+++ b/bitgetsClient/src/main/java/org/example/bitgetsclient/util/RedisUtil.java
@@ -11,7 +11,7 @@
private static JedisPool jedisPool;
static {
- jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 6379);
+ jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 63790,0, "123456");
}
// 私有构造方法,防止实例化
diff --git a/geteClient/src/main/java/org/example/geteclient/util/RedisUtil.java b/geteClient/src/main/java/org/example/geteclient/util/RedisUtil.java
index b074f3d..df433d5 100644
--- a/geteClient/src/main/java/org/example/geteclient/util/RedisUtil.java
+++ b/geteClient/src/main/java/org/example/geteclient/util/RedisUtil.java
@@ -11,7 +11,7 @@
private static JedisPool jedisPool;
static {
- jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 6379);
+ jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 63790,0, "123456");
}
// 私有构造方法,防止实例化
diff --git a/kucoinClient/src/main/java/org/example/kucoinclient/util/RedisUtil.java b/kucoinClient/src/main/java/org/example/kucoinclient/util/RedisUtil.java
index 055be19..8128d53 100644
--- a/kucoinClient/src/main/java/org/example/kucoinclient/util/RedisUtil.java
+++ b/kucoinClient/src/main/java/org/example/kucoinclient/util/RedisUtil.java
@@ -11,7 +11,7 @@
private static JedisPool jedisPool;
static {
- jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 6379);
+ jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 63790,0, "123456");
}
// 私有构造方法,防止实例化
diff --git a/mexcClient/src/main/java/org/example/mexcclient/util/RedisUtil.java b/mexcClient/src/main/java/org/example/mexcclient/util/RedisUtil.java
index c033556..233dbb0 100644
--- a/mexcClient/src/main/java/org/example/mexcclient/util/RedisUtil.java
+++ b/mexcClient/src/main/java/org/example/mexcclient/util/RedisUtil.java
@@ -11,7 +11,8 @@
private static JedisPool jedisPool;
static {
- jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 6379);
+ JedisPoolConfig poolConfig = new JedisPoolConfig();
+ jedisPool = new JedisPool(poolConfig, "107.148.40.10", 6379, 0, "123456");
}
// 私有构造方法,防止实例化
diff --git a/websocketSerivce/src/main/java/org/example/controller/UserController.java b/websocketSerivce/src/main/java/org/example/controller/UserController.java
index e5d11b1..dce4a3d 100644
--- a/websocketSerivce/src/main/java/org/example/controller/UserController.java
+++ b/websocketSerivce/src/main/java/org/example/controller/UserController.java
@@ -230,4 +230,66 @@
.orderByDesc(Log::getLoginTime));
return ServerResponse.createBySuccess(pageList);
}
+
+ @GetMapping("/addMark")
+ public ServerResponse addMark(@RequestParam(value = "favorites") String favorites,
+ HttpServletRequest request) {
+ String token = request.getHeader("token");
+ User user = JwtUtil.verify(token);
+
+ if (user == null) {
+ // 处理用户验证失败的情况,例如返回未授权错误
+ return ServerResponse.createByErrorMsg("标记失败");
+ }
+
+ String mark = RedisUtil.get(user.getId() + "_mark");
+
+ if (StringUtils.isNotEmpty(mark)) {
+ // 使用 StringJoiner 或者 StringBuilder 来拼接字符串
+ mark += "," + favorites;
+ } else {
+ mark = favorites;
+ }
+
+ // 更新 Redis 中的标记
+ RedisUtil.set(user.getId() + "_mark", mark);
+
+ // 返回操作成功的响应
+ return ServerResponse.createBySuccess("标记成功");
+ }
+
+ @GetMapping("/deleteMark")
+ public ServerResponse deleteMark(@RequestParam(value = "favorites") String favorites,
+ HttpServletRequest request) {
+ String token = request.getHeader("token");
+ User user = JwtUtil.verify(token);
+
+ String mark = RedisUtil.get(user.getId() + "_mark");
+
+ if (StringUtils.isNotEmpty(mark)) {
+ // 使用逗号分隔符将标记分割成数组
+ String[] marks = mark.split(",");
+
+ // 创建一个新的标记列表,用于存储没有要删除的标记
+ List<String> updatedMarks = new ArrayList<>();
+
+ // 遍历现有的标记,将不等于要删除的标记加入新列表
+ for (String m : marks) {
+ if (!m.equals(favorites)) {
+ updatedMarks.add(m);
+ }
+ }
+
+ // 将新的标记列表转换为逗号分隔的字符串
+ mark = String.join(",", updatedMarks);
+
+ // 更新 Redis 中的标记
+ RedisUtil.set(user.getId() + "_mark", mark);
+
+
+ }
+ // 返回操作成功的响应
+ return ServerResponse.createBySuccess("取消标记成功");
+ }
+
}
diff --git a/websocketSerivce/src/main/java/org/example/server/impl/CurrencySerivceImpl.java b/websocketSerivce/src/main/java/org/example/server/impl/CurrencySerivceImpl.java
index fc356fb..b35cf96 100644
--- a/websocketSerivce/src/main/java/org/example/server/impl/CurrencySerivceImpl.java
+++ b/websocketSerivce/src/main/java/org/example/server/impl/CurrencySerivceImpl.java
@@ -237,8 +237,8 @@
private static void assembleMarketDataOut(String coinName, MarketBo markets1, MarketBo markets2, BigDecimal profitPercentage, BigDecimal buyPrice, BigDecimal sellPrice, List<MarketDataOut> marketDataOuts, String formattedDateTime) {
MarketDataOut marketDataOut = new MarketDataOut();
marketDataOut.setBaseAsset(coinName.replaceAll("USDT","").toLowerCase().toUpperCase()); // 设置基础资产
- marketDataOut.setBuyingPlatform(markets1.getExchange().toUpperCase()); // 设置买入平台
- marketDataOut.setSellPlatform(markets2.getExchange().toUpperCase()); // 设置卖出平台
+ marketDataOut.setBuyingPlatform(capitalizeFirstLetter(markets1.getExchange())); // 设置买入平台,首字母大写
+ marketDataOut.setSellPlatform(capitalizeFirstLetter(markets2.getExchange())); // 设置卖出平台,首字母大写
marketDataOut.setSpread(profitPercentage.setScale(4, RoundingMode.DOWN).toPlainString()); // 设置利润百分比
marketDataOut.setBuyPrice(buyPrice.toPlainString()); // 设置买入价格
marketDataOut.setSellPrice(sellPrice.toPlainString()); // 设置卖出价格
@@ -251,6 +251,14 @@
marketDataOuts.add(marketDataOut); // 添加到输出列表
}
+ public static String capitalizeFirstLetter(String word) {
+ if (word == null || word.isEmpty()) {
+ return word;
+ }
+ return Character.toUpperCase(word.charAt(0)) + word.substring(1);
+ }
+
+
private void pushWs(List<MarketDataOut> marketDataOuts) {
// String key = "MARKET_Date";
// // 创建 Gson 对象
diff --git a/websocketSerivce/src/main/java/org/example/task/MexcStock.java b/websocketSerivce/src/main/java/org/example/task/MexcStock.java
index 43db090..fb68ce6 100644
--- a/websocketSerivce/src/main/java/org/example/task/MexcStock.java
+++ b/websocketSerivce/src/main/java/org/example/task/MexcStock.java
@@ -40,7 +40,7 @@
/**
* 同步mexc交易所交易对
*/
- @Scheduled(cron = "0 0/30 * * * ?")
+// @Scheduled(cron = "0 0/30 * * * ?")
// @Scheduled(cron = "0/10 * * * * ?")
public void syncCurrency() {
// 使用Lock来确保同步
diff --git a/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java b/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java
index 8460fd2..6aa9363 100644
--- a/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java
+++ b/websocketSerivce/src/main/java/org/example/websocket/server/WsServer.java
@@ -239,8 +239,9 @@
.collect(Collectors.toList());
}
//自选标记
- if(null != wsBo.getIsMarker()){
- List<String> list = Arrays.asList(wsBo.getIsMarker().split(","));
+ String mark = RedisUtil.get(wsBo.getUserId() + "_mark");
+ if(StringUtils.isNoneEmpty(mark)){
+ List<String> list = Arrays.asList(mark.split(","));
redisValueMap.stream()
.filter(data -> list.contains(data.getBuyAndSell()))
.forEach(data -> data.setMarker(true));
diff --git a/websocketSerivce/src/main/resources/application.properties b/websocketSerivce/src/main/resources/application.properties
index 235f969..94a8aa8 100644
--- a/websocketSerivce/src/main/resources/application.properties
+++ b/websocketSerivce/src/main/resources/application.properties
@@ -1,6 +1,6 @@
-XDB_PATH=/www/wwwroot/csdn-ip2region.xdb
-#XDB_PATH=F:/project/marketData/websocketSerivce/src/main/resources/ip/csdn-ip2region.xdb
+#XDB_PATH=/www/wwwroot/csdn-ip2region.xdb
+XDB_PATH=F:/project/marketData/websocketSerivce/src/main/resources/ip/csdn-ip2region.xdb
redis1.ip=localhost
redis1.port=6379
--
Gitblit v1.9.3