From 9ab77cae08198c4c3d9d8fe7f41b0910fb54762e Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 17 七月 2023 09:10:26 +0800
Subject: [PATCH] 优化融云业务

---
 ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java |   43 ++++++++++++++-------
 ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java                |   13 +++---
 ruoyi-admin/src/main/resources/logback.xml                                        |   17 ++++++++
 3 files changed, 53 insertions(+), 20 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java b/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
index 4016925..8674902 100644
--- a/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
@@ -4,19 +4,26 @@
 import com.fasterxml.jackson.databind.util.JSONPObject;
 import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.common.utils.uuid.UUID;
 import com.ruoyi.rongcloud.domain.TokenParam;
 import com.ruoyi.rongcloud.service.RongCloudService;
 import com.ruoyi.system.mapper.SysConfigMapper;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.utils.forest.RongCloudClient;
+import lombok.extern.slf4j.Slf4j;
 import okhttp3.FormBody;
 import okhttp3.RequestBody;
 import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.Map;
+import java.util.Random;
+
+import static org.bouncycastle.asn1.x500.style.RFC4519Style.l;
 
 /**
  * @Description:
@@ -26,6 +33,7 @@
  * @Version: 1.0
  **/
 @Service
+@Slf4j(topic = "rongCloud")
 public class RongCloudServiceImpl implements RongCloudService {
 
     @Resource
@@ -34,20 +42,27 @@
     ISysConfigService iSysConfigService;
     @Override
     public String getToken(String userId,String name) {
-//        String appKey="6tnym11s1h717";
-//        String appSecret="IwcGk2flZr";
-        String rongyunApiUrl = iSysConfigService.selectConfigByKey("rongyun");
-        String appKey = iSysConfigService.selectConfigByKey("RongCloudAppKey");
-        String appSecret = iSysConfigService.selectConfigByKey("RongCloudAppSecret");
-        TokenParam param=new TokenParam();
-        param.setUserId(userId);
-        param.setName(name);
-        String Nonce = String.valueOf(Math.random()).split("\\.")[1];
-        String Timestamp = String.valueOf(new Date().getTime());
-        String Signature = DigestUtils.sha1Hex(appSecret + Nonce + Timestamp);//App Secret + Nonce + Timestamp
-        String jsonStr = rongCloudClient.getToken(rongyunApiUrl,appKey, Nonce, Timestamp, Signature, param);
-        Map map = JSONObject.parseObject(jsonStr, Map.class);
-        String token = (String)map.get("token");
+
+        String token="";
+        try {
+            String rongyunApiUrl = iSysConfigService.selectConfigByKey("rongyun");
+            String appKey = iSysConfigService.selectConfigByKey("RongCloudAppKey");
+            String appSecret = iSysConfigService.selectConfigByKey("RongCloudAppSecret");
+            TokenParam param = new TokenParam();
+            param.setUserId(userId);
+            param.setName(name);
+            String Nonce = RandomStringUtils.randomNumeric(18);
+            String Timestamp = String.valueOf(new Date().getTime());
+            String Signature = DigestUtils.sha1Hex(appSecret + Nonce + Timestamp);//App Secret + Nonce + Timestamp
+            String jsonStr = rongCloudClient.getToken(rongyunApiUrl, appKey, Nonce, Timestamp, Signature, param);
+            Map map = JSONObject.parseObject(jsonStr, Map.class);
+            token = (String) map.get("token");
+            log.debug("鐢ㄦ埛"+userId+"鑾峰彇鍒拌瀺浜憈oken:"+token);
+        }
+        catch (Exception ex)
+        {
+            log.error("鑾峰彇token寮傚父:"+ex.getMessage());
+        }
         return token;
     }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java b/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java
index db4f18a..3cd7c4a 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java
@@ -8,16 +8,17 @@
 
 @BaseRequest(
         baseURL = "{rongyunApiUrl}",
+        headers = {
+                "App-Key:{AppKey}",
+                "Nonce:{Nonce}",
+                "Timestamp:{Timestamp}",
+                "Signature:{Signature}",
+        },
         sslProtocol = "TLS"
 )
 public interface RongCloudClient {
 
-    @Post(url = "/user/getToken.json", headers = {
-            "App-Key:{AppKey}",
-            "Nonce:{Nonce}",
-            "Timestamp:{Timestamp}",
-            "Signature:{Signature}",
-    })
+    @Post(url = "/user/getToken.json")
     public String getToken(@Var("rongyunApiUrl") String rongyunApiUrl,@Var("AppKey") String AppKey, @Var("Nonce") String Nonce, @Var("Timestamp") String Timestamp, @Var("Signature") String Signature, @Body TokenParam param);
 
 }
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index ef0f47d..bb1f319 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -172,6 +172,19 @@
             <pattern>${log.pattern}</pattern>
         </encoder>
     </appender>
+    <!--铻嶄簯鏃ュ織杈撳嚭-->
+    <appender name="rongCloud" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/rongCloud.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--鎸夊ぉ鍥炴粴daily-->
+            <fileNamePattern>${log.path}/rongCloud.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+            <maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+    </appender>
     <!-- 绯荤粺妯″潡鏃ュ織绾у埆鎺у埗  -->
     <logger name="com.ruoyi" level="info"/>
     <!-- Spring鏃ュ織绾у埆鎺у埗  -->
@@ -222,4 +235,8 @@
     <logger name="guideQueue" level="DEBUG">
         <appender-ref ref="guideQueue"/>
     </logger>
+    <!--rongCloud鏃ュ織鎵撳嵃绛夌骇-->
+    <logger name="rongCloud" level="DEBUG">
+        <appender-ref ref="rongCloud"/>
+    </logger>
 </configuration> 
\ No newline at end of file

--
Gitblit v1.9.3