Browse Source

排课系统基础数据同步调整

dzx 10 months ago
parent
commit
ed1f26d803
1 changed files with 30 additions and 7 deletions
  1. 30 7
      src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

+ 30 - 7
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -83,12 +83,35 @@ public class DataUtil {
         String sql = "SELECT * FROM " + tableName + " WHERE delete_mark = 0 and is_graduate = 1";
         List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql);
 
+        long timestamp = System.currentTimeMillis();
+        //生成签名
+        String sign = ScheduleUtil.createSign(timestamp);
+        JsonArray semesterSerialNos = new JsonArray();
+        semesterSerialNos.add(semesterSerialNo);
+        JsonObject paramJson = new JsonObject();
+        paramJson.add("semesterSerialNos", semesterSerialNos);
+        paramJson.addProperty("pageSize", 200);
+        paramJson.addProperty("pageIndex", 1);
+        String url= ScheduleUtil.apiUrl + "Class/page";
+        String doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
+
+
+        JsonParser parser = new JsonParser();
+        JsonObject jsonObject = parser.parse(doPost).getAsJsonObject();
+        JsonArray jsonArray = jsonObject.get("data").getAsJsonObject().get("dataList").getAsJsonArray();
+        List<String> jianyueIds  = new ArrayList<>();//当前学期已存在的班级
+        for (JsonElement jsonElement : jsonArray) {
+            JsonObject object = jsonElement.getAsJsonObject();
+            jianyueIds.add(object.get("serialNo").getAsString());
+        }
+
+
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
         for (Map<String, Object> baseClassMap : dataList) {
             BaseClass baseClass = SqlRunnerAdapterUtil.convertMapToEntity(baseClassMap, BaseClass.class);
-            String url  = ScheduleUtil.apiUrl + "class/create";
-            JsonObject paramJson = new JsonObject();
+            url  = ScheduleUtil.apiUrl + "class/create";
+            paramJson = new JsonObject();
             if(baseClass.getTeacherId() != null && teacherMap.get(baseClass.getTeacherId().toString()) != null){
                 paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
             }
@@ -100,20 +123,20 @@ public class DataUtil {
             if(baseClass.getClassroomId() != null && classroomMap.get(baseClass.getClassroomId().toString()) != null){
                 paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().toString()));
             }
-            if(ids != null && ids.get(baseClass.getId().toString()) != null){
+            if(ids != null && ids.get(baseClass.getId().toString()) != null && jianyueIds.contains(ids.get(baseClass.getId().toString()))){
                 url  = ScheduleUtil.apiUrl + "class/update";
                 paramJson.addProperty("serialNo", ids.get(baseClass.getId().toString()));
-                long timestamp = System.currentTimeMillis();
+                timestamp = System.currentTimeMillis();
                 //生成签名
-                String sign = ScheduleUtil.createSign(timestamp);
+                sign = ScheduleUtil.createSign(timestamp);
                 ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
                 continue;
             }
 
             //获取时间戳
-            long timestamp = System.currentTimeMillis();
+            timestamp = System.currentTimeMillis();
             //生成签名
-            String sign = ScheduleUtil.createSign(timestamp);
+            sign = ScheduleUtil.createSign(timestamp);
             String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
             if(result == null){
                 continue;