wangliang 4 anni fa
parent
commit
ef07a46231
43 ha cambiato i file con 1233 aggiunte e 10 eliminazioni
  1. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/DistributedPrintApplication.java
  2. 29 4
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/base/BaseEntity.java
  3. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseClazzController.java
  4. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeInspectController.java
  5. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeInspectDioController.java
  6. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeTeacherController.java
  7. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseController.java
  8. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseDifficultController.java
  9. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseDioController.java
  10. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseRecordController.java
  11. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseRecordDioController.java
  12. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseRecordModController.java
  13. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseTeacherController.java
  14. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamTotalController.java
  15. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAPaperStructController.java
  16. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBAnswerController.java
  17. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBCloudExamController.java
  18. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBCommonLevelConfigController.java
  19. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBCommonRankLevelConfigController.java
  20. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBDimensionController.java
  21. 40 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamController.java
  22. 19 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamCourseController.java
  23. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamRecordController.java
  24. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamStudentController.java
  25. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBModuleConfigController.java
  26. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBModuleProficiencyController.java
  27. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBPaperController.java
  28. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBPaperStructController.java
  29. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolClazzController.java
  30. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolCollegeController.java
  31. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolController.java
  32. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolCourseController.java
  33. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolMajorController.java
  34. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolTeacherController.java
  35. 20 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBStudentController.java
  36. 90 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/aspect/ApiControllerAspect.java
  37. 106 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/auth/TeachcloudReportAuthenticationService.java
  38. 55 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/auth/TeachcloudReportSession.java
  39. 71 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/config/SwaggerConfig.java
  40. 45 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/interceptor/AuthInterceptor.java
  41. 33 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/start/StartRunning.java
  42. 119 0
      teachcloud-report/src/main/resources/application.properties
  43. 4 4
      teachcloud-task/pom.xml

+ 2 - 2
distributed-print/src/main/java/com/qmth/distributed/print/DistributedPrintApplication.java

@@ -15,9 +15,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 import javax.annotation.Resource;
 
 @SpringBootApplication(scanBasePackages = "com.qmth.*")
-@MapperScan("com.qmth.distributed.print.business.mapper")
+@MapperScan({"com.qmth.distributed.print.business.mapper","com.qmth.teachcloud.report.business.mapper"})
 //主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中,做过web开发的同学一定都有用过@Controller,@Service,@Repository注解,查看其源码你会发现,他们中有一个共同的注解@Component,没错@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中
-@EntityScan(basePackages = {"com.qmth.distributed.print.business.entity"}) // 用来扫描和发现指定包及其子包中的Entity定义
+@EntityScan(basePackages = {"com.qmth.distributed.print.business.entity","com.qmth.teachcloud.report.business.entity"}) // 用来扫描和发现指定包及其子包中的Entity定义
 @EnableTransactionManagement // spring开启事务支持
 @EnableAsync // 开启异步任务
 @EnableCaching // 开启缓存注解

+ 29 - 4
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/base/BaseEntity.java

@@ -1,13 +1,38 @@
 package com.qmth.teachcloud.report;
 
+import com.qmth.boot.core.security.service.CustomizeAuthorizationService;
+import com.qmth.teachcloud.report.auth.TeachcloudReportAuthenticationService;
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
 
