|
|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 插入记录表
|