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