Browse Source

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 9 months ago
parent
commit
02adaac5c0

+ 100 - 0
src/main/java/com/xjrsoft/common/utils/SqlRunnerAdapterUtil.java

@@ -0,0 +1,100 @@
+package com.xjrsoft.common.utils;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author dzx
+ * @date 2024/6/14
+ */
+public class SqlRunnerAdapterUtil {
+    /**
+     * 将下划线转换为驼峰
+     * @param input
+     * @return
+     */
+    public static String underscoreToCamel(String input) {
+        if (input == null) {
+            return input;
+        }
+
+        StringBuilder builder = new StringBuilder();
+        boolean nextUpperCase = false;
+
+        for (char c : input.toCharArray()) {
+            if (c == '_') {
+                nextUpperCase = true;
+            } else {
+                if (nextUpperCase) {
+                    builder.append(Character.toUpperCase(c));
+                    nextUpperCase = false;
+                } else {
+                    builder.append(Character.toLowerCase(c));
+                }
+            }
+        }
+
+        return builder.toString();
+    }
+
+    /**
+     * 将驼峰转下划线
+     * @param camelCaseStr
+     * @return
+     */
+    public static String toUnderScoreCase(String camelCaseStr) {
+        StringBuilder builder = new StringBuilder();
+        for (int i = 0; i < camelCaseStr.length(); i++) {
+            char c = camelCaseStr.charAt(i);
+            if (Character.isUpperCase(c)) {
+                if (i > 0) {
+                    builder.append('_');
+                }
+                builder.append(Character.toLowerCase(c));
+            } else {
+                builder.append(c);
+            }
+        }
+        return builder.toString();
+    }
+
+
+    public static <T> T convertMapToEntity(Map<String, Object> map, Class<T> entityClass) {
+        T entity;
+        try {
+            entity = entityClass.newInstance();
+            Field[] fields = entityClass.getDeclaredFields();
+            for (Field field : fields) {
+                String fieldName = field.getName();
+                String mapKey = toUnderScoreCase(fieldName);
+                if (map.containsKey(mapKey)) {
+                    field.setAccessible(true);
+                    field.set(entity, map.get(mapKey));
+                }
+            }
+        } catch (Exception e) {
+            throw new RuntimeException("Error converting map to entity", e);
+        }
+        return entity;
+    }
+
+    public static String[] convertMapToStringArray(Map<String, Object> map) {
+        List<String> dataList = new ArrayList<>();
+        for (Object value : map.values()) {
+            dataList.add(value == null ? "" : value.toString());
+        }
+
+        return dataList.toArray(new String[dataList.size()]);
+    }
+
+    public static Integer[] convertMapToIntegerArray(Map<String, Object> map) {
+        List<Integer> dataList = new ArrayList<>();
+        for (Object value : map.values()) {
+            dataList.add(value == null ? null : Integer.parseInt(value.toString()));
+        }
+
+        return dataList.toArray(new Integer[dataList.size()]);
+    }
+}

+ 53 - 48
src/main/java/com/xjrsoft/module/hikvision/util/DataUtil.java

@@ -1,11 +1,11 @@
 package com.xjrsoft.module.hikvision.util;
 
-import cn.hutool.db.Db;
-import com.alibaba.druid.sql.visitor.functions.Trim;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
+import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.organization.entity.Department;
@@ -14,12 +14,12 @@ import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import lombok.extern.slf4j.Slf4j;
 import lombok.var;
-import org.apache.velocity.runtime.directive.Foreach;
-import org.springframework.beans.factory.annotation.Autowired;
 
