From 2174b22bbbb45284765a23b8189df59583c65d29 Mon Sep 17 00:00:00 2001 From: 胡仁荣 <897853850@qq.com> Date: 星期五, 04 八月 2023 14:33:47 +0800 Subject: [PATCH] 统计人数 --- src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java | 74 ++++++++++++++++++++++++------------ 1 files changed, 49 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java index b465015..75c3cf6 100644 --- a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java +++ b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java @@ -6,9 +6,12 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.qxueyou.scc.base.dao.CommonDAO; +import com.qxueyou.scc.base.model.Pager; +import com.qxueyou.scc.config.IpUtils; import com.qxueyou.scc.sdk.MTCloud; import com.qxueyou.scc.teach.live.model.AccessLog; import com.qxueyou.scc.teach.live.utils.RedisCache; +import com.qxueyou.scc.teach.student.model.StuStudent; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +34,8 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; + +import javax.servlet.http.HttpServletRequest; @Slf4j @Api(tags="鐩存挱鎺ュ彛-瀛﹀憳绔�") @@ -132,26 +137,29 @@ * @return */ @GetMapping(value = "view") - public Result view(String couresId,String userId,String userName,String logId) throws Exception { - AccessLog log=new AccessLog(); + public Result view(String couresId, String userId, String userName, String logId, HttpServletRequest request) throws Exception { + String redisLiveUrl = redisCache.getCacheObject("LIVE_URL" + userId); + AccessLog accessLog=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); + String ip = IpUtils.getIpAddr(request); + String cityInfo = null; + try { + cityInfo = IpUtils.getCityInfo(ip); + } catch (Exception e) { + log.error("鑾峰彇ip褰掑睘鍦颁俊鎭け璐ワ紒"); + } + accessLog.setCourseId(couresId); + accessLog.setEnterTime(new Date()); + accessLog.setType("guangxi"); + accessLog.setName(userName); + accessLog.setIp(ip); + accessLog.setIpAttribution(cityInfo); + accessLog.setCreateTime(new Date()); + accessLog.setUpdateTime(new Date()); + commonDAO.save(accessLog); + } + if (!StringUtils.isEmpty(redisLiveUrl)){ + return new Result(true, "success",CollectionUtils.newObjectMap("url",redisLiveUrl,"log",accessLog.getLogId())); } MTCloud client = new MTCloud(); String userRole = null; @@ -170,19 +178,35 @@ 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); + StringBuffer redisLiveKey = new StringBuffer("LIVE_URL"); + redisLiveKey.append(userId); + redisCache.setCacheObject(redisLiveKey.toString(),liveUrl,5, TimeUnit.MINUTES); + return new Result(true, "success",CollectionUtils.newObjectMap("url",liveUrl,"log",accessLog.getLogId())); } return new Result(false, jsonObject.getString("msg")); } + @ApiOperation(value = "绂诲紑璺紨鐩存挱闂�") + @GetMapping(value = "leaveRoadShow") + public Result enterIntoRoadShow(String logId) { +// System.out.println(logId); + if(!StringUtils.isEmpty(logId)){ + StringBuffer hql=new StringBuffer("from AccessLog where logId=?"); + List<Object> args = CollectionUtils.newList(logId); + AccessLog accessLogs = commonDAO.findUnique(hql.toString(), args, AccessLog.class); +// System.out.println(accessLogs); + accessLogs.setLeaveTime(new Date()); + accessLogs.setUpdateTime(new Date()); + commonDAO.update(accessLogs); + return new Result(true,"閫�鍑烘垚鍔�"); + } + return new Result(false,"logId涓嶈兘涓虹┖"); + } + + public String randomId() { Random random=new Random(); String str=""; -- Gitblit v1.8.0