-@SpringBootApplication
+import javax.annotation.Resource;
+
+@SpringBootApplication(scanBasePackages = "com.qmth.*")
+@MapperScan({"com.qmth.distributed.print.business.mapper","com.qmth.teachcloud.report.business.mapper"})
+//主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中,做过web开发的同学一定都有用过@Controller,@Service,@Repository注解,查看其源码你会发现,他们中有一个共同的注解@Component,没错@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中
+@EntityScan(basePackages = {"com.qmth.distributed.print.business.entity","com.qmth.teachcloud.report.business.entity"}) // 用来扫描和发现指定包及其子包中的Entity定义
+@EnableTransactionManagement // spring开启事务支持
+@EnableAsync // 开启异步任务
+@EnableCaching // 开启缓存注解
 public class TeachcloudReportApplication {
 
-	public static void main(String[] args) {
-		SpringApplication.run(TeachcloudReportApplication.class, args);
-	}
+    public static void main(String[] args) {
+        SpringApplication.run(TeachcloudReportApplication.class, args);
+    }
+
+    @Resource
+    private TeachcloudReportAuthenticationService teachcloudReportAuthenticationService;
 
+    @Bean
+    public CustomizeAuthorizationService customizeAuthorizationService() {
+        return registration -> {
+            registration.setDefault(teachcloudReportAuthenticationService);
+        };
+    }
 }

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseClazzController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程班级维度分析表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-clazz")
+public class TAExamCourseClazzController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeInspectController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程考察学院维度分析表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-college-inspect")
+public class TAExamCourseCollegeInspectController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeInspectDioController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程考察学院各考察点维度表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-college-inspect-dio")
+public class TAExamCourseCollegeInspectDioController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseCollegeTeacherController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程学院下授课教师维度分析表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-college-teacher")
+public class TAExamCourseCollegeTeacherController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考试课程维度分析表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course")
+public class TAExamCourseController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseDifficultController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考试课程,各难度题目得分率表(难度题得分率、中等难度题得分率、简单题得分率) 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-difficult")
+public class TAExamCourseDifficultController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseDioController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程试卷考察点(整体情况)维度表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-dio")
+public class TAExamCourseDioController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseRecordController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程考生成绩维度表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-record")
+public class TAExamCourseRecordController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseRecordDioController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程考生各考察点维度分析表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-record-dio")
+public class TAExamCourseRecordDioController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseRecordModController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程考生考察点模块维度表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-record-mod")
+public class TAExamCourseRecordModController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamCourseTeacherController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 参考课程授课教师维度表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-course-teacher")
+public class TAExamCourseTeacherController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAExamTotalController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考试维度总计 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-aexam-total")
+public class TAExamTotalController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TAPaperStructController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 试卷结构维度分析表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-apaper-struct")
+public class TAPaperStructController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBAnswerController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 基础考生作答记录详情表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-banswer")
+public class TBAnswerController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBCloudExamController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 云阅卷考试信息表(同步考生成绩使用) 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bcloud-exam")
+public class TBCloudExamController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBCommonLevelConfigController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 等级配置表(试卷难易度、成绩在学院排名百分比) 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bcommon-level-config")
+public class TBCommonLevelConfigController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBCommonRankLevelConfigController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 学生成绩在学院排名的配置表(赋分成绩在学院排名档次) 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bcommon-rank-level-config")
+public class TBCommonRankLevelConfigController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBDimensionController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考察点维度基础表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bdimension")
+public class TBDimensionController {
+
+}

+ 40 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamController.java

@@ -0,0 +1,40 @@
+package com.qmth.teachcloud.report.api;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
+import io.swagger.annotations.*;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * <p>
+ * 教研分析基础考试信息表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@Api(tags = "考试Controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.common}")
+public class TBExamController {
+
+    @ApiOperation(value = "登录")
+    @RequestMapping(value = "/test", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "用户信息", response = Result.class)})
+    @Aac(auth = BOOL.FALSE)
+    public Result test() {
+        System.out.println("test is come in");
+        return ResultUtil.ok(true);
+    }
+}

+ 19 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamCourseController.java

@@ -0,0 +1,19 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考试科目表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-02
+ */
+@RestController
+@RequestMapping("/t-bexam-course")
+public class TBExamCourseController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamRecordController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考生考试记录 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bexam-record")
+public class TBExamRecordController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBExamStudentController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考生表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bexam-student")
+public class TBExamStudentController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBModuleConfigController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 考察点模块配置表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bmodule-config")
+public class TBModuleConfigController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBModuleProficiencyController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 模块二级考察点维度熟练度配置,及模块简要描述表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bmodule-proficiency")
+public class TBModuleProficiencyController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBPaperController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 试卷基础信息表(赋分系数、试卷类型、满分、及格分等) 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bpaper")
+public class TBPaperController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBPaperStructController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 试卷结构表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bpaper-struct")
+public class TBPaperStructController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolClazzController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 学校班级表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bschool-clazz")
+public class TBSchoolClazzController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolCollegeController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 学校学院基础表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bschool-college")
+public class TBSchoolCollegeController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 学校基础表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bschool")
+public class TBSchoolController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolCourseController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 课程基础表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bschool-course")
+public class TBSchoolCourseController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolMajorController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 学校专业表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bschool-major")
+public class TBSchoolMajorController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBSchoolTeacherController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 授课教师表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bschool-teacher")
+public class TBSchoolTeacherController {
+
+}

