bihuisong преди 3 месеца
ревизия
e56ce11732
променени са 95 файла, в които са добавени 3683 реда и са изтрити 0 реда
  1. 0 0
      .idea/.gitignore
  2. 13 0
      .idea/compiler.xml
  3. 6 0
      .idea/encodings.xml
  4. 30 0
      .idea/jarRepositories.xml
  5. 12 0
      .idea/misc.xml
  6. 124 0
      .idea/uiDesigner.xml
  7. 6 0
      .idea/vcs.xml
  8. 218 0
      .idea/workspace.xml
  9. 150 0
      pom.xml
  10. 39 0
      src/main/java/com/sooka/sponest/monitor/SookaMonitorGpsTankApplication.java
  11. 11 0
      src/main/java/com/sooka/sponest/monitor/base/controller/BaseController.java
  12. 52 0
      src/main/java/com/sooka/sponest/monitor/base/domain/BaseBusinessEntity.java
  13. 13 0
      src/main/java/com/sooka/sponest/monitor/base/domain/DataTestVO.java
  14. 73 0
      src/main/java/com/sooka/sponest/monitor/base/service/impl/BaseService.java
  15. 19 0
      src/main/java/com/sooka/sponest/monitor/base/util/database/DynamicDataSource.java
  16. 41 0
      src/main/java/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceAspect.java
  17. 41 0
      src/main/java/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceSwitcher.java
  18. 4 0
      src/main/java/com/sooka/sponest/monitor/base/util/database/GlobalTransactionalRabbitMQ.java
  19. 136 0
      src/main/java/com/sooka/sponest/monitor/base/util/database/MultipleDataSourceConfig.java
  20. 15 0
      src/main/java/com/sooka/sponest/monitor/base/util/database/MyDataSource.java
  21. 47 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/GasTankDevicesController.java
  22. 36 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/GasTankHistoricalTrajectoryController.java
  23. 36 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/GasTankTravelMileageController.java
  24. 239 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/GasTankDevices.java
  25. 818 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/GasTankHistoricalTrajectory.java
  26. 275 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/GasTankTravelMileage.java
  27. 22 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/dto/GasTankDevicesDTO.java
  28. 34 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankDevicesVo.java
  29. 28 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankHistoricalTrajectoryVo.java
  30. 21 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankDevicesMapper.java
  31. 21 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankHistoricalTrajectoryMapper.java
  32. 17 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankTravelMileageMapper.java
  33. 20 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/IGasTankDevicesService.java
  34. 18 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/IGasTankHistoricalTrajectoryService.java
  35. 18 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/IGasTankTravelMileageService.java
  36. 51 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankDevicesServiceImpl.java
  37. 43 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankHistoricalTrajectoryServiceImpl.java
  38. 95 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankTravelMileageServiceImpl.java
  39. 22 0
      src/main/java/com/sooka/sponest/monitor/remoteapi/EnableSookaFeignClients.java
  40. 4 0
      src/main/java/com/sooka/sponest/monitor/remoteapi/RemoveApiBaseService.java
  41. 32 0
      src/main/java/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory.java
  42. 51 0
      src/main/java/com/sooka/sponest/monitor/remoteapi/service/ModulesServiceNameContants.java
  43. 24 0
      src/main/java/com/sooka/sponest/monitor/remoteapi/service/data/RemoteDataBaseService.java
  44. 78 0
      src/main/java/com/sooka/sponest/monitor/util/BeanUtil.java
  45. 9 0
      src/main/resources/banner.txt
  46. 26 0
      src/main/resources/bootstrap.yml
  47. 72 0
      src/main/resources/mapper/monitor/meiqiguan/GasTankDevicesMapper.xml
  48. 87 0
      src/main/resources/mapper/monitor/meiqiguan/GasTankHistoricalTrajectoryMapper.xml
  49. 18 0
      src/main/resources/mapper/monitor/meiqiguan/GasTankTravelMileageMapper.xml
  50. BIN
      target/center-monitor-quartz.jar
  51. BIN
      target/center-monitor-quartz.jar.original
  52. 9 0
      target/classes/banner.txt
  53. 26 0
      target/classes/bootstrap.yml
  54. BIN
      target/classes/com/sooka/sponest/monitor/SookaMonitorGpsTankApplication.class
  55. BIN
      target/classes/com/sooka/sponest/monitor/base/controller/BaseController.class
  56. BIN
      target/classes/com/sooka/sponest/monitor/base/domain/BaseBusinessEntity.class
  57. BIN
      target/classes/com/sooka/sponest/monitor/base/domain/DataTestVO.class
  58. BIN
      target/classes/com/sooka/sponest/monitor/base/service/impl/BaseService.class
  59. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSource.class
  60. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceAspect.class
  61. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceSwitcher.class
  62. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/GlobalTransactionalRabbitMQ.class
  63. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/MultipleDataSourceConfig.class
  64. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/MyDataSource.class
  65. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/controller/GasTankDevicesController.class
  66. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/controller/GasTankHistoricalTrajectoryController.class
  67. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/controller/GasTankTravelMileageController.class
  68. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/domain/GasTankDevices.class
  69. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/domain/GasTankHistoricalTrajectory.class
  70. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/domain/GasTankTravelMileage.class
  71. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/domain/dto/GasTankDevicesDTO.class
  72. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankDevicesVo.class
  73. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankHistoricalTrajectoryVo.class
  74. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankDevicesMapper.class
  75. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankHistoricalTrajectoryMapper.class
  76. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankTravelMileageMapper.class
  77. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/service/IGasTankDevicesService.class
  78. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/service/IGasTankHistoricalTrajectoryService.class
  79. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/service/IGasTankTravelMileageService.class
  80. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankDevicesServiceImpl.class
  81. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankHistoricalTrajectoryServiceImpl.class
  82. BIN
      target/classes/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankTravelMileageServiceImpl.class
  83. BIN
      target/classes/com/sooka/sponest/monitor/remoteapi/EnableSookaFeignClients.class
  84. BIN
      target/classes/com/sooka/sponest/monitor/remoteapi/RemoveApiBaseService.class
  85. BIN
      target/classes/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory$1.class
  86. BIN
      target/classes/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory.class
  87. BIN
      target/classes/com/sooka/sponest/monitor/remoteapi/service/ModulesServiceNameContants.class
  88. BIN
      target/classes/com/sooka/sponest/monitor/remoteapi/service/data/RemoteDataBaseService.class
  89. BIN
      target/classes/com/sooka/sponest/monitor/util/BeanUtil.class
  90. 72 0
      target/classes/mapper/monitor/meiqiguan/GasTankDevicesMapper.xml
  91. 87 0
      target/classes/mapper/monitor/meiqiguan/GasTankHistoricalTrajectoryMapper.xml
  92. 18 0
      target/classes/mapper/monitor/meiqiguan/GasTankTravelMileageMapper.xml
  93. 5 0
      target/maven-archiver/pom.properties
  94. 104 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  95. 97 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

+ 0 - 0
.idea/.gitignore


+ 13 - 0
.idea/compiler.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="center-monitor-gpsTank" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>

+ 6 - 0
.idea/encodings.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+  </component>
+</project>

+ 30 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven-snapshots" />
+      <option name="name" value="maven-snapshots" />
+      <option name="url" value="http://116.142.80.13:43000/repository/maven-public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="http://116.142.80.13:43000/repository/maven-public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven-releases" />
+      <option name="name" value="maven-releases" />
+      <option name="url" value="http://116.142.80.13:43000/repository/maven-public" />
+    </remote-repository>
+  </component>
+</project>

+ 12 - 0
.idea/misc.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
+</project>

+ 124 - 0
.idea/uiDesigner.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>

+ 218 - 0
.idea/workspace.xml

@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="AutoImportSettings">
+    <option name="autoReloadType" value="SELECTIVE" />
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" id="d37785b1-9312-43af-9c64-e97b10829941" name="更改" comment="修改" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
+  <component name="MavenImportPreferences">
+    <option name="generalSettings">
+      <MavenGeneralSettings>
+        <option name="alwaysUpdateSnapshots" value="true" />
+        <option name="customMavenHome" value="E:/apache-maven-3.6.0" />
+        <option name="localRepository" value="E:\apache-maven-3.6.0\sj_maven" />
+        <option name="mavenHomeTypeForPersistence" value="CUSTOM" />
+        <option name="useMavenConfig" value="false" />
+        <option name="userSettingsFile" value="E:\apache-maven-3.6.0\conf\settings.xml" />
+      </MavenGeneralSettings>
+    </option>
+    <option name="importingSettings">
+      <MavenImportingSettings>
+        <option name="jdkForImporter" value="1.8" />
+        <option name="workspaceImportForciblyTurnedOn" value="true" />
+      </MavenImportingSettings>
+    </option>
+  </component>
+  <component name="MavenRunner">
+    <option name="jreName" value="1.8" />
+    <option name="skipTests" value="true" />
+  </component>
+  <component name="ProjectColorInfo">{
+  &quot;associatedIndex&quot;: 3
+}</component>
+  <component name="ProjectId" id="2rmeWJWPrYdOikgOHWY0ZPZln1C" />
+  <component name="ProjectViewState">
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent">{
+  &quot;keyToString&quot;: {
+    &quot;Maven.center-monitor-quartz [clean].executor&quot;: &quot;Run&quot;,
+    &quot;Maven.center-monitor-quartz [package].executor&quot;: &quot;Run&quot;,
+    &quot;Maven.center-monitor-quartz [validate].executor&quot;: &quot;Run&quot;,
+    &quot;RequestMappingsPanelOrder0&quot;: &quot;0&quot;,
+    &quot;RequestMappingsPanelOrder1&quot;: &quot;1&quot;,
+    &quot;RequestMappingsPanelWidth0&quot;: &quot;75&quot;,
+    &quot;RequestMappingsPanelWidth1&quot;: &quot;75&quot;,
+    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
+    &quot;Spring Boot.SookaMonitorGpsTankApplication.executor&quot;: &quot;Debug&quot;,
+    &quot;Spring Boot.SookaMonitorQuartzApplication.executor&quot;: &quot;Debug&quot;,
+    &quot;git-widget-placeholder&quot;: &quot;master&quot;,
+    &quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
+    &quot;last_opened_file_path&quot;: &quot;D:/new_service/center-monitor-gpsTank&quot;,
+    &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
+    &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
+    &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
+    &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
+    &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
+    &quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
+    &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;,
+    &quot;应用程序.DahuaOperateLogWhiteTask.executor&quot;: &quot;Debug&quot;
+  }
+}</component>
+  <component name="ReactorSettings">
+    <option name="notificationShown" value="true" />
+  </component>
+  <component name="RecentsManager">
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\work_space\center-monitor-quartz\src\main\resources\mapper\monitor\device" />
+    </key>
+    <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="com.sooka.sponest.monitor.device.mapper" />
+      <recent name="com.sooka.sponest.monitor.device.service.impl" />
+      <recent name="com.sooka.sponest.monitor.device.service" />
+      <recent name="com.sooka.sponest.monitor.device.domain" />
+    </key>
+  </component>
+  <component name="RunManager">
+    <configuration name="SookaMonitorGpsTankApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
+      <module name="center-monitor-gpsTank" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.sooka.sponest.monitor.SookaMonitorGpsTankApplication" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+  </component>
+  <component name="SharedIndexes">
+    <attachedChunks>
+      <set>
+        <option value="bundled-jdk-9f38398b9061-18abd8497189-intellij.indexing.shared.core-IU-241.14494.240" />
+        <option value="bundled-js-predefined-1d06a55b98c1-74d2a5396914-JavaScript-IU-241.14494.240" />
+      </set>
+    </attachedChunks>
+  </component>
+  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="默认任务">
+      <changelist id="d37785b1-9312-43af-9c64-e97b10829941" name="更改" comment="" />
+      <created>1737168707426</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1737168707426</updated>
+      <workItem from="1737168708315" duration="6310000" />
+      <workItem from="1737333187032" duration="3000" />
+      <workItem from="1737335872977" duration="100000" />
+      <workItem from="1737340087438" duration="15978000" />
+      <workItem from="1737419302097" duration="8695000" />
+      <workItem from="1737505670761" duration="949000" />
+      <workItem from="1737522697895" duration="2387000" />
+      <workItem from="1737525231578" duration="5560000" />
+      <workItem from="1737592759478" duration="5834000" />
+      <workItem from="1737679854812" duration="5630000" />
+      <workItem from="1738906067807" duration="7695000" />
+      <workItem from="1738975256325" duration="25000" />
+      <workItem from="1739322857859" duration="1792000" />
+      <workItem from="1739406504197" duration="11000" />
+      <workItem from="1739431419529" duration="4000" />
+      <workItem from="1739434633582" duration="5000" />
+      <workItem from="1739434876725" duration="20000" />
+      <workItem from="1739436165631" duration="665000" />
+      <workItem from="1739436954794" duration="6000" />
+      <workItem from="1739844434169" duration="124000" />
+      <workItem from="1739847529211" duration="677000" />
+      <workItem from="1739848771455" duration="308000" />
+      <workItem from="1739849249838" duration="11000" />
+      <workItem from="1739849347064" duration="4000" />
+      <workItem from="1739859429839" duration="20000" />
+      <workItem from="1739863558935" duration="138000" />
+      <workItem from="1739864070163" duration="498000" />
+    </task>
+    <task id="LOCAL-00001" summary="init">
+      <option name="closed" value="true" />
+      <created>1737168764045</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1737168764045</updated>
+    </task>
+    <task id="LOCAL-00002" summary="接收水压传感器数据">
+      <option name="closed" value="true" />
+      <created>1737177629719</created>
+      <option name="number" value="00002" />
+      <option name="presentableId" value="LOCAL-00002" />
+      <option name="project" value="LOCAL" />
+      <updated>1737177629719</updated>
+    </task>
+    <task id="LOCAL-00003" summary="接收水压传感器数据">
+      <option name="closed" value="true" />
+      <created>1737177953684</created>
+      <option name="number" value="00003" />
+      <option name="presentableId" value="LOCAL-00003" />
+      <option name="project" value="LOCAL" />
+      <updated>1737177953684</updated>
+    </task>
+    <task id="LOCAL-00004" summary="接收传感器数据">
+      <option name="closed" value="true" />
+      <created>1737178251575</created>
+      <option name="number" value="00004" />
+      <option name="presentableId" value="LOCAL-00004" />
+      <option name="project" value="LOCAL" />
+      <updated>1737178251575</updated>
+    </task>
+    <task id="LOCAL-00005" summary="接收传感器数据">
+      <option name="closed" value="true" />
+      <created>1737178896554</created>
+      <option name="number" value="00005" />
+      <option name="presentableId" value="LOCAL-00005" />
+      <option name="project" value="LOCAL" />
+      <updated>1737178896554</updated>
+    </task>
+    <task id="LOCAL-00006" summary="大华日志异步">
+      <option name="closed" value="true" />
+      <created>1737524522197</created>
+      <option name="number" value="00006" />
+      <option name="presentableId" value="LOCAL-00006" />
+      <option name="project" value="LOCAL" />
+      <updated>1737524522197</updated>
+    </task>
+    <task id="LOCAL-00007" summary="注释dahuaWhiteOperateLog日志">
+      <option name="closed" value="true" />
+      <created>1737685036425</created>
+      <option name="number" value="00007" />
+      <option name="presentableId" value="LOCAL-00007" />
+      <option name="project" value="LOCAL" />
+      <updated>1737685036425</updated>
+    </task>
+    <task id="LOCAL-00008" summary="修改">
+      <option name="closed" value="true" />
+      <created>1739322879480</created>
+      <option name="number" value="00008" />
+      <option name="presentableId" value="LOCAL-00008" />
+      <option name="project" value="LOCAL" />
+      <updated>1739322879480</updated>
+    </task>
+    <option name="localTasksCounter" value="9" />
+    <servers />
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="3" />
+  </component>
+  <component name="VcsManagerConfiguration">
+    <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="CHECK_NEW_TODO" value="false" />
+    <MESSAGE value="init" />
+    <MESSAGE value="接收水压传感器数据" />
+    <MESSAGE value="接收传感器数据" />
+    <MESSAGE value="大华日志异步" />
+    <MESSAGE value="注释dahuaWhiteOperateLog日志" />
+    <MESSAGE value="修改" />
+    <option name="LAST_COMMIT_MESSAGE" value="修改" />
+  </component>
+</project>

