|
@@ -1,7 +1,9 @@
|
|
|
package com.xjrsoft.module.job;
|
|
|
|
|
|
import cn.hutool.db.Db;
|
|
|
+import cn.hutool.db.Entity;
|
|
|
import com.google.gson.JsonArray;
|
|
|
+import com.google.gson.JsonElement;
|
|
|
import com.google.gson.JsonObject;
|
|
|
import com.google.gson.JsonParser;
|
|
|
import com.xjrsoft.XjrSoftApplication;
|
|
@@ -20,6 +22,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
|
|
import org.springframework.test.context.junit4.SpringRunner;
|
|
|
|
|
|
import javax.sql.DataSource;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
@@ -95,7 +98,7 @@ class JianyuekbBaseDataTaskTest {
|
|
|
//推送年级
|
|
|
JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
|
|
|
tableName = "base_grade";
|
|
|
- Map<String, String> grade = dataMap.get(tableName);
|
|
|
+ Map<String, String> gradeMap = dataMap.get(tableName);
|
|
|
//推送教职工
|
|
|
tableName = "base_teacher";
|
|
|
Map<String, String> teacherMap = dataMap.get(tableName);
|
|
@@ -105,8 +108,50 @@ class JianyuekbBaseDataTaskTest {
|
|
|
//推送行政班,先查询当前学期id
|
|
|
String currenSemeter = dataUtil.getCurrenSemeter();
|
|
|
tableName = "base_class";
|
|
|
- dataUtil.insertClass(tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
|
|
|
+ sql = "SELECT * FROM base_class WHERE delete_mark = 0" +
|
|
|
+ " and id not in (SELECT source_id FROM jianyue_data WHERE table_name = 'base_class' AND source_id IS NOT NULL)";
|
|
|
+
|
|
|
+ List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql, BaseClass.class);
|
|
|
+ String semesterSerialNo = dataUtil.getCurrenSemeter();
|
|
|
+ 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();
|
|
|
+ if(baseClass.getTeacherId() != null && teacherMap.get(baseClass.getTeacherId().toString()) != null){
|
|
|
+ paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
|
|
|
+ }
|
|
|
+ paramJson.addProperty("name", baseClass.getName());
|
|
|
+
|
|
|
+ paramJson.addProperty("semesterSerialNo", semesterSerialNo);
|
|
|
+ paramJson.addProperty("eduYearSerialNo", gradeMap.get(baseClass.getOrgId() + "_" + baseClass.getGradeId().toString()));
|
|
|
+ paramJson.addProperty("extendId", baseClass.getId());
|
|
|
+ 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){
|
|
|
+// url = ScheduleUtil.apiUrl + "class/update";
|
|
|
+// paramJson.addProperty("serialNo", ids.get(baseClass.getId().toString()));
|
|
|
+// long timestamp = System.currentTimeMillis();
|
|
|
+// //生成签名
|
|
|
+// String sign = ScheduleUtil.createSign(timestamp);
|
|
|
+// ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
|
|
|
+// continue;
|
|
|
+// }
|
|
|
|
|
|
+ //获取时间戳
|
|
|
+ long timestamp = System.currentTimeMillis();
|
|
|
+ //生成签名
|
|
|
+ String sign = ScheduleUtil.createSign(timestamp);
|
|
|
+ String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
|
|
|
+ if(result == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ JsonObject resultJson = jsonParser.parse(result).getAsJsonObject();
|
|
|
+ idMap.put(baseClass.getId().toString(), resultJson.get("data").getAsString());
|
|
|
+ }
|
|
|
+ dataUtil.insertRecord("base_class", idMap);
|
|
|
} catch (Exception e) {
|
|
|
}
|
|
|
}
|
|
@@ -124,41 +169,43 @@ class JianyuekbBaseDataTaskTest {
|
|
|
|
|
|
@Test
|
|
|
void deleteData() throws Exception {
|
|
|
- DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
|
|
|
- Db use = Db.use(datasource);
|
|
|
-
|
|
|
+ long timestamp = System.currentTimeMillis();
|
|
|
+ String sign = ScheduleUtil.createSign(timestamp);
|
|
|
String url = ScheduleUtil.apiUrl + "Class/page";
|
|
|
|
|
|
JsonObject pageJson = new JsonObject();
|
|
|
pageJson.addProperty("pageSize", 120);
|
|
|
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();
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ Map<String, String> classIdNameMap = new HashMap<>();
|
|
|
+ for (JsonElement jsonElement : dataList) {
|
|
|
+ JsonObject object = jsonElement.getAsJsonObject();
|
|
|
+ classIdNameMap.put(object.get("serialNo").getAsString(), object.get("name").getAsString());
|
|
|
+ }
|
|
|
|
|
|
+ String sql = "SELECT * FROM base_class WHERE delete_mark = 0";
|
|
|
+ List<Map<String, Object>> classList = SqlRunnerAdapter.db().selectList(sql);
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
+ for (Map<String, Object> objectMap : classList) {
|
|
|
+ map.put(objectMap.get("name").toString(), objectMap.get("id").toString());
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- JsonArray paramJson = new JsonArray();
|
|
|
- paramJson.add("CLA000001255");paramJson.add("CLA000001253");paramJson.add("CLA000001238");
|
|
|
- paramJson.add("CLA000001233");paramJson.add("CLA000001234");paramJson.add("CLA000001254");
|
|
|
- paramJson.add("CLA000001239");paramJson.add("CLA000001235");paramJson.add("CLA000001240");
|
|
|
- paramJson.add("CLA000001231");paramJson.add("CLA000001219");paramJson.add("CLA000001256");
|
|
|
- paramJson.add("CLA000001258");paramJson.add("CLA000001245");paramJson.add("CLA000001242");
|
|
|
- paramJson.add("CLA000001236");paramJson.add("CLA000001222");paramJson.add("CLA000001224");
|
|
|
- paramJson.add("CLA000001250");paramJson.add("CLA000001257");paramJson.add("CLA000001259");
|
|
|
- paramJson.add("CLA000001246");paramJson.add("CLA000001247");paramJson.add("CLA000001249");
|
|
|
- paramJson.add("CLA000001237");paramJson.add("CLA000001223");paramJson.add("CLA000001225");
|
|
|
- paramJson.add("CLA000001226");paramJson.add("CLA000001227");paramJson.add("CLA000001248");
|
|
|
- paramJson.add("CLA000001228");paramJson.add("CLA000001229");paramJson.add("CLA000001230");
|
|
|
- paramJson.add("CLA000001232");paramJson.add("CLA000001220");paramJson.add("CLA000001251");
|
|
|
- paramJson.add("CLA000001252");paramJson.add("CLA000001241");paramJson.add("CLA000001243");
|
|
|
- paramJson.add("CLA000001244");paramJson.add("CLA000001221");
|
|
|
-
|
|
|
- System.out.println(paramJson.toString());
|
|
|
- long timestamp = System.currentTimeMillis();
|
|
|
- url = ScheduleUtil.apiUrl + "class/Del";
|
|
|
- String sign = ScheduleUtil.createSign(timestamp);
|
|
|
-
|
|
|
- String doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
|
|
|
- System.out.println(doPost);
|
|
|
+ String tableName = "jianyue_data";
|
|
|
+ List<Entity> insertList = new ArrayList<>();
|
|
|
+ for (String jianyueId : classIdNameMap.keySet()) {
|
|
|
+ String className = classIdNameMap.get(jianyueId);
|
|
|
+ String classId = map.get(className);
|
|
|
+ Entity entity = Entity.create(tableName);
|
|
|
+ entity.set("create_date", "2024-08-17 16:59:18");
|
|
|
+ entity.set("table_name", "base_class");
|
|
|
+ entity.set("source_id", classId);
|
|
|
+ entity.set("jianyue_id", jianyueId);
|
|
|
+ insertList.add(entity);
|
|
|
+ }
|
|
|
+ SqlRunnerAdapter.db().dynamicInsertBatch(tableName, insertList);
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -445,5 +492,89 @@ class JianyuekbBaseDataTaskTest {
|
|
|
dataUtil.insertRecord("base_class", idMap);
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ void updateClass3() throws Exception {
|
|
|
+
|
|
|
+ long timestamp = System.currentTimeMillis();
|
|
|
+ //生成签名
|
|
|
+ String sign = ScheduleUtil.createSign(timestamp);
|
|
|
+
|
|
|
+
|
|
|
+ DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
|
|
|
+ Db use = Db.use(datasource);
|
|
|
+ String sql = "SELECT * FROM base_class WHERE delete_mark = 0 and is_graduate = 1" +
|
|
|
+ " and id in (SELECT source_id FROM jianyue_data WHERE table_name = 'base_class' AND jianyue_id = '')";
|
|
|
+ List<JianyueData> gradeList = use.query(sql, JianyueData.class);
|
|
|
+ Map<String, String> gradeMap = new HashMap<>();
|
|
|
+ for (JianyueData jianyueData : gradeList) {
|
|
|
+ gradeMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
|
|
|
+ }
|
|
|
+
|
|
|
+ sql = "SELECT * FROM base_class WHERE delete_mark = 0 AND org_id = 1684107782861680016";
|
|
|
+ List<BaseClass> dataList = use.query(sql, BaseClass.class);
|
|
|
+ Map<String, BaseClass> classMap = new HashMap<>();
|
|
|
+ for (BaseClass baseClass : dataList) {
|
|
|
+ classMap.put(baseClass.getId().toString(), baseClass);
|
|
|
+ }
|
|
|
+
|
|
|
+ sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_class'";
|
|
|
+ List<JianyueData> classList = use.query(sql, JianyueData.class);
|
|
|
+ Map<String, BaseClass> classMap2 = new HashMap<>();
|
|
|
+ Map<String, String> classMap3 = new HashMap<>();
|
|
|
+ for (JianyueData jianyueData : classList) {
|
|
|
+ classMap2.put(jianyueData.getJianyueId(), classMap.get(jianyueData.getSourceId()));
|
|
|
+ classMap3.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
|
|
|
+ }
|
|
|
|
|
|
+ sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_classroom'";
|
|
|
+ List<JianyueData> classroomList = use.query(sql, JianyueData.class);
|
|
|
+ Map<String, String> classroomMap = new HashMap<>();
|
|
|
+ for (JianyueData jianyueData : classroomList) {
|
|
|
+ classroomMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
|
|
|
+ }
|
|
|
+
|
|
|
+ sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_teacher'";
|
|
|
+ List<JianyueData> teacherList = use.query(sql, JianyueData.class);
|
|
|
+ Map<String, String> teacherMap = new HashMap<>();
|
|
|
+ for (JianyueData jianyueData : teacherList) {
|
|
|
+ teacherMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
|
|
|
+ }
|
|
|
+
|
|
|
+ String url = ScheduleUtil.apiUrl + "class/create";
|
|
|
+ DataUtil dataUtil = new DataUtil();
|
|
|
+ String currenSemeter = dataUtil.getCurrenSemeter();
|
|
|
+ Map<String, String> idMap = new HashMap<>();
|
|
|
+ JsonParser jsonParser = new JsonParser();
|
|
|
+ for (BaseClass baseClass : classMap.values()) {
|
|
|
+ if(baseClass == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ JsonObject paramJson = new JsonObject();
|
|
|
+ paramJson.addProperty("name", baseClass.getName());
|
|
|
+
|
|
|
+ paramJson.addProperty("semesterSerialNo", currenSemeter);
|
|
|
+ paramJson.addProperty("eduYearSerialNo", gradeMap.get(baseClass.getOrgId() + "_" + baseClass.getGradeId().toString()));
|
|
|
+ paramJson.addProperty("extendId", baseClass.getId());
|
|
|
+ if(baseClass.getClassroomId() != null && classroomMap.get(baseClass.getClassroomId().toString()) != null){
|
|
|
+ paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().toString()));
|
|
|
+ }
|
|
|
+ if(baseClass.getTeacherId() != null && teacherMap.get(baseClass.getTeacherId().toString()) != null){
|
|
|
+ paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
|
|
|
+ }
|
|
|
+ paramJson.addProperty("serialNo", classMap3.get(baseClass.getId().toString()));
|
|
|
+
|
|
|
+ timestamp = System.currentTimeMillis();
|
|
|
+ //生成签名
|
|
|
+ sign = ScheduleUtil.createSign(timestamp);
|
|
|
+ String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
|
|
|
+
|
|
|
+ System.out.println(baseClass.getName() + " -> " + result);
|
|
|
+ if(result == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ JsonObject resultJson = jsonParser.parse(result).getAsJsonObject();
|
|
|
+ idMap.put(baseClass.getId().toString(), resultJson.get("data").getAsString());
|
|
|
+ }
|
|
|
+ dataUtil.insertRecord("base_class", idMap);
|
|
|
+ }
|
|
|
}
|