+ 20 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/TBStudentController.java

@@ -0,0 +1,20 @@
+package com.qmth.teachcloud.report.api;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 基础学生表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2021-06-01
+ */
+@RestController
+@RequestMapping("/t-bstudent")
+public class TBStudentController {
+
+}

+ 90 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/aspect/ApiControllerAspect.java

@@ -0,0 +1,90 @@
+package com.qmth.teachcloud.report.aspect;
+
+import com.qmth.boot.api.exception.ApiException;
+import com.qmth.distributed.print.business.util.ServletUtil;
+import com.qmth.teachcloud.common.util.JacksonUtil;
+import com.qmth.teachcloud.common.util.ResultUtil;
+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 org.springframework.validation.BeanPropertyBindingResult;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Objects;
+
+/**
+ * @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.teachcloud.report.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();
+            if (Objects.nonNull(request)) {
+                log.info("============请求地址========:{}", request.getServletPath());
+                log.info("============类=============:{}", className);
+                log.info("============方法===========:{}", methodName);
+                if (Objects.nonNull(args) && args.length > 0) {
+                    for (int i = 0; i < args.length; i++) {
+                        if (Objects.nonNull(args[i]) && (args[i] instanceof HttpServletRequest || args[i] instanceof HttpServletResponse || args[i] instanceof CommonsMultipartFile || args[i] instanceof MultipartFile || args[i] instanceof BeanPropertyBindingResult)) {
+                            continue;
+                        } else {
+                            log.info("============参数key:{},参数value===========:{}", JacksonUtil.parseJson(paramsName[i]), JacksonUtil.parseJson(args[i]));
+                        }
+                    }
+                }
+//            log.info("============platform===========:{}", ServletUtil.getRequestPlatform());
+//            log.info("============deviceId===========:{}", ServletUtil.getRequestDeviceId());
+//            log.info("============Authorization===========:{}", ServletUtil.getRequestAuthorizationForAspect());
+//            log.info("============time===========:{}", ServletUtil.getRequestTimeForTime());
+            }
+            Object proceed = joinPoint.proceed();
+            long end = System.currentTimeMillis();
+            log.info("============耗时============:{}秒", (end - start) / 1000);
+            return proceed;
+        } catch (Exception e) {
+            log.error("请求出错", e);
+            if (e instanceof ApiException) {
+                return ResultUtil.error((ApiException) e, e.getMessage());
+            } else {
+                return ResultUtil.error(e.getMessage());
+            }
+        }
+    }
+}

+ 106 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/auth/TeachcloudReportAuthenticationService.java

@@ -0,0 +1,106 @@
+package com.qmth.teachcloud.report.auth;
+
+import com.qmth.boot.core.security.model.AccessEntity;
+import com.qmth.boot.core.security.service.AuthorizationService;
+import com.qmth.boot.tools.signature.SignatureType;
+import com.qmth.distributed.print.business.bean.auth.AuthBean;
+import com.qmth.distributed.print.business.entity.SysUser;
+import com.qmth.distributed.print.business.entity.TBSession;
+import com.qmth.distributed.print.business.enums.PrivilegePropertyEnum;
+import com.qmth.distributed.print.business.enums.RoleTypeEnum;
+import com.qmth.distributed.print.business.service.CacheService;
+import com.qmth.distributed.print.business.service.TBSessionService;
+import com.qmth.distributed.print.business.util.ServletUtil;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
+@Component
+public class TeachcloudReportAuthenticationService implements AuthorizationService {
+    private final static Logger log = LoggerFactory.getLogger(TeachcloudReportAuthenticationService.class);
+
+    @Resource
+    TBSessionService tbSessionService;
+
+    @Resource
+    CacheService cacheService;
+
+    @Override
+    public AccessEntity findByIdentity(String identity, SignatureType signatureType, String path) {
+        return new TeachcloudReportSession(identity, SignatureType.TOKEN);
+    }
+
+    @Override
+    public boolean hasPermission(AccessEntity accessEntity, String path) {
+        if (Objects.nonNull(accessEntity) && Objects.nonNull(accessEntity.getIdentity())) {
+            TBSession tbSession = tbSessionService.getById(accessEntity.getIdentity());
+            List<String> privilegeUrl = cacheService.privilegeUrlCache(PrivilegePropertyEnum.NO_AUTH);
+            //无需鉴权的url
+            int noAuthCount = Objects.nonNull(privilegeUrl) ? (int) privilegeUrl.stream().filter(s -> s.equalsIgnoreCase(path)).count() : 0;
+            if (noAuthCount > 0) {
+                return true;
+            }
+            Long userId = Long.parseLong(tbSession.getIdentity());
+            SysUser sysUser = cacheService.userCache(userId);
+            HttpServletRequest request = ServletUtil.getRequest();
+            HttpServletResponse response = ServletUtil.getResponse();
+            request.setAttribute(SystemConstant.SESSION, tbSession);
+            request.setAttribute(SystemConstant.USER, sysUser);
+            return authFootCommon(userId, SystemConstant.USER_OAUTH_CACHE, path, request, response);
+        }
+        return false;
+    }
+
+    /**
+     * 鉴权尾公用
+     *
+     * @param userId
+     * @param type
+     * @param path
+     * @param request
+     * @param response
+     * @return
+     */
+    public boolean authFootCommon(Long userId,
+                                  String type,
+                                  String path,
+                                  HttpServletRequest request,
+                                  HttpServletResponse response) {
+        //验证权限
+        AuthBean authBean = type.contains(SystemConstant.USER_OAUTH_CACHE) ? authBean = cacheService.userAuthCache(userId) : null;
+        if (Objects.isNull(authBean)) {
+            throw ExceptionResultEnum.ROLE_ENABLE_AUTHORIZATION.exception();
+        }
+        request.setAttribute(SystemConstant.SCHOOL, authBean.getSchool());
+        request.setAttribute(SystemConstant.ORG, authBean.getOrg());
+
+        //超级系统管理员拥有所有权限
+        int count = Objects.nonNull(authBean) ? (int) authBean.getRoleList().stream().filter(s -> s.getType() == RoleTypeEnum.ADMIN).count() : 0;
+        if (count > 0) {
+            return true;
+        }
+        //系统公用接口不拦截
+        List<String> sysUrls = cacheService.privilegeUrlCache(PrivilegePropertyEnum.SYS);
+        int sysCount = Objects.nonNull(sysUrls) ? (int) sysUrls.stream().filter(s -> s.equalsIgnoreCase(path)).count() : 0;
+        if (sysCount > 0) {
+            return true;
+        }
+        Set<String> urls = authBean.getUrls();
+        int privilegeCount = Objects.nonNull(urls) ? (int) urls.stream().filter(s -> s.equalsIgnoreCase(path)).count() : 0;
+        if (privilegeCount == 0) {
+            log.warn("Authorization faile: url cannot access");
+            throw ExceptionResultEnum.UN_AUTHORIZATION.exception();
+        }
+        response.setStatus(ExceptionResultEnum.SUCCESS.getCode());
+        return true;
+    }
+}

