HikvisionBaseDataTaskTest2.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package com.xjrsoft.module.job;
  2. import cn.hutool.extra.spring.SpringUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.xjrsoft.XjrSoftApplication;
  5. import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
  6. import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
  7. import com.xjrsoft.module.hikvision.entity.HikvisionData;
  8. import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
  9. import com.xjrsoft.module.hikvision.util.DataUtil;
  10. import org.junit.jupiter.api.Test;
  11. import org.junit.runner.RunWith;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.boot.test.context.SpringBootTest;
  14. import org.springframework.test.context.junit4.SpringRunner;
  15. import java.util.HashMap;
  16. import java.util.HashSet;
  17. import java.util.List;
  18. import java.util.Map;
  19. import java.util.Set;
  20. import static org.junit.jupiter.api.Assertions.*;
  21. /**
  22. * @author dzx
  23. * @date 2025/5/7
  24. */
  25. @RunWith(SpringRunner.class)
  26. @SpringBootTest(classes = XjrSoftApplication.class)
  27. class HikvisionBaseDataTaskTest2 {
  28. @Autowired
  29. private HikvisionDataMapper hikvisionDataMapper;
  30. @Test
  31. void execute() {
  32. RefreshConnectionPool();
  33. }
  34. public void RefreshConnectionPool() {
  35. String active = SpringUtil.getActiveProfile();
  36. if (!"prod".equals(active)) {
  37. return;
  38. }
  39. try {
  40. String sql = "SELECT distinct table_name FROM hikvision_data WHERE 1 = 1";
  41. List<Map<String, Object>> maps = SqlRunnerAdapter.db().selectList(sql);
  42. Set<String> tables = new HashSet<>();
  43. for (Map<String, Object> map : maps) {
  44. String[] strings = SqlRunnerAdapterUtil.convertMapToStringArray(map);
  45. tables.add(strings[0]);
  46. }
  47. sql = "SELECT * FROM hikvision_data WHERE 0 = 0";
  48. List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql);
  49. Map<String, Map<String, String>> dataMap = new HashMap<>();
  50. for (String table : tables) {
  51. Map<String, String> tableData = new HashMap<>();
  52. for (Map<String, Object> hikvision : list) {
  53. if (!table.equals(hikvision.get("table_name").toString())) {
  54. continue;
  55. }
  56. tableData.put(hikvision.get("source_id").toString(), hikvision.get("hikvision_id").toString());
  57. }
  58. dataMap.put(table, tableData);
  59. }
  60. DataUtil dataUtil = new DataUtil();
  61. //查询根机构
  62. //JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
  63. //推送组织机构
  64. String tableName = "xjr_department";
  65. // Map<String, String> department = new HashMap<>();
  66. // try {
  67. // department = dataUtil.insertDepartment(tableName, dataMap.get(tableName));
  68. // } catch (Exception e) {
  69. // System.out.println(e);
  70. // }
  71. // if (department.isEmpty() && dataMap.get(tableName) != null) {
  72. // department = dataMap.get(tableName);
  73. // }
  74. //
  75. //
  76. // //推送教职工
  77. // tableName = "base_teacher";
  78. // try {
  79. // dataUtil.insertTeacher(tableName, dataMap.get(tableName), department);
  80. // } catch (Exception e) {
  81. // System.out.println(e);
  82. // }
  83. //
  84. // //推送车辆
  85. // String carTableName = "car_message_apply";
  86. // Map<String, String> baseCar = dataMap.get(carTableName);
  87. // try {
  88. // dataUtil.insertCar(carTableName, baseCar, hikvisionDataMapper);
  89. // } catch (Exception e) {
  90. // System.out.println(e);
  91. // }
  92. tableName = "base_class";
  93. Map<String, String> baseClass = dataMap.get(tableName);
  94. try {
  95. dataUtil.insertClass(tableName, baseClass);
  96. } catch (Exception e) {
  97. System.out.println(e);
  98. }
  99. tableName = "base_student";
  100. List<HikvisionData> studentList = hikvisionDataMapper.selectList(
  101. new QueryWrapper<HikvisionData>().lambda().eq(HikvisionData::getTableName, tableName)
  102. );
  103. Map<String, String> baseStudent = dataMap.get(tableName);
  104. dataUtil.insertStudentOne(tableName, baseStudent, studentList);
  105. } catch (Exception e) {
  106. }
  107. }
  108. }