|
|
@@ -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;
|
|
|
@@ -633,7 +656,6 @@ public class DataUtil {
|
|
|
Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
|
|
|
String tableName = "course_table";
|
|
|
List<Entity> entityList = new ArrayList();
|
|
|
- List<String> updateSqlList = new ArrayList();
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
|
|
List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList("select * from course_table");
|
|
|
Set<String> serialNos = new HashSet<>();
|
|
|
@@ -711,11 +733,6 @@ public class DataUtil {
|
|
|
if(!entityList.isEmpty()){
|
|
|
SqlRunnerAdapter.db().dynamicInsertBatch(tableName, entityList);
|
|
|
}
|
|
|
- if(!updateSqlList.isEmpty()){
|
|
|
- for (String updateSql : updateSqlList) {
|
|
|
- SqlRunnerAdapter.db().update(updateSql);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
return teacherIdList;
|
|
|
}
|
|
|
@@ -779,6 +796,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.get(name) + "', '" + object.get("serialNo").getAsString() + "'" +
|
|
|
+ " where NOT EXISTS (" +
|
|
|
+ " SELECT 1 FROM jianyue_data WHERE jianyue_id = '" + object.get("serialNo").getAsString() + "'" +
|
|
|
+ " );";
|
|
|
+ SqlRunnerAdapter.db().insert(insertSql);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 插入记录表
|