+ 150 - 0
pom.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>ruoyi-modules</artifactId>
+        <groupId>com.ruoyi</groupId>
+        <version>3.4.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.sooka.onest</groupId>
+    <artifactId>center-monitor-gpsTank</artifactId>
+
+
+    <dependencies>
+        <!-- SpringCloud Alibaba Nacos -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+
+        <!-- SpringCloud Alibaba Nacos Config -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+
+        <!-- SpringCloud Alibaba Sentinel -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
+        </dependency>
+
+        <!-- Sentinel Datasource Nacos -->
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-datasource-nacos</artifactId>
+        </dependency>
+
+        <!-- SpringBoot Actuator -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+
+        <!-- Swagger UI -->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>${swagger.fox.version}</version>
+        </dependency>
+
+        <!-- Mysql Connector -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common DataSource -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-datasource</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common DataScope -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-datascope</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common Log -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-log</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common Swagger -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-swagger</artifactId>
+        </dependency>
+
+        <!--海康-->
+        <dependency>
+            <groupId>com.hikvision.ga</groupId>
+            <artifactId>artemis-http-client</artifactId>
+            <version>1.1.3</version>
+        </dependency>
+
+        <!-- ICC鉴权 -->
+        <dependency>
+            <groupId>com.dahuatech.icc</groupId>
+            <artifactId>java-sdk-oauth</artifactId>
+            <version>1.0.9</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java-sdk-core</artifactId>
+                    <groupId>com.dahuatech.icc</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>com.dahuatech.icc</groupId>
+            <artifactId>java-sdk-core</artifactId>
+            <version>1.0.9</version>
+        </dependency>
+
+        <!-- mp4文件操作jar -->
+        <!-- https://mvnrepository.com/artifact/com.googlecode.mp4parser/isoparser -->
+        <dependency>
+            <groupId>com.googlecode.mp4parser</groupId>
+            <artifactId>isoparser</artifactId>
+            <version>1.1.22</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>${project.artifactId}</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.1.5.RELEASE</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <configuration>
+                    <nonFilteredFileExtensions>
+                        <nonFilteredFileExtension>xdb</nonFilteredFileExtension>
+                    </nonFilteredFileExtensions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
+

+ 39 - 0
src/main/java/com/sooka/sponest/monitor/SookaMonitorGpsTankApplication.java

@@ -0,0 +1,39 @@
+package com.sooka.sponest.monitor;
+
+import com.ruoyi.common.security.annotation.EnableCustomConfig;
+import com.ruoyi.common.security.annotation.EnableRyFeignClients;
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.MultipartConfigFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.util.unit.DataSize;
+
+import javax.servlet.MultipartConfigElement;
+
+@EnableAsync
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableRyFeignClients
+@SpringBootApplication
+public class SookaMonitorGpsTankApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(SookaMonitorGpsTankApplication.class, args);
+        System.out.println("(♥◠‿◠)ノ゙  首佳科技 一体化 北斗卫星定位设备车辆轨迹和行程任务 启动成功   ლ(´ڡ`ლ)゙  \n" +
+                "  __________   ____ |  | _______          ____________   ____   ____   ____   _______/  |_\n" +
+                " /  ___/  _ \\ /  _ \\|  |/ /\\__  \\        /  ___/\\____ \\ /  _ \\ /    \\_/ __ \\ /  ___/\\   __\\\n" +
+                " \\___ (  <_> |  <_> )    <  / __ \\_      \\___ \\ |  |_> >  <_> )   |  \\  ___/ \\___ \\  |  |\n" +
+                "/____  >____/ \\____/|__|_ \\(____  /     /____  >|   __/ \\____/|___|  /\\___  >____  > |__|\n" +
+                "     \\/                  \\/     \\/           \\/ |__|               \\/     \\/     \\/\n"
+        );
+    }
+
+    @Bean
+    public MultipartConfigElement multipartConfigElement() {
+        MultipartConfigFactory factory = new MultipartConfigFactory();
+        factory.setMaxFileSize(DataSize.parse("10240000KB"));
+        factory.setMaxRequestSize(DataSize.parse("10240000KB"));
+        return factory.createMultipartConfig();
+    }
+}

+ 11 - 0
src/main/java/com/sooka/sponest/monitor/base/controller/BaseController.java

@@ -0,0 +1,11 @@
+package com.sooka.sponest.monitor.base.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/BaseController")
+public class BaseController {
+
+
+}

+ 52 - 0
src/main/java/com/sooka/sponest/monitor/base/domain/BaseBusinessEntity.java

@@ -0,0 +1,52 @@
+package com.sooka.sponest.monitor.base.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Getter
+@Setter
+public class BaseBusinessEntity {
+
+    /**
+     * 搜索值
+     */
+    String searchValue;
+
+    Long dataDeptId;
+
+    /**
+     * 创建者
+     */
+    Long createBy;
+    /**
+     * 创建者
+     */
+    String remark;
+    /**
+     * 请求参数
+     */
+    Map<String, Object> params = new HashMap();
+    String database_system;
+    String database_event;
+    String database_data;
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime = new Date();
+    /**
+     * 更新者
+     */
+    private Long updateBy;
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+}

+ 13 - 0
src/main/java/com/sooka/sponest/monitor/base/domain/DataTestVO.java

@@ -0,0 +1,13 @@
+package com.sooka.sponest.monitor.base.domain;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class DataTestVO extends BaseBusinessEntity {
+
+    String name;
+
+
+}

+ 73 - 0
src/main/java/com/sooka/sponest/monitor/base/service/impl/BaseService.java

@@ -0,0 +1,73 @@
+package com.sooka.sponest.monitor.base.service.impl;
+
+import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.service.TokenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+@Service
+public class BaseService {
+
+    @Value("${sooka.database.database_system:}")
+    public String database_system;
+    @Value("${sooka.database.database_event:}")
+    public String database_event;
+    @Value("${sooka.database.database_data:}")
+    public String database_data;
+    @Value("${sooka.dahua_video_server.loginIp:}")
+    public String loginIp;
+    @Value("${sooka.dahua_video_server.userName:}")
+    public String userName;
+    @Value("${sooka.dahua_video_server.userPwd:}")
+    public String userPwd;
+    @Value("${sooka.dahua_video_server.loginPort:}")
+    public Integer loginPort;
+    //app
+    @Value("${sooka.dahua_video_server_app.loginIpApp:}")
+    public String loginIpApp;
+    @Value("${sooka.dahua_video_server_app.userNameApp:}")
+    public String userNameApp;
+    @Value("${sooka.dahua_video_server_app.userPwdApp:}")
+    public String userPwdApp;
+    @Value("${sooka.dahua_video_server_app.loginPortApp:}")
+    public Integer loginPortApp;
+    //
+    @Value("${sooka.dahua_dss_server.host:}")
+    public String host;
+    @Value("${sooka.dahua_dss_server.user_name:}")
+    public String user_name;
+    @Value("${sooka.dahua_dss_server.password:}")
+    public String password;
+    @Value("${sooka.dahua_dss_server.client_id:}")
+    public String client_id;
+    @Value("${sooka.dahua_dss_server.client_secret:}")
+    public String client_secret;
+    @Value("${sooka.dahua_dss_server.version:}")
+    public String version;
+    @Value("${sooka.dahua_dss_server.video_download_url_linux:}")
+    public String videoDownloadUrlLinux;
+    @Value("${sooka.dahua_dss_server.video_download_url_win:}")
+    public String videoDownloadUrlWin;
+    @Value("${sooka.haikang_video_server.loginIp:}")
+    public String HkloginIp;
+    @Value("${sooka.haikang_video_server.appkey:}")
+    public String Hkappkey;
+    @Value("${sooka.haikang_video_server.secret:}")
+    public String Hksecret;
+    @Value("${sooka.haikang_video_server.loginPort:}")
+    public String HkloginPort;
+    @Autowired
+    TokenService tokenService;
+    @Autowired
+    private RedisService redisService;
+
+    public void setSookaDataBase(BaseBusinessEntity entity) {
+        entity.setDatabase_system(this.database_system);
+        entity.setDatabase_event(this.database_event);
+        entity.setDatabase_data(this.database_data);
+    }
+
+}
+

+ 19 - 0
src/main/java/com/sooka/sponest/monitor/base/util/database/DynamicDataSource.java

@@ -0,0 +1,19 @@
+package com.sooka.sponest.monitor.base.util.database;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
+
+
+public class DynamicDataSource extends AbstractRoutingDataSource {
+
+    Logger logger = LoggerFactory.getLogger(DynamicDataSource.class);
+
+    @Override
+    protected Object determineCurrentLookupKey() {
+        String datasource = DynamicDataSourceSwitcher.getDataSource();
+        logger.info("------------------当前数据源 {}", DynamicDataSourceSwitcher.getDataSource());
+        return DynamicDataSourceSwitcher.getDataSource();
+    }
+}

+ 41 - 0
src/main/java/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceAspect.java

@@ -0,0 +1,41 @@
+package com.sooka.sponest.monitor.base.util.database;
+
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+@Aspect
+@Component
+@Order(1)
+public class DynamicDataSourceAspect {
+    private Logger logger = LoggerFactory.getLogger(DynamicDataSourceAspect.class);
+
+    /**
+     * 切入点只对@Service注解的类上的@DataSource方法生效
+     *
+     * @param myDataSource
+     */
+    @Pointcut(value = "(@within(org.springframework.stereotype.Service) ||@within(org.springframework.stereotype.Repository)) && @annotation(myDataSource)")
+    public void dynamicDataSourcePointCut(MyDataSource myDataSource) {
+    }
+
+    @Before(value = "dynamicDataSourcePointCut(myDataSource)")
+    public void switchDataSource(MyDataSource myDataSource) {
+        DynamicDataSourceSwitcher.setDataSource(myDataSource.value());
+    }
+
+    /**
+     * 切点执行完后 切换成主数据库
+     *
+     * @param myDataSource
+     */
+    @After(value = "dynamicDataSourcePointCut(myDataSource)")
+    public void after(MyDataSource myDataSource) {
+        DynamicDataSourceSwitcher.cleanDataSource();
+    }
+}

+ 41 - 0
src/main/java/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceSwitcher.java

@@ -0,0 +1,41 @@
+package com.sooka.sponest.monitor.base.util.database;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+public class DynamicDataSourceSwitcher {
+
+    public static final String Master = "master";
+    public static final String dbCenterTtranmanager = "db-center-tranmanager";
+    public static final String dbCenterData = "db-center-data";
+    public static final String dbCenterEvent = "db-center-event";
+    public static final String dbCenterMonitor = "db-center-monitor";
+    public static final String dbCenterTask = "db-center-task";
+    public static final String dbCenterEvaluation = "db-center-evaluation";
+    public static final String dbCenterFire = "db-center-fire";
+    public static final String dbCenterStraw = "db-center-straw";
+    public static final String dbCenterPests = "db-center-pests";
+    public static final String dbCenterComprehensive = "db-center-comprehensive";
+    public static final String dbCenterOnest = "db-center-onest";
+    private static final ThreadLocal<String> contextHolder = new ThreadLocal<>();
+    static Logger logger = LoggerFactory.getLogger(DynamicDataSourceSwitcher.class);
+
+    public static String getDataSource() {
+        if (StringUtils.isEmpty(contextHolder.get())) {
+            setDataSource(Master);
+        }
+        return contextHolder.get();
+    }
+
+    public static void setDataSource(String name) {
+        logger.info("-------- 设置数据源数据源为 :{} ", name);
+        contextHolder.set(name);
+    }
+
+    public static void cleanDataSource() {
+        contextHolder.remove();
+    }
+
+}

+ 4 - 0
src/main/java/com/sooka/sponest/monitor/base/util/database/GlobalTransactionalRabbitMQ.java

@@ -0,0 +1,4 @@
+package com.sooka.sponest.monitor.base.util.database;
+
+public @interface GlobalTransactionalRabbitMQ {
+}

+ 136 - 0
src/main/java/com/sooka/sponest/monitor/base/util/database/MultipleDataSourceConfig.java

