فهرست منبع

examcloud.api.device.record.active=false

deason 2 سال پیش
والد
کامیت
98b43a0767

+ 11 - 0
src/main/java/cn/com/qmth/examcloud/app/core/SysProperty.java

@@ -27,6 +27,9 @@ public class SysProperty {
     @Value("${examcloud.api.domain}")
     private String apiDomain;
 
+    @Value("${examcloud.api.device.record.active:false}")
+    private Boolean deviceRecordActive;
+
     public String getFileDomain() {
         return fileDomain;
     }
@@ -47,4 +50,12 @@ public class SysProperty {
         return discoveryClient.getInstanceUrl(server.getInstanceName());
     }
 
+    public Boolean getDeviceRecordActive() {
+        return deviceRecordActive;
+    }
+
+    public void setDeviceRecordActive(Boolean deviceRecordActive) {
+        this.deviceRecordActive = deviceRecordActive;
+    }
+
 }

+ 11 - 3
src/main/java/cn/com/qmth/examcloud/app/core/config/AccessInterceptor.java

@@ -7,6 +7,7 @@
 
 package cn.com.qmth.examcloud.app.core.config;
 
+import cn.com.qmth.examcloud.app.core.SysProperty;
 import cn.com.qmth.examcloud.app.model.DeviceRecord;
 import cn.com.qmth.examcloud.app.service.DeviceRecordService;
 import cn.com.qmth.examcloud.commons.util.ThreadLocalUtil;
@@ -31,11 +32,15 @@ import static cn.com.qmth.examcloud.app.model.Constants.*;
  * @since: 2018/7/16
  */
 public class AccessInterceptor extends HandlerInterceptorAdapter {
+
     private static final Logger LOG = LoggerFactory.getLogger(AccessInterceptor.class);
 
     @Autowired
     private DeviceRecordService deviceRecordService;
 
+    @Autowired
+    private SysProperty sysProperty;
+
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         String mapping = request.getServletPath().toLowerCase();
@@ -54,9 +59,12 @@ public class AccessInterceptor extends HandlerInterceptorAdapter {
             return true;
         }
 
-        //异步保存设备访问记录
-        // DeviceRecord record = this.parseParams(request);
-        // deviceRecordService.addDeviceRecord(record);
+        if (sysProperty.getDeviceRecordActive()) {
+            //异步保存设备访问记录
+            DeviceRecord record = this.parseParams(request);
+            deviceRecordService.addDeviceRecord(record);
+        }
+
         return true;
     }