diff --git a/pom.xml b/pom.xml
index 189577b76..a6878fb26 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,6 +60,7 @@
true
3.03
+ 4.12.0
@@ -422,7 +423,11 @@
ruoyi-auth
${revision}
-
+
+ com.squareup.okhttp3
+ okhttp
+ ${okhttp.version}
+
org.dromara
ruoyi-common-mongo
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java
index 964f2bb76..282423985 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java
@@ -67,11 +67,11 @@ public class CaptchaController {
LinkedHashMap map = new LinkedHashMap<>(1);
map.put("code", code);
SmsBlend smsBlend = SmsFactory.getSmsBlend("config2");
-// SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
-// if (!smsResponse.isSuccess()) {
-// log.error("验证码短信发送异常 => {}", smsResponse);
-// return R.fail(smsResponse.getData().toString());
-// }
+ SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
+ if (!smsResponse.isSuccess()) {
+ log.error("验证码短信发送异常 => {}", smsResponse);
+ return R.fail(smsResponse.getData().toString());
+ }
return R.ok(code);
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java b/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java
index 1966ab911..fd5c02ea2 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java
@@ -56,4 +56,6 @@ public class LoginVo {
*/
private String userSig;
+ private Long userId;
+
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
index a230665d4..3df40a9d1 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
@@ -100,6 +100,7 @@ public class SmsAuthStrategy implements IAuthStrategy {
LoginHelper.login(loginUser, model);
LoginVo loginVo = new LoginVo();
+ loginVo.setUserId(loginUser.getUserId());
loginVo.setAccessToken(StpUtil.getTokenValue());
loginVo.setExpireIn(StpUtil.getTokenTimeout());
loginVo.setClientId(client.getClientId());
diff --git a/ruoyi-modules/ruoyi-im/pom.xml b/ruoyi-modules/ruoyi-im/pom.xml
index ecd6dec8c..83297edf7 100644
--- a/ruoyi-modules/ruoyi-im/pom.xml
+++ b/ruoyi-modules/ruoyi-im/pom.xml
@@ -72,14 +72,6 @@
org.dromara
ruoyi-common-web
-
-
-
-
-
- org.dromara
- ruoyi-system
-
org.dromara
@@ -105,7 +97,14 @@
org.dromara
ruoyi-common-sse
-
+
+ org.dromara
+ ruoyi-common-json
+
+
+ org.dromara
+ ruoyi-system
+
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ITencentIMService.java b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/ITencentIMService.java
similarity index 92%
rename from ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ITencentIMService.java
rename to ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/ITencentIMService.java
index bfb647b34..b102aec66 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ITencentIMService.java
+++ b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/ITencentIMService.java
@@ -20,14 +20,7 @@ public interface ITencentIMService {
*/
boolean sendMessageToTencentIM(String fromUserId, String toUserId, String content);
- /**
- * 创建腾讯IM账号
- *
- * @param userId 用户ID
- * @return 用户签名
- */
- String createTencentIMAccount(String userId);
-
+
/**
* 推送消息给全体用户
*
@@ -38,7 +31,7 @@ public interface ITencentIMService {
* @return 是否发送成功
*/
boolean pushToAll(String title, String desc, boolean offlinePush, String ext);
-
+
/**
* 根据用户属性推送消息
*
@@ -50,7 +43,7 @@ public interface ITencentIMService {
* @return 是否发送成功
*/
boolean pushByAttributes(String title, String desc, Map attributes, boolean offlinePush, String ext);
-
+
/**
* 根据标签推送消息
*
@@ -62,7 +55,7 @@ public interface ITencentIMService {
* @return 是否发送成功
*/
boolean pushByTags(String title, String desc, List tags, boolean offlinePush, String ext);
-
+
/**
* 推送消息给指定用户
*
@@ -74,13 +67,13 @@ public interface ITencentIMService {
* @return 是否发送成功
*/
boolean pushToUsers(String title, String desc, List userIds, boolean offlinePush, String ext);
-
+
/**
* 处理消息变量替换
- *
+ *
* @param content 原始内容
* @param variables 变量映射
* @return 替换后的内容
*/
String processMessageVariables(String content, Map variables);
-}
\ No newline at end of file
+}
diff --git a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/TencentIMServiceImpl.java b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/TencentIMServiceImpl.java
index 87555e6fe..deb5ad18e 100644
--- a/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/TencentIMServiceImpl.java
+++ b/ruoyi-modules/ruoyi-im/src/main/java/org/dromara/system/service/impl/TencentIMServiceImpl.java
@@ -1,6 +1,6 @@
package org.dromara.system.service.impl;
-import com.alibaba.fastjson.JSONObject;
+import cn.hutool.json.JSONObject;
import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j;
import org.dromara.system.service.ITencentIMService;
@@ -29,7 +29,7 @@ import java.util.Base64;
*/
@Slf4j
@Service("systemTencentIMService")
-public class TencentIMServiceImpl implements ITencentIMService {
+public class TencentIMServiceImpl implements ITencentIMService {
@Value("${tencent.im.sdk-app-id}")
private long sdkAppId;
@@ -149,43 +149,6 @@ public class TencentIMServiceImpl implements ITencentIMService {
return generateUserSig(adminAccount);
}
- @Override
- public String createTencentIMAccount(String userId) {
- try {
- String userSig = generateAdminUserSig();
- String random = String.valueOf(System.currentTimeMillis());
-
- // 构建API请求URL
- String url = String.format(
- "https://console.tim.qq.com/v4/im_open_login_svc/account_import" +
- "?sdkappid=%s&identifier=%s&usersig=%s&random=%s&contenttype=json",
- sdkAppId,
- adminAccount,
- userSig,
- random);
-
- // 构建请求体
- Map requestBody = new HashMap<>();
- requestBody.put("UserID", userId);
- requestBody.put("Nick", userId);
-
- // 设置请求头
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
-
- // 发送请求
- HttpEntity