浏览代码

报到调整

dzx 11 月之前
父节点
当前提交
63ea84f15e

+ 2 - 0
src/main/java/com/xjrsoft/module/job/JianyuekbBaseDataTask.java

@@ -102,6 +102,8 @@ public class JianyuekbBaseDataTask {
             tableName = "base_class";
             dataUtil.insertClass(tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
 
+            dataUtil.syncClass(tableName, currenSemeter);
+
             log.info("数据推送完成");
         } catch (Exception e) {
             log.error(e.getMessage(), e);

+ 42 - 0
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -802,6 +802,48 @@ public class DataUtil {
 
     }
 
+    public void syncClass(String tableName, String currenSemeter) throws Exception {
+        String sql = "select * from base_class where delete_mark = 0 and is_graduate = 1";
+        List<Map<String, Object>> classList = SqlRunnerAdapter.db().selectList(sql);
+        Map<String, String> classNameIdMap = new HashMap<>();
+        for (Map<String, Object> objectMap : classList) {
+            classNameIdMap.put(objectMap.get("name").toString(), objectMap.get("id").toString());
+        }
+
+        long timestamp = System.currentTimeMillis();
+        String sign = ScheduleUtil.createSign(timestamp);
+        String url  = ScheduleUtil.apiUrl + "Class/page";
+
+        JsonObject pageJson = new JsonObject();
+        JsonArray semesterSerialNos = new JsonArray();
+        semesterSerialNos.add(currenSemeter);
+        JsonObject paramJson = new JsonObject();
+        paramJson.add("semesterSerialNos", semesterSerialNos);
+        pageJson.addProperty("pageSize", 2000);
+        pageJson.addProperty("pageIndex", 1);
+        JsonParser parser = new JsonParser();
+        String doPost = ScheduleUtil.doPost(url, pageJson.toString(), sign, timestamp);
+        JsonArray dataList = parser.parse(doPost).getAsJsonObject().get("data").getAsJsonObject().get("dataList").getAsJsonArray();
+
+        for (JsonElement jsonElement : dataList) {
+            JsonObject object = jsonElement.getAsJsonObject();
+            if(!object.get("semesterSerialNo").getAsString().equals(currenSemeter)){
+                continue;
+            }
+            String name = object.get("name").getAsString();
+            if(!classNameIdMap.containsKey(name)){
+                continue;
+            }
+
+            String insertSql = "INSERT INTO jianyue_data(create_date,table_name,source_id,jianyue_id)" +
+                    " select now(), '" + tableName + "', '" + classNameIdMap.containsKey(name) + "', '" + object.get("serialNo").getAsString() + "'" +
+                    " where NOT EXISTS (" +
+                    " SELECT 1 FROM jianyue_data WHERE jianyue_id = '" + object.get("serialNo").getAsString() + "'" +
+                    " );";
+            SqlRunnerAdapter.db().insert(insertSql);
+        }
+    }
+
 
     /**
      * 插入记录表