deason před 6 roky
rodič
revize
36066ad71f

+ 18 - 9
examcloud-core-print-provider/src/main/java/cn/com/qmth/examcloud/core/print/api/provider/PrintingSyncCloudServiceProvider.java

@@ -14,8 +14,6 @@ import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.print.enums.ExamType;
 import cn.com.qmth.examcloud.core.print.service.PrintingProjectService;
 import cn.com.qmth.examcloud.core.print.service.bean.OrgExamInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -29,20 +27,23 @@ import org.springframework.web.bind.annotation.RestController;
  * @since: 2018/10/31
  */
 @RestController
-@Api(tags = "数据同步相关接口")
 @RequestMapping("${$rmp.cloud.print}/data")
 public class PrintingSyncCloudServiceProvider extends ControllerSupport implements HandleSyncCloudService {
     @Autowired
     private PrintingProjectService printingProjectService;
 
-    @ApiOperation(value = "同步学校机构")
+    /**
+     * 同步学校机构
+     */
     @PostMapping("/syncOrg")
     public SyncOrgResp syncOrg(@RequestBody SyncOrgReq req) {
         printingProjectService.syncPrintingProjectOrgName(req.getRootId(), req.getName());
         return new SyncOrgResp();
     }
 
-    @ApiOperation(value = "同步考试")
+    /**
+     * 同步考试
+     */
     @PostMapping("syncExam")
     public SyncExamResp syncExam(@RequestBody SyncExamReq req) {
         printingProjectService.syncPrintingProjectOrgName(req.getId(), req.getName());
@@ -53,25 +54,33 @@ public class PrintingSyncCloudServiceProvider extends ControllerSupport implemen
         return new SyncExamResp();
     }
 
-    @ApiOperation(value = "同步考生")
+    /**
+     * 同步考生
+     */
     @PostMapping("/syncExamStudent")
     public SyncExamStudentResp syncExamStudent(@RequestBody SyncExamStudentReq req) {
         return null;
     }
 
-    @ApiOperation(value = "同步学生")
+    /**
+     * 同步学生
+     */
     @PostMapping("/syncStudent")
     public SyncStudentResp syncStudent(@RequestBody SyncStudentReq req) {
         return null;
     }
 
-    @ApiOperation(value = "同步课程")
+    /**
+     * 同步专业
+     */
     @PostMapping("/syncCourse")
     public SyncCourseResp syncCourse(@RequestBody SyncCourseReq req) {
         return null;
     }
 
-    @ApiOperation(value = "同步专业")
+    /**
+     * 同步专业
+     */
     @PostMapping("syncSpecialty")
     public SyncSpecialtyResp syncSpecialty(@RequestBody SyncSpecialtyReq req) {
         return null;

+ 6 - 0
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/PrintingProjectService.java

@@ -7,6 +7,7 @@
 
 package cn.com.qmth.examcloud.core.print.service;
 
+import cn.com.qmth.examcloud.core.print.entity.PrintingProject;
 import cn.com.qmth.examcloud.core.print.service.bean.OrgExamInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.PrintingProjectInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.PrintingProjectQuery;
@@ -30,6 +31,11 @@ public interface PrintingProjectService {
      */
     PrintingProjectInfo getPrintingProjectById(Long id);
 
+    /**
+     * 获取某印刷项目的信息(By orgId & examId)
+     */
+    PrintingProject getPrintingProjectByOrgExam(Long orgId, Long examId);
+
     /**
      * 更新印刷项目信息
      */

+ 8 - 0
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/PrintingProjectServiceImpl.java

@@ -88,6 +88,14 @@ public class PrintingProjectServiceImpl implements PrintingProjectService {
         return PrintingProjectConvert.of(project);
     }
 
+    @Override
+    public PrintingProject getPrintingProjectByOrgExam(Long orgId, Long examId) {
+        SearchBuilder searches = new SearchBuilder()
+                .eq("orgId", orgId).eq("examId", examId);
+        Specification<PrintingProject> spec = SpecUtils.buildSearchers(PrintingProject.class, searches.build());
+        return printingProjectRepository.findOne(spec);
+    }
+
     @Override
     public void updatePrintingProject(PrintingProjectInfo info) {
         Check.isNull(info.getId(), "印刷项目ID不能为空!");

+ 10 - 2
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/PrintingProjectStatisticServiceImpl.java

@@ -7,10 +7,12 @@
 
 package cn.com.qmth.examcloud.core.print.service.impl;
 
+import cn.com.qmth.examcloud.core.print.entity.PrintingProject;
 import cn.com.qmth.examcloud.core.print.service.CourseStatisticService;
 import cn.com.qmth.examcloud.core.print.service.PrintingProjectService;
 import cn.com.qmth.examcloud.core.print.service.PrintingProjectStatisticService;
 import cn.com.qmth.examcloud.core.print.service.bean.ProjectStatisticInfo;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -27,12 +29,18 @@ public class PrintingProjectStatisticServiceImpl implements PrintingProjectStati
 
     @Override
     public ProjectStatisticInfo getPrintingProjectStatistic(Long orgId, Long examId) {
-        return null;
+        ProjectStatisticInfo info = new ProjectStatisticInfo();
+        PrintingProject project = printingProjectService.getPrintingProjectByOrgExam(orgId, examId);
+        if (project != null) {
+            BeanUtils.copyProperties(project, info);
+            //todo total
+        }
+        return info;
     }
 
     @Override
     public void initPrintingProjectStatistics() {
-
+        //todo init
     }
 
 }