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