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 | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java index 481c30d..b465015 100644 --- a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java +++ b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java @@ -1,10 +1,15 @@ 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; @@ -27,6 +32,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +@Slf4j @Api(tags="鐩存挱鎺ュ彛-瀛﹀憳绔�") @RestController @CrossOrigin @@ -41,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, @@ -120,28 +132,51 @@ * @return */ @GetMapping(value = "view") - public Result view(String couresId,String userId,String userName) 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>(); 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); - String res = client.courseAccess(couresId,userId,userName, MTCloud.ROLE_USER, 10000, options); JSONObject jsonObject = JSON.parseObject(res); - if(jsonObject.getString("code").equals("0")){ + JSONObject data = jsonObject.getJSONObject("data"); 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); } -- Gitblit v1.8.0