Browse Source

动态sql执行调整

dzx 1 year ago
parent
commit
bee9a3531e

+ 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;
 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.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 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.BaseClass;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.organization.entity.Department;
 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 com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import lombok.var;
 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
  * @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";
         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<>();
         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)";
         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";
         String apiPath = "/api/resource/v1/org/batch/add";
         Map<String, String> idMap = new HashMap<>();
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
         JsonParser jsonParser = new JsonParser();
@@ -49,7 +50,8 @@ public class DataUtil {
         Map<String, String> idCodeMap = new HashMap<>();
         Map<String, String> idCodeMap = new HashMap<>();
         for (Integer level : levelSet) {
         for (Integer level : levelSet) {
             JsonArray dataArray = new JsonArray();
             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())){
                 if(tableData != null && tableData.containsKey(department.getId().toString())){
                     continue;
                     continue;
                 }
                 }
@@ -80,18 +82,18 @@ public class DataUtil {
             }
             }
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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<>();
         Map<String, String> idMap = new HashMap<>();
         //1、查询字典,将走读住读、班级类型先推送过去
         //1、查询字典,将走读住读、班级类型先推送过去
         String sql = "SELECT * FROM xjr_dictionary_detail WHERE delete_mark = 0 AND item_id = 2023000000000000030";
         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";
         String apiPath = "/api/resource/v1/org/batch/add";
         JsonParser jsonParser = new JsonParser();
         JsonParser jsonParser = new JsonParser();