@@ -0,0 +1,136 @@
+package com.sooka.sponest.monitor.base.util.database;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+
+import javax.sql.DataSource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Configuration
+public class MultipleDataSourceConfig {
+
+    @Bean("master")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.master")
+    public DataSource createMasterDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbSystemData")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-system")
+    public DataSource createSystemDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterTranmanager")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-tranmanager")
+    public DataSource createTranmanagerDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterData")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-data")
+    public DataSource createDataDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterEvent")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-event")
+    public DataSource createEventDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterMonitor")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-monitor")
+    public DataSource createMonitorDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterTask")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-task")
+    public DataSource createTaskDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterEvaluation")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-evaluation")
+    public DataSource createEvaluationDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterFire")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-fire")
+    public DataSource createFireDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterStraw")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-straw")
+    public DataSource createStrawDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterPests")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-pests")
+    public DataSource createPestsDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterComprehensive")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-comprehensive")
+    public DataSource createComprehensiveDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterOnest")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-onest")
+    public DataSource createOnestDataSource() {
+        return new DruidDataSource();
+    }
+
+    /**
+     * 设置动态数据源,通过@Primary 来确定主DataSource
+     *
+     * @return
+     */
+    @Bean
+    @Primary
+    public DataSource createDynamicDataSource(@Qualifier("master") DataSource master,
+                                              @Qualifier("dbSystemData") DataSource dbSystemData,
+                                              @Qualifier("dbCenterData") DataSource dbCenterData,
+                                              @Qualifier("dbCenterEvent") DataSource dbCenterEvent,
+                                              @Qualifier("dbCenterMonitor") DataSource dbCenterMonitor,
+                                              @Qualifier("dbCenterTask") DataSource dbCenterTask,
+                                              @Qualifier("dbCenterEvaluation") DataSource dbCenterEvaluation,
+                                              @Qualifier("dbCenterFire") DataSource dbCenterFire,
+                                              @Qualifier("dbCenterStraw") DataSource dbCenterStraw,
+                                              @Qualifier("dbCenterPests") DataSource dbCenterPests,
+                                              @Qualifier("dbCenterComprehensive") DataSource dbCenterComprehensive,
+                                              @Qualifier("dbCenterOnest") DataSource dbCenterOnest,
+                                              @Qualifier("dbCenterTranmanager") DataSource dbCenterTranmanager) {
+        DynamicDataSource dynamicDataSource = new DynamicDataSource();
+        //设置默认数据源
+        dynamicDataSource.setDefaultTargetDataSource(master);
+        //配置多数据源
+        Map<Object, Object> map = new HashMap<>();
+        map.put("master", master);
+        map.put("db-system", dbSystemData);
+        map.put("db-center-tranmanager", dbCenterTranmanager);
+        map.put("db-center-data", dbCenterData);
+        map.put("db-center-event", dbCenterEvent);
+        map.put("db-center-monitor", dbCenterMonitor);
+        map.put("db-center-task", dbCenterTask);
+        map.put("db-center-evaluation", dbCenterEvaluation);
+        map.put("db-center-fire", dbCenterFire);
+        map.put("db-center-straw", dbCenterStraw);
+        map.put("db-center-pests", dbCenterPests);
+        map.put("db-center-comprehensive", dbCenterComprehensive);
+        map.put("db-center-onest", dbCenterOnest);
+        dynamicDataSource.setTargetDataSources(map);
+        return dynamicDataSource;
+    }
+}

+ 15 - 0
src/main/java/com/sooka/sponest/monitor/base/util/database/MyDataSource.java

@@ -0,0 +1,15 @@
+package com.sooka.sponest.monitor.base.util.database;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({
+        ElementType.METHOD
+})
+public @interface MyDataSource {
+    String value() default "";
+}

+ 47 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/GasTankDevicesController.java