+ 55 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/auth/TeachcloudReportSession.java

@@ -0,0 +1,55 @@
+package com.qmth.teachcloud.report.auth;
+
+import com.qmth.boot.core.security.model.AccessEntity;
+import com.qmth.boot.tools.signature.SignatureType;
+import com.qmth.distributed.print.business.entity.TBSession;
+import com.qmth.distributed.print.business.util.RedisUtil;
+import com.qmth.teachcloud.common.contant.SpringContextHolder;
+
+import java.util.Collection;
+
+public class TeachcloudReportSession implements AccessEntity {
+
+    private String identity;
+
+    private SignatureType signatureType;
+
+    public TeachcloudReportSession(String identity, SignatureType signatureType) {
+        this.identity = identity;
+        this.signatureType = signatureType;
+    }
+
+    public void setIdentity(String identity) {
+        this.identity = identity;
+    }
+
+    @Override
+    public String getIdentity() {
+        return identity;
+    }
+
+    @Override
+    public String getSecret() {
+        RedisUtil redisUtil = SpringContextHolder.getBean(RedisUtil.class);
+        TBSession tbSession = (TBSession) redisUtil.getUserSession(identity);
+        return tbSession.getAccessToken();
+    }
+
+    @Override
+    public Collection<String> getAllowIP() {
+        return null;
+    }
+
+    @Override
+    public Collection<String> getDenyIP() {
+        return null;
+    }
+
+    public SignatureType getSignatureType() {
+        return signatureType;
+    }
+
+    public void setSignatureType(SignatureType signatureType) {
+        this.signatureType = signatureType;
+    }
+}