@@ -102,7 +104,8 @@ public class DataUtil {
 
 
         Set<String> stduyStatus = new HashSet<>();
         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())){
             if(tableData != null && tableData.containsKey(dict.getId().toString())){
                 stduyStatus.add(dict.getId().toString());
                 stduyStatus.add(dict.getId().toString());
                 continue;
                 continue;
@@ -131,11 +134,12 @@ public class DataUtil {
         }
         }
         //推送班级类型
         //推送班级类型
         sql = "SELECT * FROM xjr_dictionary_detail WHERE delete_mark = 0 AND item_id = 2023000000000000039";
         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();
         dataArray = new JsonArray();
         Set<String> classTypeSet = new HashSet<>();
         Set<String> classTypeSet = new HashSet<>();
         for (String status : stduyStatus) {
         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())){
                 if(tableData != null && tableData.containsKey(dict.getCode())){
                     classTypeSet.add(dict.getCode());
                     classTypeSet.add(dict.getCode());
                     continue;
                     continue;
@@ -166,11 +170,12 @@ public class DataUtil {
 
 
         //推送年级
         //推送年级
         sql = "SELECT * FROM base_grade WHERE delete_mark = 0 AND STATUS = 1";
         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<>();
         Map<Long, String> gradeNameMap = new HashMap<>();
         dataArray = new JsonArray();
         dataArray = new JsonArray();
         for (String classType : classTypeSet) {
         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("级", ""));
                 gradeNameMap.put(baseGrade.getId(), baseGrade.getName().replaceAll("级", ""));
                 if(tableData != null && tableData.containsKey(baseGrade.getId().toString())){
                 if(tableData != null && tableData.containsKey(baseGrade.getId().toString())){
                     continue;
                     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";
         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();
         dataArray = new JsonArray();
         for (String grade : gradeSet) {
         for (String grade : gradeSet) {
             String[] gradeGroup = grade.split("-");
             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())){
                 if(tableData != null && tableData.containsKey(baseClass.getId().toString())){
                     continue;
                     continue;
                 }
                 }
@@ -243,19 +249,19 @@ public class DataUtil {
         }
         }
 
 
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
 
 
         return 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)," +
         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" +
                 " 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_student_school_roll t2 ON t1.id = t2.user_id" +
                 " INNER JOIN base_class t3 ON t2.class_id = t3.id" +
                 " INNER JOIN base_class t3 ON t2.class_id = t3.id" +
                 " INNER JOIN base_grade t4 ON t3.grade_id = t4.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";
                 " 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<>();
         Map<Integer, String> clientMap = new HashMap<>();
 
 
         String apiPath = "/api/resource/v2/person/single/add";
         String apiPath = "/api/resource/v2/person/single/add";
@@ -266,7 +272,7 @@ public class DataUtil {
         header.put("tagId", "insert_student");
         header.put("tagId", "insert_student");
 
 
         for(int i = 1; i < list.size(); i ++){
         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])){
             if(tableData != null && tableData.containsKey(el[0])){
                 continue;
                 continue;
             }
             }
@@ -295,7 +301,6 @@ public class DataUtil {
             paramJson.addProperty("gender", gender);
             paramJson.addProperty("gender", gender);
 
 
             clientMap.put(i, el[0]);
             clientMap.put(i, el[0]);
-            System.out.println("入参:" + paramJson.toString());
             String result = apiUtil.doPost(apiPath, paramJson.toString(), null, header);
             String result = apiUtil.doPost(apiPath, paramJson.toString(), null, header);
             JsonElement parse = jsonParser.parse(result);
             JsonElement parse = jsonParser.parse(result);
             JsonObject resultJson = parse.getAsJsonObject();
             JsonObject resultJson = parse.getAsJsonObject();
@@ -306,18 +311,18 @@ public class DataUtil {
         }
         }
 
 
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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)," +
         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" +
                 " 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_student_school_roll t2 ON t1.id = t2.user_id" +
                 " INNER JOIN base_class t3 ON t2.class_id = t3.id" +
                 " INNER JOIN base_class t3 ON t2.class_id = t3.id" +
                 " INNER JOIN base_grade t4 ON t3.grade_id = t4.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 ";
                 " 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<>();
         Map<Integer, String> clientMap = new HashMap<>();
 
 
         String apiPath = "/api/resource/v1/person/batch/add";
         String apiPath = "/api/resource/v1/person/batch/add";
@@ -337,7 +342,7 @@ public class DataUtil {
                 if(i >= list.size()){
                 if(i >= list.size()){
                     continue;
                     continue;
                 }
                 }
-                String[] el = list.get(i);
+                String[] el = SqlRunnerAdapterUtil.convertMapToStringArray(list.get(i));
                 if(tableData != null && tableData.containsKey(el[0])){
                 if(tableData != null && tableData.containsKey(el[0])){
                     continue;
                     continue;
                 }
                 }
@@ -382,21 +387,21 @@ public class DataUtil {
         }
         }
 
 
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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" +
         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 " + tableName + " t2 ON t1.id = t2.user_id" +
                 " INNER JOIN xjr_user_dept_relation t3 ON t1.id = t3.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 " +
                 " 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";
                 " 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();
         JsonArray paramArray = new JsonArray();
         Map<Integer, String> clientMap = new HashMap<>();
         Map<Integer, String> clientMap = new HashMap<>();
         for(int i = 0; i < list.size(); i ++){
         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])){
             if(tableData != null && tableData.containsKey(el[0])){
                 continue;
                 continue;
             }
             }
@@ -448,14 +453,14 @@ public class DataUtil {
 
 
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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";
         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 apiPath = "/api/resource/v1/vehicle/batch/add";
         String apiPathTime = "/api/pms/v1/car/charge";
         String apiPathTime = "/api/pms/v1/car/charge";
         Map<Long, String> idMap = new HashMap<>();
         Map<Long, String> idMap = new HashMap<>();
@@ -467,12 +472,13 @@ public class DataUtil {
         tagMap.put("tagId", "frs");
         tagMap.put("tagId", "frs");
 
 
         String existingPlatesSql = "SELECT source_id FROM hikvision_data";
         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();
         JsonArray dataArray = new JsonArray();
         String result = null;
         String result = null;
         int clientId = 1;
         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() + "")){
             if(existingPlates.contains(carMessageApply.getId() + "")){
                 continue;
                 continue;
             }
             }
@@ -504,7 +510,8 @@ public class DataUtil {
         }
         }
         result = apiUtil.doPost(apiPath, dataArray.toString(), tagMap, null);
         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();
             JsonObject paramJsonTime = new JsonObject();
             paramJsonTime.addProperty("parkSyscode", "c69f2a7c48a74216bcab7d65f24d4a09");
             paramJsonTime.addProperty("parkSyscode", "c69f2a7c48a74216bcab7d65f24d4a09");
             paramJsonTime.addProperty("plateNo", carMessageApply.getCarNumber().trim());
             paramJsonTime.addProperty("plateNo", carMessageApply.getCarNumber().trim());
