bihuisong 9 tháng trước cách đây
commit
124a1a932f
54 tập tin đã thay đổi với 1925 bổ sung0 xóa
  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. 216 0
      .idea/workspace.xml
  9. 150 0
      pom.xml
  10. 39 0
      src/main/java/com/sooka/sponest/monitor/SookaMonitorLineCharApplication.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. 119 0
      src/main/java/com/sooka/sponest/monitor/camera/controller/IndexLineChartCountTaskController.java
  22. 26 0
      src/main/java/com/sooka/sponest/monitor/camera/domain/IndexLineChartsVo.java
  23. 42 0
      src/main/java/com/sooka/sponest/monitor/camera/mapper/CentermonitorTCameraMapper.java
  24. 42 0
      src/main/java/com/sooka/sponest/monitor/camera/service/ICentermonitorTCameraService.java
  25. 59 0
      src/main/java/com/sooka/sponest/monitor/camera/service/impl/CentermonitorTCameraServiceImpl.java
  26. 78 0
      src/main/java/com/sooka/sponest/monitor/util/BeanUtil.java
  27. 9 0
      src/main/resources/banner.txt
  28. 26 0
      src/main/resources/bootstrap.yml
  29. 141 0
      src/main/resources/mapper/monitor/camera/CentermonitorTCameraMapper.xml
  30. BIN
      target/center-monitor-quartz.jar
  31. BIN
      target/center-monitor-quartz.jar.original
  32. 9 0
      target/classes/banner.txt
  33. 26 0
      target/classes/bootstrap.yml
  34. BIN
      target/classes/com/sooka/sponest/monitor/SookaMonitorLineCharApplication.class
  35. BIN
      target/classes/com/sooka/sponest/monitor/base/controller/BaseController.class
  36. BIN
      target/classes/com/sooka/sponest/monitor/base/domain/BaseBusinessEntity.class
  37. BIN
      target/classes/com/sooka/sponest/monitor/base/domain/DataTestVO.class
  38. BIN
      target/classes/com/sooka/sponest/monitor/base/service/impl/BaseService.class
  39. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSource.class
  40. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceAspect.class
  41. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/DynamicDataSourceSwitcher.class
  42. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/GlobalTransactionalRabbitMQ.class
  43. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/MultipleDataSourceConfig.class
  44. BIN
      target/classes/com/sooka/sponest/monitor/base/util/database/MyDataSource.class
  45. BIN
      target/classes/com/sooka/sponest/monitor/camera/controller/IndexLineChartCountTaskController.class
  46. BIN
      target/classes/com/sooka/sponest/monitor/camera/domain/IndexLineChartsVo.class
  47. BIN
      target/classes/com/sooka/sponest/monitor/camera/mapper/CentermonitorTCameraMapper.class
  48. BIN
      target/classes/com/sooka/sponest/monitor/camera/service/ICentermonitorTCameraService.class
  49. BIN
      target/classes/com/sooka/sponest/monitor/camera/service/impl/CentermonitorTCameraServiceImpl.class
  50. BIN
      target/classes/com/sooka/sponest/monitor/util/BeanUtil.class
  51. 141 0
      target/classes/mapper/monitor/camera/CentermonitorTCameraMapper.xml
  52. 5 0
      target/maven-archiver/pom.properties
  53. 104 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  54. 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-lineChar" />
+      </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>

+ 216 - 0
.idea/workspace.xml

@@ -0,0 +1,216 @@
+<?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.SookaMonitorLineCharApplication.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-lineChar&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="SookaMonitorLineCharApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
+      <module name="center-monitor-lineChar" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.sooka.sponest.monitor.SookaMonitorLineCharApplication" />
+      <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="1739849388198" duration="1479000" />
+      <workItem from="1739859484554" duration="51000" />
+      <workItem from="1739861469470" duration="923000" />
+      <workItem from="1739864106546" duration="5000" />
+    </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-lineChar</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/SookaMonitorLineCharApplication.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 SookaMonitorLineCharApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(SookaMonitorLineCharApplication.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 "";
+}

+ 119 - 0
src/main/java/com/sooka/sponest/monitor/camera/controller/IndexLineChartCountTaskController.java