+ 71 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/config/SwaggerConfig.java

@@ -0,0 +1,71 @@
+package com.qmth.teachcloud.report.config;
+
+import com.google.common.base.Predicates;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: swagger配置类
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2019/9/21
+ */
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+
+    @Bean
+    public Docket createRestApi() {
+        ParameterBuilder tokenPar = new ParameterBuilder();
+        ParameterBuilder tokenPar1 = new ParameterBuilder();
+        ParameterBuilder tokenPar2 = new ParameterBuilder();
+        ParameterBuilder tokenPar3 = new ParameterBuilder();
+        List<Parameter> pars = new ArrayList<>();
+        tokenPar.name(SystemConstant.HEADER_PLATFORM).description("平台").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
+        tokenPar1.name(SystemConstant.HEADER_DEVICE_ID).description("设备id").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
+        tokenPar2.name(SystemConstant.HEADER_AUTHORIZATION).description("鉴权token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
+        tokenPar3.name(SystemConstant.HEADER_TIME).description("时间戳").modelRef(new ModelRef("long")).parameterType("header").required(false).build();
+        pars.add(tokenPar.build());
+        pars.add(tokenPar1.build());
+        pars.add(tokenPar2.build());
+        pars.add(tokenPar3.build());
+
+        return new Docket(DocumentationType.SWAGGER_2)
+                .groupName("teachcloud-report")
+                .select()
+                .apis(RequestHandlerSelectors.basePackage("com.qmth.teachcloud.report"))
+//                .apis(RequestHandlerSelectors.any())
+                .paths(PathSelectors.any())
+                // 不显示错误的接口地址
+                .paths(Predicates.not(PathSelectors.regex("/error.*")))// 错误路径不监控
+                .build()
+                .globalOperationParameters(pars)
+                .apiInfo(apiInfo());
+    }
+
+    private ApiInfo apiInfo() {
+        ApiInfo apiInfo = new ApiInfo(
+                "教研分析平台 - api",
+                "Some custom description of API.",
+                "API TOS",
+                "Terms of service",
+                "myeaddress@company.com",
+                "License of API",
+                "API license URL");
+        return apiInfo;
+    }
+}

+ 45 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/interceptor/AuthInterceptor.java

@@ -0,0 +1,45 @@
+package com.qmth.teachcloud.report.interceptor;
+
+import com.qmth.boot.api.interceptor.ExtendInterceptor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class AuthInterceptor extends ExtendInterceptor {
+    private final static Logger log = LoggerFactory.getLogger(AuthInterceptor.class);
+
+    @Value("${com.qmth.api.metrics-endpoint}")
+    String endpoint;
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        log.info("preHandle is come in");
+//        if (request.getServletPath().contains(endpoint)) {
+            return true;
+//        } else {
+//            return AuthUtil.adminAuthInterceptor(request, response);
+//        }
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {
+        log.info("postHandle is come in");
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception {
+        log.info("afterCompletion is come in");
+    }
+
+    @Override
+    public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        log.info("afterConcurrentHandlingStarted is come in");
+    }
+}

