|
|
@@ -615,4 +615,53 @@ class HikvisionBaseDataTaskTest {
|
|
|
System.out.println(result);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 同步海康学生信息到hikvision_data表中
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ void syncStudentId(){
|
|
|
+ String sql = "SELECT t1.* FROM hikvision_data t1" +
|
|
|
+ " INNER JOIN base_class t2 ON t1.source_id LIKE CONCAT(t2.id, '%')" +
|
|
|
+ " WHERE t1.table_name = 'base_class'" +
|
|
|
+ " AND t2.grade_id = 1868532405673439232";
|
|
|
+ List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql);
|
|
|
+ List<String> orgIndexCodes = new ArrayList<>();
|
|
|
+ for (int i = 0; i < list.size(); i ++){
|
|
|
+ Map<String, Object> dataMap = list.get(i);
|
|
|
+ orgIndexCodes.add(dataMap.get("hikvision_id").toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ JsonParser jsonParser = new JsonParser();
|
|
|
+ ApiUtil apiUtil = new ApiUtil();
|
|
|
+ String apiPath = "/api/resource/v2/person/advance/personList";
|
|
|
+
|
|
|
+ Set<String> personIds = new HashSet<>();
|
|
|
+ for (String orgIndexCode : orgIndexCodes) {
|
|
|
+ JsonObject jsonObject = new JsonObject();
|
|
|
+ jsonObject.addProperty("pageNo", 1);
|
|
|
+ jsonObject.addProperty("pageSize", 500);
|
|
|
+ jsonObject.addProperty("orgIndexCodes", orgIndexCode);
|
|
|
+
|
|
|
+ String result = apiUtil.doPost(apiPath, jsonObject.toString(), null, null);
|
|
|
+
|
|
|
+ JsonObject resultJson = jsonParser.parse(result).getAsJsonObject();
|
|
|
+ JsonArray array = resultJson.get("data").getAsJsonObject().get("list").getAsJsonArray();
|
|
|
+ for (JsonElement jsonElement : array) {
|
|
|
+ JsonObject element = jsonElement.getAsJsonObject();
|
|
|
+ String personId = element.get("personId").getAsString();
|
|
|
+ personIds.add(personId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (String personId : personIds) {
|
|
|
+ String insertsql = "INSERT INTO hikvision_data(create_date,TABLE_NAME,source_id,hikvision_id) " +
|
|
|
+ " SELECT NOW(),'base_student','" + personId + "','" + personId + "'" +
|
|
|
+ " where not EXISTS (" +
|
|
|
+ " SELECT 1 FROM hikvision_data " +
|
|
|
+ " WHERE source_id = '" + personId + "'" +
|
|
|
+ " );";
|
|
|
+ SqlRunnerAdapter.db().insert(insertsql);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|