@@ -0,0 +1,47 @@
+package com.sooka.sponest.monitor.meiqiguan.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankDevices;
+import com.sooka.sponest.monitor.meiqiguan.service.IGasTankDevicesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 煤气罐设备信息Controller
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+@RestController
+@RequestMapping("/gps/devices")
+public class GasTankDevicesController extends BaseController {
+    @Autowired
+    private IGasTankDevicesService gasTankDevicesService;
+
+
+    /**
+     * 获取最新一次行动轨迹时间的设备id列表
+     * @param
+     * @return
+     */
+    @GetMapping("/selectGasTankDevicesNewEndTime")
+    public AjaxResult selectGasTankDevicesNewEndTime() {
+        List<GasTankDevices> list = gasTankDevicesService.selectGasTankDevicesNewEndTime();
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 远程调用新增煤气罐设备信息
+     */
+    @Log(title = "煤气罐设备信息", businessType = BusinessType.INSERT)
+    @PostMapping("/gpsTankInsertBatch")
+    public AjaxResult insertBatch(@RequestBody JSONObject jsonObject) {
+        return gasTankDevicesService.insertBatch(jsonObject);
+    }
+}

+ 36 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/GasTankHistoricalTrajectoryController.java

@@ -0,0 +1,36 @@
+package com.sooka.sponest.monitor.meiqiguan.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.sooka.sponest.monitor.meiqiguan.service.IGasTankHistoricalTrajectoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 历史轨迹Controller
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+@RestController
+@RequestMapping("/gps/trajectory")
+public class GasTankHistoricalTrajectoryController extends BaseController {
+    @Autowired
+    private IGasTankHistoricalTrajectoryService gasTankHistoricalTrajectoryService;
+
+
+    /**
+     * 远程调用新增历史轨迹
+     */
+    @Log(title = "历史轨迹", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/remoteInsertBatch")
+    public AjaxResult remoteInsertBatch(@RequestBody JSONObject obj) {
+        return gasTankHistoricalTrajectoryService.insertBatch(obj);
+    }
+}

+ 36 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/GasTankTravelMileageController.java

@@ -0,0 +1,36 @@
+package com.sooka.sponest.monitor.meiqiguan.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.sooka.sponest.monitor.meiqiguan.service.IGasTankTravelMileageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 历史行程Controller
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+@RestController
+@RequestMapping("/gps/mileage")
+public class GasTankTravelMileageController extends BaseController {
+    @Autowired
+    private IGasTankTravelMileageService gasTankTravelMileageService;
+
+
+    /**
+     * 远程调用新增历史行程
+     */
+    @Log(title = "历史行程", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/remoteInsertBatch")
+    public AjaxResult remoteInsertBatch(@RequestBody JSONObject obj) {
+        return gasTankTravelMileageService.insertBatch(obj);
+    }
+}

+ 239 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/GasTankDevices.java

@@ -0,0 +1,239 @@
+package com.sooka.sponest.monitor.meiqiguan.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * @author ruoyi
+ * @date 2023-12-09
+ */
+@Data
+public class GasTankDevices {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 主键id */
+    private Long id;
+
+    /** 设备序列号,全局唯一 */
+    @Excel(name = "设备序列号,全局唯一")
+    private String deviceid;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String devicename;
+
+    /** 设备类型 */
+    @Excel(name = "设备类型")
+    private Long devicetype;
+
+    /** SIM号码 */
+    @Excel(name = "SIM号码")
+    private String simnum;
+
+    /** 过期时间 */
+    @Excel(name = "过期时间")
+    private Long overduetime;
+
+    /** 到期通知时间 */
+    @Excel(name = "到期通知时间")
+    private Long expirnotifytime;
+
+    /** 哪个用户创建的,方便快速查找分组 */
+    @Excel(name = "哪个用户创建的,方便快速查找分组")
+    private String creater;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remark;
+
+    /** 默认摄像头数量 */
+    @Excel(name = "默认摄像头数量")
+    private Long videochannelcount;
+
+    /** 上一次在线时间 */
+    @Excel(name = "上一次在线时间")
+    private Long lastactivetime;
+
+    /** 是否能正常使用: 1 正常使用, 2 正在体验, 3 已禁用, 4 设备到期, 5 设备过期 */
+    @Excel(name = "是否能正常使用: 1 正常使用, 2 正在体验, 3 已禁用, 4 设备到期, 5 设备过期")
+    private Long isfree;
+
+    /** 0代表不允许二级普通用户编辑, 1代表允许 */
+    @Excel(name = "0代表不允许二级普通用户编辑, 1代表允许")
+    private Long allowedit;
+
+    /** 默认图标, 0代表小车 */
+    @Excel(name = "默认图标, 0代表小车")
+    private Long icon;
+
+    /** 是否关注: 0 代表未关注, 1代表关注 */
+    @Excel(name = "是否关注: 0 代表未关注, 1代表关注")
+    private Long stared;
+
+    /** 登录名称 */
+    @Excel(name = "登录名称")
+    private String loginname;
+
+    private String deptId;
+    private String maxspeed;
+    private String averagespeed;
+    private String endtime;
+
+
+
+
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getDeviceid() {
+        return deviceid;
+    }
+
+    public void setDeviceid(String deviceid) {
+        this.deviceid = deviceid;
+    }
+
+    public String getDevicename() {
+        return devicename;
+    }
+
+    public void setDevicename(String devicename) {
+        this.devicename = devicename;
+    }
+
+    public Long getDevicetype() {
+        return devicetype;
+    }
+
+    public void setDevicetype(Long devicetype) {
+        this.devicetype = devicetype;
+    }
+
+    public String getSimnum() {
+        return simnum;
+    }
+
+    public void setSimnum(String simnum) {
+        this.simnum = simnum;
+    }
+
+    public Long getOverduetime() {
+        return overduetime;
+    }
+
+    public void setOverduetime(Long overduetime) {
+        this.overduetime = overduetime;
+    }
+
+    public Long getExpirnotifytime() {
+        return expirnotifytime;
+    }
+
+    public void setExpirnotifytime(Long expirnotifytime) {
+        this.expirnotifytime = expirnotifytime;
+    }
+
+    public String getCreater() {
+        return creater;
+    }
+
+    public void setCreater(String creater) {
+        this.creater = creater;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public Long getVideochannelcount() {
+        return videochannelcount;
+    }
+
+    public void setVideochannelcount(Long videochannelcount) {
+        this.videochannelcount = videochannelcount;
+    }
+
+    public Long getLastactivetime() {
+        return lastactivetime;
+    }
+
+    public void setLastactivetime(Long lastactivetime) {
+        this.lastactivetime = lastactivetime;
+    }
+
+    public Long getIsfree() {
+        return isfree;
+    }
+
+    public void setIsfree(Long isfree) {
+        this.isfree = isfree;
+    }
+
+    public Long getAllowedit() {
+        return allowedit;
+    }
+
+    public void setAllowedit(Long allowedit) {
+        this.allowedit = allowedit;
+    }
+
+    public Long getIcon() {
+        return icon;
+    }
+
+    public void setIcon(Long icon) {
+        this.icon = icon;
+    }
+
+    public Long getStared() {
+        return stared;
+    }
+
+    public void setStared(Long stared) {
+        this.stared = stared;
+    }
+
+    public String getLoginname() {
+        return loginname;
+    }
+
+    public void setLoginname(String loginname) {
+        this.loginname = loginname;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("deviceid", getDeviceid())
+                .append("devicename", getDevicename())
+                .append("devicetype", getDevicetype())
+                .append("simnum", getSimnum())
+                .append("overduetime", getOverduetime())
+                .append("expirnotifytime", getExpirnotifytime())
+                .append("remark", getRemark())
+                .append("creater", getCreater())
+                .append("videochannelcount", getVideochannelcount())
+                .append("lastactivetime", getLastactivetime())
+                .append("isfree", getIsfree())
+                .append("allowedit", getAllowedit())
+                .append("icon", getIcon())
+                .append("stared", getStared())
+                .append("loginname", getLoginname())
+                .toString();
+    }
+
+}

+ 818 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/GasTankHistoricalTrajectory.java

@@ -0,0 +1,818 @@
+package com.sooka.sponest.monitor.meiqiguan.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * 历史轨迹对象 gas_tank_historical_trajectory
+ *
+ * @author ruoyi
+ * @String 2024-09-09
+ */
+public class GasTankHistoricalTrajectory {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * $column.columnComment
+     */
+    private String deviceid;
+
+    /**
+     * 综合计算后位置更新时间
+     */
+    private String updatetime;
+
+    /**
+     * 对应部标状态值
+     * //0x00 定时上报
+     * //0x01 定距上报
+     * //0x02 拐点上传
+     * //0x03 ACC 状态改变上传
+     * //0x04 从运动变为静止状态后,补传最后一个定位点
+     * //0x05 网络断开重连后,上报之前最后一个有效上传点
+     * //0X06 上报模式:星历更新强制上传 GPS 点
+     * //0X07 上报模式:按键上传定位点
+     * //0X08 上报模式:开机上报位置信息
+     * //0X09 上报模式:未使用
+     * //0X0A 上报模式:设备静止后上报最后的经纬度,但时间更新
+     * //0X0B WIFI 解析经纬度上传包
+     * //0X0C 上报模式:LJDW(立即定位)指令上报
+     * //0X0D 上报模式:设备静止后上报最后的经纬度
+     * //0X0E 上报模式:GPSDUP 上传(下静止状态定时上传)
+     */
+    private String status;
+
+    /**
+     * 速度(米)
+     */
+    private Long speed;
+
+    /**
+     * 计算出来的纬度
+     */
+    private String callat;
+
+    /**
+     * 计算出来的经度
+     */
+    private String callon;
+
+    /**
+     * 高度(米)
+     */
+    private String altitude;
+
+    /**
+     * 方向(0-360)
+     */
+    private String course;
+
+    /**
+     * 总里程米
+     */
+    private Long totaldistance;
+
+    /**
+     * $column.columnComment
+     */
+    private String totalad;
+
+    /**
+     * $column.columnComment
+     */
+    private String totalnotrunningad;
+
+    /**
+     * 油量1
+     */
+    private String ad0;
+
+    /**
+     * 油量2
+     */
+    private String ad1;
+
+    /**
+     * $column.columnComment
+     */
+    private String ad2;
+
+    /**
+     * $column.columnComment
+     */
+    private String ad3;
+
+    /**
+     * $column.columnComment
+     */
+    private String srcad0;
+
+    /**
+     * $column.columnComment
+     */
+    private String srcad1;
+
+    /**
+     * $column.columnComment
+     */
+    private String srcad2;
+
+    /**
+     * $column.columnComment
+     */
+    private String srcad3;
+
+    /**
+     * 里面包含了多少个上报点
+     */
+    private String trackCount;
+
+    /**
+     * 点的开始时间
+     */
+    private String starttime;
+
+    /**
+     * 点的结束时间
+     */
+    private String endtime;
+
+    /**
+     * 第一个点在数据库点主键
+     */
+    private Long trackid;
+
+    /**
+     * 到达服务器时间
+     */
+    private String arrivedtime;
+
+    /**
+     * 定位精度米
+     */
+    private String radius;
+
+    /**
+     * 行车记录仪速度米
+     */
+    private Long recorderspeed;
+
+    /**
+     * 对应部标状态文字描述
+     */
+
+    private String strstatus;
+
+    /**
+     * 对应部标状态英文文字描述
+     */
+
+    private String strstatusen;
+
+    /**
+     * 位置信息来源定位类型 (gps,wifi,cell)
+     */
+
+    private String gotsrc;
+
+    /**
+     * 基站信号强度
+     */
+
+    private String rxlevel;
+
+    /**
+     * 上报类型
+     */
+
+    private String reportmode;
+
+    /**
+     * gps有效数
+     */
+
+    private Long gpsvalidnum;
+
+    /**
+     * $column.columnComment
+     */
+
+    private Long weight;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String reissue;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String address;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String voltage;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String temp1;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String temp2;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String temp3;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String temp4;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String humi1;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String humi2;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String oilrate;
+
+    /**
+     * $column.columnComment
+     */
+
+    private Long startdistance;
+
+    /**
+     * $column.columnComment
+     */
+
+    private Long enddistance;
+
+    /**
+     * $column.columnComment
+     */
+
+    private Long indistance;
+
+    /**
+     * $column.columnComment
+     */
+
+    private Long outdistance;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String durationidle;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String region;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String stralarm;
+
+    /**
+     * $column.columnComment
+     */
+
+    private String stralarmen;
+
+    /**
+     * $column.columnComment
+     */
+    private String messagetype;
+
+    public Map<String, Object> getParams() {
+        return params;
+    }
+
+    public void setParams(Map<String, Object> params) {
+        this.params = params;
+    }
+
+    /** 请求参数 */
+    Map<String, Object> params = new HashMap();
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setUpdatetime(String updatetime) {
+        this.updatetime = updatetime;
+    }
+
+    public String getUpdatetime() {
+        return updatetime;
+    }
+
+    public void setDeviceid(String deviceid) {
+        this.deviceid = deviceid;
+    }
+
+    public String getDeviceid() {
+        return deviceid;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setSpeed(Long speed) {
+        this.speed = speed;
+    }
+
+    public Long getSpeed() {
+        return speed;
+    }
+
+    public void setCallat(String callat) {
+        this.callat = callat;
+    }
+
+    public String getCallat() {
+        return callat;
+    }
+
+    public void setCallon(String callon) {
+        this.callon = callon;
+    }
+
+    public String getCallon() {
+        return callon;
+    }
+
+    public void setAltitude(String altitude) {
+        this.altitude = altitude;
+    }
+
+    public String getAltitude() {
+        return altitude;
+    }
+
+    public void setCourse(String course) {
+        this.course = course;
+    }
+
+    public String getCourse() {
+        return course;
+    }
+
+    public void setTotaldistance(Long totaldistance) {
+        this.totaldistance = totaldistance;
+    }
+
+    public Long getTotaldistance() {
+        return totaldistance;
+    }
+
+    public void setTotalad(String totalad) {
+        this.totalad = totalad;
+    }
+
+    public String getTotalad() {
+        return totalad;
+    }
+
+    public void setTotalnotrunningad(String totalnotrunningad) {
+        this.totalnotrunningad = totalnotrunningad;
+    }
+
+    public String getTotalnotrunningad() {
+        return totalnotrunningad;
+    }
+
+    public void setAd0(String ad0) {
+        this.ad0 = ad0;
+    }
+
+    public String getAd0() {
+        return ad0;
+    }
+
+    public void setAd1(String ad1) {
+        this.ad1 = ad1;
+    }
+
+    public String getAd1() {
+        return ad1;
+    }
+
+    public void setAd2(String ad2) {
+        this.ad2 = ad2;
+    }
+
+    public String getAd2() {
+        return ad2;
+    }
+
+    public void setAd3(String ad3) {
+        this.ad3 = ad3;
+    }
+
+    public String getAd3() {
+        return ad3;
+    }
+
+    public void setSrcad0(String srcad0) {
+        this.srcad0 = srcad0;
+    }
+
+    public String getSrcad0() {
+        return srcad0;
+    }
+
+    public void setSrcad1(String srcad1) {
+        this.srcad1 = srcad1;
+    }
+
+    public String getSrcad1() {
+        return srcad1;
+    }
+
+    public void setSrcad2(String srcad2) {
+        this.srcad2 = srcad2;
+    }
+
+    public String getSrcad2() {
+        return srcad2;
+    }
+
+    public void setSrcad3(String srcad3) {
+        this.srcad3 = srcad3;
+    }
+
+    public String getSrcad3() {
+        return srcad3;
+    }
+
+    public void setTrackCount(String trackCount) {
+        this.trackCount = trackCount;
+    }
+
+    public String getTrackCount() {
+        return trackCount;
+    }
+
+    public void setStarttime(String starttime) {
+        this.starttime = starttime;
+    }
+
+    public String getStarttime() {
+        return starttime;
+    }
+
+    public void setEndtime(String endtime) {
+        this.endtime = endtime;
+    }
+
+    public String getEndtime() {
+        return endtime;
+    }
+
+    public void setTrackid(Long trackid) {
+        this.trackid = trackid;
+    }
+
+    public Long getTrackid() {
+        return trackid;
+    }
+
+    public void setArrivedtime(String arrivedtime) {
+        this.arrivedtime = arrivedtime;
+    }
+
+    public String getArrivedtime() {
+        return arrivedtime;
+    }
+
+    public void setRadius(String radius) {
+        this.radius = radius;
+    }
+
+    public String getRadius() {
+        return radius;
+    }
+
+    public void setRecorderspeed(Long recorderspeed) {
+        this.recorderspeed = recorderspeed;
+    }
+
+    public Long getRecorderspeed() {
+        return recorderspeed;
+    }
+
+    public void setStrstatus(String strstatus) {
+        this.strstatus = strstatus;
+    }
+
+    public String getStrstatus() {
+        return strstatus;
+    }
+
+    public void setStrstatusen(String strstatusen) {
+        this.strstatusen = strstatusen;
+    }
+
+    public String getStrstatusen() {
+        return strstatusen;
+    }
+
+    public void setGotsrc(String gotsrc) {
+        this.gotsrc = gotsrc;
+    }
+
+    public String getGotsrc() {
+        return gotsrc;
+    }
+
+    public void setRxlevel(String rxlevel) {
+        this.rxlevel = rxlevel;
+    }
+
+    public String getRxlevel() {
+        return rxlevel;
+    }
+
+    public void setReportmode(String reportmode) {
+        this.reportmode = reportmode;
+    }
+
+    public String getReportmode() {
+        return reportmode;
+    }
+
+    public void setGpsvalidnum(Long gpsvalidnum) {
+        this.gpsvalidnum = gpsvalidnum;
+    }
+
+    public Long getGpsvalidnum() {
+        return gpsvalidnum;
+    }
+
+    public void setWeight(Long weight) {
+        this.weight = weight;
+    }
+
+    public Long getWeight() {
+        return weight;
+    }
+
+    public void setReissue(String reissue) {
+        this.reissue = reissue;
+    }
+
+    public String getReissue() {
+        return reissue;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setVoltage(String voltage) {
+        this.voltage = voltage;
+    }
+
+    public String getVoltage() {
+        return voltage;
+    }
+
+    public void setTemp1(String temp1) {
+        this.temp1 = temp1;
+    }
+
+    public String getTemp1() {
+        return temp1;
+    }
+
+    public void setTemp2(String temp2) {
+        this.temp2 = temp2;
+    }
+
+    public String getTemp2() {
+        return temp2;
+    }
+
+    public void setTemp3(String temp3) {
+        this.temp3 = temp3;
+    }
+
+    public String getTemp3() {
+        return temp3;
+    }
+
+    public void setTemp4(String temp4) {
+        this.temp4 = temp4;
+    }
+
+    public String getTemp4() {
+        return temp4;
+    }
+
+    public void setHumi1(String humi1) {
+        this.humi1 = humi1;
+    }
+
+    public String getHumi1() {
+        return humi1;
+    }
+
+    public void setHumi2(String humi2) {
+        this.humi2 = humi2;
+    }
+
+    public String getHumi2() {
+        return humi2;
+    }
+
+    public void setOilrate(String oilrate) {
+        this.oilrate = oilrate;
+    }
+
+    public String getOilrate() {
+        return oilrate;
+    }
+
+    public void setStartdistance(Long startdistance) {
+        this.startdistance = startdistance;
+    }
+
+    public Long getStartdistance() {
+        return startdistance;
+    }
+
+    public void setEnddistance(Long enddistance) {
+        this.enddistance = enddistance;
+    }
+
+    public Long getEnddistance() {
+        return enddistance;
+    }
+
+    public void setIndistance(Long indistance) {
+        this.indistance = indistance;
+    }
+
+    public Long getIndistance() {
+        return indistance;
+    }
+
+    public void setOutdistance(Long outdistance) {
+        this.outdistance = outdistance;
+    }
+
+    public Long getOutdistance() {
+        return outdistance;
+    }
+
+    public void setDurationidle(String durationidle) {
+        this.durationidle = durationidle;
+    }
+
+    public String getDurationidle() {
+        return durationidle;
+    }
+
+    public void setRegion(String region) {
+        this.region = region;
+    }
+
+    public String getRegion() {
+        return region;
+    }
+
+    public void setStralarm(String stralarm) {
+        this.stralarm = stralarm;
+    }
+
+    public String getStralarm() {
+        return stralarm;
+    }
+
+    public void setStralarmen(String stralarmen) {
+        this.stralarmen = stralarmen;
+    }
+
+    public String getStralarmen() {
+        return stralarmen;
+    }
+
+    public void setMessagetype(String messagetype) {
+        this.messagetype = messagetype;
+    }
+
+    public String getMessagetype() {
+        return messagetype;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("deviceid", getDeviceid())
+                .append("upDatatime", getUpdatetime())
+                .append("status", getStatus())
+                .append("speed", getSpeed())
+                .append("callat", getCallat())
+                .append("callon", getCallon())
+                .append("altitude", getAltitude())
+                .append("course", getCourse())
+                .append("totaldistance", getTotaldistance())
+                .append("totalad", getTotalad())
+                .append("totalnotrunningad", getTotalnotrunningad())
+                .append("ad0", getAd0())
+                .append("ad1", getAd1())
+                .append("ad2", getAd2())
+                .append("ad3", getAd3())
+                .append("srcad0", getSrcad0())
+                .append("srcad1", getSrcad1())
+                .append("srcad2", getSrcad2())
+                .append("srcad3", getSrcad3())
+                .append("trackCount", getTrackCount())
+                .append("starttime", getStarttime())
+                .append("endtime", getEndtime())
+                .append("trackid", getTrackid())
+                .append("arrivedtime", getArrivedtime())
+                .append("radius", getRadius())
+                .append("recorderspeed", getRecorderspeed())
+                .append("strstatus", getStrstatus())
+                .append("strstatusen", getStrstatusen())
+                .append("gotsrc", getGotsrc())
+                .append("rxlevel", getRxlevel())
+                .append("reportmode", getReportmode())
+                .append("gpsvalidnum", getGpsvalidnum())
+                .append("weight", getWeight())
+                .append("reissue", getReissue())
+                .append("address", getAddress())
+                .append("voltage", getVoltage())
+                .append("temp1", getTemp1())
+                .append("temp2", getTemp2())
+                .append("temp3", getTemp3())
+                .append("temp4", getTemp4())
+                .append("humi1", getHumi1())
+                .append("humi2", getHumi2())
+                .append("oilrate", getOilrate())
+                .append("startdistance", getStartdistance())
+                .append("enddistance", getEnddistance())
+                .append("indistance", getIndistance())
+                .append("outdistance", getOutdistance())
+                .append("durationidle", getDurationidle())
+                .append("region", getRegion())
+                .append("stralarm", getStralarm())
+                .append("stralarmen", getStralarmen())
+                .append("messagetype", getMessagetype())
+                .append("params", getParams())
+                .toString();
+    }
+}

+ 275 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/GasTankTravelMileage.java

@@ -0,0 +1,275 @@
+package com.sooka.sponest.monitor.meiqiguan.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+
+@Data
+public class GasTankTravelMileage {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 设备序列号,全局唯一
+     */
+    private String deviceid;
+
+    /**
+     * 最大速度 米/小时
+     */
+    private Double maxspeed;
+
+    /**
+     * 这一段里程的总里程 米
+     */
+    private Double tripdistance;
+
+    /**
+     * 这一段里程的总时间 毫秒数
+     */
+    private String triptime;
+
+    /**
+     * 开始时间 毫秒数
+     */
+    private String starttime;
+
+    /**
+     * 结束时间 毫秒数
+     */
+    private String endtime;
+
+    /**
+     * 停车时长 毫秒数
+     */
+    private String parktime;
+
+    /**
+     * 平均速度 米/小时
+     */
+    private Double averagespeed;
+
+    /**
+     * 开始纬度
+     */
+    private String slat;
+
+    /**
+     * 开始经度
+     */
+    private String slon;
+
+    /**
+     * 结束纬度
+     */
+    private String elat;
+
+    /**
+     * 结束经度
+     */
+    private String elon;
+
+    /**
+     * 跟踪开始时间
+     */
+    private String trackstarttime;
+
+    /**
+     * 跟踪结束时间
+     */
+    private String trackendtime;
+
+    /**
+     * 油量报告
+     */
+    private String fuelreport;
+
+    /**
+     * 行程地点
+     */
+    private String addressmap;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getDeviceid() {
+        return deviceid;
+    }
+
+    public void setDeviceid(String deviceid) {
+        this.deviceid = deviceid;
+    }
+
+    public Double getMaxspeed() {
+        return maxspeed;
+    }
+
+    public void setMaxspeed(Double maxspeed) {
+        this.maxspeed = maxspeed;
+    }
+
+    public Double getTripdistance() {
+        return tripdistance;
+    }
+
+    public void setTripdistance(Double tripdistance) {
+        this.tripdistance = tripdistance;
+    }
+
+    public String getTriptime() {
+        return triptime;
+    }
+
+    public void setTriptime(String triptime) {
+        this.triptime = triptime;
+    }
+
+    public String getStarttime() {
+        return starttime;
+    }
+
+    public void setStarttime(String starttime) {
+        this.starttime = starttime;
+    }
+
+    public String getEndtime() {
+        return endtime;
+    }
+
+    public void setEndtime(String endtime) {
+        this.endtime = endtime;
+    }
+
+    public String getParktime() {
+        return parktime;
+    }
+
+    public void setParktime(String parktime) {
+        this.parktime = parktime;
+    }
+
+    public Double getAveragespeed() {
+        return averagespeed;
+    }
+
+    public void setAveragespeed(Double averagespeed) {
+        this.averagespeed = averagespeed;
+    }
+
+    public String getSlat() {
+        return slat;
+    }
+
+    public void setSlat(String slat) {
+        this.slat = slat;
+    }
+
+    public String getSlon() {
+        return slon;
+    }
+
+    public void setSlon(String slon) {
+        this.slon = slon;
+    }
+
+    public String getElat() {
+        return elat;
+    }
+
+    public void setElat(String elat) {
+        this.elat = elat;
+    }
+
+    public String getElon() {
+        return elon;
+    }
+
+    public void setElon(String elon) {
+        this.elon = elon;
+    }
+
+    public String getTrackstarttime() {
+        return trackstarttime;
+    }
+
+    public void setTrackstarttime(String trackstarttime) {
+        this.trackstarttime = trackstarttime;
+    }
+
+    public String getTrackendtime() {
+        return trackendtime;
+    }
+
+    public void setTrackendtime(String trackendtime) {
+        this.trackendtime = trackendtime;
+    }
+
+    public String getFuelreport() {
+        return fuelreport;
+    }
+
+    public void setFuelreport(String fuelreport) {
+        this.fuelreport = fuelreport;
+    }
+
+    public String getAddressmap() {
+        return addressmap;
+    }
+
+    public void setAddressmap(String addressmap) {
+        this.addressmap = addressmap;
+    }
+
+    public Date getCreateTime() {
+        return this.createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("deviceid", getDeviceid())
+                .append("maxspeed", getMaxspeed())
+                .append("tripdistance", getTripdistance())
+                .append("triptime", getTriptime())
+                .append("starttime", getStarttime())
+                .append("endtime", getEndtime())
+                .append("parktime", getParktime())
+                .append("averagespeed", getAveragespeed())
+                .append("slat", getSlat())
+                .append("slon", getSlon())
+                .append("elat", getElat())
+                .append("elon", getElon())
+                .append("trackstarttime", getTrackstarttime())
+                .append("trackendtime", getTrackendtime())
+                .append("fuelreport", getFuelreport())
+                .append("addressmap", getAddressmap())
+                .append("createTime", getCreateTime())
+                .toString();
+    }
+
+}

+ 22 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/dto/GasTankDevicesDTO.java

@@ -0,0 +1,22 @@
+package com.sooka.sponest.monitor.meiqiguan.domain.dto;
+
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankDevices;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author ruoyi
+ * @date 2023-12-09
+ */
+@Data
+public class GasTankDevicesDTO extends BaseEntity {
+
+    private int shared;
+
+    private List<GasTankDevices> devices;
+
+    private int groupid;
+
+}

+ 34 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankDevicesVo.java

@@ -0,0 +1,34 @@
+package com.sooka.sponest.monitor.meiqiguan.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+
+@Data
+public class GasTankDevicesVo {
+
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 设备序列号,全局唯一
+     */
+    private String deviceid;
+
+    /**
+     * 设备名称
+     */
+    private String devicename;
+
+    private String maxspeed;
+
+    private String averagespeed;
+
+    private List<GasTankHistoricalTrajectoryVo> trajectory;
+
+
+}

+ 28 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankHistoricalTrajectoryVo.java

@@ -0,0 +1,28 @@
+package com.sooka.sponest.monitor.meiqiguan.domain.vo;
+
+import lombok.Data;
+
+
+/**
+ * 历史轨迹对象 gas_tank_historical_trajectory
+ *
+ * @author ruoyi
+ * @String 2024-09-09
+ */
+@Data
+public class GasTankHistoricalTrajectoryVo {
+
+
+    /**
+     * 计算出来的纬度
+     */
+    private String callat;
+
+    /**
+     * 计算出来的经度
+     */
+    private String callon;
+
+
+
+}

+ 21 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankDevicesMapper.java

@@ -0,0 +1,21 @@
+package com.sooka.sponest.monitor.meiqiguan.mapper;
+
+
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankDevices;
+
+import java.util.List;
+
+/**
+ * 【煤气罐设备信息】Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-12-09
+ */
+public interface GasTankDevicesMapper {
+
+
+    int insertBatch(List<GasTankDevices> list);
+
+
+    List<GasTankDevices> selectGasTankDevicesNewEndTime();
+}

+ 21 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankHistoricalTrajectoryMapper.java

@@ -0,0 +1,21 @@
+package com.sooka.sponest.monitor.meiqiguan.mapper;
+
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankHistoricalTrajectory;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+/**
+ * 历史轨迹Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+public interface GasTankHistoricalTrajectoryMapper {
+
+
+    int insertBatch(@Param("deviceid") String deviceid, @Param("list")List<GasTankHistoricalTrajectory> list);
+
+
+}

+ 17 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankTravelMileageMapper.java

@@ -0,0 +1,17 @@
+package com.sooka.sponest.monitor.meiqiguan.mapper;
+
+
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankTravelMileage;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+public interface GasTankTravelMileageMapper {
+
+
+    int insertBatch(@Param("deviceid") String deviceid, @Param("list")List<GasTankTravelMileage> list);
+
+
+
+}

+ 20 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/IGasTankDevicesService.java

@@ -0,0 +1,20 @@
+package com.sooka.sponest.monitor.meiqiguan.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankDevices;
+
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author ruoyi
+ * @date 2023-12-09
+ */
+public interface IGasTankDevicesService {
+
+    AjaxResult insertBatch(JSONObject jsonObject);
+
+    List<GasTankDevices> selectGasTankDevicesNewEndTime();
+}

+ 18 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/IGasTankHistoricalTrajectoryService.java

@@ -0,0 +1,18 @@
+package com.sooka.sponest.monitor.meiqiguan.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+
+
+/**
+ * 历史轨迹Service接口
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+public interface IGasTankHistoricalTrajectoryService {
+
+
+    AjaxResult insertBatch(JSONObject obj);
+
+}

+ 18 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/IGasTankTravelMileageService.java

@@ -0,0 +1,18 @@
+package com.sooka.sponest.monitor.meiqiguan.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+
+
+/**
+ * 历史行程Service接口
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+public interface IGasTankTravelMileageService {
+
+
+    AjaxResult insertBatch(JSONObject obj);
+
+}

+ 51 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankDevicesServiceImpl.java

@@ -0,0 +1,51 @@
+package com.sooka.sponest.monitor.meiqiguan.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankDevices;
+import com.sooka.sponest.monitor.meiqiguan.domain.dto.GasTankDevicesDTO;
+import com.sooka.sponest.monitor.meiqiguan.mapper.GasTankDevicesMapper;
+import com.sooka.sponest.monitor.meiqiguan.service.IGasTankDevicesService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-12-09
+ */
+@Slf4j
+@Service
+public class GasTankDevicesServiceImpl implements IGasTankDevicesService {
+
+    @Autowired
+    private GasTankDevicesMapper gasTankDevicesMapper;
+
+
+    /**
+     * 批量保存大华云台日志
+     */
+    @Override
+    public AjaxResult insertBatch(JSONObject jsonObject) {
+        List<GasTankDevicesDTO> list = JSON.parseArray(JSON.toJSONString(jsonObject.get("groups")), GasTankDevicesDTO.class);
+        if (CollectionUtils.isNotEmpty(list) && CollectionUtils.isNotEmpty(list.get(0).getDevices())) {
+            GasTankDevicesDTO listAll = list.get(0);
+            List<GasTankDevices> firstDevice = listAll.getDevices();
+            int count = gasTankDevicesMapper.insertBatch(firstDevice);
+        }
+        return AjaxResult.success();
+    }
+
+    @Override
+    public List<GasTankDevices> selectGasTankDevicesNewEndTime() {
+        return gasTankDevicesMapper.selectGasTankDevicesNewEndTime();
+    }
+
+
+}

+ 43 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankHistoricalTrajectoryServiceImpl.java

@@ -0,0 +1,43 @@
+package com.sooka.sponest.monitor.meiqiguan.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankHistoricalTrajectory;
+import com.sooka.sponest.monitor.meiqiguan.mapper.GasTankHistoricalTrajectoryMapper;
+import com.sooka.sponest.monitor.meiqiguan.service.IGasTankHistoricalTrajectoryService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * 历史轨迹Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+@Service
+public class GasTankHistoricalTrajectoryServiceImpl implements IGasTankHistoricalTrajectoryService {
+    @Autowired
+    private GasTankHistoricalTrajectoryMapper gasTankHistoricalTrajectoryMapper;
+
+
+    @Override
+    public AjaxResult insertBatch(JSONObject obj) {
+        if (ObjectUtils.isNotEmpty(obj) && obj.get("records") != null) {
+            List<GasTankHistoricalTrajectory> list = JSON.parseArray(JSON.toJSONString(obj.get("records")),GasTankHistoricalTrajectory.class);
+            if (CollectionUtils.isNotEmpty(list)) {
+                List<List<GasTankHistoricalTrajectory>> partition = Lists.partition(list, 500);
+                partition.forEach(item -> {
+                    gasTankHistoricalTrajectoryMapper.insertBatch(obj.get("deviceid").toString(), item);
+                });
+            }
+        }
+        return AjaxResult.success();
+    }
+}

+ 95 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankTravelMileageServiceImpl.java

@@ -0,0 +1,95 @@
+package com.sooka.sponest.monitor.meiqiguan.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.sooka.sponest.monitor.meiqiguan.domain.GasTankTravelMileage;
+import com.sooka.sponest.monitor.meiqiguan.mapper.GasTankTravelMileageMapper;
+import com.sooka.sponest.monitor.meiqiguan.service.IGasTankTravelMileageService;
+import com.sooka.sponest.monitor.remoteapi.service.data.RemoteDataBaseService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 历史行程Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-09-09
+ */
+@Slf4j
+@Service
+public class GasTankTravelMileageServiceImpl implements IGasTankTravelMileageService {
+    @Autowired
+    private GasTankTravelMileageMapper gasTankTravelMileageMapper;
+    @Resource
+    private RemoteDataBaseService remoteDataBaseService;
+
+    @Override
+    public AjaxResult insertBatch(JSONObject obj) {
+        if (ObjectUtils.isNotEmpty(obj) && obj.get("totaltrips") != null && CollectionUtils.isNotEmpty(JSON.parseArray(JSON.toJSONString(obj.get("totaltrips")), GasTankTravelMileage.class))) {
+            List<GasTankTravelMileage> list = JSON.parseArray(JSON.toJSONString(obj.get("totaltrips")), GasTankTravelMileage.class);
+            if (CollectionUtils.isNotEmpty(list)) {
+                //向数据中心推送数据
+                R dataResult = remoteDataBaseService.sendGpsEvent(obj.toString());
+                if (dataResult.getCode() == 200) {
+                    log.info("北斗卫星定位车辆gps历史轨迹对接,数据推送成功");
+                } else {
+                    log.error("北斗卫星定位车辆gps历史轨迹对接,数据推送失败,原因:{}", dataResult.getMsg());
+                }
+                if (obj.get("addressmap") != null) {
+                    Map<String, String> addressmap = (Map<String, String>) obj.get("addressmap");
+                    if (ObjectUtils.isNotEmpty(addressmap)) {
+                        for (GasTankTravelMileage var : list) {
+                            String str = Float.parseFloat(getStr(var.getSlat())) + "_" + Float.parseFloat(getStr(var.getSlon()));
+                            var.setAddressmap(addressmap.get(str));
+                        }
+                    }
+                }
+                List<List<GasTankTravelMileage>> partition = Lists.partition(list, 500);
+                partition.forEach(item -> {
+                    gasTankTravelMileageMapper.insertBatch(obj.get("deviceid").toString(), item);
+                });
+            }
+        }
+        return AjaxResult.success();
+    }
+
+    /**
+     * @param str 需要截取的数字(保留小数点后5位,没有四舍五入,如果第五位是0,转换成数字,0自动去掉,也就是说第五位是0,则保留四位小数)
+     */
+    public String getStr(String str) {
+        // 判断是整数还是小数,如果是整数,则小数点后用0补位
+        if (!str.contains(".")) {
+            String b = ".";
+            for (int a = 0; a < 5; a++) {
+                b = b + "0";
+            }
+            return str + b;
+        }
+        // 获取小数点的位置
+        int index = str.indexOf(".");
+        String beforeNum = str.substring(0, index + 1);
+        // 获取小数点后面是否有num位,不足用0补位
+        String afterNum = str.replace(beforeNum, "");
+        // 判断小数点后位数是否大于保留的位数
+        if (afterNum.length() <= 5) {
+            for (int a = afterNum.length(); a < 5; a++) {
+                afterNum = afterNum + "0";
+            }
+        } else {
+            afterNum = afterNum.substring(0, 5);
+        }
+        return beforeNum + afterNum;
+    }
+
+}

+ 22 - 0
src/main/java/com/sooka/sponest/monitor/remoteapi/EnableSookaFeignClients.java

@@ -0,0 +1,22 @@
+package com.sooka.sponest.monitor.remoteapi;
+
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+import java.lang.annotation.*;
+
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@EnableFeignClients
+public @interface EnableSookaFeignClients {
+
+    String[] value() default {};
+
+    String[] basePackages() default {"com.ruoyi", "com.sooka" };
+
+    Class<?>[] basePackageClasses() default {};
+
+    Class<?>[] defaultConfiguration() default {};
+
+    Class<?>[] clients() default {};
+}

+ 4 - 0
src/main/java/com/sooka/sponest/monitor/remoteapi/RemoveApiBaseService.java

@@ -0,0 +1,4 @@
+package com.sooka.sponest.monitor.remoteapi;
+
+public interface RemoveApiBaseService {
+}

+ 32 - 0
src/main/java/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory.java

@@ -0,0 +1,32 @@
+package com.sooka.sponest.monitor.remoteapi.fallback.data;
+
+
+import com.ruoyi.common.core.domain.R;
+import com.sooka.sponest.monitor.remoteapi.service.data.RemoteDataBaseService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+@Component
+public class RemoteDataBaseServiceFallbackFactory implements FallbackFactory<RemoteDataBaseService> {
+
+    private static final Logger log = LoggerFactory.getLogger(RemoteDataBaseServiceFallbackFactory.class);
+
+    @Override
+    public RemoteDataBaseService create(Throwable cause) {
+        log.error("数据中心-服务调用失败:{}", cause.getMessage());
+
+        return new RemoteDataBaseService() {
+
+            @Override
+            public R sendGpsEvent(String jsonArray) {
+                return null;
+            }
+
+
+        };
+
+
+    }
+}

+ 51 - 0
src/main/java/com/sooka/sponest/monitor/remoteapi/service/ModulesServiceNameContants.java

@@ -0,0 +1,51 @@
+package com.sooka.sponest.monitor.remoteapi.service;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+
+public class ModulesServiceNameContants extends ServiceNameConstants {
+
+    //综合治理中心中心
+   public static final String CENTER_COMPREHENSIVE = "sooka-sponest-center-comprehensive";
+
+   //数据中心
+   public static final String CENTER_DATA = "sooka-sponest-center-data";
+
+   //测评中心
+   public static final String CENTER_EVALUATION = "sooka-sponest-center-evaluation";
+
+    //事件中心
+    public static final String CENTER_EVENT = "sooka-sponest-center-event";
+
+    //森林防火中心
+    public static final String CENTER_FIRE = "sooka-sponest-center-fire";
+
+    //监控中心
+    public static final String CENTER_MONITOR = "sooka-sponest-center-monitor";
+
+    //一体化平台
+    public static final String CENTER_ONEST = "sooka-sponest-center-onest";
+
+    //病虫灾害中心
+    public static final String CENTER_PESTS = "sooka-sponest-center-pests";
+
+    //秸秆禁烧中心
+    public static final String CENTER_STRAW = "sooka-sponest-center-straw";
+
+    //任务中心
+    public static final String CENTER_TASK = "sooka-sponest-center-task";
+
+    //运管中心
+    public static final String CENTER_TRANMANAGER = "sooka-sponest-center-tranmanager";
+    //文件中心
+    public static final String CENTER_FILE = "sooka-sponest-file";
+    /**
+     * 系统模块的serviceid
+     */
+    public static final String SYSTEM_SERVICE = "sooka-sponest-system";
+
+    public static final String MIDDLE_GROUND_SERVICE = "sooka-middleGround";
+
+    //执法
+    public static final String CENTER_LAWENFORCEMENT = "sooka-sponest-lawenforcement";
+
+}

+ 24 - 0
src/main/java/com/sooka/sponest/monitor/remoteapi/service/data/RemoteDataBaseService.java

@@ -0,0 +1,24 @@
+package com.sooka.sponest.monitor.remoteapi.service.data;
+
+
+import com.ruoyi.common.core.domain.R;
+import com.sooka.sponest.monitor.remoteapi.fallback.data.RemoteDataBaseServiceFallbackFactory;
+import com.sooka.sponest.monitor.remoteapi.service.ModulesServiceNameContants;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+
+@FeignClient(
+        contextId = "RemoteDataBaseService",
+        value = ModulesServiceNameContants.CENTER_DATA,
+        fallbackFactory = RemoteDataBaseServiceFallbackFactory.class
+)
+public interface RemoteDataBaseService {
+
+
+    @PostMapping("/taskHandler/sendGpsEvent")
+    public R sendGpsEvent(@RequestBody String jsonArray);
+
+
+}

+ 78 - 0
src/main/java/com/sooka/sponest/monitor/util/BeanUtil.java

@@ -0,0 +1,78 @@
+package com.sooka.sponest.monitor.util;
+
+import com.dahuatech.hutool.json.JSONNull;
+import com.ruoyi.common.core.utils.StringUtils;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.HashMap;
+import java.util.Map;
+
+public class BeanUtil {
+
+    /**
+     * map转对象
+     *
+     * @param map
+     * @param beanClass
+     * @param <T>
+     * @return
+     * @throws Exception
+     */
+    public static <T> T mapToBean(Map map, Class<T> beanClass) throws Exception {
+        T object = beanClass.newInstance();
+        Field[] fields = object.getClass().getDeclaredFields();
+        for (Field field : fields) {
+            int mod = field.getModifiers();
+            if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
+                continue;
+            }
+            field.setAccessible(true);
+            if (map.containsKey(field.getName())) {
+                field.set(object, map.get(field.getName()) instanceof JSONNull ? StringUtils.EMPTY : map.get(field.getName()));
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 实体类转Map
+     *
+     * @param object
+     * @return
+     */
+    public static Map<String, Object> beanToMap(Object object) {
+        Map<String, Object> map = new HashMap();
+        for (Field field : object.getClass().getDeclaredFields()) {
+            try {
+                boolean flag = field.isAccessible();
+                field.setAccessible(true);
+                Object o = field.get(object);
+                map.put(field.getName(), o);
+                field.setAccessible(flag);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return map;
+    }
+
+    public static <T> T arrayToBean(String[] values, Class<T> beanClass) throws Exception {
+        T object = beanClass.newInstance();
+        Field[] fields = object.getClass().getDeclaredFields();
+        for (int i = 0; i < fields.length; i++) {
+            int mod = fields[i].getModifiers();
+            if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
+                continue;
+            }
+            // 检查 values 数组的长度
+            if (i < values.length) {
+                fields[i].setAccessible(true);
+                fields[i].set(object, values[i].split(" ")[0]); // 只取第一个值
+            }
+//            fields[i].setAccessible(true);
+//            fields[i].set(object, values[i].split(" ")[0]);
+        }
+        return object;
+    }
+}

+ 9 - 0
src/main/resources/banner.txt

@@ -0,0 +1,9 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
+
+  __________   ____ |  | _______          ____________   ____   ____   ____   _______/  |_
+
+ /  ___/  _ \ /  _ \|  |/ /\__  \        /  ___/\____ \ /  _ \ /    \_/ __ \ /  ___/\   __\
+ \___ (  <_> |  <_> )    <  / __ \_      \___ \ |  |_> >  <_> )   |  \  ___/ \___ \  |  |
+/____  >____/ \____/|__|_ \(____  /     /____  >|   __/ \____/|___|  /\___  >____  > |__|
+     \/                  \/     \/           \/ |__|               \/     \/     \/

+ 26 - 0
src/main/resources/bootstrap.yml

@@ -0,0 +1,26 @@
+# Tomcat
+server:
+  port: 3205
+# Spring
+spring:
+  application:
+    # 应用名称
+    name: sooka-sponest-center-monitor-gpsTank
+  profiles:
+    # 环境配置
+    active: dev
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: www.sooka.onest.com:8848
+#         server-addr: 127.0.0.1:8848
+      config:
+        # 配置中心地址
+        server-addr: www.sooka.onest.com:8848
+#        server-addr: 127.0.0.1:8848
+        # 配置文件格式
+        file-extension: yml
+        # 共享配置
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

+ 72 - 0
src/main/resources/mapper/monitor/meiqiguan/GasTankDevicesMapper.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.monitor.meiqiguan.mapper.GasTankDevicesMapper">
+
+    <resultMap type="GasTankDevices" id="GasTankDevicesResult">
+        <result property="id" column="id"/>
+        <result property="deviceid" column="deviceid"/>
+        <result property="devicename" column="devicename"/>
+        <result property="devicetype" column="devicetype"/>
+        <result property="simnum" column="simnum"/>
+        <result property="overduetime" column="overduetime"/>
+        <result property="expirnotifytime" column="expirnotifytime"/>
+        <result property="remark" column="remark"/>
+        <result property="creater" column="creater"/>
+        <result property="videochannelcount" column="videochannelcount"/>
+        <result property="lastactivetime" column="lastactivetime"/>
+        <result property="isfree" column="isfree"/>
+        <result property="allowedit" column="allowedit"/>
+        <result property="icon" column="icon"/>
+        <result property="stared" column="stared"/>
+        <result property="loginname" column="loginname"/>
+        <result property="maxspeed" column="maxspeed"/>
+        <result property="averagespeed" column="averagespeed"/>
+        <result property="endtime" column="endtime"/>
+    </resultMap>
+
+    <select id="selectGasTankDevicesNewEndTime" parameterType="GasTankDevices" resultMap="GasTankDevicesResult">
+        SELECT
+            a.id,
+            a.deviceid,
+            a.devicename,
+            a.devicetype,
+            a.simnum,
+            a.overduetime,
+            a.expirnotifytime,
+            a.remark,
+            a.creater,
+            a.videochannelcount,
+            a.lastactivetime,
+            a.isfree,
+            a.allowedit,
+            a.icon,
+            a.stared,
+            a.loginname,
+            b.endtime
+        FROM
+            centernonitor_t_gas_tank_devices a
+                LEFT JOIN (
+                SELECT
+                    t1.deviceid,
+                    t1.endtime
+                FROM
+                    centernonitor_t_gas_tank_historical_trajectory t1
+                        INNER JOIN ( SELECT deviceid, MAX( updatetime ) AS max_updatetime FROM centernonitor_t_gas_tank_historical_trajectory GROUP BY deviceid ) t2 ON t1.deviceid = t2.deviceid
+                        AND t1.endtime = t2.max_updatetime
+            ) b ON a.deviceid = b.deviceid
+        GROUP BY
+            a.deviceid
+    </select>
+
+    <insert id="insertBatch" parameterType="int">
+        INSERT INTO centernonitor_t_gas_tank_devices (id, deviceid, devicename, devicetype, simnum, overduetime, expirnotifytime,
+        remark, creater, videochannelcount, lastactivetime, isfree, allowedit, icon, stared, loginname) VALUES
+        <foreach collection="list" item="item" separator="," index="index">
+            (#{item.id},#{item.deviceid},#{item.devicename},#{item.devicetype},#{item.simnum},#{item.overduetime},#{item.expirnotifytime},#{item.remark},
+            #{item.creater},#{item.videochannelcount},#{item.lastactivetime},#{item.isfree},#{item.allowedit},#{item.icon},#{item.stared},#{item.loginname})
+        </foreach>
+    </insert>
+
+</mapper>

+ 87 - 0
src/main/resources/mapper/monitor/meiqiguan/GasTankHistoricalTrajectoryMapper.xml

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.monitor.meiqiguan.mapper.GasTankHistoricalTrajectoryMapper">
+
+    <resultMap type="GasTankHistoricalTrajectory" id="GasTankHistoricalTrajectoryResult">
+        <result property="id" column="id"/>
+        <result property="deviceid" column="deviceid"/>
+        <result property="updatetime" column="updatetime"/>
+        <result property="status" column="status"/>
+        <result property="speed" column="speed"/>
+        <result property="callat" column="callat"/>
+        <result property="callon" column="callon"/>
+        <result property="altitude" column="altitude"/>
+        <result property="course" column="course"/>
+        <result property="totaldistance" column="totaldistance"/>
+        <result property="totalad" column="totalad"/>
+        <result property="totalnotrunningad" column="totalnotrunningad"/>
+        <result property="ad0" column="ad0"/>
+        <result property="ad1" column="ad1"/>
+        <result property="ad2" column="ad2"/>
+        <result property="ad3" column="ad3"/>
+        <result property="srcad0" column="srcad0"/>
+        <result property="srcad1" column="srcad1"/>
+        <result property="srcad2" column="srcad2"/>
+        <result property="srcad3" column="srcad3"/>
+        <result property="trackCount" column="track_count"/>
+        <result property="starttime" column="starttime"/>
+        <result property="endtime" column="endtime"/>
+        <result property="trackid" column="trackid"/>
+        <result property="arrivedtime" column="arrivedtime"/>
+        <result property="radius" column="radius"/>
+        <result property="recorderspeed" column="recorderspeed"/>
+        <result property="strstatus" column="strstatus"/>
+        <result property="strstatusen" column="strstatusen"/>
+        <result property="gotsrc" column="gotsrc"/>
+        <result property="rxlevel" column="rxlevel"/>
+        <result property="reportmode" column="reportmode"/>
+        <result property="gpsvalidnum" column="gpsvalidnum"/>
+        <result property="weight" column="weight"/>
+        <result property="reissue" column="reissue"/>
+        <result property="address" column="address"/>
+        <result property="voltage" column="voltage"/>
+        <result property="temp1" column="temp1"/>
+        <result property="temp2" column="temp2"/>
+        <result property="temp3" column="temp3"/>
+        <result property="temp4" column="temp4"/>
+        <result property="humi1" column="humi1"/>
+        <result property="humi2" column="humi2"/>
+        <result property="oilrate" column="oilrate"/>
+        <result property="startdistance" column="startdistance"/>
+        <result property="enddistance" column="enddistance"/>
+        <result property="indistance" column="indistance"/>
+        <result property="outdistance" column="outdistance"/>
+        <result property="durationidle" column="durationidle"/>
+        <result property="region" column="region"/>
+        <result property="stralarm" column="stralarm"/>
+        <result property="stralarmen" column="stralarmen"/>
+        <result property="messagetype" column="messagetype"/>
+    </resultMap>
+
+    <insert id="insertBatch" parameterType="int">
+        insert into centernonitor_t_gas_tank_historical_trajectory (deviceid,updatetime, status, speed, callat, callon, altitude, course,
+        totaldistance, totalad, totalnotrunningad, ad0, ad1, ad2, ad3,
+        srcad0, srcad1, srcad2, srcad3, track_count, starttime, endtime,
+        trackid, arrivedtime, radius, recorderspeed, strstatus, strstatusen,
+        gotsrc, rxlevel, reportmode, gpsvalidnum, weight, reissue, address,
+        voltage, temp1, temp2, temp3, temp4, humi1, humi2, oilrate,
+        startdistance, enddistance, indistance, outdistance, durationidle,
+        region, stralarm, stralarmen, messagetype,create_time)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{deviceid},#{item.updatetime}, #{item.status}, #{item.speed}, #{item.callat}, #{item.callon}, #{item.altitude},
+            #{item.course}, #{item.totaldistance}, #{item.totalad}, #{item.totalnotrunningad}, #{item.ad0},
+            #{item.ad1}, #{item.ad2}, #{item.ad3}, #{item.srcad0}, #{item.srcad1}, #{item.srcad2}, #{item.srcad3},
+            #{item.trackCount}, #{item.starttime}, #{item.endtime}, #{item.trackid}, #{item.arrivedtime},
+            #{item.radius},
+            #{item.recorderspeed}, #{item.strstatus}, #{item.strstatusen}, #{item.gotsrc}, #{item.rxlevel},
+            #{item.reportmode}, #{item.gpsvalidnum}, #{item.weight}, #{item.reissue}, #{item.address}, #{item.voltage},
+            #{item.temp1}, #{item.temp2}, #{item.temp3}, #{item.temp4}, #{item.humi1}, #{item.humi2}, #{item.oilrate},
+            #{item.startdistance}, #{item.enddistance}, #{item.indistance}, #{item.outdistance}, #{item.durationidle},
+            #{item.region}, #{item.stralarm}, #{item.stralarmen}, #{item.messagetype},now())
+        </foreach>
+    </insert>
+
+</mapper>

+ 18 - 0
src/main/resources/mapper/monitor/meiqiguan/GasTankTravelMileageMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.monitor.meiqiguan.mapper.GasTankTravelMileageMapper">
+
+    <insert id="insertBatch" parameterType="int">
+        INSERT INTO centernonitor_t_gas_tank_travel_mileage(deviceid, maxspeed, tripdistance, triptime, starttime,
+        endtime, parktime, averagespeed, slat, slon, elat, elon,
+        trackstarttime, trackendtime, fuelreport, addressmap,create_time) values
+        <foreach collection="list" item="item" separator=",">
+            (#{deviceid}, #{item.maxspeed}, #{item.tripdistance}, #{item.triptime}, #{item.starttime},
+            #{item.endtime}, #{item.parktime}, #{item.averagespeed}, #{item.slat}, #{item.slon}, #{item.elat}, #{item.elon},
+            #{item.trackstarttime}, #{item.trackendtime}, #{item.fuelreport}, #{item.addressmap},now())
+        </foreach>
+    </insert>
+
+</mapper>

BIN
target/center-monitor-quartz.jar


BIN
target/center-monitor-quartz.jar.original


+ 9 - 0
target/classes/banner.txt

@@ -0,0 +1,9 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
+
+  __________   ____ |  | _______          ____________   ____   ____   ____   _______/  |_
+
+ /  ___/  _ \ /  _ \|  |/ /\__  \        /  ___/\____ \ /  _ \ /    \_/ __ \ /  ___/\   __\
+ \___ (  <_> |  <_> )    <  / __ \_      \___ \ |  |_> >  <_> )   |  \  ___/ \___ \  |  |
+/____  >____/ \____/|__|_ \(____  /     /____  >|   __/ \____/|___|  /\___  >____  > |__|
+     \/                  \/     \/           \/ |__|               \/     \/     \/

+ 26 - 0
target/classes/bootstrap.yml

@@ -0,0 +1,26 @@
+# Tomcat
+server:
+  port: 3205
+# Spring
+spring:
+  application:
+    # 应用名称
+    name: sooka-sponest-center-monitor-gpsTank
+  profiles:
+    # 环境配置
+    active: dev
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: www.sooka.onest.com:8848
+#         server-addr: 127.0.0.1:8848
+      config:
+        # 配置中心地址
+        server-addr: www.sooka.onest.com:8848
+#        server-addr: 127.0.0.1:8848
+        # 配置文件格式
+        file-extension: yml
+        # 共享配置
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

BIN
target/classes/com/sooka/sponest/monitor/SookaMonitorGpsTankApplication.class


BIN
target/classes/com/sooka/sponest/monitor/base/controller/BaseController.class


BIN
target/classes/com/sooka/sponest/monitor/base/domain/BaseBusinessEntity.class


BIN
target/classes/com/sooka/sponest/monitor/base/domain/DataTestVO.class


BIN
target/classes/com/sooka/sponest/monitor/base/service/impl/BaseService.class


BIN
target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSource.class


BIN
target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceAspect.class


BIN
target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceSwitcher.class


BIN
target/classes/com/sooka/sponest/monitor/base/util/database/GlobalTransactionalRabbitMQ.class


BIN
target/classes/com/sooka/sponest/monitor/base/util/database/MultipleDataSourceConfig.class


BIN
target/classes/com/sooka/sponest/monitor/base/util/database/MyDataSource.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/controller/GasTankDevicesController.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/controller/GasTankHistoricalTrajectoryController.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/controller/GasTankTravelMileageController.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/domain/GasTankDevices.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/domain/GasTankHistoricalTrajectory.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/domain/GasTankTravelMileage.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/domain/dto/GasTankDevicesDTO.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankDevicesVo.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/domain/vo/GasTankHistoricalTrajectoryVo.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankDevicesMapper.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankHistoricalTrajectoryMapper.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/mapper/GasTankTravelMileageMapper.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/service/IGasTankDevicesService.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/service/IGasTankHistoricalTrajectoryService.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/service/IGasTankTravelMileageService.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankDevicesServiceImpl.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankHistoricalTrajectoryServiceImpl.class


BIN
target/classes/com/sooka/sponest/monitor/meiqiguan/service/impl/GasTankTravelMileageServiceImpl.class


BIN
target/classes/com/sooka/sponest/monitor/remoteapi/EnableSookaFeignClients.class


BIN
target/classes/com/sooka/sponest/monitor/remoteapi/RemoveApiBaseService.class


BIN
target/classes/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory$1.class


BIN
target/classes/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory.class


BIN
target/classes/com/sooka/sponest/monitor/remoteapi/service/ModulesServiceNameContants.class


BIN
target/classes/com/sooka/sponest/monitor/remoteapi/service/data/RemoteDataBaseService.class


BIN
target/classes/com/sooka/sponest/monitor/util/BeanUtil.class


+ 72 - 0
target/classes/mapper/monitor/meiqiguan/GasTankDevicesMapper.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.monitor.meiqiguan.mapper.GasTankDevicesMapper">
+
+    <resultMap type="GasTankDevices" id="GasTankDevicesResult">
+        <result property="id" column="id"/>
+        <result property="deviceid" column="deviceid"/>
+        <result property="devicename" column="devicename"/>
+        <result property="devicetype" column="devicetype"/>
+        <result property="simnum" column="simnum"/>
+        <result property="overduetime" column="overduetime"/>
+        <result property="expirnotifytime" column="expirnotifytime"/>
+        <result property="remark" column="remark"/>
+        <result property="creater" column="creater"/>
+        <result property="videochannelcount" column="videochannelcount"/>
+        <result property="lastactivetime" column="lastactivetime"/>
+        <result property="isfree" column="isfree"/>
+        <result property="allowedit" column="allowedit"/>
+        <result property="icon" column="icon"/>
+        <result property="stared" column="stared"/>
+        <result property="loginname" column="loginname"/>
+        <result property="maxspeed" column="maxspeed"/>
+        <result property="averagespeed" column="averagespeed"/>
+        <result property="endtime" column="endtime"/>
+    </resultMap>
+
+    <select id="selectGasTankDevicesNewEndTime" parameterType="GasTankDevices" resultMap="GasTankDevicesResult">
+        SELECT
+            a.id,
+            a.deviceid,
+            a.devicename,
+            a.devicetype,
+            a.simnum,
+            a.overduetime,
+            a.expirnotifytime,
+            a.remark,
+            a.creater,
+            a.videochannelcount,
+            a.lastactivetime,
+            a.isfree,
+            a.allowedit,
+            a.icon,
+            a.stared,
+            a.loginname,
+            b.endtime
+        FROM
+            centernonitor_t_gas_tank_devices a
+                LEFT JOIN (
+                SELECT
+                    t1.deviceid,
+                    t1.endtime
+                FROM
+                    centernonitor_t_gas_tank_historical_trajectory t1
+                        INNER JOIN ( SELECT deviceid, MAX( updatetime ) AS max_updatetime FROM centernonitor_t_gas_tank_historical_trajectory GROUP BY deviceid ) t2 ON t1.deviceid = t2.deviceid
+                        AND t1.endtime = t2.max_updatetime
+            ) b ON a.deviceid = b.deviceid
+        GROUP BY
+            a.deviceid
+    </select>
+
+    <insert id="insertBatch" parameterType="int">
+        INSERT INTO centernonitor_t_gas_tank_devices (id, deviceid, devicename, devicetype, simnum, overduetime, expirnotifytime,
+        remark, creater, videochannelcount, lastactivetime, isfree, allowedit, icon, stared, loginname) VALUES
+        <foreach collection="list" item="item" separator="," index="index">
+            (#{item.id},#{item.deviceid},#{item.devicename},#{item.devicetype},#{item.simnum},#{item.overduetime},#{item.expirnotifytime},#{item.remark},
+            #{item.creater},#{item.videochannelcount},#{item.lastactivetime},#{item.isfree},#{item.allowedit},#{item.icon},#{item.stared},#{item.loginname})
+        </foreach>
+    </insert>
+
+</mapper>

+ 87 - 0
target/classes/mapper/monitor/meiqiguan/GasTankHistoricalTrajectoryMapper.xml

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.monitor.meiqiguan.mapper.GasTankHistoricalTrajectoryMapper">
+
+    <resultMap type="GasTankHistoricalTrajectory" id="GasTankHistoricalTrajectoryResult">
+        <result property="id" column="id"/>
+        <result property="deviceid" column="deviceid"/>
+        <result property="updatetime" column="updatetime"/>
+        <result property="status" column="status"/>
+        <result property="speed" column="speed"/>
+        <result property="callat" column="callat"/>
+        <result property="callon" column="callon"/>
+        <result property="altitude" column="altitude"/>
+        <result property="course" column="course"/>
+        <result property="totaldistance" column="totaldistance"/>
+        <result property="totalad" column="totalad"/>
+        <result property="totalnotrunningad" column="totalnotrunningad"/>
+        <result property="ad0" column="ad0"/>
+        <result property="ad1" column="ad1"/>
+        <result property="ad2" column="ad2"/>
+        <result property="ad3" column="ad3"/>
+        <result property="srcad0" column="srcad0"/>
+        <result property="srcad1" column="srcad1"/>
+        <result property="srcad2" column="srcad2"/>
+        <result property="srcad3" column="srcad3"/>
+        <result property="trackCount" column="track_count"/>
+        <result property="starttime" column="starttime"/>
+        <result property="endtime" column="endtime"/>
+        <result property="trackid" column="trackid"/>
+        <result property="arrivedtime" column="arrivedtime"/>
+        <result property="radius" column="radius"/>
+        <result property="recorderspeed" column="recorderspeed"/>
+        <result property="strstatus" column="strstatus"/>
+        <result property="strstatusen" column="strstatusen"/>
+        <result property="gotsrc" column="gotsrc"/>
+        <result property="rxlevel" column="rxlevel"/>
+        <result property="reportmode" column="reportmode"/>
+        <result property="gpsvalidnum" column="gpsvalidnum"/>
+        <result property="weight" column="weight"/>
+        <result property="reissue" column="reissue"/>
+        <result property="address" column="address"/>
+        <result property="voltage" column="voltage"/>
+        <result property="temp1" column="temp1"/>
+        <result property="temp2" column="temp2"/>
+        <result property="temp3" column="temp3"/>
+        <result property="temp4" column="temp4"/>
+        <result property="humi1" column="humi1"/>
+        <result property="humi2" column="humi2"/>
+        <result property="oilrate" column="oilrate"/>
+        <result property="startdistance" column="startdistance"/>
+        <result property="enddistance" column="enddistance"/>
+        <result property="indistance" column="indistance"/>
+        <result property="outdistance" column="outdistance"/>
+        <result property="durationidle" column="durationidle"/>
+        <result property="region" column="region"/>
+        <result property="stralarm" column="stralarm"/>
+        <result property="stralarmen" column="stralarmen"/>
+        <result property="messagetype" column="messagetype"/>
+    </resultMap>
+
+    <insert id="insertBatch" parameterType="int">
+        insert into centernonitor_t_gas_tank_historical_trajectory (deviceid,updatetime, status, speed, callat, callon, altitude, course,
+        totaldistance, totalad, totalnotrunningad, ad0, ad1, ad2, ad3,
+        srcad0, srcad1, srcad2, srcad3, track_count, starttime, endtime,
+        trackid, arrivedtime, radius, recorderspeed, strstatus, strstatusen,
+        gotsrc, rxlevel, reportmode, gpsvalidnum, weight, reissue, address,
+        voltage, temp1, temp2, temp3, temp4, humi1, humi2, oilrate,
+        startdistance, enddistance, indistance, outdistance, durationidle,
+        region, stralarm, stralarmen, messagetype,create_time)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{deviceid},#{item.updatetime}, #{item.status}, #{item.speed}, #{item.callat}, #{item.callon}, #{item.altitude},
+            #{item.course}, #{item.totaldistance}, #{item.totalad}, #{item.totalnotrunningad}, #{item.ad0},
+            #{item.ad1}, #{item.ad2}, #{item.ad3}, #{item.srcad0}, #{item.srcad1}, #{item.srcad2}, #{item.srcad3},
+            #{item.trackCount}, #{item.starttime}, #{item.endtime}, #{item.trackid}, #{item.arrivedtime},
+            #{item.radius},
+            #{item.recorderspeed}, #{item.strstatus}, #{item.strstatusen}, #{item.gotsrc}, #{item.rxlevel},
+            #{item.reportmode}, #{item.gpsvalidnum}, #{item.weight}, #{item.reissue}, #{item.address}, #{item.voltage},
+            #{item.temp1}, #{item.temp2}, #{item.temp3}, #{item.temp4}, #{item.humi1}, #{item.humi2}, #{item.oilrate},
+            #{item.startdistance}, #{item.enddistance}, #{item.indistance}, #{item.outdistance}, #{item.durationidle},
+            #{item.region}, #{item.stralarm}, #{item.stralarmen}, #{item.messagetype},now())
+        </foreach>
+    </insert>
+
+</mapper>

+ 18 - 0
target/classes/mapper/monitor/meiqiguan/GasTankTravelMileageMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.monitor.meiqiguan.mapper.GasTankTravelMileageMapper">
+
+    <insert id="insertBatch" parameterType="int">
+        INSERT INTO centernonitor_t_gas_tank_travel_mileage(deviceid, maxspeed, tripdistance, triptime, starttime,
+        endtime, parktime, averagespeed, slat, slon, elat, elon,
+        trackstarttime, trackendtime, fuelreport, addressmap,create_time) values
+        <foreach collection="list" item="item" separator=",">
+            (#{deviceid}, #{item.maxspeed}, #{item.tripdistance}, #{item.triptime}, #{item.starttime},
+            #{item.endtime}, #{item.parktime}, #{item.averagespeed}, #{item.slat}, #{item.slon}, #{item.elat}, #{item.elon},
+            #{item.trackstarttime}, #{item.trackendtime}, #{item.fuelreport}, #{item.addressmap},now())
+        </foreach>
+    </insert>
+
+</mapper>

+ 5 - 0
target/maven-archiver/pom.properties

@@ -0,0 +1,5 @@
+#Generated by Maven
+#Wed Feb 12 09:15:01 CST 2025
+version=3.4.0
+groupId=com.sooka.onest
+artifactId=center-monitor-quartz

+ 104 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -0,0 +1,104 @@
+com\sooka\sponest\monitor\camera\domain\IndexLineChartsVo.class
+com\sooka\sponest\monitor\meiqiguan\domain\GasTankDevices.class
+com\sooka\sponest\monitor\dahua\service\ICenternonitorTDahuaOperateLogService.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdAtmosphere.class
+com\sooka\sponest\monitor\meiqiguan\controller\GasTankDevicesController.class
+com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceThresholdMapper.class
+com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceWaterQualityThresholdServiceImpl.class
+com\sooka\sponest\monitor\base\util\database\MultipleDataSourceConfig.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataWaterQuality.class
+com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceWaterQualityThresholdService.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdSoilMoisture.class
+com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceServiceImpl.class
+com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceSoilMoistureThresholdService.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataWaterVelocity.class
+com\sooka\sponest\monitor\remoteapi\service\lawenforcement\RemoteLawenforcementBaseService.class
+com\sooka\sponest\monitor\dahua\utils\HttpEnum.class
+com\sooka\sponest\monitor\SookaMonitorQuartzApplication.class
+com\sooka\sponest\monitor\util\ScheduledTasks.class
+com\sooka\sponest\monitor\meiqiguan\domain\vo\GasTankHistoricalTrajectoryVo.class
+com\sooka\sponest\monitor\camera\mapper\CentermonitorTCameraMapper.class
+com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceThresholdService.class
+com\sooka\sponest\monitor\base\controller\BaseController.class
+com\sooka\sponest\monitor\dahua\controller\EquipmentStatusTaskController.class
+com\sooka\sponest\monitor\base\util\database\GlobalTransactionalRabbitMQ.class
+com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceThresholdServiceImpl.class
+com\sooka\sponest\monitor\remoteapi\fallback\event\RemoteEventBaseServiceFallbackFactory$1.class
+com\sooka\sponest\monitor\dahua\service\impl\CenternonitorTDahuaOperateLogServiceImpl.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataWaterPressure.class
+com\sooka\sponest\monitor\dahua\controller\DahuaOperateLogBlackTask.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdWaterQuality.class
+com\sooka\sponest\monitor\dahua\login\Login.class
+com\sooka\sponest\monitor\dahua\login\bean\LoginSecond.class
+com\sooka\sponest\monitor\dahua\mapper\CenternonitorTDahuaOperateLogUrlMapper.class
+com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceWaterQualityThresholdMapper.class
+com\sooka\sponest\monitor\base\util\database\DynamicDataSourceAspect.class
+com\sooka\sponest\monitor\device\controller\CentermonitorTMonitoringDeviceController.class
+com\sooka\sponest\monitor\dahua\utils\bean.class
+com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceService.class
+com\sooka\sponest\monitor\meiqiguan\service\IGasTankHistoricalTrajectoryService.class
+com\sooka\sponest\monitor\dahua\utils\RestRedirectStrategy.class
+com\sooka\sponest\monitor\meiqiguan\service\IGasTankDevicesService.class
+com\sooka\sponest\monitor\remoteapi\fallback\data\RemoteDataBaseServiceFallbackFactory.class
+com\sooka\sponest\monitor\remoteapi\service\system\RemoteService.class
+com\sooka\sponest\monitor\feign\CenterMonitorFeignController.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataInsectPests.class
+com\sooka\sponest\monitor\base\util\database\DynamicDataSourceSwitcher.class
+com\sooka\sponest\monitor\remoteapi\fallback\file\RemoteFileServiceFallbackFactory.class
+com\sooka\sponest\monitor\dahua\domain\CenternonitorTDahuaOperateLogUrl.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataAtmosphere.class
+com\sooka\sponest\monitor\dahua\login\bean\LoginFirst.class
+com\sooka\sponest\monitor\meiqiguan\controller\GasTankHistoricalTrajectoryController.class
+com\sooka\sponest\monitor\meiqiguan\mapper\GasTankHistoricalTrajectoryMapper.class
+com\sooka\sponest\monitor\meiqiguan\service\impl\GasTankHistoricalTrajectoryServiceImpl.class
+com\sooka\sponest\monitor\remoteapi\fallback\lawenforcement\RemoteLawenforcementBaseServiceFallbackFactory.class
+com\sooka\sponest\monitor\base\domain\DataTestVO.class
+com\sooka\sponest\monitor\remoteapi\EnableSookaFeignClients.class
+com\sooka\sponest\monitor\base\service\impl\BaseService.class
+com\sooka\sponest\monitor\dahua\mapper\CenternonitorTDahuaOperateLogMapper.class
+com\sooka\sponest\monitor\remoteapi\service\ModulesServiceNameContants.class
+com\sooka\sponest\monitor\dahua\utils\ImgUtils.class
+com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceSoilMoistureThresholdMapper.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataSoilMoisture.class
+com\sooka\sponest\monitor\meiqiguan\domain\vo\GasTankDevicesVo.class
+com\sooka\sponest\monitor\meiqiguan\service\IGasTankTravelMileageService.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdWaterVelocity.class
+com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceMapper.class
+com\sooka\sponest\monitor\remoteapi\RemoveApiBaseService.class
+com\sooka\sponest\monitor\meiqiguan\controller\GasTankTravelMileageController.class
+com\sooka\sponest\monitor\camera\service\impl\CentermonitorTCameraServiceImpl.class
+com\sooka\sponest\monitor\remoteapi\fallback\data\RemoteDataBaseServiceFallbackFactory$1.class
+com\sooka\sponest\monitor\remoteapi\fallback\system\RemoteSystemBaseServiceFallbackFactory$1.class
+com\sooka\sponest\monitor\meiqiguan\service\impl\GasTankTravelMileageServiceImpl.class
+com\sooka\sponest\monitor\dahua\utils\DSSUtils.class
+com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceSoilMoistureThresholdServiceImpl.class
+com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDevice.class
+com\sooka\sponest\monitor\device\domain\SensorEventVo.class
+com\sooka\sponest\monitor\base\domain\BaseBusinessEntity.class
+com\sooka\sponest\monitor\meiqiguan\mapper\GasTankTravelMileageMapper.class
+com\sooka\sponest\monitor\base\util\database\DynamicDataSource.class
+com\sooka\sponest\monitor\dahua\utils\HttpTestUtils$2.class
+com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceAtmosphereThresholdMapper.class
+com\sooka\sponest\monitor\meiqiguan\domain\GasTankTravelMileage.class
+com\sooka\sponest\monitor\dahua\utils\HttpTestUtils.class
+com\sooka\sponest\monitor\util\BeanUtil.class
+com\sooka\sponest\monitor\meiqiguan\domain\dto\GasTankDevicesDTO.class
+com\sooka\sponest\monitor\meiqiguan\service\impl\GasTankDevicesServiceImpl.class
+com\sooka\sponest\monitor\remoteapi\service\data\RemoteDataBaseService.class
+com\sooka\sponest\monitor\meiqiguan\domain\GasTankHistoricalTrajectory.class
+com\sooka\sponest\monitor\camera\service\ICentermonitorTCameraService.class
+com\sooka\sponest\monitor\camera\domain\CameraCodeAndNameVO.class
+com\sooka\sponest\monitor\dahua\controller\DahuaOperateLogWhiteTask.class
+com\sooka\sponest\monitor\remoteapi\service\file\RemoteFileBaseService.class
+com\sooka\sponest\monitor\camera\controller\IndexLineChartCountTaskController.class
+com\sooka\sponest\monitor\remoteapi\fallback\system\RemoteSystemBaseServiceFallbackFactory.class
+com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceAtmosphereThresholdService.class
+com\sooka\sponest\monitor\remoteapi\service\event\RemoteEventBaseService.class
+com\sooka\sponest\monitor\dahua\utils\HttpTestUtils$1.class
+com\sooka\sponest\monitor\device\domain\MonitorBaseEntity.class
+com\sooka\sponest\monitor\remoteapi\fallback\lawenforcement\RemoteLawenforcementBaseServiceFallbackFactory$1.class
+com\sooka\sponest\monitor\remoteapi\fallback\event\RemoteEventBaseServiceFallbackFactory.class
+com\sooka\sponest\monitor\base\util\database\MyDataSource.class
+com\sooka\sponest\monitor\dahua\domain\CenternonitorTDahuaOperateLog.class
+com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceAtmosphereThresholdServiceImpl.class
+com\sooka\sponest\monitor\meiqiguan\mapper\GasTankDevicesMapper.class

+ 97 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,97 @@
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\service\impl\GasTankTravelMileageServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\util\database\DynamicDataSourceSwitcher.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\MonitorBaseEntity.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\domain\vo\GasTankHistoricalTrajectoryVo.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\mapper\GasTankTravelMileageMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceAtmosphereThresholdService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\controller\GasTankHistoricalTrajectoryController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\util\database\DynamicDataSource.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\domain\GasTankHistoricalTrajectory.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\SookaMonitorQuartzApplication.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\utils\DSSUtils.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\camera\service\impl\CentermonitorTCameraServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceSoilMoistureThresholdServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceWaterQualityThresholdServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceSoilMoistureThresholdMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\camera\domain\CameraCodeAndNameVO.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceThresholdServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\service\event\RemoteEventBaseService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDevice.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceAtmosphereThresholdServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\util\database\DynamicDataSourceAspect.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\controller\DahuaOperateLogWhiteTask.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\RemoveApiBaseService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\domain\GasTankTravelMileage.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\service\impl\GasTankDevicesServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\domain\dto\GasTankDevicesDTO.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\utils\HttpTestUtils.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\mapper\GasTankHistoricalTrajectoryMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceSoilMoistureThresholdService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\domain\BaseBusinessEntity.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\feign\CenterMonitorFeignController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\utils\RestRedirectStrategy.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\SensorEventVo.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceWaterQualityThresholdMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\camera\controller\IndexLineChartCountTaskController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\service\file\RemoteFileBaseService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\service\ICenternonitorTDahuaOperateLogService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\util\ScheduledTasks.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\domain\CenternonitorTDahuaOperateLogUrl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\controller\GasTankDevicesController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\domain\GasTankDevices.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\controller\EquipmentStatusTaskController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\utils\HttpEnum.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdWaterQuality.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\service\impl\BaseService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceAtmosphereThresholdMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\service\impl\GasTankHistoricalTrajectoryServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\domain\vo\GasTankDevicesVo.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceThresholdService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\service\IGasTankDevicesService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\controller\DahuaOperateLogBlackTask.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\util\database\MultipleDataSourceConfig.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\camera\mapper\CentermonitorTCameraMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataWaterQuality.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\service\lawenforcement\RemoteLawenforcementBaseService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataWaterPressure.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdWaterVelocity.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdAtmosphere.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\fallback\event\RemoteEventBaseServiceFallbackFactory.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\utils\ImgUtils.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\login\bean\LoginSecond.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\domain\DataTestVO.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\fallback\data\RemoteDataBaseServiceFallbackFactory.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\mapper\CenternonitorTDahuaOperateLogUrlMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataWaterVelocity.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\login\Login.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceWaterQualityThresholdService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\camera\domain\IndexLineChartsVo.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\service\ModulesServiceNameContants.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\mapper\CenternonitorTDahuaOperateLogMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\mapper\GasTankDevicesMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringThresholdSoilMoisture.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\service\system\RemoteService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\controller\CentermonitorTMonitoringDeviceController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataInsectPests.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\impl\CentermonitorTMonitoringDeviceServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\controller\BaseController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\util\database\MyDataSource.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\service\data\RemoteDataBaseService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\service\IGasTankTravelMileageService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\mapper\CentermonitorTMonitoringDeviceThresholdMapper.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\base\util\database\GlobalTransactionalRabbitMQ.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\domain\CenternonitorTDahuaOperateLog.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\service\IGasTankHistoricalTrajectoryService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataSoilMoisture.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\service\ICentermonitorTMonitoringDeviceService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\EnableSookaFeignClients.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\fallback\lawenforcement\RemoteLawenforcementBaseServiceFallbackFactory.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\camera\service\ICentermonitorTCameraService.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\meiqiguan\controller\GasTankTravelMileageController.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\service\impl\CenternonitorTDahuaOperateLogServiceImpl.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\util\BeanUtil.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\fallback\file\RemoteFileServiceFallbackFactory.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\device\domain\CentermonitorTMonitoringDataAtmosphere.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\remoteapi\fallback\system\RemoteSystemBaseServiceFallbackFactory.java
+D:\work_space\center-monitor-quartz\src\main\java\com\sooka\sponest\monitor\dahua\login\bean\LoginFirst.java