From 885290e4d0d0c7fad3f538d901c616e49c3d6985 Mon Sep 17 00:00:00 2001
From: 胡仁荣 <897853850@qq.com>
Date: 星期二, 18 七月 2023 18:15:58 +0800
Subject: [PATCH] oss分块上传
---
src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java | 82 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 72 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java
index 7f889bc..b465015 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java
@@ -1,12 +1,18 @@
package com.qxueyou.scc.stucontroller;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.qxueyou.scc.base.dao.CommonDAO;
import com.qxueyou.scc.sdk.MTCloud;
+import com.qxueyou.scc.teach.live.model.AccessLog;
+import com.qxueyou.scc.teach.live.utils.RedisCache;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -26,8 +32,10 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+@Slf4j
@Api(tags="鐩存挱鎺ュ彛-瀛﹀憳绔�")
@RestController
+@CrossOrigin
@RequestMapping(value = "/stu/live")
public class StuLiveController {
@@ -39,6 +47,12 @@
@Autowired
MediaLiveDAO dao;
+
+ @Autowired
+ RedisCache redisCache;
+
+ @Autowired
+ CommonDAO commonDAO;
private final static short[] PUBLIC_LIVE_STATUS = new short[] {
MediaVideoLive.STATUS_LIVE_LIVE,MediaVideoLive.STATUS_LIVE_PAUSE,
@@ -118,23 +132,71 @@
* @return
*/
@GetMapping(value = "view")
- public Result view(String couresId) throws Exception {
-
-
+ public Result view(String couresId,String userId,String userName,String logId) throws Exception {
+ AccessLog log=new AccessLog();
+ if(StringUtils.isEmpty(logId)){
+// String ip = IpUtils.getIpAddr(request);
+// String cityInfo = null;
+// try {
+// cityInfo = IpUtils.getCityInfo(ip);
+// } catch (Exception e) {
+// log.error("鑾峰彇ip褰掑睘鍦颁俊鎭け璐ワ紒");
+// }
+ log.setCourseId(couresId);
+ log.setEnterTime(new Date());
+ log.setType("guangxi");
+ log.setName(userName);
+// log.setIp(ip);
+// log.setIpAttribution(cityInfo);
+ commonDAO.save(log);
+ }else {
+ String liveUrl = redisCache.getCacheObject("LIVE_URL" + userId);
+ return new Result(true, "success",liveUrl);
+ }
MTCloud client = new MTCloud();
-
+ String userRole = null;
HashMap<Object,Object> options = new HashMap<Object, Object>();
-
- String res = client.courseAccess(couresId, ClientUtils.getUserId(), ClientUtils.getUserName(), MTCloud.ROLE_USER, 10000, options);
+ if(userId.equals("")){
+ userId= randomId();
+ }
+ if(userName.equals("") || userName==null){
+ userName= "娓稿";
+ userRole=MTCloud.ROLE_GUEST;
+ }else {
+ userRole=MTCloud.ROLE_USER;
+ }
+ String res = client.courseAccess(couresId,userId,userName,userRole, 10000, options);
JSONObject jsonObject = JSON.parseObject(res);
- JSONObject data = jsonObject.getJSONObject("data");
+ if(jsonObject.getString("code").equals("0")){
- String liveUrl = (String) data.get("liveUrl");
+ JSONObject data = jsonObject.getJSONObject("data");
- System.out.println(liveUrl);
+ String liveUrl = (String) data.get("liveUrl");
+ StringBuffer redisLiveUrl = new StringBuffer("LIVE_URL");
+ redisLiveUrl=redisLiveUrl.append(userId);
+ redisCache.setCacheObject(redisLiveUrl.toString(),liveUrl,5, TimeUnit.MINUTES);
+ return new Result(true, "success",liveUrl);
+ }
- return new Result(true, "success",liveUrl);
+ return new Result(false, jsonObject.getString("msg"));
}
+
+ public String randomId() {
+ Random random=new Random();
+ String str="";
+ for (int i = 0; i <12; i++) {
+ if(i==0){
+ //棣栦綅涓嶈兘涓�0涓旀暟瀛楀彇鍊煎尯闂翠负 [1,9]
+ str+=(random.nextInt(9)+1);
+ }else{
+ //鍏朵綑浣嶇殑鏁板瓧鐨勫彇鍊煎尯闂翠负 [0,9]
+ str+=random.nextInt(10);
+ }
+ }
+ return str;
+ }
+
+
}
--
Gitblit v1.8.0