@@ -0,0 +1,119 @@
+package com.sooka.sponest.monitor.camera.controller;
+
+
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.redis.service.RedisService;
+import com.sooka.sponest.monitor.camera.domain.IndexLineChartsVo;
+import com.sooka.sponest.monitor.camera.service.ICentermonitorTCameraService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+import static org.springframework.web.bind.annotation.RequestMethod.GET;
+
+@Slf4j
+@Component
+@Api(tags = "监控中心首页定时任务")
+@RestController
+@RequestMapping("/camera/quartz")
+public class IndexLineChartCountTaskController {
+
+    @Resource
+    private RedisService redisService;
+
+    @Resource
+    private ICentermonitorTCameraService centermonitorTCameraService;
+
+    private final List<String> monthList = Arrays.asList("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
+
+    /**
+     * 监控中心首页-离线设备日折线图缓存
+     **/
+//    @Scheduled(cron = "0 0 0/2 * * ?")
+    @Log(title = "监控中心首页-离线设备日折线图缓存", businessType = BusinessType.OTHER)
+    @ApiOperation(value = "监控中心首页-离线设备日折线图缓存", notes = "监控中心首页-离线设备日折线图缓存")
+    @RequestMapping(value = "/selectDayLineChartCountTask", method = GET)
+    public void selectDayLineChartCountTask() {
+        Date date = new Date();
+        List<Integer> yearList = getPreviousTwoYears(date);
+        for (int year : yearList) {
+            for (String month : monthList) {
+                List<IndexLineChartsVo> list = centermonitorTCameraService.dayLineChart(year + "-" + month);
+                redisService.setCacheObject("selectDayLineChartCount" + year + "-" + month, list);
+            }
+        }
+    }
+
+
+    /**
+     * 监控中心首页-离线设备月折线图缓存
+     **/
+//    @Scheduled(cron = "0 0 0/2 * * ?")
+    @Log(title = "监控中心首页-离线设备月折线图缓存", businessType = BusinessType.OTHER)
+    @ApiOperation(value = "监控中心首页-离线设备月折线图缓存", notes = "监控中心首页-离线设备月折线图缓存")
+    @RequestMapping(value = "/selectMonthlyLineChartCountTask", method = GET)
+    public void selectMonthlyLineChartCountTask() {
+        Date date = new Date();
+        List<Integer> yearList = getPreviousTwoYears(date);
+        for (int year : yearList) {
+            List<IndexLineChartsVo> list = centermonitorTCameraService.monthlyLineChart(year + "-01");
+            redisService.setCacheObject("monthlyLineChartCount" + year + "-01", list);
+        }
+    }
+
+
+    /**
+     * 监控中心首页-离线设备季度折线图缓存
+     **/
+//    @Scheduled(cron = "0 0 0/2 * * ?")
+    @Log(title = "监控中心首页-离线设备季度折线图缓存", businessType = BusinessType.OTHER)
+    @ApiOperation(value = "监控中心首页-离线设备季度折线图缓存", notes = "监控中心首页-离线设备季度折线图缓存")
+    @RequestMapping(value = "/quarterlineChartTask", method = GET)
+    public void quarterlineChartTask() {
+        Date date = new Date();
+        List<Integer> yearList = getPreviousTwoYears(date);
+        for (int year : yearList) {
+            List<IndexLineChartsVo> list = centermonitorTCameraService.quarterLineChart(year + "-01");
+            redisService.setCacheObject("quarterlineChart" + year + "-01", list);
+        }
+    }
+
+
+    /**
+     * 监控中心首页-离线设备年折线图缓存
+     **/
+//    @Scheduled(cron = "0 0 0/2 * * ?")
+    @Log(title = "监控中心首页-离线设备年折线图缓存", businessType = BusinessType.OTHER)
+    @ApiOperation(value = "监控中心首页-离线设备年折线图缓存", notes = "监控中心首页-离线设备年折线图缓存")
+    @RequestMapping(value = "/yearlineChartTask", method = GET)
+    public void yearlineChartTask() {
+        Date date = new Date();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        int year = calendar.get(Calendar.YEAR);
+        List<IndexLineChartsVo> list = centermonitorTCameraService.yearLineChart(String.valueOf(year));
+        redisService.setCacheObject("yearlineChart" + year, list);
+    }
+
+    //获取当前年份
+    public static List<Integer> getPreviousTwoYears(Date date) {
+        List<Integer> yearList = new ArrayList<>();
+        // 创建 Calendar 实例并设置为当前时间
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        // 获取当前年份
+        int currentYear = calendar.get(Calendar.YEAR);
+        // 添加前两年的年份到列表
+        yearList.add(currentYear - 2);
+        yearList.add(currentYear - 1);
+        yearList.add(currentYear);
+        return yearList;
+    }
+}

+ 26 - 0
src/main/java/com/sooka/sponest/monitor/camera/domain/IndexLineChartsVo.java

@@ -0,0 +1,26 @@
+package com.sooka.sponest.monitor.camera.domain;
+
+import lombok.Data;
+
+/**
+ *
+ *
+ * 折线图
+ */
+@Data
+public class IndexLineChartsVo {
+    private static final long serialVersionUID = 1L;
+
+    /** 返回值:日期 **/
+    private String time;
+    /** 返回值:数值 **/
+    private String count;
+
+    /** 条件:年-月 **/
+    private String yearAndMonth;
+    /** 条件:月 **/
+    private String month;
+
+    /** 条件:年 **/
+    private String year;
+}

+ 42 - 0
src/main/java/com/sooka/sponest/monitor/camera/mapper/CentermonitorTCameraMapper.java

@@ -0,0 +1,42 @@
+package com.sooka.sponest.monitor.camera.mapper;
+
+
+import com.sooka.sponest.monitor.camera.domain.IndexLineChartsVo;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 摄像头Mapper接口
+ *
+ * @author ruoyi
+ * @date 2022-06-08
+ */
+@Repository
+public interface CentermonitorTCameraMapper {
+
+    /**
+     * 监控中心首页-日离线设备折线图
+     **/
+    List<IndexLineChartsVo> dayLineChart(@Param("yearAndMonth") String yearAndMonth);
+
+    /**
+     * 监控中心首页-月离线设备折线图
+     **/
+    List<IndexLineChartsVo> monthlyLineChart(@Param("year") String year);
+
+    /**
+     * 监控中心首页-季度离线设备折线图
+     **/
+    List<IndexLineChartsVo> quarterLineChart(@Param("year") String year);
+
+    /**
+     * 监控中心首页-年离线设备折线图
+     **/
+    List<IndexLineChartsVo> yearLineChart(@Param("year") String year);
+
+
+}
+

+ 42 - 0
src/main/java/com/sooka/sponest/monitor/camera/service/ICentermonitorTCameraService.java

@@ -0,0 +1,42 @@
+package com.sooka.sponest.monitor.camera.service;
+
+import com.sooka.sponest.monitor.camera.domain.IndexLineChartsVo;
+
+import java.util.List;
+
+/**
+ * 摄像头Service接口
+ *
+ * @author ruoyi
+ * @date 2022-06-08
+ */
+public interface ICentermonitorTCameraService {
+
+
+    /**
+     * 监控中心首页-日离线设备折线图
+     **/
+    List<IndexLineChartsVo> dayLineChart(String yearAndMonth);
+
+    /**
+     * 监控中心首页-月离线设备折线图
+     */
+    List<IndexLineChartsVo> monthlyLineChart(String year);
+
+    /**
+     * 监控中心首页-季度离线设备折线图
+     */
+    List<IndexLineChartsVo> quarterLineChart(String year);
+
+    /**
+     * 监控中心首页-年离线设备折线图
+     */
+    List<IndexLineChartsVo> yearLineChart(String year);
+
+}
+
+
+
+
+
+

+ 59 - 0
src/main/java/com/sooka/sponest/monitor/camera/service/impl/CentermonitorTCameraServiceImpl.java

@@ -0,0 +1,59 @@
+package com.sooka.sponest.monitor.camera.service.impl;
+
+import com.sooka.sponest.monitor.base.service.impl.BaseService;
+import com.sooka.sponest.monitor.camera.domain.IndexLineChartsVo;
+import com.sooka.sponest.monitor.camera.mapper.CentermonitorTCameraMapper;
+import com.sooka.sponest.monitor.camera.service.ICentermonitorTCameraService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 摄像头Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-06-08
+ */
+@Service
+public class CentermonitorTCameraServiceImpl extends BaseService implements ICentermonitorTCameraService {
+
+    @Resource
+    private CentermonitorTCameraMapper centermonitorTCameraMapper;
+
+
+    /**
+     * 监控中心首页-日离线设备折线图
+     **/
+    @Override
+    public List<IndexLineChartsVo> dayLineChart(String yearAndMonth) {
+        return centermonitorTCameraMapper.dayLineChart(yearAndMonth);
+    }
+
+    /**
+     * 监控中心首页-月离线设备折线图
+     **/
+    @Override
+    public List<IndexLineChartsVo> monthlyLineChart(String year) {
+        return centermonitorTCameraMapper.monthlyLineChart(year);
+    }
+
+    /**
+     * 监控中心首页-季度离线设备折线图
+     **/
+    @Override
+    public List<IndexLineChartsVo> quarterLineChart(String year) {
+        return centermonitorTCameraMapper.quarterLineChart(year);
+    }
+
+    /**
+     * 监控中心首页-年离线设备折线图
+     **/
+    @Override
+    public List<IndexLineChartsVo> yearLineChart(String year) {
+        return centermonitorTCameraMapper.yearLineChart(year);
+    }
+
+}
+
+

+ 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: 3202
+# Spring
+spring:
+  application:
+    # 应用名称
+    name: sooka-sponest-center-monitor-lineChar
+  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}

