wangliang 4 жил өмнө
parent
commit
ea998e0124

+ 1 - 1
themis-backend/src/main/java/com/qmth/themis/backend/aspect/ApiControllerAspect.java

@@ -33,7 +33,7 @@ public class ApiControllerAspect {
     }
     }
 
 
     /**
     /**
-     * 查询学校id是否匹配
+     * 后台环绕切入
      *
      *
      * @param joinPoint
      * @param joinPoint
      * @return
      * @return

+ 4 - 0
themis-backend/src/main/resources/application.properties

@@ -197,6 +197,10 @@ mq.config.taskConsumerRoomCodeImportGroup=${mq.config.taskConsumerGroup}-${mq.co
 mq.config.taskTopicRoomCodeExportTag=roomCodeExport
 mq.config.taskTopicRoomCodeExportTag=roomCodeExport
 mq.config.taskConsumerRoomCodeExportGroup=${mq.config.taskConsumerGroup}-${mq.config.taskTopicRoomCodeExportTag}
 mq.config.taskConsumerRoomCodeExportGroup=${mq.config.taskConsumerGroup}-${mq.config.taskTopicRoomCodeExportTag}
 
 
+#\u8BD5\u5377\u5BFC\u5165
+mq.config.taskTopicExamPaperImportTag=examPaperImport
+mq.config.taskConsumerExamPaperImportGroup=${mq.config.taskConsumerGroup}-${mq.config.taskTopicExamPaperImportTag}
+
 #dlq\u6B7B\u4FE1\u961F\u5217
 #dlq\u6B7B\u4FE1\u961F\u5217
 #mq.config.sessionConsumerGroupDlq=${mq.config.sessionConsumerGroup}-dlq
 #mq.config.sessionConsumerGroupDlq=${mq.config.sessionConsumerGroup}-dlq
 #mq.config.sessionTopicDlq=%DLQ%${mq.config.sessionConsumerGroup}
 #mq.config.sessionTopicDlq=%DLQ%${mq.config.sessionConsumerGroup}

+ 1 - 0
themis-business/src/main/java/com/qmth/themis/business/templete/TaskImportCommon.java

@@ -111,6 +111,7 @@ public class TaskImportCommon {
             this.path = this.path.substring(0, this.path.lastIndexOf(File.separator) + 1);
             this.path = this.path.substring(0, this.path.lastIndexOf(File.separator) + 1);
             File file = new File(this.path + String.valueOf(UUID.randomUUID()).replaceAll("-", "") + SystemConstant.TXT_PREFIX);
             File file = new File(this.path + String.valueOf(UUID.randomUUID()).replaceAll("-", "") + SystemConstant.TXT_PREFIX);
             if (!file.exists()) {
             if (!file.exists()) {
+                file.getParentFile().mkdirs();
                 file.createNewFile();
                 file.createNewFile();
             }
             }
             fileWriter = new FileWriter(file);
             fileWriter = new FileWriter(file);

+ 72 - 0
themis-exam/src/main/java/com/qmth/themis/exam/aspect/ApiControllerAspect.java

@@ -0,0 +1,72 @@
+package com.qmth.themis.exam.aspect;
+
+import com.qmth.themis.common.util.ResultUtil;
+import com.qmth.themis.exam.util.ServletUtil;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Description: api aspect
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/5/12
+ */
+@Aspect
+@Component
+public class ApiControllerAspect {
+    private final static Logger log = LoggerFactory.getLogger(ApiControllerAspect.class);
+
+    /**
+     * api切入点
+     */
+    @Pointcut("execution(public * com.qmth.themis.exam.api.*.*(..))")
+    public void apiAspect() {
+    }
+
+    /**
+     * 考试环绕切入
+     *
+     * @param joinPoint
+     * @return
+     * @throws Throwable
+     */
+    @Around(value = "apiAspect()")
+    public Object aroundApiPoint(ProceedingJoinPoint joinPoint) throws Throwable {
+        try {
+            long start = System.currentTimeMillis();
+            MethodSignature msig = (MethodSignature) joinPoint.getSignature();
+            String className = msig.getDeclaringTypeName();
+            String methodName = msig.getName();
+            Object[] args = joinPoint.getArgs();
+            String[] paramsName = msig.getParameterNames();
+            HttpServletRequest request = ServletUtil.getRequest();
+            log.info("============请求地址========:{}", request.getRequestURL());
+            log.info("============类=============:{}", className);
+            log.info("============方法===========:{}", methodName);
+            for (int i = 0; i < args.length; i++) {
+                log.info("============参数key:{},参数value===========:{}", paramsName[i], args[i]);
+            }
+//            log.info("============参数key:{},参数value===========:{}", JSONObject.toJSONString(paramsName), JSONObject.toJSONString(args));
+            log.info("============platform===========:{}", ServletUtil.getRequestPlatform());
+            log.info("============deviceId===========:{}", ServletUtil.getRequestDeviceId());
+            log.info("============Authorization===========:{}", ServletUtil.getRequestAuthorization());
+            log.info("============time===========:{}", ServletUtil.getRequestTime());
+            Object proceed = joinPoint.proceed();
+            long end = System.currentTimeMillis();
+            log.info("============耗时============:{}秒", (end - start) / 1000);
+            return proceed;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.error(e.getMessage());
+        }
+    }
+}