Просмотр исходного кода

系统启动时同步学校update

caozixuan 4 лет назад
Родитель
Сommit
c3bd4e6bb2

+ 68 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/PrintPlanResult.java

@@ -0,0 +1,68 @@
+package com.qmth.distributed.print.business.bean.result;
+
+import com.qmth.distributed.print.business.enums.BackupMethodEnum;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 印刷计划详情分页查询结果
+ * @Author: CaoZixuan
+ * @Date: 2021-04-02
+ */
+public class PrintPlanResult {
+    private Long id;
+    private String name;
+    private Long examStartTime;
+    private Long examEndTime;
+    private Object status;
+    private int totalGates;
+    private int totalSubjects;
+    private int totalPackages;
+    private Object printContent;
+    private BackupMethodEnum backupMethod;
+    private int backupCount;
+    private List<Map<String,Object>> variableContent;
+    private List<Map<String,Object>> ordinaryContent;
+    private Long createId;
+    private Long createTime;
+
+
+//    {
+//        "id": 1,
+//            "name": "2020期末考试",
+//            "examStartTime": "1616403935250",
+//            "examEndTime": "1616403935250",
+//            "status": "NEW",
+//            "totalGates": 352,
+//            "totalSubjects": 15234,
+//            "totalPackages": 67,
+//            "printContent": "PAPER",
+//            "backupMethod": "PLACE",
+//            "backupCount": 5,
+//            "variableContent": [
+//        {
+//            "type": "SIGN",
+//                "usedId": 1,
+//                "backupMethod": "ROOM",
+//                "backupCount": 3
+//        },
+//        {
+//            "type": "PACKAG",
+//                "usedId": 3,
+//                "backupMethod": "STUDENT",
+//                "backupCount": 5
+//        }
+//        ],
+//        "ordinaryContent": [
+//        {
+//            "type": "CHECK_IN",
+//                "usedId": 1,
+//                "backupMethod": "ROOM",
+//                "backupCount": 3
+//        }
+//        ],
+//        "createId": 1,
+//            "createTime": ""
+//    },
+}

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/EnumType.java

@@ -19,7 +19,8 @@ public enum EnumType {
     STORAGE_LEVEL("附件存储级别"),
     STORAGE_TYPE("附件存储方式"),
     TEMPLATE_TYPE("模板类型"),
-    CARD_REQUIRED_FIELDS("题卡规则必选字段");
+    CARD_REQUIRED_FIELDS("题卡规则必选字段"),
+    ORG_CENTER_TYPE_ENUM("机构用户中心类型");
 
     EnumType(String desc) {
         this.desc = desc;

+ 18 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/OrgCenterTypeEnum.java

@@ -1,5 +1,10 @@
 package com.qmth.distributed.print.business.enums;
 
+import com.qmth.distributed.print.business.enums.result.EnumResult;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @Description: 机构用户中心机构类别
  * @Author: CaoZixuan
@@ -31,4 +36,17 @@ public enum OrgCenterTypeEnum {
     public String getTypeName() {
         return typeName;
     }
+    public static List<EnumResult> listTypes() {
+        List<EnumResult> list = new ArrayList<EnumResult>();
+        for (OrgCenterTypeEnum value : OrgCenterTypeEnum.values()) {
+            EnumResult result = new EnumResult();
+            result.setName(value.name());
+            result.setOrdinal(value.ordinal());
+            result.setCode(value.getTypeCode());
+            result.setDesc(value.getTypeName());
+            list.add(result);
+        }
+        return list;
+    }
+
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 
@@ -12,5 +13,5 @@ import com.qmth.distributed.print.business.entity.ExamPrintPlan;
  * @since 2021-03-23
  */
 public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
-
+    IPage<Object> printPlanPage();
 }

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.mapper.ExamPrintPlanMapper;
@@ -17,4 +18,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, ExamPrintPlan> implements ExamPrintPlanService {
 
+    @Override
+    public IPage<Object> printPlanPage() {
+        return null;
+    }
 }

+ 21 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OrgCenterDataDisposeServiceImpl.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.qmth.distributed.print.business.entity.BasicSchool;
 import com.qmth.distributed.print.business.enums.OrgCenterTypeEnum;
 import com.qmth.distributed.print.business.service.BasicSchoolService;
@@ -14,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -34,10 +36,27 @@ public class OrgCenterDataDisposeServiceImpl implements OrgCenterDataDisposeServ
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void updateSchoolInfo() throws IOException {
+        List<Map> result = callApiOrgCenterService.callOrgInfo();
         // 删除原有学校
-        basicSchoolService.remove(new QueryWrapper<BasicSchool>().lambda().gt(BasicSchool::getId,0));
+        List<BasicSchool> basicSchoolList = basicSchoolService.list();
+        List<Long> oldIdList = basicSchoolList.stream().map(BasicSchool::getId).collect(Collectors.toList());
+        List<Long> newIdList = result.stream().map(e -> SystemConstant.convertIdToLong(String.valueOf(e.get("id")))).collect(Collectors.toList());
+        List<Long> needDisable = new ArrayList<>();
+        List<Long> needDelete = new ArrayList<>();
+        for (Long aLong : oldIdList) {
+            if (!newIdList.contains(aLong)){
+                needDisable.add(aLong);
+            }else {
+                needDelete.add(aLong);
+            }
+        }
+        if (needDisable.size() > 0){
+            basicSchoolService.update(new UpdateWrapper<BasicSchool>().lambda().set(BasicSchool::getEnable,false).in(BasicSchool::getId,needDisable));
+        }
+        if (needDelete.size() > 0){
+            basicSchoolService.remove(new QueryWrapper<BasicSchool>().lambda().in(BasicSchool::getId,needDelete));
+        }
 
-        List<Map> result = callApiOrgCenterService.callOrgInfo();
         for (Map map : result) {
             Long id = SystemConstant.convertIdToLong(String.valueOf(map.get("id")));
             String code = String.valueOf(map.get("code"));

+ 3 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/EnumsController.java

@@ -86,6 +86,9 @@ public class EnumsController {
         } else if (type.equals(EnumType.CARD_REQUIRED_FIELDS.name())) {
             //考务必选字段
             list = CardRequiredFieldsEnum.listTypes();
+        } else if (type.equals(EnumType.ORG_CENTER_TYPE_ENUM.name())){
+            // 机构用户中心类型
+            list = OrgCenterTypeEnum.listTypes();
         }
         return ResultUtil.ok(list);
     }