+ 141 - 0
src/main/resources/mapper/monitor/camera/CentermonitorTCameraMapper.xml

@@ -0,0 +1,141 @@
+<?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.camera.mapper.CentermonitorTCameraMapper">
+
+
+    <resultMap id="IndexLineCharts" type="IndexLineChartsVo">
+        <result property="time" column="time"/>
+        <result property="count" column="count"/>
+        <result property="year" column="year"/>
+        <result property="month" column="month"/>
+    </resultMap>
+
+
+    <select id="dayLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT a.time,
+               IFNULL(b.count, 0) count
+        FROM (
+            SELECT
+            DATE_ADD(DATE_ADD(DATE_FORMAT('${yearAndMonth}-01', '%Y-%m-%d'), INTERVAL-DAY(DATE_FORMAT('${yearAndMonth}-01', '%Y-%m-%d')) + 2 DAY), INTERVAL(cast(help_topic_id AS signed INTEGER)-1)DAY) time
+            FROM
+            mysql.help_topic
+            WHERE
+            help_topic_id  <![CDATA[ < ]]> DAY (last_day(DATE_FORMAT('${yearAndMonth}-01', '%Y-%m-%d')))
+            ORDER BY
+            help_topic_id
+            ) a
+            LEFT JOIN (
+            SELECT
+            time, count(id) count
+            FROM (
+            SELECT DISTINCT
+            c.id, DATE_FORMAT(l.create_time, '%Y-%m-%d') time
+            FROM
+            centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE
+            DATE_FORMAT(l.create_time, '%Y-%m') = #{yearAndMonth}
+            AND l.state != 0
+            ORDER BY
+            l.create_time DESC
+            ) a
+            GROUP BY
+            time
+            ) b
+        ON a.time = b.time
+    </select>
+
+
+    <select id="monthlyLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT DATE_FORMAT(DATE_ADD(DATE_FORMAT('${year}-01', '%Y-%m-01'), INTERVAL (n - 1) MONTH), '%Y-%m') AS time,
+            IFNULL(t.count, 0) AS count
+        FROM
+            (
+            SELECT 1 AS n UNION ALL
+            SELECT 2 AS n UNION ALL
+            SELECT 3 AS n UNION ALL
+            SELECT 4 AS n UNION ALL
+            SELECT 5 AS n UNION ALL
+            SELECT 6 AS n UNION ALL
+            SELECT 7 AS n UNION ALL
+            SELECT 8 AS n UNION ALL
+            SELECT 9 AS n UNION ALL
+            SELECT 10 AS n UNION ALL
+            SELECT 11 AS n UNION ALL
+            SELECT 12 AS n
+            ) AS numbers
+            LEFT JOIN (
+            SELECT
+            DATE_FORMAT(l.create_time, '%Y-%m') AS time, COUNT(distinct c.id) AS count
+            FROM
+            centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE
+            YEAR (l.create_time) = #{year}
+            AND l.state != 0
+            GROUP BY
+            DATE_FORMAT(l.create_time, '%Y-%m')
+            ) AS t
+        ON DATE_FORMAT(DATE_ADD(DATE_FORMAT('${year}-01', '%Y-%m-01'), INTERVAL (n - 1) MONTH), '%Y-%m') = t.time;
+    </select>
+
+
+    <select id="quarterLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT CASE
+                   WHEN QUARTER(quarters.date) = 1 THEN '第1季度'
+                   WHEN QUARTER(quarters.date) = 2 THEN '第2季度'
+                   WHEN QUARTER(quarters.date) = 3 THEN '第3季度'
+                   WHEN QUARTER(quarters.date) = 4 THEN '第4季度'
+                   END AS time,
+                  IFNULL(t.count, 0) AS count
+        FROM (
+            SELECT
+            CONCAT(YEAR (d.date), '-', QUARTER(d.date)) AS time, d.date
+            FROM (
+            SELECT
+            DATE_ADD(DATE_FORMAT('${year}-01-01', '%Y-%m-%d'), INTERVAL (n1.num * 100 + n2.num * 10 + n3.num) QUARTER) AS date
+            FROM
+            (SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n1, (SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n2, (SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n3
+            ) d
+            WHERE YEAR (d.date) = '${year}'
+            GROUP BY time, date
+            ) quarters
+            LEFT JOIN (
+            SELECT
+            CONCAT(YEAR (l.create_time), '-', QUARTER(l.create_time)) AS time, COUNT(distinct c.id) AS count
+            FROM centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE
+            YEAR (l.create_time) = '${year}' -- 修改为指定的年份
+            AND l.state != 0
+            GROUP BY time) t
+        ON quarters.time = t.time
+        ORDER BY quarters.date;
+    </select>
+
+
+    <select id="yearLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT gen.year AS time,
+              COALESCE(subquery.count, 0) AS count
+        FROM
+            (
+            SELECT ${year} AS year
+            UNION ALL SELECT ${year} - 1 AS year
+            UNION ALL SELECT ${year} - 2 AS year
+            ) AS gen
+            LEFT JOIN
+            (
+            SELECT YEAR (l.create_time) AS year, COUNT(distinct c.id) AS count
+            FROM centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE (YEAR (l.create_time) IN (${year}, ${year} - 1, ${year} - 2) OR l.create_time IS NULL)
+            AND l.state != 0
+            GROUP BY year
+            ) AS subquery
+        ON gen.year = subquery.year
+        ORDER BY gen.year;
+    </select>
+
+</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: 3202
+# Spring
+spring:
+  application:
+    # 应用名称
+    name: sooka-sponest-center-monitor-lineChar
+  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/SookaMonitorLineCharApplication.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/camera/controller/IndexLineChartCountTaskController.class


BIN
target/classes/com/sooka/sponest/monitor/camera/domain/IndexLineChartsVo.class


BIN
target/classes/com/sooka/sponest/monitor/camera/mapper/CentermonitorTCameraMapper.class


BIN
target/classes/com/sooka/sponest/monitor/camera/service/ICentermonitorTCameraService.class


BIN
target/classes/com/sooka/sponest/monitor/camera/service/impl/CentermonitorTCameraServiceImpl.class


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


+ 141 - 0
target/classes/mapper/monitor/camera/CentermonitorTCameraMapper.xml

@@ -0,0 +1,141 @@
+<?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.camera.mapper.CentermonitorTCameraMapper">
+
+
+    <resultMap id="IndexLineCharts" type="IndexLineChartsVo">
+        <result property="time" column="time"/>
+        <result property="count" column="count"/>
+        <result property="year" column="year"/>
+        <result property="month" column="month"/>
+    </resultMap>
+
+
+    <select id="dayLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT a.time,
+               IFNULL(b.count, 0) count
+        FROM (
+            SELECT
+            DATE_ADD(DATE_ADD(DATE_FORMAT('${yearAndMonth}-01', '%Y-%m-%d'), INTERVAL-DAY(DATE_FORMAT('${yearAndMonth}-01', '%Y-%m-%d')) + 2 DAY), INTERVAL(cast(help_topic_id AS signed INTEGER)-1)DAY) time
+            FROM
+            mysql.help_topic
+            WHERE
+            help_topic_id  <![CDATA[ < ]]> DAY (last_day(DATE_FORMAT('${yearAndMonth}-01', '%Y-%m-%d')))
+            ORDER BY
+            help_topic_id
+            ) a
+            LEFT JOIN (
+            SELECT
+            time, count(id) count
+            FROM (
+            SELECT DISTINCT
+            c.id, DATE_FORMAT(l.create_time, '%Y-%m-%d') time
+            FROM
+            centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE
+            DATE_FORMAT(l.create_time, '%Y-%m') = #{yearAndMonth}
+            AND l.state != 0
+            ORDER BY
+            l.create_time DESC
+            ) a
+            GROUP BY
+            time
+            ) b
+        ON a.time = b.time
+    </select>
+
+
+    <select id="monthlyLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT DATE_FORMAT(DATE_ADD(DATE_FORMAT('${year}-01', '%Y-%m-01'), INTERVAL (n - 1) MONTH), '%Y-%m') AS time,
+            IFNULL(t.count, 0) AS count
+        FROM
+            (
+            SELECT 1 AS n UNION ALL
+            SELECT 2 AS n UNION ALL
+            SELECT 3 AS n UNION ALL
+            SELECT 4 AS n UNION ALL
+            SELECT 5 AS n UNION ALL
+            SELECT 6 AS n UNION ALL
+            SELECT 7 AS n UNION ALL
+            SELECT 8 AS n UNION ALL
+            SELECT 9 AS n UNION ALL
+            SELECT 10 AS n UNION ALL
+            SELECT 11 AS n UNION ALL
+            SELECT 12 AS n
+            ) AS numbers
+            LEFT JOIN (
+            SELECT
+            DATE_FORMAT(l.create_time, '%Y-%m') AS time, COUNT(distinct c.id) AS count
+            FROM
+            centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE
+            YEAR (l.create_time) = #{year}
+            AND l.state != 0
+            GROUP BY
+            DATE_FORMAT(l.create_time, '%Y-%m')
+            ) AS t
+        ON DATE_FORMAT(DATE_ADD(DATE_FORMAT('${year}-01', '%Y-%m-01'), INTERVAL (n - 1) MONTH), '%Y-%m') = t.time;
+    </select>
+
+
+    <select id="quarterLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT CASE
+                   WHEN QUARTER(quarters.date) = 1 THEN '第1季度'
+                   WHEN QUARTER(quarters.date) = 2 THEN '第2季度'
+                   WHEN QUARTER(quarters.date) = 3 THEN '第3季度'
+                   WHEN QUARTER(quarters.date) = 4 THEN '第4季度'
+                   END AS time,
+                  IFNULL(t.count, 0) AS count
+        FROM (
+            SELECT
+            CONCAT(YEAR (d.date), '-', QUARTER(d.date)) AS time, d.date
+            FROM (
+            SELECT
+            DATE_ADD(DATE_FORMAT('${year}-01-01', '%Y-%m-%d'), INTERVAL (n1.num * 100 + n2.num * 10 + n3.num) QUARTER) AS date
+            FROM
+            (SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n1, (SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n2, (SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n3
+            ) d
+            WHERE YEAR (d.date) = '${year}'
+            GROUP BY time, date
+            ) quarters
+            LEFT JOIN (
+            SELECT
+            CONCAT(YEAR (l.create_time), '-', QUARTER(l.create_time)) AS time, COUNT(distinct c.id) AS count
+            FROM centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE
+            YEAR (l.create_time) = '${year}' -- 修改为指定的年份
+            AND l.state != 0
+            GROUP BY time) t
+        ON quarters.time = t.time
+        ORDER BY quarters.date;
+    </select>
+
+
+    <select id="yearLineChart" parameterType="String" resultMap="IndexLineCharts">
+        SELECT gen.year AS time,
+              COALESCE(subquery.count, 0) AS count
+        FROM
+            (
+            SELECT ${year} AS year
+            UNION ALL SELECT ${year} - 1 AS year
+            UNION ALL SELECT ${year} - 2 AS year
+            ) AS gen
+            LEFT JOIN
+            (
+            SELECT YEAR (l.create_time) AS year, COUNT(distinct c.id) AS count
+            FROM centermonitor_t_camera c
+            LEFT JOIN centermonitor_t_camera_state_log l ON c.id = l.camera_id
+            WHERE (YEAR (l.create_time) IN (${year}, ${year} - 1, ${year} - 2) OR l.create_time IS NULL)
+            AND l.state != 0
+            GROUP BY year
+            ) AS subquery
+        ON gen.year = subquery.year
+        ORDER BY gen.year;
+    </select>
+
+</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