@@ -527,25 +534,23 @@ public class DataUtil {
                     System.err.println("No matching clientId found in clientMap for: " + responseClientId);
                     System.err.println("No matching clientId found in clientMap for: " + responseClientId);
                 }
                 }
             }
             }
-            insertRecord(db, tableName, idMap);
+            insertRecord(tableName, idMap);
         } else {
         } else {
             System.err.println("API call failed: " + resultJson.get("msg").getAsString());
             System.err.println("API call failed: " + resultJson.get("msg").getAsString());
         }
         }
         return idMap;
         return idMap;
     }
     }
 
 
-    void insertRecord(Db db, String tableName, Map<?, String> idsMap) throws SQLException {
+    void insertRecord(String tableName, Map<?, String> idsMap){
         if (idsMap.isEmpty()) {
         if (idsMap.isEmpty()) {
             return;
             return;
         }
         }
-        var sqls = new ArrayList<String>();
         for (var entry : idsMap.entrySet()) {
         for (var entry : idsMap.entrySet()) {
             var sourceId = entry.getKey();
             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() + "')";
                     "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 {
 //    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.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 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.attendance.entity.AttendanceRuleDetails;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import org.slf4j.Logger;
 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) " +
         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 + "', '" +
                 "VALUES(now(), '"  + reservation_school_people_id + "', '" +
                  recordTime + "', '" + facePhoto + "', '" + eventId + "', '" + status +  "',0,1)";
                  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,
     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;
         return attendanceStatus;
     }
     }
 
 
-    public void GetVisitRecord(Db use, FaceImportMapper faceImportMapper) throws SQLException, ParseException {
+    public void GetVisitRecord(FaceImportMapper faceImportMapper) throws SQLException, ParseException {
         ApiUtil apiUtil = new ApiUtil();
         ApiUtil apiUtil = new ApiUtil();
 
 
         AtomicInteger pageNo = new AtomicInteger(1);
         AtomicInteger pageNo = new AtomicInteger(1);
@@ -329,10 +329,10 @@ public class OutInRecordUtil {
             hasMorePages = pageNo.getAndIncrement() < totalCount;
             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) {
         for (JsonElement element : eventsResponse) {
             List<String> visit_id_list = faceImportMapper.GetReservationSchoolIdList();
             List<String> visit_id_list = faceImportMapper.GetReservationSchoolIdList();
@@ -356,7 +356,7 @@ public class OutInRecordUtil {
 
 
             if (visit_id_list.contains(eventId)) continue;
             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;
                     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) {
             } catch (Exception e) {
                 log.info(String.valueOf(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;
 package com.xjrsoft.module.job;
 
 
-import cn.hutool.db.Db;
 import cn.hutool.extra.spring.SpringUtil;
 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.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.util.DataUtil;
 import com.xjrsoft.module.hikvision.util.DataUtil;
 import com.xjrsoft.module.schedule.entity.JianyueData;
 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.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
-import javax.sql.DataSource;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.HashSet;
 import java.util.List;
 import java.util.List;
@@ -41,21 +39,21 @@ public class HikvisionBaseDataTask {
             return;
             return;
         }
         }
         log.info("开始推送海康威视基础数据");
         log.info("开始推送海康威视基础数据");
-        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
         try {
         try {
-            Db use = Db.use(datasource);
             String sql = "SELECT distinct table_name FROM hikvision_data WHERE 1 = 1";
             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<>();
             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());
                 tables.add(jianyueData.getTableName());
             }
             }
             sql = "SELECT * FROM hikvision_data WHERE 0 = 0";
             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<>();
             Map<String, Map<String, String>> dataMap = new HashMap<>();
             for (String table : tables) {
             for (String table : tables) {
                 Map<String, String> tableData = new HashMap<>();
                 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())){
                     if(!table.equals(hikvisiondata.getTableName())){
                         continue;
                         continue;
                     }
                     }
@@ -68,28 +66,28 @@ public class HikvisionBaseDataTask {
             //JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
             //JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
             //推送组织机构
             //推送组织机构
             String tableName = "xjr_department";
             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){
             if(department.isEmpty() && dataMap.get(tableName) != null){
                 department = dataMap.get(tableName);
                 department = dataMap.get(tableName);
             }
             }
 
 
             //推送教职工
             //推送教职工
             tableName = "base_teacher";
             tableName = "base_teacher";
-            dataUtil.insertTeacher(use, tableName, dataMap.get(tableName), department);
+            dataUtil.insertTeacher(tableName, dataMap.get(tableName), department);
 
 
             //推送车辆
             //推送车辆
             String carTableName = "car_message_apply";
             String carTableName = "car_message_apply";
             Map<String, String> baseCar = dataMap.get(carTableName);
             Map<String, String> baseCar = dataMap.get(carTableName);
-            dataUtil.insertCar(use, carTableName, baseCar, faceImportMapper);
+            dataUtil.insertCar(carTableName, baseCar, faceImportMapper);
 
 
             tableName = "base_class";
             tableName = "base_class";
             Map<String, String> baseClass = dataMap.get(tableName);
             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";
             tableName = "base_student";
             Map<String, String> baseStudent = dataMap.get(tableName);
             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("数据推送完成");
             log.info("数据推送完成");
         } catch (Exception e) {
         } catch (Exception e) {

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

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

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

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

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

@@ -1,10 +1,9 @@
 package com.xjrsoft.module.job;
 package com.xjrsoft.module.job;
 
 
-import cn.hutool.db.Db;
 import cn.hutool.extra.spring.SpringUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.google.gson.JsonArray;
 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.CourseReceiveMsg;
 import com.xjrsoft.module.schedule.entity.JianyueData;
 import com.xjrsoft.module.schedule.entity.JianyueData;
 import com.xjrsoft.module.schedule.util.DataUtil;
 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.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
-import javax.sql.DataSource;
 import java.sql.SQLException;
 import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.HashSet;
@@ -34,36 +32,37 @@ public class JianyuekbScheduleTask {
             log.info("非正式环境,无法执行获取课表数据");
             log.info("非正式环境,无法执行获取课表数据");
             return;
             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";
         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();
             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();
             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("开始获取课表数据");
         log.info("开始获取课表数据");
         try {
         try {
             String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
             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<>();
             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());
                 tables.add(jianyueData.getTableName());
             }
             }
             sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
             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<>();
             Map<String, Map<String, String>> dataMap = new HashMap<>();
             for (String table : tables) {
             for (String table : tables) {
                 Map<String, String> tableData = new HashMap<>();
                 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())){
                     if(!table.equals(jianyueData.getTableName())){
                         continue;
                         continue;
                     }
                     }
@@ -93,8 +92,8 @@ public class JianyuekbScheduleTask {
 
 
             //获取课表并存到数据库
             //获取课表并存到数据库
             JsonArray scheduleInfo = dataUtil.getScheduleInfoByGrade(eduYearSerialNo, startDate, endDate);
             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("课表数据获取完成");
             log.info("课表数据获取完成");
         } catch (Exception e) {
         } catch (Exception e) {
             log.error(e.getMessage(), 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;
 package com.xjrsoft.module.schedule.util;
 
 
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.db.Db;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 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.BaseClass;
 import com.xjrsoft.module.base.entity.BaseCourseSubject;
 import com.xjrsoft.module.base.entity.BaseCourseSubject;
 import com.xjrsoft.module.base.entity.BaseGrade;
 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 com.xjrsoft.module.teacher.entity.XjrUser;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 
 
-import java.sql.SQLException;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 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 (" +
         String sql = "SELECT * FROM " + tableName + " WHERE id IN (" +
                 "SELECT DISTINCT org_id FROM base_class WHERE delete_mark = 0 " +
                 "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<>();
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
         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";
             String url  = ScheduleUtil.apiUrl + "SchoolDistrict/Create";
             JsonObject paramJson = new JsonObject();
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("name", department.getName());
             paramJson.addProperty("name", department.getName());
@@ -70,18 +70,19 @@ public class DataUtil {
             idMap.put(department.getId().toString(), resultJson.get("data").getAsString());
             idMap.put(department.getId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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 {
     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";
         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<>();
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
         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";
             String url  = ScheduleUtil.apiUrl + "class/create";
             JsonObject paramJson = new JsonObject();
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
             paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId().toString()));
@@ -113,19 +114,20 @@ public class DataUtil {
             idMap.put(baseClass.getId().toString(), resultJson.get("data").getAsString());
             idMap.put(baseClass.getId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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" +
         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" +
                 " INNER JOIN base_office_build t2 ON t1.office_build_id = t2.id" +
                 " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0";
                 " 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();
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
         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";
             String url  = ScheduleUtil.apiUrl + "classroom/create";
             JsonObject paramJson = new JsonObject();
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("schoolDistrictId", schoolDistrictId);
             paramJson.addProperty("schoolDistrictId", schoolDistrictId);
@@ -156,11 +158,11 @@ public class DataUtil {
             idMap.put(classroom.getExtendId().toString(), resultJson.get("data").getAsString());
             idMap.put(classroom.getExtendId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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," +
         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" +
                 " t2.name AS alias,t2.gender,t2.id AS extendId FROM " + tableName + " t1" +
                 " INNER JOIN xjr_user t2 ON t1.user_id = t2.id" +
                 " 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" +
                 " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0" +
                 " AND t1.student_id IS NOT NULL AND t1.student_id != ''" +
                 " AND t1.student_id IS NOT NULL AND t1.student_id != ''" +
                 " AND t3.archives_status = 'FB2901'";
                 " 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();
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
         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";
             String url  = ScheduleUtil.apiUrl + "student/create";
             JsonObject paramJson = new JsonObject();
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("registerNo", student.getRegisterNo());
             paramJson.addProperty("registerNo", student.getRegisterNo());
@@ -206,22 +209,23 @@ public class DataUtil {
             idMap.put(student.getExtendId().toString(), resultJson.get("data").getAsString());
             idMap.put(student.getExtendId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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" +
         String sql = "select t1.* from xjr_user t1" +
                 " inner join xjr_user_role_relation t2 on t1.id = t2.user_id" +
                 " inner join xjr_user_role_relation t2 on t1.id = t2.user_id" +
                 " inner join " + tableName + " t3 on t1.id = t3.user_id" +
                 " inner join " + tableName + " t3 on t1.id = t3.user_id" +
                 " where t1.delete_mark = 0 and t2.role_id = 2";
                 " 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();
         JsonParser jsonParser = new JsonParser();
 
 
         Map<String, String> idMap = new HashMap<>();
         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";
             String url  = ScheduleUtil.apiUrl + "teacher/create";
             JsonObject paramJson = new JsonObject();
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("jobNumber", user.getUserName());
             paramJson.addProperty("jobNumber", user.getUserName());
@@ -253,19 +257,20 @@ public class DataUtil {
             idMap.put(user.getId().toString(), resultJson.get("data").getAsString());
             idMap.put(user.getId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return 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";
         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<>();
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
         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";
             String url  = ScheduleUtil.apiUrl + "courseclass/Create";
 
 
             JsonObject paramJson = new JsonObject();
             JsonObject paramJson = new JsonObject();
@@ -298,7 +303,7 @@ public class DataUtil {
             idMap.put(courseSubject.getId().toString(), resultJson.get("data").getAsString());
             idMap.put(courseSubject.getId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
 
 
         return 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";
         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<>();
         Map<String, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
         JsonParser jsonParser = new JsonParser();
@@ -317,7 +322,8 @@ public class DataUtil {
         String spring = "春";
         String spring = "春";
         String autumn = "秋";
         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";
             String url  = ScheduleUtil.apiUrl + "semester/Create";
             JsonObject paramJson = new JsonObject();
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("schoolYear", Integer.parseInt(sdfYear.format(semester.getStartDate())));
             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());
             idMap.put(semester.getId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
 
 
         return 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" +
         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)";
                 " 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";
         String url = ScheduleUtil.apiUrl + "courseclass/tag/create";
         JsonParser jsonParser = new JsonParser();
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
         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){
             if(ids != null && ids.get(department.getId().toString()) != null){
                 continue;
                 continue;
             }
             }
@@ -387,26 +394,26 @@ public class DataUtil {
             idMap.put(department.getId().toString(), resultJson.get("data").getAsString());
             idMap.put(department.getId().toString(), resultJson.get("data").getAsString());
         }
         }
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
         return idMap;
     }
     }
 
 
     /**
     /**
      * 插入年级
      * 插入年级
-     * @param db 数据库链接
      * @param tableName 表名字
      * @param tableName 表名字
      * @param schoolDistrictMap 校区id
      * @param schoolDistrictMap 校区id
      * @param ids 数据库id和jianyue的对应关系
      * @param ids 数据库id和jianyue的对应关系
      * @return 返回数据库和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";
         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();
         JsonParser jsonParser = new JsonParser();
         Map<String, String> idMap = new HashMap<>();
         Map<String, String> idMap = new HashMap<>();
         for (String gradeId : schoolDistrictMap.keySet()) {
         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";
                 String url = ScheduleUtil.apiUrl + "eduyear/create";
                 JsonObject paramJson = new JsonObject();
                 JsonObject paramJson = new JsonObject();
                 paramJson.addProperty("schoolDistrictId", schoolDistrictMap.get(gradeId));
                 paramJson.addProperty("schoolDistrictId", schoolDistrictMap.get(gradeId));
@@ -436,7 +443,7 @@ public class DataUtil {
         }
         }
 
 
         //插入记录表
         //插入记录表
-        insertRecord(db, tableName, idMap);
+        insertRecord(tableName, idMap);
         return idMap;
         return idMap;
     }
     }
 
 
@@ -537,16 +544,15 @@ public class DataUtil {
 
 
     /**
     /**
      *
      *
-     * @param db 数据库链接
      * @param data 接口数据
      * @param data 接口数据
      * @param classroomMap 教室对应关系
      * @param classroomMap 教室对应关系
      * @param coureseMap 课程对应关系
      * @param coureseMap 课程对应关系
      * @param semesterMap 学期对应关系
      * @param semesterMap 学期对应关系
      * @param teacherMap 教师对应关系
      * @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, String> week = ScheduleUtil.getWeek();
         Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
         Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
         int count = 1;
         int count = 1;
@@ -596,19 +602,18 @@ public class DataUtil {
                 + "'" + asJsonObject.get("id").getAsString() + "' FROM DUAL"
                 + "'" + asJsonObject.get("id").getAsString() + "' FROM DUAL"
                 + " WHERE NOT EXISTS(SELECT * FROM course_table WHERE jianyue_id = '" + asJsonObject.get("id").getAsString() +"' and status = 1)";
                 + " WHERE NOT EXISTS(SELECT * FROM course_table WHERE jianyue_id = '" + asJsonObject.get("id").getAsString() +"' and status = 1)";
 //            sqls.add(updateSql);
 //            sqls.add(updateSql);
-            sqls.add(sql);
+//            sqls.add(sql);
+            SqlRunnerAdapter.db().insert(sql);
             count ++;
             count ++;
         }
         }
-        db.executeBatch(sqls);
     }
     }
 
 
     /**
     /**
      * 提取课时相关信息
      * 提取课时相关信息
-     * @param db 数据库链接
      * @param data 数据
      * @param data 数据
      *
      *
      */
      */
-    public void insertClassTime(Db db, JsonArray data) throws SQLException {
+    public void insertClassTime(JsonArray data) {
 
 
         Map<String, JsonObject> infoMap = new HashMap<>();
         Map<String, JsonObject> infoMap = new HashMap<>();
         Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
         Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
@@ -622,7 +627,7 @@ public class DataUtil {
             json.add("numberOfDay", asJsonObject.get("numberOfDay"));
             json.add("numberOfDay", asJsonObject.get("numberOfDay"));
             infoMap.put(numberOfDayName, json);
             infoMap.put(numberOfDayName, json);
         }
         }
-        List<String> sqls = new ArrayList<>();
+//        List<String> sqls = new ArrayList<>();
         int count = 1;
         int count = 1;
         for (String number : infoMap.keySet()) {
         for (String number : infoMap.keySet()) {
             String substring1 = number.substring(number.length() - 1);
             String substring1 = number.substring(number.length() - 1);
@@ -642,29 +647,28 @@ public class DataUtil {
                     + " WHERE NOT EXISTS(SELECT * FROM class_time WHERE time_period = "
                     + " WHERE NOT EXISTS(SELECT * FROM class_time WHERE time_period = "
                     + jsonObject.get("tmePeriod").getAsInt()
                     + jsonObject.get("tmePeriod").getAsInt()
                     + " and number = " + substring1 + ")";
                     + " and number = " + substring1 + ")";
-            sqls.add(sql);
+//            sqls.add(sql);
+            SqlRunnerAdapter.db().insert(sql);
             count ++;
             count ++;
         }
         }
-        db.executeBatch(sqls);
     }
     }
 
 
     /**
     /**
      * 插入记录表
      * 插入记录表
-     * @param db 数据库链接工具
      * @param tableName 表名字
      * @param tableName 表名字
      * @param idsMap id对应关系
      * @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()){
         if(idsMap.isEmpty()){
             return;
             return;
         }
         }
-        List<String> sqls = new ArrayList<>();
+//        List<String> sqls = new ArrayList<>();
         for (String sourceId : idsMap.keySet()) {
         for (String sourceId : idsMap.keySet()) {
             String sql = "INSERT INTO jianyue_data(create_date,table_name,source_id,jianyue_id) value(now(),'"
             String sql = "INSERT INTO jianyue_data(create_date,table_name,source_id,jianyue_id) value(now(),'"
                     + tableName + "','" + sourceId + "','" + idsMap.get(sourceId) + "')";
                     + 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.google.gson.JsonParser;
 import com.xjrsoft.XjrSoftApplication;
 import com.xjrsoft.XjrSoftApplication;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.constant.GlobalConstant;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
 import com.xjrsoft.common.utils.DatasourceUtil;
 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.evaluate.controller.EvaluateItemController;
 import com.xjrsoft.module.hikvision.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.util.ApiUtil;
 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.schedule.entity.JianyueData;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
+import com.yomahub.liteflow.util.JsonUtil;
 import lombok.var;
 import lombok.var;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Test;
 import org.junit.runner.RunWith;
 import org.junit.runner.RunWith;
@@ -49,30 +53,59 @@ class HikvisionBaseDataTaskTest {
     OutInRecordUtil outInRecordUtil = new OutInRecordUtil();
     OutInRecordUtil outInRecordUtil = new OutInRecordUtil();
 
 
     @Test
     @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));
 //        Map<String, String> department = dataUtil.insertDepartment(use, tableName, dataMap.get(tableName));
 //        if(department.isEmpty() && dataMap.get(tableName) != null){
 //        if(department.isEmpty() && dataMap.get(tableName) != null){
 //            department = dataMap.get(tableName);
 //            department = dataMap.get(tableName);
@@ -105,7 +138,7 @@ class HikvisionBaseDataTaskTest {
 //        selectCar(use, carTableName);
 //        selectCar(use, carTableName);
 
 
 //        outInRecordUtil.GetVehicleRecord(use,faceImportMapper);
 //        outInRecordUtil.GetVehicleRecord(use,faceImportMapper);
-        outInRecordUtil.GetTeacherAndStudentRecords(use,faceImportMapper);
+//        outInRecordUtil.GetTeacherAndStudentRecords(use,faceImportMapper);
 ////        selecAllPersonById(use);
 ////        selecAllPersonById(use);
 //        selectResource(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();
 //        JsonParser parser = new JsonParser();
 //        JsonObject jsonObject = parser.parse(doPost).getAsJsonObject();
 //        JsonObject jsonObject = parser.parse(doPost).getAsJsonObject();
 //        JsonArray jsonArray = jsonObject.get("data").getAsJsonObject().get("dataList").getAsJsonArray();
 //        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();
 //            timestamp = System.currentTimeMillis();
 //            //生成签名
 //            //生成签名
 //            sign = ScheduleUtil.createSign(timestamp);
 //            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();
+    }
+}