Sfoglia il codice sorgente

印刷模板列表

deason 6 anni fa
parent
commit
c7a9ff4027

+ 68 - 0
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/bean/printingtemplate/PrintingTemplateConvert.java

@@ -0,0 +1,68 @@
+/*
+ * *************************************************
+ * Copyright (c) 2018 QMTH. All Rights Reserved.
+ * Created by Deason on 2018-11-01 14:11:22.
+ * *************************************************
+ */
+
+package cn.com.qmth.examcloud.core.print.service.bean.printingtemplate;
+
+import cn.com.qmth.examcloud.core.print.entity.PrintingTemplate;
+import cn.com.qmth.examcloud.core.print.enums.TemplateType;
+import com.google.common.collect.Lists;
+import org.springframework.beans.BeanUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author: fengdesheng
+ * @since: 2018/11/01
+ */
+public class PrintingTemplateConvert {
+
+    public static PrintingTemplate of(PrintingTemplateInfo info) {
+        PrintingTemplate entity = new PrintingTemplate();
+        BeanUtils.copyProperties(info, entity);
+        return entity;
+    }
+
+    public static PrintingTemplateInfo of(PrintingTemplate entity) {
+        PrintingTemplateInfo info = new PrintingTemplateInfo();
+        BeanUtils.copyProperties(entity, info);
+        return info;
+    }
+
+    public static List<PrintingTemplateInfo> ofList(List<PrintingTemplate> entities) {
+        if (entities == null) {
+            return Lists.newArrayList();
+        }
+        return entities.stream().map(entity -> of(entity)).collect(Collectors.toList());
+    }
+
+    /**
+     * 补全所有的模板类型信息(用于界面布局)
+     */
+    public static List<PrintingTemplateInfo> fillMoreTypes(List<PrintingTemplate> entities) {
+        Map<Integer, PrintingTemplateInfo> maps = new HashMap<>();
+        if (entities != null) {
+            for (PrintingTemplate entity : entities) {
+                maps.put(entity.getTemplateType(), of(entity));
+            }
+        }
+
+        List<PrintingTemplateInfo> allTypes = new ArrayList<>();
+        for (TemplateType type : TemplateType.values()) {
+            if (maps.containsKey(type.getIndex())) {
+                allTypes.add(maps.get(type.getIndex()));
+            } else {
+                allTypes.add(new PrintingTemplateInfo(type.getIndex()));
+            }
+        }
+        return allTypes;
+    }
+
+}

+ 8 - 0
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/bean/printingtemplate/PrintingTemplateInfo.java

@@ -44,6 +44,14 @@ public class PrintingTemplateInfo implements JsonSerializable {
         return TemplateType.getNameByIndex(templateType);
     }
 
+    public PrintingTemplateInfo(Integer templateType) {
+        this.templateType = templateType;
+    }
+
+    public PrintingTemplateInfo() {
+
+    }
+
     public Long getId() {
         return id;
     }

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

@@ -7,17 +7,22 @@
 
 package cn.com.qmth.examcloud.core.print.service.impl;
 
+import cn.com.qmth.examcloud.core.print.common.jpa.SearchBuilder;
+import cn.com.qmth.examcloud.core.print.common.jpa.SpecUtils;
+import cn.com.qmth.examcloud.core.print.entity.PrintingTemplate;
 import cn.com.qmth.examcloud.core.print.repository.PrintingTemplateRepository;
 import cn.com.qmth.examcloud.core.print.service.PrintingTemplateService;
+import cn.com.qmth.examcloud.core.print.service.bean.printingtemplate.PrintingTemplateConvert;
 import cn.com.qmth.examcloud.core.print.service.bean.printingtemplate.PrintingTemplateInfo;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 /**
  * @author: fengdesheng
- * @since: 2018/10/17
+ * @since: 2018/10/30
  */
 @Service
 public class PrintingTemplateServiceImpl implements PrintingTemplateService {
@@ -26,7 +31,12 @@ public class PrintingTemplateServiceImpl implements PrintingTemplateService {
 
     @Override
     public List<PrintingTemplateInfo> getPrintingTemplateList(Long orgId, Long examId) {
-        return null;
+        SearchBuilder searches = new SearchBuilder()
+                .eq("orgId", orgId)
+                .eq("examId", examId);
+        Specification<PrintingTemplate> spec = SpecUtils.buildSearchers(PrintingTemplate.class, searches.build());
+        List<PrintingTemplate> list = printingTemplateRepository.findAll(spec);
+        return PrintingTemplateConvert.fillMoreTypes(list);
     }
 
     @Override

+ 7 - 5
examcloud-core-print-starter/src/main/resources/security-exclusions.conf

@@ -7,21 +7,23 @@
 [][${springfox.documentation.swagger.v2.path:/v2/api-docs}][GET]
 [${server.error.path:${error.path:/error}}][][POST]
 
-[${$rmp.ctrl.print}/printing/project][/init][GET]
-[${$rmp.cloud.print}/printing/project][/sync][POST]
 [${$rmp.ctrl.print}/printing/project][/list][POST]
 [${$rmp.ctrl.print}/printing/project][/{id}][POST]
 [${$rmp.ctrl.print}/printing/project][/update][POST]
+[${$rmp.ctrl.print}/printing/project][/init][GET]
+[${$rmp.cloud.print}/printing/project][/sync][POST]
+[${$rmp.ctrl.print}/project/other/setting][/delete/{id}][POST]
 [${$rmp.ctrl.print}/printing/project/statistic][/{orgId}/{examId}][POST]
 [${$rmp.ctrl.print}/printing/project/statistic][/init][POST]
-
 [${$rmp.ctrl.print}/project/backup/setting][/{projectId}][POST]
 [${$rmp.ctrl.print}/project/backup/setting][/save][POST]
 [${$rmp.ctrl.print}/project/other/setting][/{id}][POST]
 [${$rmp.ctrl.print}/project/other/setting][/save][POST]
 [${$rmp.ctrl.print}/project/other/setting][/list][POST]
-[${$rmp.ctrl.print}/project/other/setting][/delete/{id}][POST]
-
+[${$rmp.ctrl.print}/course/statistic][/list][POST]
+[${$rmp.ctrl.print}/course/statistic][/init][POST]
+[${$rmp.ctrl.print}/project/template][/{orgId}/{examId}][POST]
+[${$rmp.ctrl.print}/project/template][/{id}][POST]
 [${$rmp.ctrl.print}/examStructure][/list][POST]
 [${$rmp.ctrl.print}/examStructure][/save][POST]
 [${$rmp.ctrl.print}/examStructure][/delete/{ids}][POST]