-import java.sql.SQLException;
-import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * @author dzx
@@ -31,16 +31,17 @@ public class DataUtil {
      * 同步组织数据
      * 只有批量添加接口,需要一个层级一个层级的添加
      */
-    public Map<String, String> insertDepartment(Db db, String tableName, Map<String, String> tableData) throws Exception {
+    public Map<String, String> insertDepartment(String tableName, Map<String, String> tableData){
         String sql = "SELECT DISTINCT LENGTH(hierarchy) FROM " + tableName + " WHERE delete_mark = 0";
-        List<Integer[]> list = db.query(sql, Integer[].class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, Integer[].class);
         Set<Integer> levelSet = new HashSet<>();
-        for (Integer[] strings : list) {
-            levelSet.add(strings[0]);
+        for (Map<String, Object> strings : list) {
+            Integer[] strings1 = SqlRunnerAdapterUtil.convertMapToIntegerArray(strings);
+            levelSet.add(strings1[0]);
         }
 
         sql = "SELECT * FROM " + tableName + " WHERE delete_mark = 0 ORDER BY LENGTH(hierarchy)";
-        List<Department> dataList = db.query(sql, Department.class);
+        List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql, Department.class);
         String apiPath = "/api/resource/v1/org/batch/add";
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
@@ -49,7 +50,8 @@ public class DataUtil {
         Map<String, String> idCodeMap = new HashMap<>();
         for (Integer level : levelSet) {
             JsonArray dataArray = new JsonArray();
-            for (Department department : dataList) {
+            for (Map<String, Object> map : dataList) {
+                Department department = SqlRunnerAdapterUtil.convertMapToEntity(map, Department.class);
                 if(tableData != null && tableData.containsKey(department.getId().toString())){
                     continue;
                 }
@@ -80,18 +82,18 @@ public class DataUtil {
             }
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
     /**
      * 推送学生班级信息
      */
-    public Map<String, String> insertClass(Db db, String tableName, Map<String, String> tableData) throws SQLException {
+    public Map<String, String> insertClass(String tableName, Map<String, String> tableData) {
         Map<String, String> idMap = new HashMap<>();
         //1、查询字典,将走读住读、班级类型先推送过去
         String sql = "SELECT * FROM xjr_dictionary_detail WHERE delete_mark = 0 AND item_id = 2023000000000000030";
-        List<DictionaryDetail> detailList = db.query(sql, DictionaryDetail.class);
+        List<Map<String, Object>> detailList = SqlRunnerAdapter.db().selectList(sql, DictionaryDetail.class);
 
         String apiPath = "/api/resource/v1/org/batch/add";
         JsonParser jsonParser = new JsonParser();
@@ -102,7 +104,8 @@ public class DataUtil {
 
         Set<String> stduyStatus = new HashSet<>();
 
-        for (DictionaryDetail dict : detailList) {
+        for (Map<String, Object> map : detailList) {
+            DictionaryDetail dict = SqlRunnerAdapterUtil.convertMapToEntity(map, DictionaryDetail.class);
             if(tableData != null && tableData.containsKey(dict.getId().toString())){
                 stduyStatus.add(dict.getId().toString());
                 continue;
@@ -131,11 +134,12 @@ public class DataUtil {
         }
         //推送班级类型
         sql = "SELECT * FROM xjr_dictionary_detail WHERE delete_mark = 0 AND item_id = 2023000000000000039";
-        detailList = db.query(sql, DictionaryDetail.class);
+        detailList = SqlRunnerAdapter.db().selectList(sql, DictionaryDetail.class);
         dataArray = new JsonArray();
         Set<String> classTypeSet = new HashSet<>();
         for (String status : stduyStatus) {
-            for (DictionaryDetail dict : detailList) {
+            for (Map<String, Object> map : detailList) {
+                DictionaryDetail dict = SqlRunnerAdapterUtil.convertMapToEntity(map, DictionaryDetail.class);
                 if(tableData != null && tableData.containsKey(dict.getCode())){
                     classTypeSet.add(dict.getCode());
                     continue;
@@ -166,11 +170,12 @@ public class DataUtil {
 
         //推送年级
         sql = "SELECT * FROM base_grade WHERE delete_mark = 0 AND STATUS = 1";
-        List<BaseGrade> gradeList = db.query(sql, BaseGrade.class);
+        List<Map<String, Object>> gradeList = SqlRunnerAdapter.db().selectList(sql, BaseGrade.class);
         Map<Long, String> gradeNameMap = new HashMap<>();
         dataArray = new JsonArray();
         for (String classType : classTypeSet) {
-            for (BaseGrade baseGrade : gradeList) {
+            for (Map<String, Object> gradeMap : gradeList) {
+                BaseGrade baseGrade = SqlRunnerAdapterUtil.convertMapToEntity(gradeMap, BaseGrade.class);
                 gradeNameMap.put(baseGrade.getId(), baseGrade.getName().replaceAll("级", ""));
                 if(tableData != null && tableData.containsKey(baseGrade.getId().toString())){
                     continue;
@@ -202,12 +207,13 @@ public class DataUtil {
 
         //推送班级
         sql = "SELECT * FROM base_class WHERE delete_mark = 0 AND is_graduate = 1 AND class_type IS NOT NULL";
-        List<BaseClass> classList = db.query(sql, BaseClass.class);
+        List<Map<String, Object>> classList = SqlRunnerAdapter.db().selectList(sql, BaseClass.class);
 
         dataArray = new JsonArray();
         for (String grade : gradeSet) {
             String[] gradeGroup = grade.split("-");
-            for (BaseClass baseClass : classList) {
+            for (Map<String, Object> baseClassMap : classList) {
+                BaseClass baseClass = SqlRunnerAdapterUtil.convertMapToEntity(baseClassMap, BaseClass.class);
                 if(tableData != null && tableData.containsKey(baseClass.getId().toString())){
                     continue;
                 }
@@ -243,19 +249,19 @@ public class DataUtil {
         }
 
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
 
         return idMap;
     }
 
-    public Map<String, String> insertStudentOne(Db db, String tableName, Map<String, String> tableData) throws Exception {
+    public Map<String, String> insertStudentOne(String tableName, Map<String, String> tableData){
         String sql = "SELECT t1.id,t1.name,CONCAT(t3.id,'-',replace(t4.name,'级',''),'-',t3.class_type,'-',t2.stduy_status)," +
                 " t1.user_name,t1.gender,DATE_FORMAT(t1.birth_date, '%Y-%m-%d'),t1.mobile,t1.email,t1.credential_type,t1.credential_number FROM xjr_user t1" +
                 " INNER JOIN base_student_school_roll t2 ON t1.id = t2.user_id" +
                 " INNER JOIN base_class t3 ON t2.class_id = t3.id" +
                 " INNER JOIN base_grade t4 ON t3.grade_id = t4.id" +
                 " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND t3.class_type IS NOT NULL";
-        List<String[]> list = db.query(sql, String[].class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, String[].class);
         Map<Integer, String> clientMap = new HashMap<>();
 
         String apiPath = "/api/resource/v2/person/single/add";
@@ -266,7 +272,7 @@ public class DataUtil {
         header.put("tagId", "insert_student");
 
         for(int i = 1; i < list.size(); i ++){
-            String[] el = list.get(i);
+            String[] el = SqlRunnerAdapterUtil.convertMapToStringArray(list.get(i));
             if(tableData != null && tableData.containsKey(el[0])){
                 continue;
             }
@@ -295,7 +301,6 @@ public class DataUtil {
             paramJson.addProperty("gender", gender);
 
             clientMap.put(i, el[0]);
-            System.out.println("入参:" + paramJson.toString());
             String result = apiUtil.doPost(apiPath, paramJson.toString(), null, header);
             JsonElement parse = jsonParser.parse(result);
             JsonObject resultJson = parse.getAsJsonObject();
@@ -306,18 +311,18 @@ public class DataUtil {
         }
 
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
-    public Map<String, String> insertStudent(Db db, String tableName, Map<String, String> tableData) throws Exception {
+    public Map<String, String> insertStudent(String tableName, Map<String, String> tableData) throws Exception {
         String sql = "SELECT t1.id,t1.name,CONCAT(t3.id,'-',t4.name,'-',t3.class_type,'-',t2.stduy_status)," +
                 " t1.user_name,t1.gender,t1.birth_date,t1.mobile,t1.email,t1.credential_type,t1.credential_number FROM xjr_user t1" +
                 " INNER JOIN base_student_school_roll t2 ON t1.id = t2.user_id" +
                 " INNER JOIN base_class t3 ON t2.class_id = t3.id" +
                 " INNER JOIN base_grade t4 ON t3.grade_id = t4.id" +
                 " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND t3.class_type IS NOT NULL ";
-        List<String[]> list = db.query(sql, String[].class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, String[].class);
         Map<Integer, String> clientMap = new HashMap<>();
 
         String apiPath = "/api/resource/v1/person/batch/add";
@@ -337,7 +342,7 @@ public class DataUtil {
                 if(i >= list.size()){
                     continue;
                 }
-                String[] el = list.get(i);
+                String[] el = SqlRunnerAdapterUtil.convertMapToStringArray(list.get(i));
                 if(tableData != null && tableData.containsKey(el[0])){
                     continue;
                 }
@@ -382,21 +387,21 @@ public class DataUtil {
         }
 
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
-    public Map<String, String> insertTeacher(Db db, String tableName, Map<String, String> tableData, Map<String, String> deptMap) throws Exception {
+    public Map<String, String> insertTeacher(String tableName, Map<String, String> tableData, Map<String, String> deptMap){
         String sql = "SELECT t1.id,t1.name,t1.gender,t3.dept_id,t1.birth_date,t1.mobile,t1.email,t1.credential_type,t1.credential_number,t1.user_name FROM xjr_user t1" +
                 " INNER JOIN " + tableName + " t2 ON t1.id = t2.user_id" +
                 " INNER JOIN xjr_user_dept_relation t3 ON t1.id = t3.user_id" +
                 " INNER JOIN xjr_department t4 ON t3.dept_id = t4.id " +
                 " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND t4.delete_mark = 0";
-        List<String[]> list = db.query(sql, String[].class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, String[].class);
         JsonArray paramArray = new JsonArray();
         Map<Integer, String> clientMap = new HashMap<>();
         for(int i = 0; i < list.size(); i ++){
-            String[] el = list.get(i);
+            String[] el = SqlRunnerAdapterUtil.convertMapToStringArray(list.get(i));
             if(tableData != null && tableData.containsKey(el[0])){
                 continue;
             }
@@ -448,14 +453,14 @@ public class DataUtil {
 
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
     /*同步车辆数据*/
-    public Map<Long, String> insertCar(Db db, String tableName, Map<String, String> tableData, FaceImportMapper faceImportMapper) throws Exception {
+    public Map<Long, String> insertCar(String tableName, Map<String, String> tableData, FaceImportMapper faceImportMapper) {
         String sql = "SELECT * FROM " + tableName + " WHERE delete_mark = 0 and status = 1";
-        List<CarMessageApply> dataList = db.query(sql, CarMessageApply.class);
+        List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql, CarMessageApply.class);
         String apiPath = "/api/resource/v1/vehicle/batch/add";
         String apiPathTime = "/api/pms/v1/car/charge";
         Map<Long, String> idMap = new HashMap<>();
@@ -467,12 +472,13 @@ public class DataUtil {
         tagMap.put("tagId", "frs");
 
         String existingPlatesSql = "SELECT source_id FROM hikvision_data";
-        List<String> existingPlates = db.query(existingPlatesSql, String.class);
+        List<Map<String, Object>> existingPlates = SqlRunnerAdapter.db().selectList(existingPlatesSql, String.class);
 
         JsonArray dataArray = new JsonArray();
         String result = null;
         int clientId = 1;
-        for (CarMessageApply carMessageApply : dataList) {
+        for (Map<String, Object> carMessageApplyMap : dataList) {
+            CarMessageApply carMessageApply = SqlRunnerAdapterUtil.convertMapToEntity(carMessageApplyMap, CarMessageApply.class);
             if(existingPlates.contains(carMessageApply.getId() + "")){
                 continue;
             }
@@ -504,7 +510,8 @@ public class DataUtil {
         }
         result = apiUtil.doPost(apiPath, dataArray.toString(), tagMap, null);
 
-        for (CarMessageApply carMessageApply : dataList) {
+        for (Map<String, Object> carMessageApplyMap : dataList) {
+            CarMessageApply carMessageApply = SqlRunnerAdapterUtil.convertMapToEntity(carMessageApplyMap, CarMessageApply.class);
             JsonObject paramJsonTime = new JsonObject();
             paramJsonTime.addProperty("parkSyscode", "c69f2a7c48a74216bcab7d65f24d4a09");
             paramJsonTime.addProperty("plateNo", carMessageApply.getCarNumber().trim());
@@ -527,25 +534,23 @@ public class DataUtil {
                     System.err.println("No matching clientId found in clientMap for: " + responseClientId);
                 }
             }
-            insertRecord(db, tableName, idMap);
+            insertRecord(tableName, idMap);
         } else {
             System.err.println("API call failed: " + resultJson.get("msg").getAsString());
         }
         return idMap;
     }
 
-    void insertRecord(Db db, String tableName, Map<?, String> idsMap) throws SQLException {
+    void insertRecord(String tableName, Map<?, String> idsMap){
         if (idsMap.isEmpty()) {
             return;
         }
-        var sqls = new ArrayList<String>();
         for (var entry : idsMap.entrySet()) {
             var sourceId = entry.getKey();
-            var sql = "INSERT INTO hikvision_data(create_date, table_name, source_id, hikvision_id) " +
+            String sql = "INSERT INTO hikvision_data(create_date, table_name, source_id, hikvision_id) " +
                     "VALUES(now(), '" + tableName + "', '" + sourceId + "', '" + entry.getValue() + "')";
-            sqls.add(sql);
+            SqlRunnerAdapter.db().insert(sql);
         }
-        db.executeBatch(sqls);
     }
 
 //    void insertRecord(Db db, String tableName, Map<Long, String> idsMap) throws SQLException {

+ 8 - 8
src/main/java/com/xjrsoft/module/hikvision/util/OutInRecordUtil.java

@@ -5,7 +5,7 @@ import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
-import com.microsoft.schemas.office.office.BulletAttribute;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
 import com.xjrsoft.module.attendance.entity.AttendanceRuleDetails;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import org.slf4j.Logger;
@@ -46,11 +46,11 @@ public class OutInRecordUtil {
     }
 
 
-    public void visitInsertRecord(Db db, Long reservation_school_people_id, String recordTime,String facePhoto, String status, String eventId) throws SQLException {
+    public void visitInsertRecord(Long reservation_school_people_id, String recordTime,String facePhoto, String status, String eventId) throws SQLException {
         String sql = "INSERT INTO visitor_out_in_record(create_date, reservation_school_people_id, record_time, face_photo, event_id, status,delete_mark,enabled_mark) " +
                 "VALUES(now(), '"  + reservation_school_people_id + "', '" +
                  recordTime + "', '" + facePhoto + "', '" + eventId + "', '" + status +  "',0,1)";
-        db.execute(sql);
+        SqlRunnerAdapter.db().insert(sql);
     }
 
     private void vehicleInsertRecord(Db db, Long carMessageApplyId, String recordTime, int releaseReason, int category, String facePhoto, int status, String planNo, String crossRecordSyscode,
@@ -291,7 +291,7 @@ public class OutInRecordUtil {
         return attendanceStatus;
     }
 
-    public void GetVisitRecord(Db use, FaceImportMapper faceImportMapper) throws SQLException, ParseException {
+    public void GetVisitRecord(FaceImportMapper faceImportMapper) throws SQLException, ParseException {
         ApiUtil apiUtil = new ApiUtil();
 
         AtomicInteger pageNo = new AtomicInteger(1);
@@ -329,10 +329,10 @@ public class OutInRecordUtil {
             hasMorePages = pageNo.getAndIncrement() < totalCount;
         }
 
-        InsertVisitRecords(use, responseBuilder,responseDoorBuilder,faceImportMapper);
+        InsertVisitRecords(responseBuilder,responseDoorBuilder,faceImportMapper);
     }
 
-    private void InsertVisitRecords(Db use, JsonArray eventsResponse, JsonArray doorEventsResponse,FaceImportMapper faceImportMapper) throws SQLException, ParseException {
+    private void InsertVisitRecords(JsonArray eventsResponse, JsonArray doorEventsResponse,FaceImportMapper faceImportMapper) throws SQLException, ParseException {
 
         for (JsonElement element : eventsResponse) {
             List<String> visit_id_list = faceImportMapper.GetReservationSchoolIdList();
@@ -356,7 +356,7 @@ public class OutInRecordUtil {
 
             if (visit_id_list.contains(eventId)) continue;
 
-            visitInsertRecord(use, Long.parseLong(reservationSchoolId), eventTime, picUri, deviceDesc, eventId);
+            visitInsertRecord(Long.parseLong(reservationSchoolId), eventTime, picUri, deviceDesc, eventId);
         }
 
     }
@@ -638,7 +638,7 @@ public class OutInRecordUtil {
 
                     if (visit_id_list.contains(eventId)) continue;
 
-                    visitInsertRecord(use, Long.parseLong(reservationSchoolId), eventTime, ApiUtil.GetRedirectURL(picUri), srcParentIndex, eventId);
+                    visitInsertRecord(Long.parseLong(reservationSchoolId), eventTime, ApiUtil.GetRedirectURL(picUri), srcParentIndex, eventId);
                 }
             } catch (Exception e) {
                 log.info(String.valueOf(e));

+ 13 - 15
src/main/java/com/xjrsoft/module/job/HikvisionBaseDataTask.java

@@ -1,9 +1,8 @@
 package com.xjrsoft.module.job;
 
-import cn.hutool.db.Db;
 import cn.hutool.extra.spring.SpringUtil;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.xjrsoft.common.utils.DatasourceUtil;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
+import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
 import com.xjrsoft.module.hikvision.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.util.DataUtil;
 import com.xjrsoft.module.schedule.entity.JianyueData;
@@ -13,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import javax.sql.DataSource;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -41,21 +39,21 @@ public class HikvisionBaseDataTask {
             return;
         }
         log.info("开始推送海康威视基础数据");
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
         try {
-            Db use = Db.use(datasource);
             String sql = "SELECT distinct table_name FROM hikvision_data WHERE 1 = 1";
-            List<JianyueData> query = use.query(sql, JianyueData.class);
+            List<Map<String, Object>> maps = SqlRunnerAdapter.db().selectList(sql, HikvisionData.class);
             Set<String> tables = new HashSet<>();
-            for (JianyueData jianyueData : query) {
+            for (Map<String, Object> map : maps) {
+                HikvisionData jianyueData = SqlRunnerAdapterUtil.convertMapToEntity(map, HikvisionData.class);
                 tables.add(jianyueData.getTableName());
             }
             sql = "SELECT * FROM hikvision_data WHERE 0 = 0";
-            List<HikvisionData> list = use.query(sql, HikvisionData.class);
+            List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, HikvisionData.class);
             Map<String, Map<String, String>> dataMap = new HashMap<>();
             for (String table : tables) {
                 Map<String, String> tableData = new HashMap<>();
-                for (HikvisionData hikvisiondata : list) {
+                for (Map<String, Object> hikvision : list) {
+                    HikvisionData hikvisiondata = SqlRunnerAdapterUtil.convertMapToEntity(hikvision, HikvisionData.class);
                     if(!table.equals(hikvisiondata.getTableName())){
                         continue;
                     }
@@ -68,28 +66,28 @@ public class HikvisionBaseDataTask {
             //JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
             //推送组织机构
             String tableName = "xjr_department";
-            Map<String, String> department = dataUtil.insertDepartment(use, tableName, dataMap.get(tableName));
+            Map<String, String> department = dataUtil.insertDepartment(tableName, dataMap.get(tableName));
             if(department.isEmpty() && dataMap.get(tableName) != null){
                 department = dataMap.get(tableName);
             }
 
             //推送教职工
             tableName = "base_teacher";
-            dataUtil.insertTeacher(use, tableName, dataMap.get(tableName), department);
+            dataUtil.insertTeacher(tableName, dataMap.get(tableName), department);
 
             //推送车辆
             String carTableName = "car_message_apply";
             Map<String, String> baseCar = dataMap.get(carTableName);
-            dataUtil.insertCar(use, carTableName, baseCar, faceImportMapper);
+            dataUtil.insertCar(carTableName, baseCar, faceImportMapper);
 
             tableName = "base_class";
             Map<String, String> baseClass = dataMap.get(tableName);
-            Map<String, String> classes = dataUtil.insertClass(use, tableName, baseClass);
+            Map<String, String> classes = dataUtil.insertClass(tableName, baseClass);
 
 
             tableName = "base_student";
             Map<String, String> baseStudent = dataMap.get(tableName);
-            Map<String, String> student = dataUtil.insertStudentOne(use, tableName, baseStudent);
+            Map<String, String> student = dataUtil.insertStudentOne(tableName, baseStudent);
 
             log.info("数据推送完成");
         } catch (Exception e) {

+ 1 - 4
src/main/java/com/xjrsoft/module/job/InsertOutInRecordTask.java

@@ -33,16 +33,13 @@ public class InsertOutInRecordTask {
             return;
         }
         log.info("开始拉取海康威视基础数据");
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
         try {
-            Db use = Db.use(datasource);
-
             //教师&学生拉取数据
 //            out_in_recordUtil.GetTeacherAndStudentRecords(use, faceImportMapper);
             //拉取车辆数据
 //            out_in_recordUtil.GetVehicleRecord(use, faceImportMapper);
             //拉取访客数据
-            out_in_recordUtil.GetVisitRecord(use, faceImportMapper);
+            out_in_recordUtil.GetVisitRecord(faceImportMapper);
 
             log.info("数据拉取完成");
         } catch (Exception e) {

+ 17 - 19
src/main/java/com/xjrsoft/module/job/JianyuekbBaseDataTask.java

@@ -1,17 +1,15 @@
 package com.xjrsoft.module.job;
 
-import cn.hutool.db.Db;
 import cn.hutool.extra.spring.SpringUtil;
 import com.google.gson.JsonArray;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.xjrsoft.common.utils.DatasourceUtil;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
+import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
 import com.xjrsoft.module.schedule.entity.JianyueData;
 import com.xjrsoft.module.schedule.util.DataUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import javax.sql.DataSource;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -35,21 +33,21 @@ public class JianyuekbBaseDataTask {
             return;
         }
         log.info("开始推送课表基础数据");
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
         try {
-            Db use = Db.use(datasource);
             String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
-            List<JianyueData> query = use.query(sql, JianyueData.class);
+            List<Map<String, Object>> query = SqlRunnerAdapter.db().selectList(sql, JianyueData.class);
             Set<String> tables = new HashSet<>();
-            for (JianyueData jianyueData : query) {
+            for (Map<String, Object> queryMap : query) {
+                JianyueData jianyueData = SqlRunnerAdapterUtil.convertMapToEntity(queryMap, JianyueData.class);
                 tables.add(jianyueData.getTableName());
             }
             sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
-            List<JianyueData> list = use.query(sql, JianyueData.class);
+            List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, JianyueData.class);
             Map<String, Map<String, String>> dataMap = new HashMap<>();
             for (String table : tables) {
                 Map<String, String> tableData = new HashMap<>();
-                for (JianyueData jianyueData : list) {
+                for (Map<String, Object> queryMap : list) {
+                    JianyueData jianyueData = SqlRunnerAdapterUtil.convertMapToEntity(queryMap, JianyueData.class);
                     if(!table.equals(jianyueData.getTableName())){
                         continue;
                     }
@@ -60,7 +58,7 @@ public class JianyuekbBaseDataTask {
             DataUtil dataUtil = new DataUtil();
             //查询校区
             String tableName = "xjr_department";
-            Map<String, String> districtMap = dataUtil.insertSchoolDistrict(use, tableName, dataMap.get(tableName));
+            Map<String, String> districtMap = dataUtil.insertSchoolDistrict(tableName, dataMap.get(tableName));
             if(districtMap.isEmpty() && dataMap.get(tableName) != null){
                 districtMap = dataMap.get(tableName);
             }
@@ -68,42 +66,42 @@ public class JianyuekbBaseDataTask {
             //推送年级
             JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
             tableName = "base_grade";
-            Map<String, String> grade = dataUtil.insertGrade(use, tableName, districtMap, dataMap.get(tableName));
+            Map<String, String> grade = dataUtil.insertGrade(tableName, districtMap, dataMap.get(tableName));
             if(grade.isEmpty() && dataMap.get(tableName) != null){
                 grade = dataMap.get(tableName);
             }
 
             //推送学期
             tableName = "base_semester";
-            dataUtil.insertSemester(use, tableName, dataMap.get(tableName));
+            dataUtil.insertSemester(tableName, dataMap.get(tableName));
             //推送标签
             tableName = "base_label";
-            Map<String, String> tagMap = dataUtil.insertCourseTag(use, tableName, dataMap.get(tableName));
+            Map<String, String> tagMap = dataUtil.insertCourseTag(tableName, dataMap.get(tableName));
             if(tagMap.isEmpty() && dataMap.get(tableName) != null){
                 tagMap = dataMap.get(tableName);
             }
             //推送课程
             tableName = "base_course_subject";
-            dataUtil.insertCourse(use, tableName, dataMap.get(tableName), tagMap);
+            dataUtil.insertCourse(tableName, dataMap.get(tableName), tagMap);
             //推送教职工
             tableName = "base_teacher";
-            Map<String, String> teacherMap = dataUtil.insertTeacher(use, tableName, dataMap.get(tableName));
+            Map<String, String> teacherMap = dataUtil.insertTeacher(tableName, dataMap.get(tableName));
             if(teacherMap.isEmpty() && dataMap.get(tableName) != null){
                 teacherMap = dataMap.get(tableName);
             }
             //推送学生
             tableName = "base_student";
-            dataUtil.insertStudent(use, tableName, grade, dataMap.get(tableName));
+            dataUtil.insertStudent(tableName, grade, dataMap.get(tableName));
             //推送教室
             tableName = "base_classroom";
-            Map<String, String> classroomMap = dataUtil.insertClassRoom(use, tableName, schoolDistrictData.get(0).getAsString(), dataMap.get(tableName));
+            Map<String, String> classroomMap = dataUtil.insertClassRoom(tableName, schoolDistrictData.get(0).getAsString(), dataMap.get(tableName));
             if(classroomMap.isEmpty() && dataMap.get(tableName) != null){
                 classroomMap = dataMap.get(tableName);
             }
             //推送行政班,先查询当前学期id
             String currenSemeter = dataUtil.getCurrenSemeter();
             tableName = "base_class";
-            dataUtil.insertClass(use, tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
+            dataUtil.insertClass(tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
 
             log.info("数据推送完成");
         } catch (Exception e) {

+ 17 - 18
src/main/java/com/xjrsoft/module/job/JianyuekbScheduleTask.java

@@ -1,10 +1,9 @@
 package com.xjrsoft.module.job;
 
-import cn.hutool.db.Db;
 import cn.hutool.extra.spring.SpringUtil;
 import com.google.gson.JsonArray;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.xjrsoft.common.utils.DatasourceUtil;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
+import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
 import com.xjrsoft.module.schedule.entity.CourseReceiveMsg;
 import com.xjrsoft.module.schedule.entity.JianyueData;
 import com.xjrsoft.module.schedule.util.DataUtil;
@@ -12,7 +11,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import javax.sql.DataSource;
 import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -34,36 +32,37 @@ public class JianyuekbScheduleTask {
             log.info("非正式环境,无法执行获取课表数据");
             return;
         }
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
-        Db use = Db.use(datasource);
         String sql = "SELECT * FROM course_receive_msg WHERE delete_mark = 0 AND is_callback IS NULL";
-        List<CourseReceiveMsg> receiveMsgs = use.query(sql, CourseReceiveMsg.class);
-        for (CourseReceiveMsg receiveMsg : receiveMsgs) {
+        List<Map<String, Object>> receiveMsgs = SqlRunnerAdapter.db().selectList(sql, CourseReceiveMsg.class);
+        for (Map<String, Object> receiveMsgMap : receiveMsgs) {
+            CourseReceiveMsg receiveMsg = SqlRunnerAdapterUtil.convertMapToEntity(receiveMsgMap, CourseReceiveMsg.class);
             String updSql = "update course_receive_msg set is_callback = 0 where id = " + receiveMsg.getId();
-            use.execute(updSql, new HashMap<>());
+            SqlRunnerAdapter.db().update(updSql);
 
-            doExecute(use, receiveMsg.getEduYearSerialNo(), receiveMsg.getStartDate(), receiveMsg.getEndDate());
+            doExecute(receiveMsg.getEduYearSerialNo(), receiveMsg.getStartDate(), receiveMsg.getEndDate());
 
             updSql = "update course_receive_msg set is_callback = 1 where id = " + receiveMsg.getId();
-            use.execute(updSql, new HashMap<>());
+            SqlRunnerAdapter.db().update(updSql);
         }
     }
 
-    void doExecute(Db use, String eduYearSerialNo, String startDate, String endDate){
+    void doExecute(String eduYearSerialNo, String startDate, String endDate){
         log.info("开始获取课表数据");
         try {
             String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
-            List<JianyueData> query = use.query(sql, JianyueData.class);
+            List<Map<String, Object>> query = SqlRunnerAdapter.db().selectList(sql, JianyueData.class);
             Set<String> tables = new HashSet<>();
-            for (JianyueData jianyueData : query) {
+            for (Map<String, Object> jianyueDataMap : query) {
+                JianyueData jianyueData = SqlRunnerAdapterUtil.convertMapToEntity(jianyueDataMap, JianyueData.class);
                 tables.add(jianyueData.getTableName());
             }
             sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
-            List<JianyueData> list = use.query(sql, JianyueData.class);
+            List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, JianyueData.class);
             Map<String, Map<String, String>> dataMap = new HashMap<>();
             for (String table : tables) {
                 Map<String, String> tableData = new HashMap<>();
-                for (JianyueData jianyueData : list) {
+                for (Map<String, Object> jianyueDataMap : list) {
+                    JianyueData jianyueData = SqlRunnerAdapterUtil.convertMapToEntity(jianyueDataMap, JianyueData.class);
                     if(!table.equals(jianyueData.getTableName())){
                         continue;
                     }
@@ -93,8 +92,8 @@ public class JianyuekbScheduleTask {
 
             //获取课表并存到数据库
             JsonArray scheduleInfo = dataUtil.getScheduleInfoByGrade(eduYearSerialNo, startDate, endDate);
-            dataUtil.insertCourseTable(use, scheduleInfo, classroomMap, courseMap, semesterMap, teacherMap, classMap);
-            dataUtil.insertClassTime(use, scheduleInfo);
+            dataUtil.insertCourseTable(scheduleInfo, classroomMap, courseMap, semesterMap, teacherMap, classMap);
+            dataUtil.insertClassTime(scheduleInfo);
             log.info("课表数据获取完成");
         } catch (Exception e) {
             log.error(e.getMessage(), e);

+ 60 - 56
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -1,11 +1,12 @@
 package com.xjrsoft.module.schedule.util;
 
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.db.Db;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
+import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.entity.BaseCourseSubject;
 import com.xjrsoft.module.base.entity.BaseGrade;
@@ -17,9 +18,7 @@ import com.xjrsoft.module.schedule.vo.StudentJianyuekbVo;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import lombok.extern.slf4j.Slf4j;
 
-import java.sql.SQLException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -36,15 +35,16 @@ public class DataUtil {
      * 推送校区信息
      * 此处将班级所属的部门当做校区进行推送
      */
-    public Map<String, String> insertSchoolDistrict(Db db, String tableName, Map<String, String> ids) throws Exception {
+    public Map<String, String> insertSchoolDistrict(String tableName, Map<String, String> ids) throws Exception {
         String sql = "SELECT * FROM " + tableName + " WHERE id IN (" +
                 "SELECT DISTINCT org_id FROM base_class WHERE delete_mark = 0 " +
                 ")";
-        List<Department> dataList = db.query(sql, Department.class);
+        List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql, Department.class);
 
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
-        for (Department department : dataList) {
+        for (Map<String, Object> departmentMap : dataList) {
+            Department department = SqlRunnerAdapterUtil.convertMapToEntity(departmentMap, Department.class);
             String url  = ScheduleUtil.apiUrl + "SchoolDistrict/Create";
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("name", department.getName());
@@ -70,18 +70,19 @@ public class DataUtil {
             idMap.put(department.getId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
-    public Map<String, String> insertClass(Db db, String tableName, Map<String, String> gradeMap,
+    public Map<String, String> insertClass(String tableName, Map<String, String> gradeMap,
     Map<String, String> teacherMap, String semesterSerialNo, Map<String, String> ids, Map<String, String> classroomMap) throws Exception {
         String sql = "SELECT * FROM " + tableName + " WHERE delete_mark = 0 and is_graduate = 1";
-        List<BaseClass> dataList = db.query(sql, BaseClass.class);
+        List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql, BaseClass.class);
 
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
-        for (BaseClass baseClass : dataList) {
+        for (Map<String, Object> baseClassMap : dataList) {
+            BaseClass baseClass = SqlRunnerAdapterUtil.convertMapToEntity(baseClassMap, BaseClass.class);
             String url  = ScheduleUtil.apiUrl + "class/create";
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
@@ -113,19 +114,20 @@ public class DataUtil {
             idMap.put(baseClass.getId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
-    public Map<String, String> insertClassRoom(Db db, String tableName, String schoolDistrictId, Map<String, String> ids) throws Exception {
+    public Map<String, String> insertClassRoom(String tableName, String schoolDistrictId, Map<String, String> ids) throws Exception {
         String sql = "SELECT t1.name, t1.capacity AS people_count,t2.name AS location, t1.floor_num AS floor, t1.id AS extendId FROM " + tableName + " t1" +
                 " INNER JOIN base_office_build t2 ON t1.office_build_id = t2.id" +
                 " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0";
-        List<ClassroomJianyuekbVo> dataList = db.query(sql, ClassroomJianyuekbVo.class);
+        List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql, ClassroomJianyuekbVo.class);
 
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
-        for (ClassroomJianyuekbVo classroom : dataList) {
+        for (Map<String, Object> classroomMap : dataList) {
+            ClassroomJianyuekbVo classroom = SqlRunnerAdapterUtil.convertMapToEntity(classroomMap, ClassroomJianyuekbVo.class);
             String url  = ScheduleUtil.apiUrl + "classroom/create";
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("schoolDistrictId", schoolDistrictId);
@@ -156,11 +158,11 @@ public class DataUtil {
             idMap.put(classroom.getExtendId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
-    public Map<String, String> insertStudent(Db db, String tableName, Map<String, String> gradeMap, Map<String, String> ids) throws Exception {
+    public Map<String, String> insertStudent(String tableName, Map<String, String> gradeMap, Map<String, String> ids) throws Exception {
         String sql = "SELECT t1.id AS registerNo, t2.name AS realName,t3.grade_id AS gradeSerialNo," +
                 " t2.name AS alias,t2.gender,t2.id AS extendId FROM " + tableName + " t1" +
                 " INNER JOIN xjr_user t2 ON t1.user_id = t2.id" +
@@ -168,11 +170,12 @@ public class DataUtil {
                 " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0" +
                 " AND t1.student_id IS NOT NULL AND t1.student_id != ''" +
                 " AND t3.archives_status = 'FB2901'";
-        List<StudentJianyuekbVo> dataList = db.query(sql, StudentJianyuekbVo.class);
+        List<Map<String, Object>> dataList = SqlRunnerAdapter.db().selectList(sql, StudentJianyuekbVo.class);
 
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
-        for (StudentJianyuekbVo student : dataList) {
+        for (Map<String, Object> studentMap : dataList) {
+            StudentJianyuekbVo student = SqlRunnerAdapterUtil.convertMapToEntity(studentMap, StudentJianyuekbVo.class);
             String url  = ScheduleUtil.apiUrl + "student/create";
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("registerNo", student.getRegisterNo());
@@ -206,22 +209,23 @@ public class DataUtil {
             idMap.put(student.getExtendId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
     /**
      * 新增教职工
      */
-    public Map<String, String> insertTeacher(Db db, String tableName, Map<String, String> ids) throws Exception {
+    public Map<String, String> insertTeacher(String tableName, Map<String, String> ids) throws Exception {
         String sql = "select t1.* from xjr_user t1" +
                 " inner join xjr_user_role_relation t2 on t1.id = t2.user_id" +
                 " inner join " + tableName + " t3 on t1.id = t3.user_id" +
                 " where t1.delete_mark = 0 and t2.role_id = 2";
-        List<XjrUser> xjrUsers = db.query(sql, XjrUser.class);
+        List<Map<String, Object>> xjrUsers = SqlRunnerAdapter.db().selectList(sql, XjrUser.class);
         JsonParser jsonParser = new JsonParser();
 
         Map<String, String> idMap = new HashMap<>();
-        for (XjrUser user : xjrUsers) {
+        for (Map<String, Object> userMap : xjrUsers) {
+            XjrUser user = SqlRunnerAdapterUtil.convertMapToEntity(userMap, XjrUser.class);
             String url  = ScheduleUtil.apiUrl + "teacher/create";
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("jobNumber", user.getUserName());
@@ -253,19 +257,20 @@ public class DataUtil {
             idMap.put(user.getId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
     /**
      *  新增课程
      */
-    public Map<String, String> insertCourse(Db db, String tableName, Map<String, String> ids, Map<String, String> tagMap) throws Exception {
+    public Map<String, String> insertCourse(String tableName, Map<String, String> ids, Map<String, String> tagMap) throws Exception {
         String sql = "select * from " + tableName + " where delete_mark = 0";
-        List<BaseCourseSubject> list = db.query(sql, BaseCourseSubject.class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, BaseCourseSubject.class);
 
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
-        for (BaseCourseSubject courseSubject : list) {
+        for (Map<String, Object> courseSubjectMap : list) {
+            BaseCourseSubject courseSubject = SqlRunnerAdapterUtil.convertMapToEntity(courseSubjectMap, BaseCourseSubject.class);
             String url  = ScheduleUtil.apiUrl + "courseclass/Create";
 
             JsonObject paramJson = new JsonObject();
@@ -298,7 +303,7 @@ public class DataUtil {
             idMap.put(courseSubject.getId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
 
         return idMap;
     }
@@ -306,9 +311,9 @@ public class DataUtil {
     /**
      * 新增学期
      */
-    public Map<String, String> insertSemester(Db db, String tableName, Map<String, String> ids) throws Exception {
+    public Map<String, String> insertSemester(String tableName, Map<String, String> ids) throws Exception {
         String sql = "select * from " + tableName + " where delete_mark = 0";
-        List<BaseSemester> list = db.query(sql, BaseSemester.class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, BaseSemester.class);
 
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
@@ -317,7 +322,8 @@ public class DataUtil {
         String spring = "春";
         String autumn = "秋";
 
-        for (BaseSemester semester : list) {
+        for (Map<String, Object> semesterMap : list) {
+            BaseSemester semester = SqlRunnerAdapterUtil.convertMapToEntity(semesterMap, BaseSemester.class);
             String url  = ScheduleUtil.apiUrl + "semester/Create";
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("schoolYear", Integer.parseInt(sdfYear.format(semester.getStartDate())));
@@ -356,19 +362,20 @@ public class DataUtil {
             idMap.put(semester.getId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
 
         return idMap;
     }
 
-    public Map<String, String> insertCourseTag(Db db, String tableName, Map<String, String> ids) throws Exception {
+    public Map<String, String> insertCourseTag(String tableName, Map<String, String> ids) throws Exception {
         String sql = "select * from " + tableName + " where delete_mark = 0" +
                 " and id in (select distinct base_label_id from base_course_subject where delete_mark = 0)";
-        List<BaseLabel> list = db.query(sql, BaseLabel.class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, BaseLabel.class);
         String url = ScheduleUtil.apiUrl + "courseclass/tag/create";
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
-        for (BaseLabel department : list) {
+        for (Map<String, Object> departmentMap : list) {
+            BaseLabel department = SqlRunnerAdapterUtil.convertMapToEntity(departmentMap, BaseLabel.class);
             if(ids != null && ids.get(department.getId().toString()) != null){
                 continue;
             }
@@ -387,26 +394,26 @@ public class DataUtil {
             idMap.put(department.getId().toString(), resultJson.get("data").getAsString());
         }
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
     /**
      * 插入年级
-     * @param db 数据库链接
      * @param tableName 表名字
      * @param schoolDistrictMap 校区id
      * @param ids 数据库id和jianyue的对应关系
      * @return 返回数据库和jianyue的对应关系
      */
-    public Map<String, String> insertGrade(Db db, String tableName, Map<String, String> schoolDistrictMap, Map<String, String> ids) throws Exception {
+    public Map<String, String> insertGrade(String tableName, Map<String, String> schoolDistrictMap, Map<String, String> ids) throws Exception {
         String sql = "select * from " + tableName + " where delete_mark = 0 and status = 1";
-        List<BaseGrade> list = db.query(sql, BaseGrade.class);
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql, BaseGrade.class);
 
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
         for (String gradeId : schoolDistrictMap.keySet()) {
-            for (BaseGrade baseGrade : list) {
+            for (Map<String, Object> baseGradeMap : list) {
+                BaseGrade baseGrade = SqlRunnerAdapterUtil.convertMapToEntity(baseGradeMap, BaseGrade.class);
                 String url = ScheduleUtil.apiUrl + "eduyear/create";
                 JsonObject paramJson = new JsonObject();
                 paramJson.addProperty("schoolDistrictId", schoolDistrictMap.get(gradeId));
@@ -436,7 +443,7 @@ public class DataUtil {
         }
 
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
     }
 
@@ -537,16 +544,15 @@ public class DataUtil {
 
     /**
      *
-     * @param db 数据库链接
      * @param data 接口数据
      * @param classroomMap 教室对应关系
      * @param coureseMap 课程对应关系
      * @param semesterMap 学期对应关系
      * @param teacherMap 教师对应关系
      */
-    public void insertCourseTable(Db db, JsonArray data, Map<String, String> classroomMap, Map<String, String> coureseMap,
-        Map<String, String> semesterMap, Map<String, String> teacherMap, Map<String, String> classMap) throws SQLException {
-        List<String> sqls = new ArrayList<>();
+    public void insertCourseTable(JsonArray data, Map<String, String> classroomMap, Map<String, String> coureseMap,
+        Map<String, String> semesterMap, Map<String, String> teacherMap, Map<String, String> classMap) {
+//        List<String> sqls = new ArrayList<>();
 //        Map<Integer, String> week = ScheduleUtil.getWeek();
         Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
         int count = 1;
@@ -596,19 +602,18 @@ public class DataUtil {
                 + "'" + asJsonObject.get("id").getAsString() + "' FROM DUAL"
                 + " WHERE NOT EXISTS(SELECT * FROM course_table WHERE jianyue_id = '" + asJsonObject.get("id").getAsString() +"' and status = 1)";
 //            sqls.add(updateSql);
-            sqls.add(sql);
+//            sqls.add(sql);
+            SqlRunnerAdapter.db().insert(sql);
             count ++;
         }
-        db.executeBatch(sqls);
     }
 
     /**
      * 提取课时相关信息
-     * @param db 数据库链接
      * @param data 数据
      *
      */
-    public void insertClassTime(Db db, JsonArray data) throws SQLException {
+    public void insertClassTime(JsonArray data) {
 
         Map<String, JsonObject> infoMap = new HashMap<>();
         Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
@@ -622,7 +627,7 @@ public class DataUtil {
             json.add("numberOfDay", asJsonObject.get("numberOfDay"));
             infoMap.put(numberOfDayName, json);
         }
-        List<String> sqls = new ArrayList<>();
+//        List<String> sqls = new ArrayList<>();
         int count = 1;
         for (String number : infoMap.keySet()) {
             String substring1 = number.substring(number.length() - 1);
@@ -642,29 +647,28 @@ public class DataUtil {
                     + " WHERE NOT EXISTS(SELECT * FROM class_time WHERE time_period = "
                     + jsonObject.get("tmePeriod").getAsInt()
                     + " and number = " + substring1 + ")";
-            sqls.add(sql);
+//            sqls.add(sql);
+            SqlRunnerAdapter.db().insert(sql);
             count ++;
         }
-        db.executeBatch(sqls);
     }
 
     /**
      * 插入记录表
-     * @param db 数据库链接工具
      * @param tableName 表名字
      * @param idsMap id对应关系
      */
-    public void insertRecord(Db db, String tableName, Map<String, String> idsMap) throws SQLException {
+    public void insertRecord(String tableName, Map<String, String> idsMap){
         if(idsMap.isEmpty()){
             return;
         }
-        List<String> sqls = new ArrayList<>();
+//        List<String> sqls = new ArrayList<>();
         for (String sourceId : idsMap.keySet()) {
             String sql = "INSERT INTO jianyue_data(create_date,table_name,source_id,jianyue_id) value(now(),'"
                     + tableName + "','" + sourceId + "','" + idsMap.get(sourceId) + "')";
-            sqls.add(sql);
+//            sqls.add(sql);
+            SqlRunnerAdapter.db().insert(sql);
         }
-        db.executeBatch(sqls);
     }
 
 }

+ 56 - 23
src/test/java/com/xjrsoft/module/job/HikvisionBaseDataTaskTest.java

@@ -7,7 +7,10 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.xjrsoft.XjrSoftApplication;
 import com.xjrsoft.common.constant.GlobalConstant;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
 import com.xjrsoft.common.utils.DatasourceUtil;
+import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
+import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.evaluate.controller.EvaluateItemController;
 import com.xjrsoft.module.hikvision.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.util.ApiUtil;
@@ -17,6 +20,7 @@ import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.schedule.entity.JianyueData;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
+import com.yomahub.liteflow.util.JsonUtil;
 import lombok.var;
 import org.junit.jupiter.api.Test;
 import org.junit.runner.RunWith;
@@ -49,30 +53,59 @@ class HikvisionBaseDataTaskTest {
     OutInRecordUtil outInRecordUtil = new OutInRecordUtil();
 
     @Test
-    void test() throws Exception {
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
-        Db use = Db.use(datasource);
-        String sql = "SELECT distinct table_name FROM hikvision_data WHERE 1 = 1";
-        List<JianyueData> query = use.query(sql, JianyueData.class);
-        Set<String> tables = new HashSet<>();
-        for (JianyueData jianyueData : query) {
-            tables.add(jianyueData.getTableName());
+    void test2(){
+        String sql = "select * from base_class";
+        List<Map<String, Object>> maps = SqlRunnerAdapter.db().selectList(sql, BaseClass.class);
+
+        for (Map<String, Object> map : maps) {
+            BaseClass baseClass = SqlRunnerAdapterUtil.convertMapToEntity(map, BaseClass.class);
+
+            System.out.println(JsonUtil.toJsonString(baseClass));
         }
-        sql = "SELECT * FROM hikvision_data WHERE 0 = 0";
-        List<HikvisionData> list = use.query(sql, HikvisionData.class);
-        Map<String, Map<String, String>> dataMap = new HashMap<>();
-        for (String table : tables) {
-            Map<String, String> tableData = new HashMap<>();
-            for (HikvisionData hikvisiondata : list) {
-                if(!table.equals(hikvisiondata.getTableName())){
-                    continue;
-                }
-                tableData.put(hikvisiondata.getSourceId(), hikvisiondata.getHikvisionId());
-            }
-            dataMap.put(table, tableData);
+
+
+        sql = "SELECT DISTINCT LENGTH(hierarchy) FROM xjr_department WHERE delete_mark = 0";
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql);
+
+        Set<Integer> levelSet = new HashSet<>();
+        for (Map<String, Object> strings : list) {
+            Integer[] strings1 = SqlRunnerAdapterUtil.convertMapToIntegerArray(strings);
+            System.out.println(strings1.toString());
+            levelSet.add(strings1[0]);
         }
-        DataUtil dataUtil = new DataUtil();
-        String tableName = "xjr_department";
+    }
+
+
+
+
+
+
+
+    @Test
+    void test() throws Exception {
+//        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+//        Db use = Db.use(datasource);
+//        String sql = "SELECT distinct table_name FROM hikvision_data WHERE 1 = 1";
+//        List<JianyueData> query = use.query(sql, JianyueData.class);
+//        Set<String> tables = new HashSet<>();
+//        for (JianyueData jianyueData : query) {
+//            tables.add(jianyueData.getTableName());
+//        }
+//        sql = "SELECT * FROM hikvision_data WHERE 0 = 0";
+//        List<HikvisionData> list = use.query(sql, HikvisionData.class);
+//        Map<String, Map<String, String>> dataMap = new HashMap<>();
+//        for (String table : tables) {
+//            Map<String, String> tableData = new HashMap<>();
+//            for (HikvisionData hikvisiondata : list) {
+//                if(!table.equals(hikvisiondata.getTableName())){
+//                    continue;
+//                }
+//                tableData.put(hikvisiondata.getSourceId(), hikvisiondata.getHikvisionId());
+//            }
+//            dataMap.put(table, tableData);
+//        }
+//        DataUtil dataUtil = new DataUtil();
+//        String tableName = "xjr_department";
 //        Map<String, String> department = dataUtil.insertDepartment(use, tableName, dataMap.get(tableName));
 //        if(department.isEmpty() && dataMap.get(tableName) != null){
 //            department = dataMap.get(tableName);
@@ -105,7 +138,7 @@ class HikvisionBaseDataTaskTest {
 //        selectCar(use, carTableName);
 
 //        outInRecordUtil.GetVehicleRecord(use,faceImportMapper);
-        outInRecordUtil.GetTeacherAndStudentRecords(use,faceImportMapper);
+//        outInRecordUtil.GetTeacherAndStudentRecords(use,faceImportMapper);
 ////        selecAllPersonById(use);
 //        selectResource(use);
     }

+ 376 - 376
src/test/java/com/xjrsoft/module/job/JianyuekbBaseDataTaskTest.java

@@ -1,386 +1,386 @@
-package com.xjrsoft.module.job;
-
-import cn.hutool.db.Db;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.xjrsoft.XjrSoftApplication;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.xjrsoft.common.utils.DatasourceUtil;
-import com.xjrsoft.module.base.entity.BaseClass;
-import com.xjrsoft.module.base.entity.BaseGrade;
-import com.xjrsoft.module.schedule.entity.JianyueData;
-import com.xjrsoft.module.schedule.util.DataUtil;
-import com.xjrsoft.module.schedule.util.ScheduleUtil;
-import org.junit.jupiter.api.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import javax.sql.DataSource;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author dzx
- * @date 2024/4/30
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = XjrSoftApplication.class)
-class JianyuekbBaseDataTaskTest {
-
-
-    @Test
-    public void RefreshConnectionPool() {
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
-        try {
-            Db use = Db.use(datasource);
-            String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
-            List<JianyueData> query = use.query(sql, JianyueData.class);
-            Set<String> tables = new HashSet<>();
-            for (JianyueData jianyueData : query) {
-                tables.add(jianyueData.getTableName());
-            }
-            sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
-            List<JianyueData> list = use.query(sql, JianyueData.class);
-            Map<String, Map<String, String>> dataMap = new HashMap<>();
-            for (String table : tables) {
-                Map<String, String> tableData = new HashMap<>();
-                for (JianyueData jianyueData : list) {
-                    if(!table.equals(jianyueData.getTableName())){
-                        continue;
-                    }
-                    tableData.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
-                }
-                dataMap.put(table, tableData);
-            }
-            DataUtil dataUtil = new DataUtil();
-            //查询校区
-            String tableName = "xjr_department";
-            Map<String, String> districtMap = dataUtil.insertSchoolDistrict(use, tableName, dataMap.get(tableName));
-            if(districtMap.isEmpty() && dataMap.get(tableName) != null){
-                districtMap = dataMap.get(tableName);
-            }
-
-            //推送年级
-            JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
-            tableName = "base_grade";
-            Map<String, String> grade = dataUtil.insertGrade(use, tableName, districtMap, dataMap.get(tableName));
-            if(grade.isEmpty() && dataMap.get(tableName) != null){
-                grade = dataMap.get(tableName);
-            }
-
-            //推送学期
-            tableName = "base_semester";
-            dataUtil.insertSemester(use, tableName, dataMap.get(tableName));
-            //推送标签
-            tableName = "base_label";
-            Map<String, String> tagMap = dataUtil.insertCourseTag(use, tableName, dataMap.get(tableName));
-            if(tagMap.isEmpty() && dataMap.get(tableName) != null){
-                tagMap = dataMap.get(tableName);
-            }
-            //推送课程
-            tableName = "base_course_subject";
-            dataUtil.insertCourse(use, tableName, dataMap.get(tableName), tagMap);
-            //推送教职工
-            tableName = "base_teacher";
-            Map<String, String> teacherMap = dataUtil.insertTeacher(use, tableName, dataMap.get(tableName));
-            if(teacherMap.isEmpty() && dataMap.get(tableName) != null){
-                teacherMap = dataMap.get(tableName);
-            }
-            //推送学生
-            tableName = "base_student";
-            dataUtil.insertStudent(use, tableName, grade, dataMap.get(tableName));
-            //推送教室
-            tableName = "base_classroom";
-            Map<String, String> classroomMap = dataUtil.insertClassRoom(use, tableName, schoolDistrictData.get(0).getAsString(), dataMap.get(tableName));
-            if(classroomMap.isEmpty() && dataMap.get(tableName) != null){
-                classroomMap = dataMap.get(tableName);
-            }
-            //推送行政班,先查询当前学期id
-            String currenSemeter = dataUtil.getCurrenSemeter();
-            tableName = "base_class";
-            dataUtil.insertClass(use, tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
-
-        } catch (Exception e) {
-        }
-    }
-
-    @Test
-    public void RefreshConnectionPool2() {
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
-        try {
-            Db use = Db.use(datasource);
-            String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
-            List<JianyueData> query = use.query(sql, JianyueData.class);
-            Set<String> tables = new HashSet<>();
-            for (JianyueData jianyueData : query) {
-                tables.add(jianyueData.getTableName());
-            }
-            sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
-            List<JianyueData> list = use.query(sql, JianyueData.class);
-            Map<String, Map<String, String>> dataMap = new HashMap<>();
-            for (String table : tables) {
-                Map<String, String> tableData = new HashMap<>();
-                for (JianyueData jianyueData : list) {
-                    if(!table.equals(jianyueData.getTableName())){
-                        continue;
-                    }
-                    tableData.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
-                }
-                dataMap.put(table, tableData);
-            }
-            DataUtil dataUtil = new DataUtil();
-            //查询校区
-            String tableName = "xjr_department";
-
-            //推送年级
-            JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
-            tableName = "base_grade";
-            Map<String, String> grade = dataMap.get(tableName);
-            //推送教职工
-            tableName = "base_teacher";
-            Map<String, String> teacherMap = dataMap.get(tableName);
-            //推送教室
-            tableName = "base_classroom";
-            Map<String, String> classroomMap = dataMap.get(tableName);
-            //推送行政班,先查询当前学期id
-            String currenSemeter = dataUtil.getCurrenSemeter();
-            tableName = "base_class";
-            dataUtil.insertClass(use, tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
-
-        } catch (Exception e) {
-        }
-    }
-
-    @Test
-    void test3() throws Exception {
-        long timestamp = System.currentTimeMillis();
-        //生成签名
-        String sign = ScheduleUtil.createSign(timestamp);
-
-        System.out.println(timestamp);
-
-        System.out.println(sign);
-    }
-
-    @Test
-    void deleteData() throws Exception {
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
-        Db use = Db.use(datasource);
-
-        String url  = ScheduleUtil.apiUrl + "Class/page";
-
-        JsonObject pageJson = new JsonObject();
-        pageJson.addProperty("pageSize", 120);
-        pageJson.addProperty("pageIndex", 1);
-        JsonParser parser = new JsonParser();
-
-
-        String ids = "[\"CLA000000975\",\"CLA000001011\",\"CLA000000997\",\"CLA000000998\",\"CLA000000999\",\"CLA000001000\",\"CLA000001001\",\"CLA000001002\",\"CLA000001003\",\"CLA000001004\",\"CLA000001005\",\"CLA000000972\",\"CLA000000973\",\"CLA000000974\",\"CLA000000989\",\"CLA000000990\",\"CLA000001007\",\"CLA000001008\",\"CLA000001009\",\"CLA000001010\",\"CLA000001012\",\"CLA000000987\",\"CLA000000988\",\"CLA000000991\",\"CLA000000992\",\"CLA000000993\",\"CLA000000994\",\"CLA000000995\",\"CLA000000980\",\"CLA000000981\",\"CLA000000982\",\"CLA000000983\",\"CLA000000996\",\"CLA000000984\",\"CLA000000985\",\"CLA000000986\",\"CLA000001006\",\"CLA000000977\",\"CLA000000978\",\"CLA000000979\",\"CLA000000976\",\"CLA000001017\",\"CLA000001018\",\"CLA000001057\",\"CLA000001043\",\"CLA000001044\",\"CLA000001045\",\"CLA000001046\",\"CLA000001047\",\"CLA000001048\",\"CLA000001049\",\"CLA000001013\",\"CLA000001014\",\"CLA000001015\",\"CLA000001034\",\"CLA000001052\",\"CLA000001053\",\"CLA000001054\",\"CLA000001055\",\"CLA000001056\",\"CLA000001032\",\"CLA000001033\",\"CLA000001035\",\"CLA000001036\",\"CLA000001037\",\"CLA000001038\",\"CLA000001039\",\"CLA000001040\",\"CLA000001041\",\"CLA000001024\",\"CLA000001025\",\"CLA000001026\",\"CLA000001027\",\"CLA000001028\",\"CLA000001042\",\"CLA000001029\",\"CLA000001030\",\"CLA000001031\",\"CLA000001050\",\"CLA000001051\",\"CLA000001019\",\"CLA000001020\",\"CLA000001021\",\"CLA000001022\",\"CLA000001023\",\"CLA000001016\"]";
-
-        JsonArray paramJson = parser.parse(ids).getAsJsonArray();
-
-        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);
-    }
-
-    @Test
-    void updateGrade() throws Exception {
-        String url  = ScheduleUtil.apiUrl + "EduYear/page";
-        JsonObject paramJson = new JsonObject();
-        paramJson.addProperty("pageSize", 40);
-        paramJson.addProperty("pageIndex", 1);
-
-        long timestamp = System.currentTimeMillis();
-        //生成签名
-        String sign = ScheduleUtil.createSign(timestamp);
-
-        String doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
-        System.out.println(doPost);
-
+//package com.xjrsoft.module.job;
+//
+//import cn.hutool.db.Db;
+//import com.google.gson.JsonArray;
+//import com.google.gson.JsonElement;
+//import com.google.gson.JsonObject;
+//import com.google.gson.JsonParser;
+//import com.xjrsoft.XjrSoftApplication;
+//import com.xjrsoft.common.constant.GlobalConstant;
+//import com.xjrsoft.common.utils.DatasourceUtil;
+//import com.xjrsoft.module.base.entity.BaseClass;
+//import com.xjrsoft.module.base.entity.BaseGrade;
+//import com.xjrsoft.module.schedule.entity.JianyueData;
+//import com.xjrsoft.module.schedule.util.DataUtil;
+//import com.xjrsoft.module.schedule.util.ScheduleUtil;
+//import org.junit.jupiter.api.Test;
+//import org.junit.runner.RunWith;
+//import org.springframework.boot.test.context.SpringBootTest;
+//import org.springframework.test.context.junit4.SpringRunner;
+//
+//import javax.sql.DataSource;
+//import java.sql.SQLException;
+//import java.util.HashMap;
+//import java.util.HashSet;
+//import java.util.List;
+//import java.util.Map;
+//import java.util.Set;
+//
+///**
+// * @author dzx
+// * @date 2024/4/30
+// */
+//@RunWith(SpringRunner.class)
+//@SpringBootTest(classes = XjrSoftApplication.class)
+//class JianyuekbBaseDataTaskTest {
+//
+//
+//    @Test
+//    public void RefreshConnectionPool() {
+//        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+//        try {
+//            Db use = Db.use(datasource);
+//            String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
+//            List<JianyueData> query = use.query(sql, JianyueData.class);
+//            Set<String> tables = new HashSet<>();
+//            for (JianyueData jianyueData : query) {
+//                tables.add(jianyueData.getTableName());
+//            }
+//            sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
+//            List<JianyueData> list = use.query(sql, JianyueData.class);
+//            Map<String, Map<String, String>> dataMap = new HashMap<>();
+//            for (String table : tables) {
+//                Map<String, String> tableData = new HashMap<>();
+//                for (JianyueData jianyueData : list) {
+//                    if(!table.equals(jianyueData.getTableName())){
+//                        continue;
+//                    }
+//                    tableData.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+//                }
+//                dataMap.put(table, tableData);
+//            }
+//            DataUtil dataUtil = new DataUtil();
+//            //查询校区
+//            String tableName = "xjr_department";
+//            Map<String, String> districtMap = dataUtil.insertSchoolDistrict(use, tableName, dataMap.get(tableName));
+//            if(districtMap.isEmpty() && dataMap.get(tableName) != null){
+//                districtMap = dataMap.get(tableName);
+//            }
+//
+//            //推送年级
+//            JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
+//            tableName = "base_grade";
+//            Map<String, String> grade = dataUtil.insertGrade(use, tableName, districtMap, dataMap.get(tableName));
+//            if(grade.isEmpty() && dataMap.get(tableName) != null){
+//                grade = dataMap.get(tableName);
+//            }
+//
+//            //推送学期
+//            tableName = "base_semester";
+//            dataUtil.insertSemester(use, tableName, dataMap.get(tableName));
+//            //推送标签
+//            tableName = "base_label";
+//            Map<String, String> tagMap = dataUtil.insertCourseTag(use, tableName, dataMap.get(tableName));
+//            if(tagMap.isEmpty() && dataMap.get(tableName) != null){
+//                tagMap = dataMap.get(tableName);
+//            }
+//            //推送课程
+//            tableName = "base_course_subject";
+//            dataUtil.insertCourse(use, tableName, dataMap.get(tableName), tagMap);
+//            //推送教职工
+//            tableName = "base_teacher";
+//            Map<String, String> teacherMap = dataUtil.insertTeacher(use, tableName, dataMap.get(tableName));
+//            if(teacherMap.isEmpty() && dataMap.get(tableName) != null){
+//                teacherMap = dataMap.get(tableName);
+//            }
+//            //推送学生
+//            tableName = "base_student";
+//            dataUtil.insertStudent(use, tableName, grade, dataMap.get(tableName));
+//            //推送教室
+//            tableName = "base_classroom";
+//            Map<String, String> classroomMap = dataUtil.insertClassRoom(use, tableName, schoolDistrictData.get(0).getAsString(), dataMap.get(tableName));
+//            if(classroomMap.isEmpty() && dataMap.get(tableName) != null){
+//                classroomMap = dataMap.get(tableName);
+//            }
+//            //推送行政班,先查询当前学期id
+//            String currenSemeter = dataUtil.getCurrenSemeter();
+//            tableName = "base_class";
+//            dataUtil.insertClass(use, tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
+//
+//        } catch (Exception e) {
+//        }
+//    }
+//
+//    @Test
+//    public void RefreshConnectionPool2() {
+//        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+//        try {
+//            Db use = Db.use(datasource);
+//            String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
+//            List<JianyueData> query = use.query(sql, JianyueData.class);
+//            Set<String> tables = new HashSet<>();
+//            for (JianyueData jianyueData : query) {
+//                tables.add(jianyueData.getTableName());
+//            }
+//            sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
+//            List<JianyueData> list = use.query(sql, JianyueData.class);
+//            Map<String, Map<String, String>> dataMap = new HashMap<>();
+//            for (String table : tables) {
+//                Map<String, String> tableData = new HashMap<>();
+//                for (JianyueData jianyueData : list) {
+//                    if(!table.equals(jianyueData.getTableName())){
+//                        continue;
+//                    }
+//                    tableData.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+//                }
+//                dataMap.put(table, tableData);
+//            }
+//            DataUtil dataUtil = new DataUtil();
+//            //查询校区
+//            String tableName = "xjr_department";
+//
+//            //推送年级
+//            JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
+//            tableName = "base_grade";
+//            Map<String, String> grade = dataMap.get(tableName);
+//            //推送教职工
+//            tableName = "base_teacher";
+//            Map<String, String> teacherMap = dataMap.get(tableName);
+//            //推送教室
+//            tableName = "base_classroom";
+//            Map<String, String> classroomMap = dataMap.get(tableName);
+//            //推送行政班,先查询当前学期id
+//            String currenSemeter = dataUtil.getCurrenSemeter();
+//            tableName = "base_class";
+//            dataUtil.insertClass(use, tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
+//
+//        } catch (Exception e) {
+//        }
+//    }
+//
+//    @Test
+//    void test3() throws Exception {
+//        long timestamp = System.currentTimeMillis();
+//        //生成签名
+//        String sign = ScheduleUtil.createSign(timestamp);
+//
+//        System.out.println(timestamp);
+//
+//        System.out.println(sign);
+//    }
+//
+//    @Test
+//    void deleteData() throws Exception {
+//        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+//        Db use = Db.use(datasource);
+//
+//        String url  = ScheduleUtil.apiUrl + "Class/page";
+//
+//        JsonObject pageJson = new JsonObject();
+//        pageJson.addProperty("pageSize", 120);
+//        pageJson.addProperty("pageIndex", 1);
+//        JsonParser parser = new JsonParser();
+//
+//
+//        String ids = "[\"CLA000000975\",\"CLA000001011\",\"CLA000000997\",\"CLA000000998\",\"CLA000000999\",\"CLA000001000\",\"CLA000001001\",\"CLA000001002\",\"CLA000001003\",\"CLA000001004\",\"CLA000001005\",\"CLA000000972\",\"CLA000000973\",\"CLA000000974\",\"CLA000000989\",\"CLA000000990\",\"CLA000001007\",\"CLA000001008\",\"CLA000001009\",\"CLA000001010\",\"CLA000001012\",\"CLA000000987\",\"CLA000000988\",\"CLA000000991\",\"CLA000000992\",\"CLA000000993\",\"CLA000000994\",\"CLA000000995\",\"CLA000000980\",\"CLA000000981\",\"CLA000000982\",\"CLA000000983\",\"CLA000000996\",\"CLA000000984\",\"CLA000000985\",\"CLA000000986\",\"CLA000001006\",\"CLA000000977\",\"CLA000000978\",\"CLA000000979\",\"CLA000000976\",\"CLA000001017\",\"CLA000001018\",\"CLA000001057\",\"CLA000001043\",\"CLA000001044\",\"CLA000001045\",\"CLA000001046\",\"CLA000001047\",\"CLA000001048\",\"CLA000001049\",\"CLA000001013\",\"CLA000001014\",\"CLA000001015\",\"CLA000001034\",\"CLA000001052\",\"CLA000001053\",\"CLA000001054\",\"CLA000001055\",\"CLA000001056\",\"CLA000001032\",\"CLA000001033\",\"CLA000001035\",\"CLA000001036\",\"CLA000001037\",\"CLA000001038\",\"CLA000001039\",\"CLA000001040\",\"CLA000001041\",\"CLA000001024\",\"CLA000001025\",\"CLA000001026\",\"CLA000001027\",\"CLA000001028\",\"CLA000001042\",\"CLA000001029\",\"CLA000001030\",\"CLA000001031\",\"CLA000001050\",\"CLA000001051\",\"CLA000001019\",\"CLA000001020\",\"CLA000001021\",\"CLA000001022\",\"CLA000001023\",\"CLA000001016\"]";
+//
+//        JsonArray paramJson = parser.parse(ids).getAsJsonArray();
+//
+//        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);
+//    }
+//
+//    @Test
+//    void updateGrade() throws Exception {
+//        String url  = ScheduleUtil.apiUrl + "EduYear/page";
+//        JsonObject paramJson = new JsonObject();
+//        paramJson.addProperty("pageSize", 40);
+//        paramJson.addProperty("pageIndex", 1);
+//
+//        long timestamp = System.currentTimeMillis();
+//        //生成签名
+//        String sign = ScheduleUtil.createSign(timestamp);
+//
+//        String doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
+//        System.out.println(doPost);
+//
+////        JsonParser parser = new JsonParser();
+////        JsonObject jsonObject = parser.parse(doPost).getAsJsonObject();
+////        JsonArray jsonArray = jsonObject.get("data").getAsJsonObject().get("dataList").getAsJsonArray();
+////
+////        url = ScheduleUtil.apiUrl + "eduyear/update";
+////        for (JsonElement jsonElement : jsonArray) {
+////            JsonObject dataOne = jsonElement.getAsJsonObject();
+////            dataOne.addProperty("schoolDistrictId", "48e0a5ae-6d0b-34dd-f31a-3a12feca72d1");
+////
+////            timestamp = System.currentTimeMillis();
+////            //生成签名
+////            sign = ScheduleUtil.createSign(timestamp);
+////            String result = ScheduleUtil.doPost(url, dataOne.toString(), sign, timestamp);
+////
+////            System.out.println(result);
+////        }
+//    }
+//
+//    @Test
+//    void insertGrade() throws Exception {
+//        String url  = ScheduleUtil.apiUrl + "eduyear/create";
+//        JsonObject paramJson = new JsonObject();
+//        paramJson.addProperty("pageSize", 40);
+//        paramJson.addProperty("pageIndex", 1);
+//
+//        long timestamp = System.currentTimeMillis();
+//        //生成签名
+//        String sign = ScheduleUtil.createSign(timestamp);
+//
+//        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+//        Db use = Db.use(datasource);
+//
+//        JsonParser jsonParser = new JsonParser();
+//
+//        Map<String, String> idMap = new HashMap<>();
+//        //删除学生
+//        String sql = "SELECT * FROM jianyue_data WHERE table_name = 'xjr_department'";
+//        List<JianyueData> gradeList = use.query(sql, JianyueData.class);
+//        for (JianyueData jianyueData : gradeList) {
+//            if("48e0a5ae-6d0b-34dd-f31a-3a12feca72d1".equals(jianyueData.getJianyueId())){
+//                continue;
+//            }
+//
+//            sql = "select * from base_grade where delete_mark = 0 and status = 1";
+//            List<BaseGrade> list = use.query(sql, BaseGrade.class);
+//            for (BaseGrade baseGrade : list) {
+//                url = ScheduleUtil.apiUrl + "eduyear/create";
+//                JsonObject dataJson = new JsonObject();
+//                dataJson.addProperty("schoolDistrictId", jianyueData.getJianyueId());
+//                dataJson.addProperty("period", 4);
+//                dataJson.addProperty("startYear", baseGrade.getTitle().replaceAll("年", ""));
+//                dataJson.addProperty("extendId", baseGrade.getId().toString());
+//                dataJson.addProperty("year", 3);
+//
+//                //获取时间戳
+//                timestamp = System.currentTimeMillis();
+//                //生成签名
+//                sign = ScheduleUtil.createSign(timestamp);
+//
+//                String result = ScheduleUtil.doPost(url, dataJson.toString(), sign, timestamp);
+//
+//                JsonObject resultJson = jsonParser.parse(result).getAsJsonObject();
+//
+//                idMap.put(jianyueData.getSourceId() + "_" + baseGrade.getId().toString(), resultJson.get("data").getAsString());
+//            }
+//        }
+//        DataUtil dataUtil = new DataUtil();
+//        dataUtil.insertRecord(use, "base_grade", idMap);
+//    }
+//
+//    @Test
+//    void selectSchoolDistrict() throws Exception {
+//        String url  = ScheduleUtil.apiUrl + "SchoolDistrict/page";
+//        JsonObject paramJson = new JsonObject();
+//        paramJson.addProperty("pageSize", 40);
+//        paramJson.addProperty("pageIndex", 1);
+//
+//        long timestamp = System.currentTimeMillis();
+//        //生成签名
+//        String sign = ScheduleUtil.createSign(timestamp);
+//
+//        String doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
+//        System.out.println(doPost);
+//
+//    }
+//
+//    @Test
+//    void updateClass() throws Exception {
+//        String url  = ScheduleUtil.apiUrl + "EduYear/page";
+//        JsonObject paramJson = new JsonObject();
+//        paramJson.addProperty("pageSize", 40);
+//        paramJson.addProperty("pageIndex", 1);
+//
+//        long timestamp = System.currentTimeMillis();
+//        //生成签名
+//        String sign = ScheduleUtil.createSign(timestamp);
+//
+//        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();
 //
-//        url = ScheduleUtil.apiUrl + "eduyear/update";
-//        for (JsonElement jsonElement : jsonArray) {
-//            JsonObject dataOne = jsonElement.getAsJsonObject();
-//            dataOne.addProperty("schoolDistrictId", "48e0a5ae-6d0b-34dd-f31a-3a12feca72d1");
+//        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+//        Db use = Db.use(datasource);
+//        String sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_grade'";
+//        List<JianyueData> gradeList = use.query(sql, JianyueData.class);
+//        Map<String, String> gradeMap = new HashMap<>();
+//        for (JianyueData jianyueData : gradeList) {
+//            gradeMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+//        }
+//
+//        url  = ScheduleUtil.apiUrl + "class/update";
+//        paramJson = new JsonObject();
+//        paramJson.addProperty("pageSize", 200);
+//        paramJson.addProperty("pageIndex", 1);
+//
+//        timestamp = System.currentTimeMillis();
+//        //生成签名
+//        sign = ScheduleUtil.createSign(timestamp);
+//
+//        doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
+//
+//        sql = "SELECT * FROM base_class WHERE delete_mark = 0 and is_graduate = 1";
+//        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());
+//        }
+//
+//        url  = ScheduleUtil.apiUrl + "class/update";
+//        DataUtil dataUtil = new DataUtil();
+//        String currenSemeter = dataUtil.getCurrenSemeter();
+//
+//        for (BaseClass baseClass : classMap2.values()) {
+//            if(baseClass == null){
+//                continue;
+//            }
+//            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());
+//            paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().toString()));
+//            paramJson.addProperty("serialNo", classMap3.get(baseClass.getId().toString()));
 //
 //            timestamp = System.currentTimeMillis();
 //            //生成签名
 //            sign = ScheduleUtil.createSign(timestamp);
-//            String result = ScheduleUtil.doPost(url, dataOne.toString(), sign, timestamp);
+//            String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
 //
-//            System.out.println(result);
+//            System.out.println(baseClass.getName() + " -> " + result);
 //        }
-    }
-
-    @Test
-    void insertGrade() throws Exception {
-        String url  = ScheduleUtil.apiUrl + "eduyear/create";
-        JsonObject paramJson = new JsonObject();
-        paramJson.addProperty("pageSize", 40);
-        paramJson.addProperty("pageIndex", 1);
-
-        long timestamp = System.currentTimeMillis();
-        //生成签名
-        String sign = ScheduleUtil.createSign(timestamp);
-
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
-        Db use = Db.use(datasource);
-
-        JsonParser jsonParser = new JsonParser();
-
-        Map<String, String> idMap = new HashMap<>();
-        //删除学生
-        String sql = "SELECT * FROM jianyue_data WHERE table_name = 'xjr_department'";
-        List<JianyueData> gradeList = use.query(sql, JianyueData.class);
-        for (JianyueData jianyueData : gradeList) {
-            if("48e0a5ae-6d0b-34dd-f31a-3a12feca72d1".equals(jianyueData.getJianyueId())){
-                continue;
-            }
-
-            sql = "select * from base_grade where delete_mark = 0 and status = 1";
-            List<BaseGrade> list = use.query(sql, BaseGrade.class);
-            for (BaseGrade baseGrade : list) {
-                url = ScheduleUtil.apiUrl + "eduyear/create";
-                JsonObject dataJson = new JsonObject();
-                dataJson.addProperty("schoolDistrictId", jianyueData.getJianyueId());
-                dataJson.addProperty("period", 4);
-                dataJson.addProperty("startYear", baseGrade.getTitle().replaceAll("年", ""));
-                dataJson.addProperty("extendId", baseGrade.getId().toString());
-                dataJson.addProperty("year", 3);
-
-                //获取时间戳
-                timestamp = System.currentTimeMillis();
-                //生成签名
-                sign = ScheduleUtil.createSign(timestamp);
-
-                String result = ScheduleUtil.doPost(url, dataJson.toString(), sign, timestamp);
-
-                JsonObject resultJson = jsonParser.parse(result).getAsJsonObject();
-
-                idMap.put(jianyueData.getSourceId() + "_" + baseGrade.getId().toString(), resultJson.get("data").getAsString());
-            }
-        }
-        DataUtil dataUtil = new DataUtil();
-        dataUtil.insertRecord(use, "base_grade", idMap);
-    }
-
-    @Test
-    void selectSchoolDistrict() throws Exception {
-        String url  = ScheduleUtil.apiUrl + "SchoolDistrict/page";
-        JsonObject paramJson = new JsonObject();
-        paramJson.addProperty("pageSize", 40);
-        paramJson.addProperty("pageIndex", 1);
-
-        long timestamp = System.currentTimeMillis();
-        //生成签名
-        String sign = ScheduleUtil.createSign(timestamp);
-
-        String doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
-        System.out.println(doPost);
-
-    }
-
-    @Test
-    void updateClass() throws Exception {
-        String url  = ScheduleUtil.apiUrl + "EduYear/page";
-        JsonObject paramJson = new JsonObject();
-        paramJson.addProperty("pageSize", 40);
-        paramJson.addProperty("pageIndex", 1);
-
-        long timestamp = System.currentTimeMillis();
-        //生成签名
-        String sign = ScheduleUtil.createSign(timestamp);
-
-        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();
-
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
-        Db use = Db.use(datasource);
-        String sql = "SELECT * FROM jianyue_data WHERE table_name = 'base_grade'";
-        List<JianyueData> gradeList = use.query(sql, JianyueData.class);
-        Map<String, String> gradeMap = new HashMap<>();
-        for (JianyueData jianyueData : gradeList) {
-            gradeMap.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
-        }
-
-        url  = ScheduleUtil.apiUrl + "class/update";
-        paramJson = new JsonObject();
-        paramJson.addProperty("pageSize", 200);
-        paramJson.addProperty("pageIndex", 1);
-
-        timestamp = System.currentTimeMillis();
-        //生成签名
-        sign = ScheduleUtil.createSign(timestamp);
-
-        doPost = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
-
-        sql = "SELECT * FROM base_class WHERE delete_mark = 0 and is_graduate = 1";
-        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());
-        }
-
-        url  = ScheduleUtil.apiUrl + "class/update";
-        DataUtil dataUtil = new DataUtil();
-        String currenSemeter = dataUtil.getCurrenSemeter();
-
-        for (BaseClass baseClass : classMap2.values()) {
-            if(baseClass == null){
-                continue;
-            }
-            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());
-            paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId().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);
-        }
-    }
-
-
-}
+//    }
+//
+//
+//}

+ 45 - 0
src/test/java/com/xjrsoft/xjrsoftboot/StringTest.java

@@ -0,0 +1,45 @@
+package com.xjrsoft.xjrsoftboot;
+
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
+import com.xjrsoft.module.base.entity.BaseClass;
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author dzx
+ * @date 2024/6/14
+ */
+public class StringTest {
+
+    @Test
+    void test2(){
+
+        System.out.println(underscoreToCamel("create_user_id"));
+    }
+
+    public static String underscoreToCamel(String input) {
+        if (input == null) {
+            return input;
+        }
+
+        StringBuilder builder = new StringBuilder();
+        boolean nextUpperCase = false;
+
+        for (char c : input.toCharArray()) {
+            if (c == '_') {
+                nextUpperCase = true;
+            } else {
+                if (nextUpperCase) {
+                    builder.append(Character.toUpperCase(c));
+                    nextUpperCase = false;
+                } else {
+                    builder.append(Character.toLowerCase(c));
+                }
+            }
+        }
+
+        return builder.toString();
+    }
+}