lyhzzz 2 лет назад
Родитель
Сommit
b76f5f1660

+ 26 - 11
src/main/java/com/fdkankan/tk/controller/TencentYunController.java

@@ -1,11 +1,16 @@
 package com.fdkankan.tk.controller;
 
 
+import com.fdkankan.tk.common.ResultCode;
 import com.fdkankan.tk.common.ResultData;
+import com.fdkankan.tk.entity.TencentYun;
+import com.fdkankan.tk.exception.BusinessException;
 import com.fdkankan.tk.service.ITencentYunService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * <p>
  *  前端控制器
@@ -21,19 +26,29 @@ public class TencentYunController {
     ITencentYunService tencentYunService;
 
 
-
-    @GetMapping("/tencentYun/getSign")
-    public ResultData getSign(@RequestParam(required = false) String userId){
-        return ResultData.ok(tencentYunService.getSign(userId));
-
+    @GetMapping("/rtcMedia/getToken")
+    public ResultData getRtcType(@RequestParam(required = true) String userId,
+                                 @RequestParam(required = true) Integer roleId,
+                                 @RequestParam(required = true) String channelName){
+
+        List<TencentYun> list = tencentYunService.list();
+        if(list == null || list.size() <=0){
+            throw new BusinessException(ResultCode.TENCENT_YUN_EMPTY);
+        }
+        if(list.size() >1){
+            throw new BusinessException(ResultCode.TENCENT_YUN_ERROR);
+        }
+        TencentYun tencentYun = list.get(0);
+        if(tencentYun.getOperatorType() == 0){
+            return ResultData.ok( tencentYunService.getSign(userId,tencentYun));
+
+        }
+        if(tencentYun.getOperatorType() == 1){
+            return ResultData.ok( tencentYunService.getAgoraToken(userId,roleId,channelName,tencentYun));
+        }
+        return ResultData.ok();
     }
 
-    @GetMapping("/agoraIO/getAgoraToken")
-    public ResultData getAgoraToken(@RequestParam(required = true) String userId,
-                                    @RequestParam(required = true) Integer roleId,
-                                    @RequestParam(required = true) String channelName){
-        return ResultData.ok(tencentYunService.getAgoraToken(userId,roleId,channelName));
 
-    }
 }
 

+ 2 - 2
src/main/java/com/fdkankan/tk/service/ITencentYunService.java

@@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ITencentYunService extends IService<TencentYun> {
 
-    JSONObject getSign(String userId);
+    JSONObject getSign(String userId,TencentYun tencentYun);
 
-    Object getAgoraToken(String userId,Integer roleId,String channelName);
+    Object getAgoraToken(String userId,Integer roleId,String channelName,TencentYun tencentYun);
 }

+ 11 - 27
src/main/java/com/fdkankan/tk/service/impl/TencentYunServiceImpl.java

@@ -35,17 +35,9 @@ public class TencentYunServiceImpl extends ServiceImpl<ITencentYunMapper, Tencen
     RedisUtil redisUtil;
 
     @Override
-    public JSONObject getSign(String userId) {
+    public JSONObject getSign(String userId,TencentYun tencentYun) {
         String redisKey = RedisKeyUtil.TENCENT_YUN_KEY + userId;
         if (!redisUtil.hasKey(redisKey)) {
-            List<TencentYun> list = this.getByType(0);
-            if(list == null || list.size() <=0){
-                throw new BusinessException(ResultCode.TENCENT_YUN_EMPTY);
-            }
-            if(list.size() >1){
-                throw new BusinessException(ResultCode.TENCENT_YUN_ERROR);
-            }
-            TencentYun tencentYun = list.get(0);
 
             TLSSigAPIv2 api = new TLSSigAPIv2(tencentYun.getSdkAppid(), tencentYun.getSecretkey());
             String sign = api.genUserSig(userId, tencentYun.getExTime() );
@@ -78,31 +70,23 @@ public class TencentYunServiceImpl extends ServiceImpl<ITencentYunMapper, Tencen
     }
 
     @Override
-    public Object getAgoraToken(String userId,Integer roleId,String channelName) {
+    public Object getAgoraToken(String userId,Integer roleId,String channelName,TencentYun tencentYun) {
         if(roleMap.size() <=0){
             setRoleMap();
         }
         if(roleMap.get(roleId) == null){
             throw new BusinessException(ResultCode.AGO_ROLE_ERROR);
         }
-            List<TencentYun> list = this.getByType(1);
-            if(list == null || list.size() <=0){
-                throw new BusinessException(ResultCode.TENCENT_YUN_EMPTY);
-            }
-            if(list.size() >1){
-                throw new BusinessException(ResultCode.TENCENT_YUN_ERROR);
-            }
-            TencentYun tencentYun = list.get(0);
-
-            RtcTokenBuilder2 token = new RtcTokenBuilder2();
-            String result = token.buildTokenWithUserAccount(tencentYun.getAppid(), tencentYun.getSecretkey(), channelName, userId, roleMap.get(roleId), tencentYun.getExTime(), tencentYun.getExTime());
+        RtcTokenBuilder2 token = new RtcTokenBuilder2();
+        String result = token.buildTokenWithUserAccount(tencentYun.getAppid(), tencentYun.getSecretkey(), channelName, userId, roleMap.get(roleId), tencentYun.getExTime(), tencentYun.getExTime());
+
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("sdkAppId",tencentYun.getAppid());
+        jsonObject.put("expire",tencentYun.getExTime());
+        jsonObject.put("sign",result);
+        jsonObject.put("operatorType",tencentYun.getOperatorType());
+        return jsonObject;
 
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("sdkAppId",tencentYun.getAppid());
-            jsonObject.put("expire",tencentYun.getExTime());
-            jsonObject.put("sign",result);
-            jsonObject.put("operatorType",tencentYun.getOperatorType());
-            return jsonObject;
     }
 
     public static void main(String[] args) {