+ 33 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/start/StartRunning.java

@@ -0,0 +1,33 @@
+package com.qmth.teachcloud.report.start;
+
+import com.qmth.distributed.print.business.service.OrgCenterDataDisposeService;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @Description: 服务启动时初始化运行,哪个微服务模块需要则拿此模版去用
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/7/3
+ */
+@Component
+public class StartRunning implements CommandLineRunner {
+    private final static Logger log = LoggerFactory.getLogger(StartRunning.class);
+
+    @Resource
+    private OrgCenterDataDisposeService orgCenterDataDisposeService;
+
+    @Override
+    public void run(String... args) throws Exception {
+        log.info("服务器启动时执行 start");
+        SystemConstant.initTempFiles();
+        orgCenterDataDisposeService.updateSchoolInfo();
+        log.info("服务器启动时执行 end");
+    }
+}

+ 119 - 0
teachcloud-report/src/main/resources/application.properties

@@ -1 +1,120 @@
+server.port=7003
+#tomcat\u6700\u5927\u7EBF\u7A0B\u6570\uFF0C\u9ED8\u8BA4\u4E3A200
+server.tomcat.threads.max=2500
+#tomcat\u6700\u5927\u8FDE\u63A5\u6570
+server.tomcat.max-connections=2500
+#tomcat\u7684URI\u7F16\u7801
+server.tomcat.uri-encoding=UTF-8
 
