Ver código fonte

在线人数打点

xiatian 5 anos atrás
pai
commit
f010a59947

+ 14 - 0
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/controller/NoticeController.java

@@ -37,6 +37,7 @@ import cn.com.qmth.examcloud.api.commons.enums.NoticeReceiverRuleType;
 import cn.com.qmth.examcloud.api.commons.enums.NoticeStatus;
 import cn.com.qmth.examcloud.api.commons.exchange.PageInfo;
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
+import cn.com.qmth.examcloud.api.commons.security.bean.UserType;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.examwork.api.controller.bean.AddNoticeDomain;
 import cn.com.qmth.examcloud.core.examwork.api.controller.bean.NoticeDomain;
@@ -54,6 +55,9 @@ import cn.com.qmth.examcloud.core.examwork.service.bean.NoticeInfoQuery;
 import cn.com.qmth.examcloud.core.examwork.service.bean.UpdateNoticeInfo;
 import cn.com.qmth.examcloud.core.examwork.service.bean.UserNoticeInfo;
 import cn.com.qmth.examcloud.core.examwork.service.bean.UserNoticeInfoQuery;
+import cn.com.qmth.examcloud.reports.commons.bean.OnlineStudentReport;
+import cn.com.qmth.examcloud.reports.commons.bean.OnlineUserReport;
+import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
 import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.support.Naked;
@@ -129,6 +133,16 @@ public class NoticeController extends ControllerSupport {
         if (null != noticeInfoList && !noticeInfoList.isEmpty()) {
             resultList = getNoticeDomainListFrom(noticeInfoList);
         }
+        
+        User user = this.getAccessUser();
+		//在线数据打点 start
+		if(UserType.STUDENT.equals(user.getUserType())) {
+			//在线学生登录打点
+			ReportsUtil.report(new OnlineStudentReport(user.getRootOrgId(),user.getUserId()));
+		}else if(UserType.COMMON.equals(user.getUserType())) {
+			//在线用户登录打点
+			ReportsUtil.report(new OnlineUserReport(user.getRootOrgId(),user.getUserId()));
+		}
         return resultList;
     }
 

+ 5 - 0
examcloud-core-examwork-base/pom.xml

@@ -19,6 +19,11 @@
 			<artifactId>examcloud-support</artifactId>
 			<version>${examcloud.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>cn.com.qmth.examcloud.reports</groupId>
+			<artifactId>examcloud-reports-commons</artifactId>
+			<version>${examcloud.version}</version>
+		</dependency>
 	</dependencies>
 
 </project>

+ 28 - 0
examcloud-core-examwork-base/src/main/java/cn/com/qmth/examcloud/core/examwork/base/processor/HttpMethodProcessorImpl.java

@@ -0,0 +1,28 @@
+package cn.com.qmth.examcloud.core.examwork.base.processor;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.stereotype.Component;
+
+import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
+import cn.com.qmth.examcloud.web.support.HttpMethodProcessor;
+
+@Component
+public class HttpMethodProcessorImpl implements HttpMethodProcessor {
+
+	@Override
+	public void beforeMethod(HttpServletRequest request, Object[] args) {
+
+	}
+
+	@Override
+	public void onSuccess(HttpServletRequest request, Object[] args, Object ret) {
+		ReportsUtil.sendReport(false);
+	}
+
+	@Override
+	public void onException(HttpServletRequest request, Object[] args, Throwable e) {
+		ReportsUtil.sendReport(true);
+	}
+
+}