+#\u9879\u76EE\u540D\u79F0
+spring.application.name=teachcloud-report
+
+#\u6570\u636E\u6E90\u914D\u7F6E
+db.host=localhost
+db.port=3306
+db.name=teachcloud-report
+db.username=root
+db.password=123456789
+
+#redis\u6570\u636E\u6E90\u914D\u7F6E
+com.qmth.redis.host=${db.host}
+com.qmth.redis.port=6379
+com.qmth.redis.db=1
+#com.qmth.redis.password
+
+#mysql\u914D\u7F6E
+com.qmth.mysql.url=jdbc:mysql://${db.host}:${db.port}/${db.name}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
+com.qmth.mysql.username=${db.username}
+com.qmth.mysql.password=${db.password}
+com.qmth.mysql.min-idle=40
+com.qmth.mysql.max-pool-size=200
+com.qmth.mysql.log-level=debug
+
+#\u65E5\u671F\u683C\u5F0F\u5316
+spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+spring.jackson.time-zone=GMT+8
+
+#\u963F\u91CC\u4E91OSS\u914D\u7F6E
+aliyun.oss.name=oss-cn-shenzhen.aliyuncs.com
+aliyun.oss.endpoint=http://${aliyun.oss.name}
+aliyun.oss.accessKeyId=LTAI4Fi8jVRYT49QBXU9x5QX
+aliyun.oss.accessKeySecret=97aBLBfkQR5mzCiQa82yWLAH57eUd8
+aliyun.oss.bucket=teachcloud-test
+aliyun.oss.url=http://${aliyun.oss.bucket}.${aliyun.oss.name}
+
+#\u7CFB\u7EDF\u914D\u7F6E
+sys.config.oss=true
+sys.config.attachmentType=.xlsx,.xls,.doc,.docx,.pdf,.jpg,.jpeg,.png,.html,.zip,.mp3,.wav,.dll,.exe,.ftl
+sys.config.attachmentLength=100
+sys.config.attachmentSize=200
+sys.config.serverUpload=
+sys.config.fileHost=localhost:7001
+sys.config.serverHost=localhost:7001
+#sys.config.accessKey=0bce69d94a7b4aef8bc0badf150351a9
+#sys.config.accessSecret=LdUwb5X4etmjW7fDn0KAdoXG0Yt7AkDu
+sys.config.accessKey=274f823e5f59410f8b3bb6edcd8e2b6e
+sys.config.accessSecret=y7AO6W0TOdTF8HpWBwGHbp3wfIHsmUKr
+sys.config.adminLogoUrl=http://qmth-test.oss-cn-shenzhen.aliyuncs.com/frontend/wx_logo.png
+#sys.config.htmlToPdfUrl=/usr/local/bin/wkhtmltopdf
+#sys.config.htmlToPdfUrl=/usr/local/bin/wkhtmltopdf
+#sys.config.autoCreatePdfResetMaxCount=5
+sys.config.threadPoolCoreSize=1
+sys.config.customThreadPoolCoreSize=true
+spring.resources.static-locations=file:${sys.config.serverUpload},classpath:/META-INF/resources/,classpath:/resources/
+
+org.center.url=https://solar.qmth.com.cn
+org.center.orgQueryApi=/api/open/org/query
+
+#com.qmth.api.uri-prefix=/aaa
+#\u7EDF\u8BA1\u9875\u9762\u914D\u7F6E
+com.qmth.api.metrics-endpoint=/metrics-count
+com.qmth.api.global-auth=true
+#com.qmth.api.global-strict=false
+#com.qmth.api.global-rate-limit=1/5s
+
+#token\u8D85\u65F6\u914D\u7F6E
+com.qmth.api.auth.time-max-ahead=-10000
+com.qmth.api.auth.time-max-delay=10000
+
+#\u7F13\u5B58\u65F6\u95F4
+com.qmth.cache.expire-after-write=8h
+
+#api\u524D\u7F00
+prefix.url.common=report/admin/common
+
+#\u65E5\u5FD7\u914D\u7F6E
+com.qmth.logging.root-level=info
+com.qmth.logging.file-path=/Users/king/Downloads/teachcloud-report.log
+
+#\u5F15\u5165task\u914D\u7F6E\u6587\u4EF6
+spring.profiles.include=task
+
+sms.config.smsNormalCode=qmth
+sms.config.codeExpiredTime=2
+sms.config.codeSendInterval=60
+#aliyun SMS key
+sms.config.aliyunSMSKey=LTAI4Fi8jVRYT49QBXU9x5QX
+#aliyun SMS secret
+sms.config.aliyunSMSSecret=97aBLBfkQR5mzCiQa82yWLAH57eUd8
+sms.config.aliyunSMSSignName=\u9038\u6559\u4E91
+sms.config.aliyunSMSTplCode=SMS_147416565
+sms.config.aliyunSMSAuditPassCode=SMS_216425141
+sms.config.aliyunSMSAuditNotPassCode=SMS_216275156
+#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSExamTaskCreatedCode=SMS_217436292
+#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uCD7D\uFFFD\uFFFD\u0524\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSExamTaskWillExpireCode=SMS_217436295
+#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSExamTaskOverdueCode=SMS_217426313
+#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uCD7D\uFFFD\uFFFD\u0524\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSAllocationWillExpireCode=SMS_217406305
+#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSAllocationOverdueCode=SMS_217406308
+#\uFFFD\uFFFD\u02F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSAuditCreatedCode=SMS_217436298
+#\uFFFD\uFFFD\u02F4\uFFFD\uFFFD\uFFFD\uFFFD\u07B8\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSAuditReviewCode=SMS_217416269
+#\uFFFD\uFFFD\u02F4\uFFFD\uFFFD\uCD7D\uFFFD\uFFFD\u0524\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSAuditWillExpireCode=SMS_217436302
+#\uFFFD\uFFFD\u02F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0368\u05AA
+sms.config.aliyunSMSAuditOverdueCode=SMS_217416271

+ 4 - 4
teachcloud-task/pom.xml

@@ -18,10 +18,10 @@
             <groupId>com.qmth.distributed.print.business</groupId>
             <artifactId>distributed-print-business</artifactId>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>com.qmth.teachcloud.report.business</groupId>-->
-<!--            <artifactId>teachcloud-report-business</artifactId>-->
-<!--        </dependency>-->
+        <dependency>
+            <groupId>com.qmth.teachcloud.report.business</groupId>
+            <artifactId>teachcloud-report-business</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-quartz</artifactId>