GG
9 months ago
commit
ea210d9220
274 changed files with 90601 additions and 0 deletions
@ -0,0 +1,38 @@ |
|||
target/ |
|||
!.mvn/wrapper/maven-wrapper.jar |
|||
!**/src/main/**/target/ |
|||
!**/src/test/**/target/ |
|||
|
|||
### IntelliJ IDEA ### |
|||
.idea/modules.xml |
|||
.idea/jarRepositories.xml |
|||
.idea/compiler.xml |
|||
.idea/libraries/ |
|||
*.iws |
|||
*.iml |
|||
*.ipr |
|||
|
|||
### Eclipse ### |
|||
.apt_generated |
|||
.classpath |
|||
.factorypath |
|||
.project |
|||
.settings |
|||
.springBeans |
|||
.sts4-cache |
|||
|
|||
### NetBeans ### |
|||
/nbproject/private/ |
|||
/nbbuild/ |
|||
/dist/ |
|||
/nbdist/ |
|||
/.nb-gradle/ |
|||
build/ |
|||
!**/src/main/**/build/ |
|||
!**/src/test/**/build/ |
|||
|
|||
### VS Code ### |
|||
.vscode/ |
|||
|
|||
### Mac OS ### |
|||
.DS_Store |
@ -0,0 +1,8 @@ |
|||
# Default ignored files |
|||
/shelf/ |
|||
/workspace.xml |
|||
# Editor-based HTTP Client requests |
|||
/httpRequests/ |
|||
# Datasource local storage ignored files |
|||
/dataSources/ |
|||
/dataSources.local.xml |
@ -0,0 +1,7 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8"> |
|||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> |
|||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" /> |
|||
</component> |
|||
</project> |
@ -0,0 +1,13 @@ |
|||
<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"> |
|||
<output url="file://$PROJECT_DIR$/out" /> |
|||
</component> |
|||
</project> |
@ -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> |
@ -0,0 +1,6 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="VcsDirectoryMappings"> |
|||
<mapping directory="$PROJECT_DIR$" vcs="Git" /> |
|||
</component> |
|||
</project> |
@ -0,0 +1,463 @@ |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<groupId>org.example</groupId> |
|||
<artifactId>radar-gui-v1.0</artifactId> |
|||
<version>1.0-SNAPSHOT</version> |
|||
<name>Archetype - radar-gui-v1.0</name> |
|||
<url>http://maven.apache.org</url> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<version>1.0.4</version> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>druid</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.1.37</version> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>fastjson</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>net.sf.json-lib</groupId> |
|||
<artifactId>json-lib</artifactId> |
|||
<version>2.4</version> |
|||
<classifier>jdk15</classifier> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.3.9-1</version> |
|||
<groupId>com.github.stephenc.findbugs</groupId> |
|||
<artifactId>findbugs-annotations</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>r09</version> |
|||
<groupId>com.google.guava</groupId> |
|||
<artifactId>guava</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.1</version> |
|||
<groupId>com.google.protobuf</groupId> |
|||
<artifactId>protobuf-java</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.2.0</version> |
|||
<groupId>com.googlecode.ehcache-spring-annotations</groupId> |
|||
<artifactId>ehcache-spring-annotations</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.1.3</version> |
|||
<groupId>com.jcraft</groupId> |
|||
<artifactId>jzlib</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.9</version> |
|||
<groupId>com.sun.jersey</groupId> |
|||
<artifactId>jersey-client</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.9</version> |
|||
<groupId>com.sun.jersey</groupId> |
|||
<artifactId>jersey-core</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.3</version> |
|||
<groupId>com.thoughtworks.paranamer</groupId> |
|||
<artifactId>paranamer</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.11</version> |
|||
<groupId>com.vividsolutions</groupId> |
|||
<artifactId>jts</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.8.0</version> |
|||
<groupId>commons-beanutils</groupId> |
|||
<artifactId>commons-beanutils</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.2</version> |
|||
<groupId>commons-cli</groupId> |
|||
<artifactId>commons-cli</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.7</version> |
|||
<groupId>commons-codec</groupId> |
|||
<artifactId>commons-codec</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>3.2.1</version> |
|||
<groupId>commons-collections</groupId> |
|||
<artifactId>commons-collections</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.6</version> |
|||
<groupId>commons-configuration</groupId> |
|||
<artifactId>commons-configuration</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.4</version> |
|||
<groupId>commons-io</groupId> |
|||
<artifactId>commons-io</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.5</version> |
|||
<groupId>commons-lang</groupId> |
|||
<artifactId>commons-lang</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.1.1</version> |
|||
<groupId>commons-logging</groupId> |
|||
<artifactId>commons-logging</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>3.1</version> |
|||
<groupId>commons-net</groupId> |
|||
<artifactId>commons-net</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>3.6.6.Final</version> |
|||
<groupId>io.netty</groupId> |
|||
<artifactId>netty</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.2.17</version> |
|||
<groupId>log4j</groupId> |
|||
<artifactId>log4j</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.4.5</version> |
|||
<groupId>net.sf.ehcache</groupId> |
|||
<artifactId>ehcache-core</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.0.6</version> |
|||
<groupId>net.sf.ezmorph</groupId> |
|||
<artifactId>ezmorph</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.7.4</version> |
|||
<groupId>org.apache.avro</groupId> |
|||
<artifactId>avro</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.4.1</version> |
|||
<groupId>org.apache.commons</groupId> |
|||
<artifactId>commons-compress</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>3.1.1</version> |
|||
<groupId>org.apache.commons</groupId> |
|||
<artifactId>commons-math3</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.curator</groupId> |
|||
<artifactId>curator-client</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.curator</groupId> |
|||
<artifactId>curator-framework</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.curator</groupId> |
|||
<artifactId>curator-recipes</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-annotations</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.2.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-auth</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-client</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-common</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-hdfs</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-mapreduce-client-app</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-mapreduce-client-common</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-mapreduce-client-core</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-mapreduce-client-jobclient</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-mapreduce-client-shuffle</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-yarn-api</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-yarn-client</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-yarn-common</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.6.0</version> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-yarn-server-common</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>0.98.0-hadoop2</version> |
|||
<groupId>org.apache.hbase</groupId> |
|||
<artifactId>hbase-client</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>0.98.0-hadoop2</version> |
|||
<groupId>org.apache.hbase</groupId> |
|||
<artifactId>hbase-common</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>0.98.0-hadoop2</version> |
|||
<groupId>org.apache.hbase</groupId> |
|||
<artifactId>hbase-protocol</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>2.04</version> |
|||
<groupId>org.cloudera.htrace</groupId> |
|||
<artifactId>htrace-core</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.8</version> |
|||
<groupId>org.fusesource.leveldbjni</groupId> |
|||
<artifactId>leveldbjni-all</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.1</version> |
|||
<groupId>org.hamcrest</groupId> |
|||
<artifactId>hamcrest-core</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>3.0.4</version> |
|||
<groupId>org.htrace</groupId> |
|||
<artifactId>htrace-core</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>6.1.26</version> |
|||
<groupId>org.mortbay.jetty</groupId> |
|||
<artifactId>jetty-util</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>3.2.7</version> |
|||
<groupId>org.mybatis</groupId> |
|||
<artifactId>mybatis</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.2.2</version> |
|||
<groupId>org.mybatis</groupId> |
|||
<artifactId>mybatis-spring</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.8.5</version> |
|||
<groupId>org.quartz-scheduler</groupId> |
|||
<artifactId>quartz</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.6.6</version> |
|||
<groupId>org.slf4j</groupId> |
|||
<artifactId>jcl-over-slf4j</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.6.6</version> |
|||
<groupId>org.slf4j</groupId> |
|||
<artifactId>slf4j-api</artifactId> |
|||
</dependency> |
|||
|
|||
<!-- <dependency> |
|||
<version>1.6.6</version> |
|||
<groupId>org.slf4j</groupId> |
|||
<artifactId>slf4j-log4j12</artifactId> |
|||
</dependency> |
|||
--> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-webmvc</artifactId> |
|||
<version>5.0.1.RELEASE</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.5.0.RELEASE</version> |
|||
<groupId>org.springframework.data</groupId> |
|||
<artifactId>spring-data-commons</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.2.0.RELEASE</version> |
|||
<groupId>org.springframework.data</groupId> |
|||
<artifactId>spring-data-mongodb</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>org.springframework.web</artifactId> |
|||
<version>3.1.0.RELEASE</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>1.0.4.1</version> |
|||
<groupId>org.xerial.snappy</groupId> |
|||
<artifactId>snappy-java</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<version>0.3.5</version> |
|||
<groupId>org.zeromq</groupId> |
|||
<artifactId>jeromq</artifactId> |
|||
</dependency> |
|||
|
|||
</dependencies> |
|||
|
|||
<build> |
|||
<finalName>radargui</finalName><!--修改编译出来的jar包名,仅为{artifactId}.jar--> |
|||
<plugins> |
|||
|
|||
|
|||
<!-- |
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-jar-plugin</artifactId> |
|||
<version>3.2.0</version> |
|||
<configuration> |
|||
<archive> |
|||
<manifest> |
|||
<addClasspath>true</addClasspath> |
|||
<mainClass>com.com.zhichenhaixin.main.RadarHelperMain</mainClass> <!– 此处为主入口–> |
|||
</manifest> |
|||
</archive> |
|||
|
|||
</configuration> |
|||
</plugin>--> |
|||
|
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-assembly-plugin</artifactId> |
|||
<version>3.0.0</version> |
|||
<configuration> |
|||
<archive> |
|||
<manifest> |
|||
<mainClass>com.zhichenhaixin.main.RadarHelperMain</mainClass> |
|||
</manifest> |
|||
</archive> |
|||
<descriptorRefs> |
|||
<descriptorRef>jar-with-dependencies</descriptorRef> |
|||
</descriptorRefs> |
|||
</configuration> |
|||
<executions> |
|||
<execution> |
|||
<id>make-assembly</id> <!-- this is used for inheritance merges --> |
|||
<phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 --> |
|||
<goals> |
|||
<goal>single</goal> |
|||
</goals> |
|||
</execution> |
|||
</executions> |
|||
</plugin> |
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-compiler-plugin</artifactId> |
|||
<configuration> |
|||
<source>8</source> |
|||
<target>8</target> |
|||
</configuration> |
|||
</plugin> |
|||
|
|||
</plugins> |
|||
|
|||
|
|||
</build> |
|||
</project> |
@ -0,0 +1,100 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.constant; |
|||
|
|||
import com.zhichenhaixin.base.util.HttpUtils; |
|||
import com.zhichenhaixin.base.util.StringUtil; |
|||
import com.zhichenhaixin.base.util.TcpUtil; |
|||
import com.zhichenhaixin.proto.ZCHXVideoWarn; |
|||
import com.zhichenhaixin.sys.model.UserVo; |
|||
import com.zhichenhaixin.sys.model.WarnInfoBean; |
|||
import com.zhichenhaixin.thread.WarnGPSDyDataThread; |
|||
import com.zhichenhaixin.thread.ZMQServerDyData; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.util.Hashtable; |
|||
import java.util.Map; |
|||
|
|||
public class Constant extends GlobalVariable |
|||
{ |
|||
public static Log log; |
|||
public static Map<String, UserVo> loginMap; |
|||
|
|||
static { |
|||
Constant.log = LogFactory.getLog(Constant.class); |
|||
Constant.loginMap = new Hashtable<String, UserVo>(); |
|||
} |
|||
|
|||
public static void addWarnMap(final String trackNum, final String tts) { |
|||
if (!Constant.warnMap.containsKey(trackNum)) { |
|||
try { |
|||
Constant.warnMap.put(trackNum, tts); |
|||
if (Constant.ttsStatus == 2 || tts.contains(Constant.defence_name)) { |
|||
return; |
|||
} |
|||
TcpUtil.playTts(tts); |
|||
final String time = String.valueOf(System.currentTimeMillis()); |
|||
ZMQServerDyData.getZMQPUB().sendData(Constant.sign, time, tts.getBytes("UTF-8")); |
|||
} |
|||
catch (Exception e) { |
|||
Constant.log.error("\u53d1\u9001TTS\u65f6\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public static void removeWarnMap(final String trackNum) { |
|||
if (Constant.warnMap.containsKey(trackNum)) { |
|||
Constant.warnMap.remove(trackNum); |
|||
} |
|||
} |
|||
|
|||
public static void sendClient(final WarnInfoBean warnInfoVo) { |
|||
final ZCHXVideoWarn.VideoWarnInfo.Builder videoWarnInfo = ZCHXVideoWarn.VideoWarnInfo.newBuilder(); |
|||
videoWarnInfo.setTransactionId(warnInfoVo.getObject_id()); |
|||
videoWarnInfo.setAlarmId(warnInfoVo.getId()); |
|||
final String carmeraid = StringUtil.isBlank(warnInfoVo.getCamera_id()) ? "0" : warnInfoVo.getCamera_id(); |
|||
videoWarnInfo.setCameraId(Integer.parseInt(carmeraid)); |
|||
videoWarnInfo.setAlarmPlace(StringUtil.isBlank(warnInfoVo.getAlarm_site()) ? "\u672a\u77e5" : warnInfoVo.getAlarm_site()); |
|||
videoWarnInfo.setAlarmFtp(""); |
|||
videoWarnInfo.setAlarmRtsp(StringUtil.isBlank(warnInfoVo.getRtsp()) ? "" : warnInfoVo.getRtsp()); |
|||
videoWarnInfo.setAlarmLat(warnInfoVo.getY()); |
|||
videoWarnInfo.setAlarmLon(warnInfoVo.getX()); |
|||
videoWarnInfo.setAlarmLevel(Integer.parseInt(StringUtil.isBlank(warnInfoVo.getAlarm_level()) ? "2" : warnInfoVo.getAlarm_level())); |
|||
videoWarnInfo.setTargetId(warnInfoVo.getObject_id()); |
|||
videoWarnInfo.setTargetType(GlobalVariable.getCilentType(Integer.parseInt(StringUtil.isBlank(warnInfoVo.getObject_type()) ? "0" : warnInfoVo.getObject_type()))); |
|||
videoWarnInfo.setAlarmSource(Integer.parseInt(warnInfoVo.getAlarm_source())); |
|||
final String time = String.valueOf(warnInfoVo.getBegintime()); |
|||
final long date = Long.valueOf(time); |
|||
final long begintime = (time.length() == 10) ? (date * 1000L) : date; |
|||
videoWarnInfo.setAlarmTime(begintime); |
|||
videoWarnInfo.setAlarmType(Integer.parseInt(warnInfoVo.getAlarm_type())); |
|||
videoWarnInfo.setAlarmStatus(Integer.parseInt(warnInfoVo.getAlarm_status())); |
|||
videoWarnInfo.setUntreatedAlarmCount(warnInfoVo.getUntreated_alarm_count()); |
|||
WarnGPSDyDataThread.getZMQPUB().sendData(Constant.TOPIC, videoWarnInfo.build().toByteArray()); |
|||
} |
|||
|
|||
public static void parseParmSendWarnToRongKe(final ZCHXVideoWarn.VideoWarnInfo videoWarnInfo) { |
|||
final WarnInfoBean bean = WarnInfoBean.getClone(); |
|||
bean.setSign("1"); |
|||
bean.setId(videoWarnInfo.getAlarmId()); |
|||
bean.setAlarm_level(String.valueOf(videoWarnInfo.getAlarmLevel())); |
|||
final String time = String.valueOf(videoWarnInfo.getAlarmTime()); |
|||
final long date = Long.valueOf(time); |
|||
final long begintime = (time.length() == 13) ? (date / 1000L) : date; |
|||
bean.setBegintime(begintime); |
|||
bean.setAlarm_site(videoWarnInfo.getAlarmPlace()); |
|||
bean.setX(videoWarnInfo.getAlarmLon()); |
|||
bean.setY(videoWarnInfo.getAlarmLat()); |
|||
bean.setAlarm_source("1"); |
|||
bean.setAlarm_type(String.valueOf(videoWarnInfo.getAlarmType())); |
|||
bean.setMark(""); |
|||
bean.setCamera_id(String.valueOf(videoWarnInfo.getCameraId())); |
|||
bean.setObject_type(String.valueOf(GlobalVariable.getRongkeType(videoWarnInfo.getTargetType()))); |
|||
bean.setRtsp(StringUtil.isBlank(videoWarnInfo.getAlarmRtsp()) ? "0" : videoWarnInfo.getAlarmRtsp()); |
|||
bean.setHandle_status(2); |
|||
HttpUtils.sendWarnToRongKe(bean); |
|||
} |
|||
} |
@ -0,0 +1,124 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.constant; |
|||
|
|||
import com.zhichenhaixin.base.util.SpringPropertyUtil; |
|||
import com.zhichenhaixin.proto.ZCHXVideoWarn; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.zeromq.ZMQ; |
|||
|
|||
import java.util.Map; |
|||
import java.util.Timer; |
|||
import java.util.concurrent.ConcurrentHashMap; |
|||
import java.util.concurrent.ExecutorService; |
|||
import java.util.concurrent.Executors; |
|||
|
|||
public class GlobalVariable |
|||
{ |
|||
public static Log log; |
|||
public static String sign; |
|||
public static final int ttsStatus; |
|||
public static final String TOPIC; |
|||
public static final int surline_number; |
|||
public static ExecutorService cachedThreadPool; |
|||
public static ZMQ.Context context; |
|||
public static int defence_id; |
|||
public static String defence_name; |
|||
public static Timer timer; |
|||
public static final String REQ_DATA = "data"; |
|||
public static final String REQ_SID = "sid"; |
|||
public static final String REQ_ID = "id"; |
|||
public static final String CODE_NAME = "code"; |
|||
public static final int SUCCESS = 1000; |
|||
public static final int ERROR = 1001; |
|||
public static final String RES_MSG = "msg"; |
|||
public static final String RES_DATA = "data"; |
|||
public static final String VALIDATOR_FIELD = "field"; |
|||
public static final String VALIDATOR_RUEL = "rule"; |
|||
public static final String VALIDATOR_COMMENT = "comment"; |
|||
public static final String VALIDATOR_MIN_LENGTH = "minLength"; |
|||
public static final String VALIDATOR_MAX_LENGTH = "maxLength"; |
|||
public static final String VALIDATOR_REGX_EXPRESS = "regx_express"; |
|||
public static final String IP; |
|||
public static final String release_type = "release"; |
|||
public static final String GUAGN_DIAN_YI = "\u5149\u7535\u4eea"; |
|||
public static int MODEL_TYPE; |
|||
public static int big_controll_big_screen; |
|||
public static Map<String, Object> warnMap; |
|||
public static final String TTS_ALARM = "\u6709\u76ee\u6807\u8fdb\u5165"; |
|||
public static final String SURRAND_LINE_ONE = "line_one"; |
|||
public static final String SURRAND_LINE_TWO = "line_two"; |
|||
public static final String SURRAND_LINE_THREE = "line_three"; |
|||
public static final String DEFENCE = "defence"; |
|||
public static final String warn_alarm_count = "warn_alarm_count"; |
|||
public static Map<String, ZCHXVideoWarn.VideoWarnInfo.Builder> mapVideoWarnInfo; |
|||
public static Map<String, Long> mapComposeVideoBefore; |
|||
public static Map<String, ZCHXVideoWarn.VideoWarnInfo.Builder> mapComposeVideoAfter; |
|||
|
|||
static { |
|||
GlobalVariable.log = LogFactory.getLog(GlobalVariable.class); |
|||
GlobalVariable.sign = SpringPropertyUtil.getProperty("tts_report_topic"); |
|||
ttsStatus = Integer.valueOf(SpringPropertyUtil.getProperty("tts.status")); |
|||
TOPIC = SpringPropertyUtil.getProperty("video.alarm.info.topic"); |
|||
surline_number = Integer.valueOf(SpringPropertyUtil.getProperty("surline.number")); |
|||
GlobalVariable.cachedThreadPool = Executors.newCachedThreadPool(); |
|||
GlobalVariable.context = ZMQ.context(1); |
|||
GlobalVariable.defence_id = Integer.valueOf(SpringPropertyUtil.getProperty("defence_id")); |
|||
GlobalVariable.defence_name = SpringPropertyUtil.getProperty("defence_name"); |
|||
GlobalVariable.timer = new Timer(); |
|||
IP = SpringPropertyUtil.getProperty("address.ip"); |
|||
GlobalVariable.MODEL_TYPE = 3; |
|||
GlobalVariable.big_controll_big_screen = 5; |
|||
GlobalVariable.warnMap = new ConcurrentHashMap<String, Object>(); |
|||
GlobalVariable.mapVideoWarnInfo = new ConcurrentHashMap<String, ZCHXVideoWarn.VideoWarnInfo.Builder>(); |
|||
GlobalVariable.mapComposeVideoBefore = new ConcurrentHashMap<String, Long>(); |
|||
GlobalVariable.mapComposeVideoAfter = new ConcurrentHashMap<String, ZCHXVideoWarn.VideoWarnInfo.Builder>(); |
|||
} |
|||
|
|||
public static int getRongkeType(int type) { |
|||
switch (type) { |
|||
case 0: { |
|||
type = 1; |
|||
break; |
|||
} |
|||
case 1: { |
|||
type = 2; |
|||
break; |
|||
} |
|||
case 2: { |
|||
type = 3; |
|||
break; |
|||
} |
|||
default: { |
|||
type = 4; |
|||
break; |
|||
} |
|||
} |
|||
return type; |
|||
} |
|||
|
|||
public static int getCilentType(int type) { |
|||
switch (type) { |
|||
case 1: { |
|||
type = 0; |
|||
break; |
|||
} |
|||
case 2: { |
|||
type = 1; |
|||
break; |
|||
} |
|||
case 3: { |
|||
type = 2; |
|||
break; |
|||
} |
|||
default: { |
|||
type = 4; |
|||
break; |
|||
} |
|||
} |
|||
return type; |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.controller; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
import javax.servlet.http.HttpServletRequest; |
|||
|
|||
@Controller |
|||
@RequestMapping({ "baseController" }) |
|||
public class BaseController |
|||
{ |
|||
public Log log; |
|||
|
|||
public BaseController() { |
|||
this.log = LogFactory.getLog(BaseController.class); |
|||
} |
|||
|
|||
@RequestMapping({ "{pkg}/{jsp}" }) |
|||
public String view(@PathVariable("pkg") final String pkg, @PathVariable("jsp") final String jsp, final HttpServletRequest request) { |
|||
this.log.info("toPage : " + pkg + "/" + jsp); |
|||
return String.valueOf(pkg) + "/" + jsp; |
|||
} |
|||
} |
@ -0,0 +1,35 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.dao; |
|||
|
|||
import com.zhichenhaixin.sys.model.UserLoginLogInfo; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.Collection; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public interface BaseDao |
|||
{ |
|||
Map<String, Object> queryById(final String p0, final int p1); |
|||
|
|||
List<Map<String, Object>> queryByParams(final String p0, final Map<String, Object> p1); |
|||
|
|||
void insertRow(final String p0, final Map<String, Object> p1); |
|||
|
|||
void insertList(final String p0, final Collection p1); |
|||
|
|||
void insertListBYId(final String p0, @Param("list") final Collection p1, @Param("link_id") final int p2); |
|||
|
|||
void updateById(final String p0, final Map<String, Object> p1); |
|||
|
|||
void deleteById(final String p0, final int p1); |
|||
|
|||
List<Map<String, Object>> queryForPageList(final String p0, final Map<String, Object> p1); |
|||
|
|||
int queryForPageCount(final String p0, final Map<String, Object> p1); |
|||
|
|||
void saveLoginLog(final UserLoginLogInfo p0); |
|||
} |
@ -0,0 +1,25 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.dao; |
|||
|
|||
import com.mongodb.BasicDBObject; |
|||
import com.mongodb.DBObject; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface MongoDBDao |
|||
{ |
|||
void deleteByPrimaryKey(final String p0, final String p1); |
|||
|
|||
void insert(final String p0, final BasicDBObject p1); |
|||
|
|||
DBObject selectByPrimaryKey(final String p0, final String p1); |
|||
|
|||
List<DBObject> selectAll(final String p0); |
|||
|
|||
List<DBObject> selectAllByField(final String p0, final String p1, final String p2); |
|||
|
|||
void updateByPrimaryKey(final String p0, final BasicDBObject p1); |
|||
} |
@ -0,0 +1,157 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.dao.impl; |
|||
|
|||
import com.zhichenhaixin.base.dao.BaseDao; |
|||
import com.zhichenhaixin.base.util.StringUtil; |
|||
import com.zhichenhaixin.sys.model.UserLoginLogInfo; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.apache.ibatis.session.RowBounds; |
|||
import org.mybatis.spring.SqlSessionTemplate; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.math.BigDecimal; |
|||
import java.util.Collection; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Repository("baseDaoImpl") |
|||
public class BaseDaoImpl implements BaseDao |
|||
{ |
|||
public Log log; |
|||
@Resource(name = "pg_template") |
|||
public SqlSessionTemplate pg_template; |
|||
|
|||
public BaseDaoImpl() { |
|||
this.log = LogFactory.getLog(BaseDaoImpl.class); |
|||
} |
|||
|
|||
public SqlSessionTemplate getPg_template() { |
|||
return this.pg_template; |
|||
} |
|||
|
|||
public void setPg_template(final SqlSessionTemplate pg_template) { |
|||
this.pg_template = pg_template; |
|||
} |
|||
|
|||
@Override |
|||
public Map<String, Object> queryById(final String sid, final int id) { |
|||
return this.pg_template.selectOne(sid, id); |
|||
} |
|||
|
|||
@Override |
|||
public List<Map<String, Object>> queryByParams(final String sid, final Map<String, Object> param) { |
|||
final List<Map<String, Object>> list = this.pg_template.selectList(sid, param); |
|||
return list; |
|||
} |
|||
|
|||
@Override |
|||
public void insertRow(final String sid, final Map<String, Object> param) { |
|||
this.pg_template.insert(sid, param); |
|||
} |
|||
|
|||
@Override |
|||
public void updateById(final String sid, final Map<String, Object> param) { |
|||
this.pg_template.update(sid, param); |
|||
} |
|||
|
|||
@Override |
|||
public void deleteById(final String sid, final int id) { |
|||
this.pg_template.delete(sid, id); |
|||
} |
|||
|
|||
@Override |
|||
public void insertList(final String sid, final Collection list) { |
|||
this.pg_template.insert(sid, list); |
|||
} |
|||
|
|||
@Override |
|||
public void insertListBYId(final String sid, final Collection list, final int link_id) { |
|||
final Map<String, Object> param = new HashMap<String, Object>(); |
|||
param.put("list", list); |
|||
param.put("link_id", link_id); |
|||
this.pg_template.insert(sid, param); |
|||
} |
|||
|
|||
@Override |
|||
public List<Map<String, Object>> queryForPageList(final String key, final Map<String, Object> param) { |
|||
int page = 1; |
|||
int rows = Integer.MAX_VALUE; |
|||
Label_0172: { |
|||
Label_0088: { |
|||
try { |
|||
final String pagestr = new StringBuilder().append(param.get("curPage")).toString(); |
|||
if (StringUtil.notBlank(pagestr)) { |
|||
page = Integer.parseInt(pagestr); |
|||
} |
|||
} |
|||
catch (NumberFormatException e) { |
|||
this.log.debug("parameter page is empty"); |
|||
break Label_0088; |
|||
} |
|||
finally { |
|||
if (page < 1) { |
|||
page = 1; |
|||
} |
|||
} |
|||
if (page < 1) { |
|||
page = 1; |
|||
} |
|||
try { |
|||
final String rowsstr = new StringBuilder().append(param.get("size")).toString(); |
|||
rows = Integer.parseInt(rowsstr); |
|||
} |
|||
catch (NumberFormatException e) { |
|||
this.log.debug("parameter rows is empty"); |
|||
break Label_0172; |
|||
} |
|||
finally { |
|||
if (rows < 1) { |
|||
rows = Integer.MAX_VALUE; |
|||
} |
|||
} |
|||
} |
|||
if (rows < 1) { |
|||
rows = Integer.MAX_VALUE; |
|||
} |
|||
} |
|||
param.put("_QUERY_PAGED_FLAG_", true); |
|||
final List<Map<String, Object>> list = this.pg_template.selectList(key, param, new RowBounds((page - 1) * rows, rows)); |
|||
param.remove("_QUERY_PAGED_FLAG_"); |
|||
return list; |
|||
} |
|||
|
|||
@Override |
|||
public int queryForPageCount(final String key, final Map<String, Object> param) { |
|||
final Collection<String> mappedStatementNames = this.pg_template.getConfiguration().getMappedStatementNames(); |
|||
int cnt = 0; |
|||
if (mappedStatementNames.contains(String.valueOf(key) + "Count")) { |
|||
this.log.debug("\u5b58\u5728\u5206\u9875\u67e5\u8be2\u603b\u6570SQL:" + key + "Count,\u76f4\u63a5\u4f7f\u7528"); |
|||
final Map<String, BigDecimal> ret = this.pg_template.selectOne(String.valueOf(key) + "Count", param); |
|||
if (ret instanceof Map) { |
|||
final Map<String, BigDecimal> retmap = ret; |
|||
cnt = Integer.parseInt(String.valueOf(retmap.get("cnt_total"))); |
|||
} |
|||
else { |
|||
cnt = Integer.parseInt(ret.toString()); |
|||
} |
|||
} |
|||
else { |
|||
param.put("_QUERY_COUNT_FLAG_", true); |
|||
final Map<String, BigDecimal> ret = this.pg_template.selectOne(key, param); |
|||
cnt = Integer.parseInt(String.valueOf(ret.get("cnt_total"))); |
|||
param.remove("_QUERY_COUNT_FLAG_"); |
|||
} |
|||
return cnt; |
|||
} |
|||
|
|||
@Override |
|||
public void saveLoginLog(final UserLoginLogInfo info) { |
|||
this.pg_template.insert("base.insertLoginLog", info); |
|||
} |
|||
} |
@ -0,0 +1,81 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.dao.impl; |
|||
|
|||
import com.mongodb.BasicDBObject; |
|||
import com.mongodb.DBCollection; |
|||
import com.mongodb.DBCursor; |
|||
import com.mongodb.DBObject; |
|||
import com.zhichenhaixin.base.dao.MongoDBDao; |
|||
import org.springframework.data.mongodb.core.MongoTemplate; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class MongoDBDaoImpl implements MongoDBDao |
|||
{ |
|||
private MongoTemplate mongoTemplate; |
|||
|
|||
@Override |
|||
public void deleteByPrimaryKey(final String collectionName, final String id) { |
|||
DBCollection collection = null; |
|||
collection = this.mongoTemplate.getCollection(collectionName); |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put("_id", id); |
|||
collection.remove(queryObject); |
|||
} |
|||
|
|||
@Override |
|||
public void insert(final String collectionName, final BasicDBObject record) { |
|||
DBCollection collection = null; |
|||
collection = this.mongoTemplate.getCollection(collectionName); |
|||
collection.save(record); |
|||
} |
|||
|
|||
@Override |
|||
public DBObject selectByPrimaryKey(final String collectionName, final String id) { |
|||
DBCollection collection = null; |
|||
collection = this.mongoTemplate.getCollection(collectionName); |
|||
DBObject dbObject = null; |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put("_id", id); |
|||
final DBCursor cursor = collection.find(queryObject); |
|||
while (cursor.hasNext()) { |
|||
dbObject = cursor.next(); |
|||
} |
|||
return dbObject; |
|||
} |
|||
|
|||
@Override |
|||
public List<DBObject> selectAll(final String collectionName) { |
|||
DBCollection collection = null; |
|||
collection = this.mongoTemplate.getCollection(collectionName); |
|||
final List<DBObject> dbList = new ArrayList<DBObject>(); |
|||
final DBCursor cursor = collection.find(); |
|||
while (cursor.hasNext()) { |
|||
dbList.add(cursor.next()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
@Override |
|||
public void updateByPrimaryKey(final String collectionName, final BasicDBObject record) { |
|||
} |
|||
|
|||
@Override |
|||
public List<DBObject> selectAllByField(final String collectionName, final String field1, final String field2) { |
|||
DBCollection collection = null; |
|||
collection = this.mongoTemplate.getCollection(collectionName); |
|||
final List<DBObject> dbList = new ArrayList<DBObject>(); |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put(field1, true); |
|||
queryObject.put(field2, true); |
|||
final DBCursor cursor = collection.find(new BasicDBObject(), queryObject); |
|||
while (cursor.hasNext()) { |
|||
dbList.add(cursor.next()); |
|||
} |
|||
return dbList; |
|||
} |
|||
} |
@ -0,0 +1,90 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class MatrixCameraVo implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = -3077865585768466263L; |
|||
private int splitScreenId; |
|||
private int cameraId; |
|||
private String videoIp; |
|||
private int videoPort; |
|||
private String userName; |
|||
private String passWord; |
|||
private String channelid; |
|||
|
|||
public void setSplitScreenId(final int splitScreenId) { |
|||
this.splitScreenId = splitScreenId; |
|||
} |
|||
|
|||
public void setCameraId(final int cameraId) { |
|||
this.cameraId = cameraId; |
|||
} |
|||
|
|||
public void setVideoIp(final String videoIp) { |
|||
this.videoIp = videoIp; |
|||
} |
|||
|
|||
public void setVideoPort(final int videoPort) { |
|||
this.videoPort = videoPort; |
|||
} |
|||
|
|||
public void setUserName(final String userName) { |
|||
this.userName = userName; |
|||
} |
|||
|
|||
public void setPassWord(final String passWord) { |
|||
this.passWord = passWord; |
|||
} |
|||
|
|||
public void setChannelid(final String channelid) { |
|||
this.channelid = channelid; |
|||
} |
|||
|
|||
public int getSplitScreenId() { |
|||
return this.splitScreenId; |
|||
} |
|||
|
|||
public int getCameraId() { |
|||
return this.cameraId; |
|||
} |
|||
|
|||
public String getVideoIp() { |
|||
return this.videoIp; |
|||
} |
|||
|
|||
public int getVideoPort() { |
|||
return this.videoPort; |
|||
} |
|||
|
|||
public String getUserName() { |
|||
return this.userName; |
|||
} |
|||
|
|||
public String getPassWord() { |
|||
return this.passWord; |
|||
} |
|||
|
|||
public String getChannelid() { |
|||
return this.channelid; |
|||
} |
|||
|
|||
public MatrixCameraVo() { |
|||
} |
|||
|
|||
@ConstructorProperties({ "splitScreenId", "cameraId", "videoIp", "videoPort", "userName", "passWord", "channelid" }) |
|||
public MatrixCameraVo(final int splitScreenId, final int cameraId, final String videoIp, final int videoPort, final String userName, final String passWord, final String channelid) { |
|||
this.splitScreenId = splitScreenId; |
|||
this.cameraId = cameraId; |
|||
this.videoIp = videoIp; |
|||
this.videoPort = videoPort; |
|||
this.userName = userName; |
|||
this.passWord = passWord; |
|||
this.channelid = channelid; |
|||
} |
|||
} |
@ -0,0 +1,40 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class MatrixPCVo implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = 3292350969094959749L; |
|||
private int pcId; |
|||
private int splitScreenId; |
|||
|
|||
public void setPcId(final int pcId) { |
|||
this.pcId = pcId; |
|||
} |
|||
|
|||
public void setSplitScreenId(final int splitScreenId) { |
|||
this.splitScreenId = splitScreenId; |
|||
} |
|||
|
|||
public int getPcId() { |
|||
return this.pcId; |
|||
} |
|||
|
|||
public int getSplitScreenId() { |
|||
return this.splitScreenId; |
|||
} |
|||
|
|||
public MatrixPCVo() { |
|||
} |
|||
|
|||
@ConstructorProperties({ "pcId", "splitScreenId" }) |
|||
public MatrixPCVo(final int pcId, final int splitScreenId) { |
|||
this.pcId = pcId; |
|||
this.splitScreenId = splitScreenId; |
|||
} |
|||
} |
@ -0,0 +1,67 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class MatrixVo |
|||
{ |
|||
private int handle; |
|||
private int sceneId; |
|||
private List<MatrixCameraVo> HCList; |
|||
private List<MatrixPCVo> computerList; |
|||
|
|||
public void addMatrixCameraVo(final MatrixCameraVo vo) { |
|||
if (this.HCList == null) { |
|||
this.HCList = new ArrayList<MatrixCameraVo>(); |
|||
} |
|||
this.HCList.add(vo); |
|||
} |
|||
|
|||
public void setHandle(final int handle) { |
|||
this.handle = handle; |
|||
} |
|||
|
|||
public void setSceneId(final int sceneId) { |
|||
this.sceneId = sceneId; |
|||
} |
|||
|
|||
public void setHCList(final List<MatrixCameraVo> HCList) { |
|||
this.HCList = HCList; |
|||
} |
|||
|
|||
public void setComputerList(final List<MatrixPCVo> computerList) { |
|||
this.computerList = computerList; |
|||
} |
|||
|
|||
public int getHandle() { |
|||
return this.handle; |
|||
} |
|||
|
|||
public int getSceneId() { |
|||
return this.sceneId; |
|||
} |
|||
|
|||
public List<MatrixCameraVo> getHCList() { |
|||
return this.HCList; |
|||
} |
|||
|
|||
public List<MatrixPCVo> getComputerList() { |
|||
return this.computerList; |
|||
} |
|||
|
|||
public MatrixVo() { |
|||
} |
|||
|
|||
@ConstructorProperties({ "handle", "sceneId", "HCList", "computerList" }) |
|||
public MatrixVo(final int handle, final int sceneId, final List<MatrixCameraVo> HCList, final List<MatrixPCVo> computerList) { |
|||
this.handle = handle; |
|||
this.sceneId = sceneId; |
|||
this.HCList = HCList; |
|||
this.computerList = computerList; |
|||
} |
|||
} |
@ -0,0 +1,74 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class ReqPage implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = -4284245164252282726L; |
|||
private int curPage; |
|||
private int size; |
|||
|
|||
@Override |
|||
public boolean equals(final Object o) { |
|||
if (o == this) { |
|||
return true; |
|||
} |
|||
if (!(o instanceof ReqPage)) { |
|||
return false; |
|||
} |
|||
final ReqPage other = (ReqPage)o; |
|||
return other.canEqual(this) && this.getCurPage() == other.getCurPage() && this.getSize() == other.getSize(); |
|||
} |
|||
|
|||
protected boolean canEqual(final Object other) { |
|||
return other instanceof ReqPage; |
|||
} |
|||
|
|||
@Override |
|||
public int hashCode() { |
|||
final int PRIME = 59; |
|||
int result = 1; |
|||
result = result * 59 + this.getCurPage(); |
|||
result = result * 59 + this.getSize(); |
|||
return result; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "ReqPage(curPage=" + this.getCurPage() + ", size=" + this.getSize() + ")"; |
|||
} |
|||
|
|||
public void setCurPage(final int curPage) { |
|||
this.curPage = curPage; |
|||
} |
|||
|
|||
public void setSize(final int size) { |
|||
this.size = size; |
|||
} |
|||
|
|||
public int getCurPage() { |
|||
return this.curPage; |
|||
} |
|||
|
|||
public int getSize() { |
|||
return this.size; |
|||
} |
|||
|
|||
public ReqPage() { |
|||
this.curPage = 1; |
|||
this.size = 10; |
|||
} |
|||
|
|||
@ConstructorProperties({ "curPage", "size" }) |
|||
public ReqPage(final int curPage, final int size) { |
|||
this.curPage = 1; |
|||
this.size = 10; |
|||
this.curPage = curPage; |
|||
this.size = size; |
|||
} |
|||
} |
@ -0,0 +1,198 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class ResInfoVo implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = -4644991203691658628L; |
|||
private String operateId; |
|||
private String uiSaveDataFlag; |
|||
private String msgCode; |
|||
private String msgContent; |
|||
private String msgType; |
|||
private String data; |
|||
|
|||
@Override |
|||
public boolean equals(final Object o) { |
|||
if (o == this) { |
|||
return true; |
|||
} |
|||
if (!(o instanceof ResInfoVo)) { |
|||
return false; |
|||
} |
|||
final ResInfoVo other = (ResInfoVo)o; |
|||
if (!other.canEqual(this)) { |
|||
return false; |
|||
} |
|||
final Object this$operateId = this.getOperateId(); |
|||
final Object other$operateId = other.getOperateId(); |
|||
Label_0065: { |
|||
if (this$operateId == null) { |
|||
if (other$operateId == null) { |
|||
break Label_0065; |
|||
} |
|||
} |
|||
else if (this$operateId.equals(other$operateId)) { |
|||
break Label_0065; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$uiSaveDataFlag = this.getUiSaveDataFlag(); |
|||
final Object other$uiSaveDataFlag = other.getUiSaveDataFlag(); |
|||
Label_0102: { |
|||
if (this$uiSaveDataFlag == null) { |
|||
if (other$uiSaveDataFlag == null) { |
|||
break Label_0102; |
|||
} |
|||
} |
|||
else if (this$uiSaveDataFlag.equals(other$uiSaveDataFlag)) { |
|||
break Label_0102; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$msgCode = this.getMsgCode(); |
|||
final Object other$msgCode = other.getMsgCode(); |
|||
Label_0139: { |
|||
if (this$msgCode == null) { |
|||
if (other$msgCode == null) { |
|||
break Label_0139; |
|||
} |
|||
} |
|||
else if (this$msgCode.equals(other$msgCode)) { |
|||
break Label_0139; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$msgContent = this.getMsgContent(); |
|||
final Object other$msgContent = other.getMsgContent(); |
|||
Label_0176: { |
|||
if (this$msgContent == null) { |
|||
if (other$msgContent == null) { |
|||
break Label_0176; |
|||
} |
|||
} |
|||
else if (this$msgContent.equals(other$msgContent)) { |
|||
break Label_0176; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$msgType = this.getMsgType(); |
|||
final Object other$msgType = other.getMsgType(); |
|||
Label_0213: { |
|||
if (this$msgType == null) { |
|||
if (other$msgType == null) { |
|||
break Label_0213; |
|||
} |
|||
} |
|||
else if (this$msgType.equals(other$msgType)) { |
|||
break Label_0213; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$data = this.getData(); |
|||
final Object other$data = other.getData(); |
|||
if (this$data == null) { |
|||
if (other$data == null) { |
|||
return true; |
|||
} |
|||
} |
|||
else if (this$data.equals(other$data)) { |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
protected boolean canEqual(final Object other) { |
|||
return other instanceof ResInfoVo; |
|||
} |
|||
|
|||
@Override |
|||
public int hashCode() { |
|||
final int PRIME = 59; |
|||
int result = 1; |
|||
final Object $operateId = this.getOperateId(); |
|||
result = result * 59 + (($operateId == null) ? 43 : $operateId.hashCode()); |
|||
final Object $uiSaveDataFlag = this.getUiSaveDataFlag(); |
|||
result = result * 59 + (($uiSaveDataFlag == null) ? 43 : $uiSaveDataFlag.hashCode()); |
|||
final Object $msgCode = this.getMsgCode(); |
|||
result = result * 59 + (($msgCode == null) ? 43 : $msgCode.hashCode()); |
|||
final Object $msgContent = this.getMsgContent(); |
|||
result = result * 59 + (($msgContent == null) ? 43 : $msgContent.hashCode()); |
|||
final Object $msgType = this.getMsgType(); |
|||
result = result * 59 + (($msgType == null) ? 43 : $msgType.hashCode()); |
|||
final Object $data = this.getData(); |
|||
result = result * 59 + (($data == null) ? 43 : $data.hashCode()); |
|||
return result; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "ResInfoVo(operateId=" + this.getOperateId() + ", uiSaveDataFlag=" + this.getUiSaveDataFlag() + ", msgCode=" + this.getMsgCode() + ", msgContent=" + this.getMsgContent() + ", msgType=" + this.getMsgType() + ", data=" + this.getData() + ")"; |
|||
} |
|||
|
|||
public void setOperateId(final String operateId) { |
|||
this.operateId = operateId; |
|||
} |
|||
|
|||
public void setUiSaveDataFlag(final String uiSaveDataFlag) { |
|||
this.uiSaveDataFlag = uiSaveDataFlag; |
|||
} |
|||
|
|||
public void setMsgCode(final String msgCode) { |
|||
this.msgCode = msgCode; |
|||
} |
|||
|
|||
public void setMsgContent(final String msgContent) { |
|||
this.msgContent = msgContent; |
|||
} |
|||
|
|||
public void setMsgType(final String msgType) { |
|||
this.msgType = msgType; |
|||
} |
|||
|
|||
public void setData(final String data) { |
|||
this.data = data; |
|||
} |
|||
|
|||
public String getOperateId() { |
|||
return this.operateId; |
|||
} |
|||
|
|||
public String getUiSaveDataFlag() { |
|||
return this.uiSaveDataFlag; |
|||
} |
|||
|
|||
public String getMsgCode() { |
|||
return this.msgCode; |
|||
} |
|||
|
|||
public String getMsgContent() { |
|||
return this.msgContent; |
|||
} |
|||
|
|||
public String getMsgType() { |
|||
return this.msgType; |
|||
} |
|||
|
|||
public String getData() { |
|||
return this.data; |
|||
} |
|||
|
|||
@ConstructorProperties({ "operateId", "uiSaveDataFlag", "msgCode", "msgContent", "msgType", "data" }) |
|||
public ResInfoVo(final String operateId, final String uiSaveDataFlag, final String msgCode, final String msgContent, final String msgType, final String data) { |
|||
this.operateId = operateId; |
|||
this.uiSaveDataFlag = uiSaveDataFlag; |
|||
this.msgCode = msgCode; |
|||
this.msgContent = msgContent; |
|||
this.msgType = msgType; |
|||
this.data = data; |
|||
} |
|||
|
|||
public ResInfoVo() { |
|||
} |
|||
} |
@ -0,0 +1,49 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class ResPage<T> implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = 8244860634690350718L; |
|||
private int rowTotal; |
|||
private List<T> infoContent; |
|||
|
|||
public void setRowTotal(final int rowTotal) { |
|||
this.rowTotal = rowTotal; |
|||
} |
|||
|
|||
public void setInfoContent(final List<T> infoContent) { |
|||
this.infoContent = infoContent; |
|||
} |
|||
|
|||
public int getRowTotal() { |
|||
return this.rowTotal; |
|||
} |
|||
|
|||
public List<T> getInfoContent() { |
|||
return this.infoContent; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "ResPage(rowTotal=" + this.getRowTotal() + ", infoContent=" + this.getInfoContent() + ")"; |
|||
} |
|||
|
|||
public ResPage() { |
|||
this.infoContent = new ArrayList<T>(); |
|||
} |
|||
|
|||
@ConstructorProperties({ "rowTotal", "infoContent" }) |
|||
public ResPage(final int rowTotal, final List<T> infoContent) { |
|||
this.infoContent = new ArrayList<T>(); |
|||
this.rowTotal = rowTotal; |
|||
this.infoContent = infoContent; |
|||
} |
|||
} |
@ -0,0 +1,46 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.service; |
|||
|
|||
import com.zhichenhaixin.sys.model.UserLoginLogInfo; |
|||
|
|||
import java.util.Map; |
|||
|
|||
public interface BaseService |
|||
{ |
|||
String queryById(final String p0); |
|||
|
|||
String queryById(final Map<String, Object> p0); |
|||
|
|||
Map<String, Object> queryById3(final Map<String, Object> p0); |
|||
|
|||
String queryByParams(final String p0); |
|||
|
|||
String queryByParams(final Map<String, Object> p0); |
|||
|
|||
Map<String, Object> queryByParams3(final Map<String, Object> p0); |
|||
|
|||
String insertRow(final String p0); |
|||
|
|||
String insertRow(final Map<String, Object> p0); |
|||
|
|||
Map<String, Object> insertRow3(final Map<String, Object> p0); |
|||
|
|||
String updateById(final String p0); |
|||
|
|||
String updateById(final Map<String, Object> p0); |
|||
|
|||
Map<String, Object> updateById3(final Map<String, Object> p0); |
|||
|
|||
String deleteById(final String p0); |
|||
|
|||
String deleteById(final Map<String, Object> p0); |
|||
|
|||
Map<String, Object> deleteById3(final Map<String, Object> p0); |
|||
|
|||
Map<String, Object> queryForPage(final String p0, final Map<String, Object> p1); |
|||
|
|||
void saveLoginLog(final UserLoginLogInfo p0); |
|||
} |
@ -0,0 +1,389 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.service.impl; |
|||
|
|||
import com.google.gson.Gson; |
|||
import com.google.gson.reflect.TypeToken; |
|||
import com.zhichenhaixin.base.dao.BaseDao; |
|||
import com.zhichenhaixin.base.service.BaseService; |
|||
import com.zhichenhaixin.base.util.ObjectUtil; |
|||
import com.zhichenhaixin.sys.model.UserLoginLogInfo; |
|||
import net.sf.json.JSONArray; |
|||
import net.sf.json.JSONObject; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.annotation.Resource; |
|||
import javax.servlet.http.HttpServletRequest; |
|||
import java.lang.reflect.Type; |
|||
import java.util.*; |
|||
|
|||
@Service("baseServiceImpl") |
|||
public class BaseServiceImpl implements BaseService |
|||
{ |
|||
public static Log log; |
|||
@Resource(name = "baseDaoImpl") |
|||
private BaseDao baseDao; |
|||
|
|||
static { |
|||
BaseServiceImpl.log = LogFactory.getLog(BaseServiceImpl.class); |
|||
} |
|||
|
|||
public String backSucessMapStr(final Object obj) { |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
map.put("code", 1000); |
|||
map.put("msg", "\u64cd\u4f5c\u6210\u529f"); |
|||
map.put("data", obj); |
|||
return mapTojsonStr(map); |
|||
} |
|||
|
|||
public Map<String, Object> backSucessMap(final Object obj) { |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
map.put("code", 1000); |
|||
map.put("msg", "\u64cd\u4f5c\u6210\u529f"); |
|||
map.put("data", obj); |
|||
return map; |
|||
} |
|||
|
|||
public String backErrorMapStr(final Object obj) { |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
map.put("code", 1001); |
|||
map.put("msg", "\u64cd\u4f5c\u5931\u8d25"); |
|||
map.put("data", obj); |
|||
return mapTojsonStr(map); |
|||
} |
|||
|
|||
public Map<String, Object> backErrorMap(final Object obj) { |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
map.put("code", 1001); |
|||
map.put("msg", "\u64cd\u4f5c\u5931\u8d25"); |
|||
map.put("data", obj); |
|||
return map; |
|||
} |
|||
|
|||
@Override |
|||
public String queryById(final String param) { |
|||
try { |
|||
final Map<String, Object> map = strToMap(param); |
|||
final Map<String, Object> obj = this.baseDao.queryById(map.get("sid").toString(), ObjectUtil.parseInt(map.get("id"))); |
|||
return this.backSucessMapStr(obj); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String queryById(final Map<String, Object> map) { |
|||
try { |
|||
final Map<String, Object> obj = this.baseDao.queryById(map.get("sid").toString(), ObjectUtil.parseInt(map.get("id"))); |
|||
return this.backSucessMapStr(obj); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Map<String, Object> queryById3(final Map<String, Object> map) { |
|||
try { |
|||
final Map<String, Object> obj = this.baseDao.queryById(map.get("sid").toString(), ObjectUtil.parseInt(map.get("id"))); |
|||
return this.backSucessMap(obj); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMap(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String queryByParams(final String param) { |
|||
try { |
|||
final Map<String, Object> map = strToMap(param); |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
final List<Map<String, Object>> list = this.baseDao.queryByParams(map.get("sid").toString(), params); |
|||
return this.backSucessMapStr(list); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String queryByParams(final Map<String, Object> map) { |
|||
try { |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
final List<Map<String, Object>> list = this.baseDao.queryByParams(map.get("sid").toString(), params); |
|||
return this.backSucessMapStr(list); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Map<String, Object> queryByParams3(final Map<String, Object> map) { |
|||
try { |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
final List<Map<String, Object>> list = this.baseDao.queryByParams(map.get("sid").toString(), params); |
|||
return this.backSucessMap(list); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMap(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String insertRow(final String param) { |
|||
try { |
|||
final Map<String, Object> map = strToMap(param); |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
this.baseDao.insertRow(map.get("sid").toString(), params); |
|||
return this.backSucessMapStr(null); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String insertRow(final Map<String, Object> map) { |
|||
try { |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
this.baseDao.insertRow(map.get("sid").toString(), params); |
|||
return this.backSucessMapStr(null); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Map<String, Object> insertRow3(final Map<String, Object> map) { |
|||
try { |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
this.baseDao.insertRow(map.get("sid").toString(), params); |
|||
return this.backSucessMap(null); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMap(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String updateById(final String param) { |
|||
try { |
|||
final Map<String, Object> map = strToMap(param); |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
this.baseDao.updateById(map.get("sid").toString(), params); |
|||
return this.backSucessMapStr(null); |
|||
} |
|||
catch (Exception e) { |
|||
e.printStackTrace(); |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String updateById(final Map<String, Object> map) { |
|||
try { |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
this.baseDao.updateById(map.get("sid").toString(), params); |
|||
return this.backSucessMapStr(null); |
|||
} |
|||
catch (Exception e) { |
|||
e.printStackTrace(); |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Map<String, Object> updateById3(final Map<String, Object> map) { |
|||
try { |
|||
final Object obj = map.get("data"); |
|||
final Map<String, Object> params = strToMap(obj.toString()); |
|||
this.baseDao.updateById(map.get("sid").toString(), params); |
|||
return this.backSucessMap(null); |
|||
} |
|||
catch (Exception e) { |
|||
e.printStackTrace(); |
|||
return this.backErrorMap(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String deleteById(final String param) { |
|||
try { |
|||
final Map<String, Object> map = strToMap(param); |
|||
this.baseDao.deleteById(map.get("sid").toString(), ObjectUtil.parseInt(map.get("id"))); |
|||
return this.backSucessMapStr(null); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String deleteById(final Map<String, Object> map) { |
|||
try { |
|||
this.baseDao.deleteById(map.get("sid").toString(), ObjectUtil.parseInt(map.get("id"))); |
|||
return this.backSucessMapStr(null); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMapStr(null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Map<String, Object> deleteById3(final Map<String, Object> map) { |
|||
try { |
|||
this.baseDao.deleteById(map.get("sid").toString(), ObjectUtil.parseInt(map.get("id"))); |
|||
return this.backSucessMap(null); |
|||
} |
|||
catch (Exception e) { |
|||
return this.backErrorMap(null); |
|||
} |
|||
} |
|||
|
|||
public static Map<String, Object> strToMap(final String str) { |
|||
Map<String, Object> map = null; |
|||
try { |
|||
final JSONObject jsonObj = (JSONObject)(map = (Map<String, Object>)JSONObject.fromObject(str)); |
|||
} |
|||
catch (Exception e) { |
|||
BaseServiceImpl.log.error("json\u5b57\u7b26\u4e32\u8f6c\u5316\u4e3amap\u7684\u683c\u5f0f\u9519\u8bef!"); |
|||
return null; |
|||
} |
|||
return map; |
|||
} |
|||
|
|||
public List<Map<String, Object>> strToListMap(final String str) { |
|||
List<Map<String, Object>> ObjectList = null; |
|||
try { |
|||
final Gson gson = new Gson(); |
|||
final Type type = new TypeToken<List<?>>() {}.getType(); |
|||
ObjectList = gson.fromJson(str, type); |
|||
} |
|||
catch (Exception e) { |
|||
BaseServiceImpl.log.error("json\u8f6c\u5316\u4e3alist\u7684\u683c\u5f0f\u9519\u8bef"); |
|||
return null; |
|||
} |
|||
return ObjectList; |
|||
} |
|||
|
|||
public static String mapTojsonStr(final Map<String, Object> map) { |
|||
String str = ""; |
|||
try { |
|||
final JSONObject jsonObj = JSONObject.fromObject(map); |
|||
str = jsonObj.toString(); |
|||
} |
|||
catch (Exception e) { |
|||
BaseServiceImpl.log.error("map\u8f6cjson\u5b57\u7b26\u4e32\u7684\u6570\u636e\u683c\u5f0f\u9519\u8bef"); |
|||
} |
|||
return str; |
|||
} |
|||
|
|||
public static String listMapToJsonStr(final List<Map<String, Object>> list) { |
|||
String json = null; |
|||
try { |
|||
json = JSONArray.fromObject(list).toString(); |
|||
} |
|||
catch (Exception e) { |
|||
BaseServiceImpl.log.error("list\u8f6cjson\u5b57\u7b26\u4e32\u7684\u683c\u5f0f\u9519\u8bef"); |
|||
} |
|||
return json; |
|||
} |
|||
|
|||
public static String StrToBinstr(final String str) { |
|||
final char[] strChar = str.toCharArray(); |
|||
String result = ""; |
|||
for (int i = 0; i < strChar.length; ++i) { |
|||
result = String.valueOf(result) + Integer.toBinaryString(strChar[i]) + " "; |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static String BinstrToStr(final String binStr) { |
|||
final String[] tempStr = StrToStrArray(binStr); |
|||
final char[] tempChar = new char[tempStr.length]; |
|||
for (int i = 0; i < tempStr.length; ++i) { |
|||
tempChar[i] = BinstrToChar(tempStr[i]); |
|||
} |
|||
return String.valueOf(tempChar); |
|||
} |
|||
|
|||
public static String[] StrToStrArray(final String str) { |
|||
return str.split(" "); |
|||
} |
|||
|
|||
public static char BinstrToChar(final String binStr) { |
|||
final int[] temp = BinstrToIntArray(binStr); |
|||
int sum = 0; |
|||
for (int i = 0; i < temp.length; ++i) { |
|||
sum += temp[temp.length - 1 - i] << i; |
|||
} |
|||
return (char)sum; |
|||
} |
|||
|
|||
public static int[] BinstrToIntArray(final String binStr) { |
|||
final char[] temp = binStr.toCharArray(); |
|||
final int[] result = new int[temp.length]; |
|||
for (int i = 0; i < temp.length; ++i) { |
|||
result[i] = temp[i] - '0'; |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
@Override |
|||
public Map<String, Object> queryForPage(final String key, final Map<String, Object> param) { |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
try { |
|||
map.put("infoContent", this.baseDao.queryForPageList(key, param)); |
|||
map.put("rowTotal", this.baseDao.queryForPageCount(key, param)); |
|||
} |
|||
catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
return map; |
|||
} |
|||
|
|||
public Map<String, Object> getParameterMap(final HttpServletRequest request) { |
|||
final Map<String, Object> retMap = new HashMap<String, Object>(); |
|||
final Map<String, Object> paramMap = (Map<String, Object>)request.getParameterMap(); |
|||
final Set<String> paramKeys = paramMap.keySet(); |
|||
for (final String key : paramKeys) { |
|||
final Object originalValue = paramMap.get(key); |
|||
if (originalValue.getClass().isArray()) { |
|||
final Object[] values = (Object[])originalValue; |
|||
if (values.length == 1) { |
|||
if (ObjectUtil.isEmpty(values[0])) { |
|||
continue; |
|||
} |
|||
retMap.put(key, values[0]); |
|||
} |
|||
else { |
|||
if (values.length <= 1) { |
|||
continue; |
|||
} |
|||
retMap.put(key, Arrays.asList(values)); |
|||
} |
|||
} |
|||
} |
|||
return retMap; |
|||
} |
|||
|
|||
@Override |
|||
public void saveLoginLog(final UserLoginLogInfo info) { |
|||
this.baseDao.saveLoginLog(info); |
|||
} |
|||
} |
@ -0,0 +1,83 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
public class ArithmeticUtil |
|||
{ |
|||
public static ArithmeticUtil util; |
|||
public static final double haili = 1.852; |
|||
|
|||
static { |
|||
ArithmeticUtil.util = null; |
|||
} |
|||
|
|||
private ArithmeticUtil() { |
|||
} |
|||
|
|||
public static ArithmeticUtil getInstance() { |
|||
if (ArithmeticUtil.util == null) { |
|||
ArithmeticUtil.util = new ArithmeticUtil(); |
|||
} |
|||
return ArithmeticUtil.util; |
|||
} |
|||
|
|||
public double getSpeed(final int vx, final int vy) { |
|||
final double x = Math.pow(vx, 2.0); |
|||
final double y = Math.pow(vy, 2.0); |
|||
final double xy = x + y; |
|||
final double val = Math.sqrt(xy); |
|||
return val; |
|||
} |
|||
|
|||
public double getSpeedKm(double xy) { |
|||
xy *= 3.6; |
|||
return xy; |
|||
} |
|||
|
|||
public double getSpeedHl(double xy) { |
|||
xy /= 1.852; |
|||
return xy; |
|||
} |
|||
|
|||
public double getSpeedHlByVXY(final int vx, final int vy) { |
|||
double xy = this.getSpeed(vx, vy); |
|||
xy = this.getSpeedKm(xy); |
|||
xy = this.getSpeedHl(xy); |
|||
return xy; |
|||
} |
|||
|
|||
public double getSpeedHlByVXY(double speed) { |
|||
speed = this.getSpeedKm(speed); |
|||
speed = this.getSpeedHl(speed); |
|||
return speed; |
|||
} |
|||
|
|||
public double getCourse(final int vx, final int vy) { |
|||
double course; |
|||
if (vx > 0) { |
|||
course = 0.0 + Math.atan2(vx, vy); |
|||
} |
|||
else { |
|||
course = 6.283185307179586 + Math.atan2(vx, vy); |
|||
} |
|||
return course; |
|||
} |
|||
|
|||
public double getCourseDegre(double course) { |
|||
course = course / 3.141592653589793 * 180.0; |
|||
return course; |
|||
} |
|||
|
|||
public double getCourseDegBYVXY(final int vx, final int vy) { |
|||
double xy = this.getCourse(vx, vy); |
|||
xy = this.getCourseDegre(xy); |
|||
return xy; |
|||
} |
|||
|
|||
public static void main(final String[] args) { |
|||
final double val = getInstance().getCourseDegBYVXY(2, 1); |
|||
System.out.println(val); |
|||
} |
|||
} |
@ -0,0 +1,20 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.CacheManager; |
|||
|
|||
public class CacheUtil |
|||
{ |
|||
public static Cache getECache(final String cache_name) { |
|||
final boolean b = CacheManager.getInstance().cacheExists(cache_name); |
|||
Cache cache = null; |
|||
if (b) { |
|||
cache = CacheManager.getInstance().getCache(cache_name); |
|||
} |
|||
return cache; |
|||
} |
|||
} |
@ -0,0 +1,66 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.io.ByteArrayOutputStream; |
|||
|
|||
public class CharacterUtil |
|||
{ |
|||
private static String hexStr; |
|||
private static String[] binaryArray; |
|||
|
|||
static { |
|||
CharacterUtil.hexStr = "0123456789ABCDEF"; |
|||
CharacterUtil.binaryArray = new String[] { "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" }; |
|||
} |
|||
|
|||
public static String bytes2BinaryStr(final byte[] bArray) { |
|||
String outStr = ""; |
|||
int pos = 0; |
|||
for (final byte b : bArray) { |
|||
pos = (b & 0xF0) >> 4; |
|||
outStr = String.valueOf(outStr) + CharacterUtil.binaryArray[pos]; |
|||
pos = (b & 0xF); |
|||
outStr = String.valueOf(outStr) + CharacterUtil.binaryArray[pos]; |
|||
} |
|||
return outStr; |
|||
} |
|||
|
|||
public static String BinaryToHexString(final byte[] bytes) { |
|||
String result = ""; |
|||
String hex = ""; |
|||
for (int i = 0; i < bytes.length; ++i) { |
|||
hex = String.valueOf(CharacterUtil.hexStr.charAt((bytes[i] & 0xF0) >> 4)); |
|||
hex = String.valueOf(hex) + String.valueOf(CharacterUtil.hexStr.charAt(bytes[i] & 0xF)); |
|||
result = String.valueOf(result) + hex + " "; |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static byte[] HexStringToBinary(final String hexString) { |
|||
final int len = hexString.length() / 2; |
|||
final byte[] bytes = new byte[len]; |
|||
byte high = 0; |
|||
byte low = 0; |
|||
for (int i = 0; i < len; ++i) { |
|||
high = (byte)(CharacterUtil.hexStr.indexOf(hexString.charAt(2 * i)) << 4); |
|||
low = (byte)CharacterUtil.hexStr.indexOf(hexString.charAt(2 * i + 1)); |
|||
bytes[i] = (byte)(high | low); |
|||
} |
|||
return bytes; |
|||
} |
|||
|
|||
public static String getStrByBytes(final byte[] bytes) { |
|||
return new String(bytes); |
|||
} |
|||
|
|||
public static String decode(final String bytes) { |
|||
final ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2); |
|||
for (int i = 0; i < bytes.length(); i += 2) { |
|||
baos.write(CharacterUtil.hexStr.indexOf(bytes.charAt(i)) << 4 | CharacterUtil.hexStr.indexOf(bytes.charAt(i + 1))); |
|||
} |
|||
return new String(baos.toByteArray()); |
|||
} |
|||
} |
@ -0,0 +1,74 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.zhichenhaixin.proto.ZCHXAISVessel; |
|||
import com.zhichenhaixin.zmq.model.AISData; |
|||
|
|||
public class ConvertUtils |
|||
{ |
|||
public static void convertVesselTrack(final ZCHXAISVessel.VesselTrack vesselTrack, final AISData aisData) { |
|||
aisData.setMmsi(vesselTrack.getMmsi()); |
|||
aisData.setShiptype(vesselTrack.getShiptype()); |
|||
aisData.setNavStatus(new StringBuilder().append(vesselTrack.getNavStatus()).toString()); |
|||
aisData.setRot(vesselTrack.getRot()); |
|||
aisData.setSog(vesselTrack.getSog()); |
|||
aisData.setLon(vesselTrack.getLon()); |
|||
aisData.setLat(vesselTrack.getLat()); |
|||
aisData.setCog(vesselTrack.getCog()); |
|||
aisData.setHeading(vesselTrack.getHeading()); |
|||
aisData.setUtc(vesselTrack.getUTC()); |
|||
} |
|||
|
|||
public static void convertVesselInfo(final ZCHXAISVessel.VesselInfo vesselInfo, final AISData aisData) { |
|||
aisData.setImo(vesselInfo.getImo()); |
|||
aisData.setCallSign(vesselInfo.getCallSign()); |
|||
aisData.setShipName(vesselInfo.getShipName()); |
|||
aisData.setCargoType(new StringBuilder(String.valueOf(vesselInfo.getCargoType())).toString()); |
|||
aisData.setCountry(vesselInfo.getCountry()); |
|||
aisData.setShipLength(vesselInfo.getShipLength()); |
|||
aisData.setShipWidth(vesselInfo.getShipWidth()); |
|||
aisData.setToBow(vesselInfo.getToBow()); |
|||
aisData.setToStern(vesselInfo.getToStern()); |
|||
aisData.setToPort(vesselInfo.getToPort()); |
|||
aisData.setToStarboard(vesselInfo.getToStarboard()); |
|||
aisData.setEta(vesselInfo.getEta()); |
|||
aisData.setDraught(vesselInfo.getDraught()); |
|||
aisData.setDest(vesselInfo.getDest()); |
|||
aisData.setUtc(vesselInfo.getUTC()); |
|||
} |
|||
|
|||
public static void convertVesselTrackProto(final ZCHXAISVessel.VesselTrack vesselTrack, final ZCHXAISVessel.AISVesselData.Builder aisData) { |
|||
aisData.setId(vesselTrack.getId()); |
|||
aisData.setMmsi(vesselTrack.getMmsi()); |
|||
aisData.setShiptype(vesselTrack.getShiptype()); |
|||
aisData.setNavStatus(vesselTrack.getNavStatus()); |
|||
aisData.setRot(vesselTrack.getRot()); |
|||
aisData.setSog(vesselTrack.getSog()); |
|||
aisData.setLon(vesselTrack.getLon()); |
|||
aisData.setLat(vesselTrack.getLat()); |
|||
aisData.setCog(vesselTrack.getCog()); |
|||
aisData.setHeading(vesselTrack.getHeading()); |
|||
} |
|||
|
|||
public static void convertVesselInfoProto(final ZCHXAISVessel.VesselInfo vesselInfo, final ZCHXAISVessel.AISVesselData.Builder aisData) { |
|||
aisData.setImo(vesselInfo.getImo()); |
|||
aisData.setCallSign(vesselInfo.getCallSign()); |
|||
aisData.setShipName(vesselInfo.getShipName()); |
|||
aisData.setCargoType(vesselInfo.getCargoType()); |
|||
aisData.setCountry(vesselInfo.getCountry()); |
|||
aisData.setVendorID(vesselInfo.getVendorID()); |
|||
aisData.setShipLength(vesselInfo.getShipLength()); |
|||
aisData.setShipWidth(vesselInfo.getShipWidth()); |
|||
aisData.setToBow(vesselInfo.getToBow()); |
|||
aisData.setToStern(vesselInfo.getToStern()); |
|||
aisData.setToPort(vesselInfo.getToPort()); |
|||
aisData.setToStarboard(vesselInfo.getToStarboard()); |
|||
aisData.setEta(vesselInfo.getEta()); |
|||
aisData.setDraught(vesselInfo.getDraught()); |
|||
aisData.setDest(vesselInfo.getDest()); |
|||
aisData.setUTC(vesselInfo.getUTC()); |
|||
} |
|||
} |
@ -0,0 +1,183 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.log4j.Logger; |
|||
|
|||
import java.text.ParseException; |
|||
import java.text.SimpleDateFormat; |
|||
import java.util.Date; |
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
import java.util.Random; |
|||
|
|||
public class DateUtil |
|||
{ |
|||
private static Logger log; |
|||
public static SimpleDateFormat format; |
|||
public static SimpleDateFormat format1; |
|||
public static SimpleDateFormat format2; |
|||
public static SimpleDateFormat format3; |
|||
public static SimpleDateFormat format4; |
|||
public static SimpleDateFormat format5; |
|||
public static SimpleDateFormat format6; |
|||
public static SimpleDateFormat format7; |
|||
public static SimpleDateFormat format8; |
|||
|
|||
static { |
|||
DateUtil.log = Logger.getLogger(DateUtil.class); |
|||
DateUtil.format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|||
DateUtil.format1 = new SimpleDateFormat("yyyy"); |
|||
DateUtil.format2 = new SimpleDateFormat("MM"); |
|||
DateUtil.format3 = new SimpleDateFormat("d"); |
|||
DateUtil.format4 = new SimpleDateFormat("HH"); |
|||
DateUtil.format5 = new SimpleDateFormat("mm"); |
|||
DateUtil.format6 = new SimpleDateFormat("ss"); |
|||
DateUtil.format7 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
|||
DateUtil.format8 = new SimpleDateFormat("yyyyMMddHHmmssSSS"); |
|||
} |
|||
|
|||
public static Date now() { |
|||
return new Date(); |
|||
} |
|||
|
|||
public static long getMilliseconds(final Date t2, final Date t1) { |
|||
final long l2 = t2.getTime(); |
|||
final long l3 = t1.getTime(); |
|||
return l2 - l3; |
|||
} |
|||
|
|||
public static String getNowTimestamp() { |
|||
final Date d = new Date(); |
|||
return DateUtil.format7.format(d); |
|||
} |
|||
|
|||
public static String getCurMillion() { |
|||
final Date d = new Date(); |
|||
return DateUtil.format8.format(d); |
|||
} |
|||
|
|||
public static String format(final Date d) { |
|||
return DateUtil.format.format(d); |
|||
} |
|||
|
|||
public static String format(final Date d, final String fstr) { |
|||
final SimpleDateFormat f = new SimpleDateFormat(fstr); |
|||
return f.format(d); |
|||
} |
|||
|
|||
public static String getDateMills(final String dateStr) { |
|||
final Date d = getDate(dateStr, "yy-MM-dd HH:mm:ss"); |
|||
final long time = d.getTime(); |
|||
return String.valueOf(time); |
|||
} |
|||
|
|||
public static Map getDateMap(final Date date) { |
|||
final HashMap m = new HashMap(); |
|||
m.put("Years", DateUtil.format1.format(date)); |
|||
m.put("Month", DateUtil.format2.format(date)); |
|||
m.put("Day", DateUtil.format3.format(date)); |
|||
m.put("Hours", DateUtil.format4.format(date)); |
|||
m.put("Minute", DateUtil.format5.format(date)); |
|||
m.put("Seconds", DateUtil.format6.format(date)); |
|||
return m; |
|||
} |
|||
|
|||
public static Date getDate(final String dateStr, final String format) { |
|||
final SimpleDateFormat sdf = new SimpleDateFormat(format); |
|||
Date d = null; |
|||
try { |
|||
d = sdf.parse(dateStr); |
|||
} |
|||
catch (ParseException e) { |
|||
DateUtil.log.error("\u65e5\u671f\u8f6c\u6362\u5f02\u5e38\uff01" + e.getLocalizedMessage()); |
|||
} |
|||
return d; |
|||
} |
|||
|
|||
public static String getDateRound() { |
|||
return String.valueOf(format(new Date(), "yyyyMMddhhmmss")) + getRound(4); |
|||
} |
|||
|
|||
public static String getRound(final int length) { |
|||
final Random r = new Random(); |
|||
String number = ""; |
|||
for (int i = 0; i < length; ++i) { |
|||
final int num = r.nextInt(10); |
|||
number = String.valueOf(number) + num; |
|||
} |
|||
return number; |
|||
} |
|||
|
|||
public static String getbackTime(final int count) { |
|||
try { |
|||
long timeStemp = System.currentTimeMillis(); |
|||
timeStemp += 3600000 * -count; |
|||
return String.valueOf(timeStemp); |
|||
} |
|||
catch (Exception e) { |
|||
DateUtil.log.error("\u65e5\u671f\u683c\u5f0f\u5316\u9519\u8bef\uff01" + e.getLocalizedMessage()); |
|||
return ""; |
|||
} |
|||
} |
|||
|
|||
public static String getDateStrByTimestamp(final long time) { |
|||
final Date date = new Date(time); |
|||
final String str = format(date, "yyyy-MM-dd hh:mm:ss"); |
|||
return str; |
|||
} |
|||
|
|||
public static String andHour(final String sysDate, final String sysTime) { |
|||
String str = ""; |
|||
Date d = null; |
|||
try { |
|||
SimpleDateFormat simpleDateFormat = null; |
|||
if ("24".equals(SpringPropertyUtil.getProperty("gps.hour"))) { |
|||
simpleDateFormat = new SimpleDateFormat("ddMMyyHHmmss"); |
|||
} |
|||
else { |
|||
simpleDateFormat = new SimpleDateFormat("ddMMyyhhmmss"); |
|||
} |
|||
d = simpleDateFormat.parse(String.valueOf(sysDate) + sysTime); |
|||
long timeStemp = d.getTime(); |
|||
timeStemp += (long)(3600000.0 * Double.parseDouble(SpringPropertyUtil.getProperty("gps.time"))); |
|||
final Date date = new Date(timeStemp); |
|||
str = simpleDateFormat.format(date); |
|||
} |
|||
catch (ParseException e) { |
|||
DateUtil.log.error("\u65e5\u671f\u683c\u5f0f\u5316\u9519\u8bef\uff01", e.fillInStackTrace()); |
|||
d = null; |
|||
} |
|||
return str; |
|||
} |
|||
|
|||
public static long parseTime(final String str) { |
|||
long time = 0L; |
|||
try { |
|||
SimpleDateFormat simpleDateFormat = null; |
|||
if ("24".equals(SpringPropertyUtil.getProperty("gps.hour"))) { |
|||
simpleDateFormat = new SimpleDateFormat("ddMMyyHHmmss"); |
|||
} |
|||
else { |
|||
simpleDateFormat = new SimpleDateFormat("ddMMyyhhmmss"); |
|||
} |
|||
final Date date = simpleDateFormat.parse(str); |
|||
time = date.getTime(); |
|||
} |
|||
catch (ParseException e) { |
|||
DateUtil.log.error("\u65e5\u671f\u8f6c\u6362\u5931\u8d25\uff01", e.fillInStackTrace()); |
|||
} |
|||
return time; |
|||
} |
|||
|
|||
public static void main(final String[] args) throws ParseException { |
|||
final String str = getCurMillion(); |
|||
System.out.println(str); |
|||
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|||
final Date parse = format.parse("2017-03-11 13:50:51"); |
|||
final long millis = System.currentTimeMillis(); |
|||
System.out.println(millis - parse.getTime() >= 300000L); |
|||
} |
|||
} |
@ -0,0 +1,185 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.zhichenhaixin.serializer.RadarTrackVo; |
|||
import com.zhichenhaixin.sys.model.TrackCameraVo; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class DistanceUtil |
|||
{ |
|||
private static final double EARTH_RADIUS = 6378137.0; |
|||
private static final double EARTH_ARC = 111199.0; |
|||
|
|||
public static double degToRad(final double degree) { |
|||
return degree * 3.141592653589793 / 180.0; |
|||
} |
|||
|
|||
public static double radToDeg(final double radian) { |
|||
return 0.017453292519943295 * radian; |
|||
} |
|||
|
|||
public static double lantitudeLongitudeDist(final double lon1, final double lat1, final double lon2, final double lat2) { |
|||
double radLat1 = degToRad(lat1); |
|||
double radLat2 = degToRad(lat2); |
|||
double radLon1 = degToRad(lon1); |
|||
double radLon2 = degToRad(lon2); |
|||
if (radLat1 < 0.0) { |
|||
radLat1 = 1.5707963267948966 + Math.abs(radLat1); |
|||
} |
|||
else if (radLat1 > 0.0) { |
|||
radLat1 = 1.5707963267948966 - Math.abs(radLat1); |
|||
} |
|||
if (radLat2 < 0.0) { |
|||
radLat2 = 1.5707963267948966 + Math.abs(radLat2); |
|||
} |
|||
else if (radLat2 > 0.0) { |
|||
radLat2 = 1.5707963267948966 - Math.abs(radLat2); |
|||
} |
|||
if (radLon1 > 0.0) { |
|||
radLon1 = 6.283185307179586 + Math.abs(radLon1); |
|||
} |
|||
else if (radLon1 < 0.0) { |
|||
radLon1 = 6.283185307179586 - Math.abs(radLon1); |
|||
} |
|||
if (radLon2 > 0.0) { |
|||
radLon2 = 6.283185307179586 + Math.abs(radLon2); |
|||
} |
|||
else if (radLon2 < 0.0) { |
|||
radLon2 = 6.283185307179586 - Math.abs(radLon2); |
|||
} |
|||
final double x1 = 6378137.0 * Math.cos(radLon1) * Math.sin(radLat1); |
|||
final double y1 = 6378137.0 * Math.sin(radLon1) * Math.sin(radLat1); |
|||
final double z1 = 6378137.0 * Math.cos(radLat1); |
|||
final double x2 = 6378137.0 * Math.cos(radLon2) * Math.sin(radLat2); |
|||
final double y2 = 6378137.0 * Math.sin(radLon2) * Math.sin(radLat2); |
|||
final double z2 = 6378137.0 * Math.cos(radLat2); |
|||
final double d = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) + (z1 - z2) * (z1 - z2)); |
|||
final double theta = Math.acos((8.1361263181538E13 - d * d) / 8.1361263181538E13); |
|||
final double dist = theta * 6378137.0; |
|||
return dist; |
|||
} |
|||
|
|||
public static double getDistance(final double lat1, final double lng1, final double lat2, final double lng2) { |
|||
final double a = degToRad(lat1) - degToRad(lat2); |
|||
final double b = degToRad(lng1) - degToRad(lng2); |
|||
final double sa2 = Math.sin(a / 2.0); |
|||
final double sb2 = Math.sin(b / 2.0); |
|||
final double d = 1.2756274E7 * Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat1) * Math.cos(lat2) * sb2 * sb2)); |
|||
return d; |
|||
} |
|||
|
|||
public static double getDistanceFromXtoY(final double lat_a, final double lng_a, final double lat_b, final double lng_b) { |
|||
final double pk = 57.29577951308232; |
|||
final double a1 = lat_a / pk; |
|||
final double a2 = lng_a / pk; |
|||
final double b1 = lat_b / pk; |
|||
final double b2 = lng_b / pk; |
|||
final double t1 = Math.cos(a1) * Math.cos(a2) * Math.cos(b1) * Math.cos(b2); |
|||
final double t2 = Math.cos(a1) * Math.sin(a2) * Math.cos(b1) * Math.sin(b2); |
|||
final double t3 = Math.sin(a1) * Math.sin(b1); |
|||
final double tt = Math.acos(t1 + t2 + t3); |
|||
return 6366000.0 * tt; |
|||
} |
|||
|
|||
public static double getpab(double lng_a, double lat_a, double lng_b, double lat_b) { |
|||
double d = 0.0; |
|||
lat_a = degToRad(lat_a); |
|||
lng_a = degToRad(lng_a); |
|||
lat_b = degToRad(lat_b); |
|||
lng_b = degToRad(lng_b); |
|||
d = Math.sin(lat_a) * Math.sin(lat_b) + Math.cos(lat_a) * Math.cos(lat_b) * Math.cos(lng_b - lng_a); |
|||
d = Math.sqrt(1.0 - d * d); |
|||
d = Math.cos(lat_b) * Math.sin(lng_b - lng_a) / d; |
|||
d = Math.asin(d) * 180.0 / 3.141592653589793; |
|||
return d; |
|||
} |
|||
|
|||
public static double getAzimuth(double lon1, double lat1, double lon2, double lat2) { |
|||
lat1 = degToRad(lat1); |
|||
lat2 = degToRad(lat2); |
|||
lon1 = degToRad(lon1); |
|||
lon2 = degToRad(lon2); |
|||
double azimuth = Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1); |
|||
azimuth = Math.sqrt(1.0 - azimuth * azimuth); |
|||
azimuth = Math.cos(lat2) * Math.sin(lon2 - lon1) / azimuth; |
|||
azimuth = Math.asin(azimuth) * 180.0 / 3.141592653589793; |
|||
if (Double.isNaN(azimuth)) { |
|||
if (lon1 < lon2) { |
|||
azimuth = 90.0; |
|||
} |
|||
else { |
|||
azimuth = 270.0; |
|||
} |
|||
} |
|||
return azimuth; |
|||
} |
|||
|
|||
public static double[] convertDistanceToLogLat(final double lng1, final double lat1, final double distance, double azimuth) { |
|||
final double[] lon_lat = new double[2]; |
|||
azimuth = degToRad(azimuth); |
|||
final double lon = lng1 + distance * Math.sin(azimuth) / (111199.0 * Math.cos(degToRad(lat1))); |
|||
final double lat2 = lat1 + distance * Math.cos(azimuth) / 111199.0; |
|||
lon_lat[0] = lon; |
|||
lon_lat[1] = lat2; |
|||
return lon_lat; |
|||
} |
|||
|
|||
public static boolean verifyIsSmuggle(final TrackCameraVo cvo, final List<TrackCameraVo> cvolist, final RadarTrackVo rvo, final List<RadarTrackVo> rvolist, final int people, final int car, final int ship, final int smuggle_bound) { |
|||
if (cvo != null && cvolist != null) { |
|||
for (final TrackCameraVo tcvo : cvolist) { |
|||
try { |
|||
final double instance = getDistanceFromXtoY(cvo.getObjectMapPosY(), cvo.getObjectMapPosX(), tcvo.getObjectMapPosY(), tcvo.getObjectMapPosX()); |
|||
tcvo.setDistance(instance); |
|||
} |
|||
catch (Exception ex) {} |
|||
} |
|||
} |
|||
if (rvo != null && cvolist != null) { |
|||
for (final TrackCameraVo tcvo : cvolist) { |
|||
try { |
|||
final double instance = getDistanceFromXtoY(rvo.getWgs84PosLat(), rvo.getWgs84PosLon(), tcvo.getObjectMapPosY(), tcvo.getObjectMapPosX()); |
|||
tcvo.setDistance(instance); |
|||
} |
|||
catch (Exception ex2) {} |
|||
} |
|||
} |
|||
if (cvolist != null && rvolist != null && cvolist.size() + rvolist.size() < people + car + ship) { |
|||
return false; |
|||
} |
|||
final List<Integer> list1 = new ArrayList<Integer>(); |
|||
final List<Integer> list2 = new ArrayList<Integer>(); |
|||
final List<Integer> list3 = new ArrayList<Integer>(); |
|||
if (cvolist != null) { |
|||
for (int i = 0; i < cvolist.size(); ++i) { |
|||
final TrackCameraVo cv = cvolist.get(i); |
|||
if (cv.getDistance() <= smuggle_bound) { |
|||
final int ctype = cv.getObjectType(); |
|||
if (ctype == 0) { |
|||
list1.add(i); |
|||
} |
|||
if (ctype == 1) { |
|||
list2.add(i); |
|||
} |
|||
if (ctype == 2) { |
|||
list3.add(i); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
if (list1.size() == 0 && list2.size() == 0 && list3.size() == 0) { |
|||
return false; |
|||
} |
|||
if (list1.size() >= people && list2.size() >= car && list3.size() >= ship) { |
|||
list1.clear(); |
|||
list2.clear(); |
|||
list3.clear(); |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
} |
@ -0,0 +1,36 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.util.concurrent.ExecutorService; |
|||
import java.util.concurrent.TimeUnit; |
|||
|
|||
public class ExecutorsUtils |
|||
{ |
|||
private static Log log; |
|||
|
|||
static { |
|||
ExecutorsUtils.log = LogFactory.getLog(ExecutorsUtils.class); |
|||
} |
|||
|
|||
public static void shutdownAndAwaitTermination(final ExecutorService pool, final int timeout, final TimeUnit unit) { |
|||
pool.shutdown(); |
|||
try { |
|||
if (!pool.awaitTermination(timeout, unit)) { |
|||
pool.shutdownNow(); |
|||
if (!pool.awaitTermination(timeout, unit)) { |
|||
ExecutorsUtils.log.info("Pool did not terminate"); |
|||
} |
|||
} |
|||
} |
|||
catch (InterruptedException ie) { |
|||
pool.shutdownNow(); |
|||
Thread.currentThread().interrupt(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,109 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.io.*; |
|||
import java.util.zip.GZIPInputStream; |
|||
import java.util.zip.GZIPOutputStream; |
|||
|
|||
public class GZipUtils |
|||
{ |
|||
public static final int BUFFER = 1024; |
|||
public static final String EXT = ".gz"; |
|||
|
|||
public static byte[] compress(final byte[] data) throws Exception { |
|||
final ByteArrayInputStream bais = new ByteArrayInputStream(data); |
|||
final ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
|||
compress(bais, baos); |
|||
final byte[] output = baos.toByteArray(); |
|||
baos.flush(); |
|||
baos.close(); |
|||
bais.close(); |
|||
return output; |
|||
} |
|||
|
|||
public static void compress(final File file) throws Exception { |
|||
compress(file, true); |
|||
} |
|||
|
|||
public static void compress(final File file, final boolean delete) throws Exception { |
|||
final FileInputStream fis = new FileInputStream(file); |
|||
final FileOutputStream fos = new FileOutputStream(String.valueOf(file.getPath()) + ".gz"); |
|||
compress(fis, fos); |
|||
fis.close(); |
|||
fos.flush(); |
|||
fos.close(); |
|||
if (delete) { |
|||
file.delete(); |
|||
} |
|||
} |
|||
|
|||
public static void compress(final InputStream is, final OutputStream os) throws Exception { |
|||
final GZIPOutputStream gos = new GZIPOutputStream(os); |
|||
final byte[] data = new byte[1024]; |
|||
int count; |
|||
while ((count = is.read(data, 0, 1024)) != -1) { |
|||
gos.write(data, 0, count); |
|||
} |
|||
gos.finish(); |
|||
gos.flush(); |
|||
gos.close(); |
|||
} |
|||
|
|||
public static void compress(final String path) throws Exception { |
|||
compress(path, true); |
|||
} |
|||
|
|||
public static void compress(final String path, final boolean delete) throws Exception { |
|||
final File file = new File(path); |
|||
compress(file, delete); |
|||
} |
|||
|
|||
public static byte[] decompress(byte[] data) throws Exception { |
|||
final ByteArrayInputStream bais = new ByteArrayInputStream(data); |
|||
final ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
|||
decompress(bais, baos); |
|||
data = baos.toByteArray(); |
|||
baos.flush(); |
|||
baos.close(); |
|||
bais.close(); |
|||
return data; |
|||
} |
|||
|
|||
public static void decompress(final File file) throws Exception { |
|||
decompress(file, true); |
|||
} |
|||
|
|||
public static void decompress(final File file, final boolean delete) throws Exception { |
|||
final FileInputStream fis = new FileInputStream(file); |
|||
final FileOutputStream fos = new FileOutputStream(file.getPath().replace(".gz", "")); |
|||
decompress(fis, fos); |
|||
fis.close(); |
|||
fos.flush(); |
|||
fos.close(); |
|||
if (delete) { |
|||
file.delete(); |
|||
} |
|||
} |
|||
|
|||
public static void decompress(final InputStream is, final OutputStream os) throws Exception { |
|||
final GZIPInputStream gis = new GZIPInputStream(is); |
|||
final byte[] data = new byte[1024]; |
|||
int count; |
|||
while ((count = gis.read(data, 0, 1024)) != -1) { |
|||
os.write(data, 0, count); |
|||
} |
|||
gis.close(); |
|||
} |
|||
|
|||
public static void decompress(final String path) throws Exception { |
|||
decompress(path, true); |
|||
} |
|||
|
|||
public static void decompress(final String path, final boolean delete) throws Exception { |
|||
final File file = new File(path); |
|||
decompress(file, delete); |
|||
} |
|||
} |
@ -0,0 +1,165 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class GaussUtil |
|||
{ |
|||
private static double KmPerDegree; |
|||
private static double DegreesPerKm; |
|||
private static double PI; |
|||
private static double TwoPI; |
|||
private static double HalfPI; |
|||
private static double RadiansPerDegree; |
|||
private static double DegreesPerRadian; |
|||
|
|||
static { |
|||
GaussUtil.KmPerDegree = 111.12000071117; |
|||
GaussUtil.DegreesPerKm = 1.0 / GaussUtil.KmPerDegree; |
|||
GaussUtil.PI = 3.141592653589793; |
|||
GaussUtil.TwoPI = 2.0 * GaussUtil.PI; |
|||
GaussUtil.HalfPI = GaussUtil.PI / 2.0; |
|||
GaussUtil.RadiansPerDegree = GaussUtil.PI / 180.0; |
|||
GaussUtil.DegreesPerRadian = 180.0 / GaussUtil.PI; |
|||
} |
|||
|
|||
public static double copysign(final double x, final double y) { |
|||
return (y < 0.0) ? (-Math.abs(x)) : Math.abs(x); |
|||
} |
|||
|
|||
public static double NGT1(final double x) { |
|||
return (Math.abs(x) > 1.0) ? copysign(1.0, x) : x; |
|||
} |
|||
|
|||
public static double ArcCos(final double x) { |
|||
return Math.acos(x); |
|||
} |
|||
|
|||
public static double hav(final double x) { |
|||
return (1.0 - Math.cos(x)) * 0.5; |
|||
} |
|||
|
|||
public static double ahav(final double x) { |
|||
return ArcCos(NGT1(1.0 - x * 2.0)); |
|||
} |
|||
|
|||
public static double sec(final double x) { |
|||
return 1.0 / Math.cos(x); |
|||
} |
|||
|
|||
public static double csc(final double x) { |
|||
return 1.0 / Math.sin(x); |
|||
} |
|||
|
|||
public static List<Double> GaussProjCal(final double longitude, final double latitude) { |
|||
int ProjNo = 0; |
|||
final double iPI = 0.0174532925199433; |
|||
final int ZoneWide = 6; |
|||
final double a = 6378137.0; |
|||
final double f = 0.0033528131778969143; |
|||
ProjNo = (int)(longitude / ZoneWide); |
|||
double longitude2 = ProjNo * ZoneWide + ZoneWide / 2; |
|||
longitude2 *= iPI; |
|||
final double latitude2 = 0.0; |
|||
final double longitude3 = longitude * iPI; |
|||
final double latitude3 = latitude * iPI; |
|||
final double e2 = 2.0 * f - f * f; |
|||
final double ee = e2 * (1.0 - e2); |
|||
final double NN = a / Math.sqrt(1.0 - e2 * Math.sin(latitude3) * Math.sin(latitude3)); |
|||
final double T = Math.tan(latitude3) * Math.tan(latitude3); |
|||
final double C = ee * Math.cos(latitude3) * Math.cos(latitude3); |
|||
final double A = (longitude3 - longitude2) * Math.cos(latitude3); |
|||
final double M = a * ((1.0 - e2 / 4.0 - 3.0 * e2 * e2 / 64.0 - 5.0 * e2 * e2 * e2 / 256.0) * latitude3 - (3.0 * e2 / 8.0 + 3.0 * e2 * e2 / 32.0 + 45.0 * e2 * e2 * e2 / 1024.0) * Math.sin(2.0 * latitude3) + (15.0 * e2 * e2 / 256.0 + 45.0 * e2 * e2 * e2 / 1024.0) * Math.sin(4.0 * latitude3) - 35.0 * e2 * e2 * e2 / 3072.0 * Math.sin(6.0 * latitude3)); |
|||
double xval = NN * (A + (1.0 - T + C) * A * A * A / 6.0 + (5.0 - 18.0 * T + T * T + 72.0 * C - 58.0 * ee) * A * A * A * A * A / 120.0); |
|||
double yval = M + NN * Math.tan(latitude3) * (A * A / 2.0 + (5.0 - T + 9.0 * C + 4.0 * C * C) * A * A * A * A / 24.0 + (61.0 - 58.0 * T + T * T + 600.0 * C - 330.0 * ee) * A * A * A * A * A * A / 720.0); |
|||
final double X0 = (double)(1000000L * (ProjNo + 1) + 500000L); |
|||
final double Y0 = 0.0; |
|||
xval += X0; |
|||
yval += Y0; |
|||
final double X2 = xval; |
|||
final double Y2 = yval; |
|||
final List<Double> list = new ArrayList<Double>(); |
|||
list.add(X2); |
|||
list.add(Y2); |
|||
return list; |
|||
} |
|||
|
|||
public static double[] GaussToBLToGauss(final double longitude, final double latitude) { |
|||
int ProjNo = 0; |
|||
final double[] output = new double[2]; |
|||
final double iPI = 0.0174532925199433; |
|||
final int ZoneWide = 6; |
|||
final double a = 6378137.0; |
|||
final double f = 0.003352329869259135; |
|||
ProjNo = (int)(longitude / ZoneWide); |
|||
double longitude2 = ProjNo * ZoneWide + ZoneWide / 2; |
|||
longitude2 *= iPI; |
|||
final double longitude3 = longitude * iPI; |
|||
final double latitude2 = latitude * iPI; |
|||
final double e2 = 2.0 * f - f * f; |
|||
final double ee = e2 / (1.0 - e2); |
|||
final double NN = a / Math.sqrt(1.0 - e2 * Math.sin(latitude2) * Math.sin(latitude2)); |
|||
final double T = Math.tan(latitude2) * Math.tan(latitude2); |
|||
final double C = ee * Math.cos(latitude2) * Math.cos(latitude2); |
|||
final double A = (longitude3 - longitude2) * Math.cos(latitude2); |
|||
final double M = a * ((1.0 - e2 / 4.0 - 3.0 * e2 * e2 / 64.0 - 5.0 * e2 * e2 * e2 / 256.0) * latitude2 - (3.0 * e2 / 8.0 + 3.0 * e2 * e2 / 32.0 + 45.0 * e2 * e2 * e2 / 1024.0) * Math.sin(2.0 * latitude2) + (15.0 * e2 * e2 / 256.0 + 45.0 * e2 * e2 * e2 / 1024.0) * Math.sin(4.0 * latitude2) - 35.0 * e2 * e2 * e2 / 3072.0 * Math.sin(6.0 * latitude2)); |
|||
double xval = NN * (A + (1.0 - T + C) * A * A * A / 6.0 + (5.0 - 18.0 * T + T * T + 14.0 * C - 58.0 * ee) * A * A * A * A * A / 120.0); |
|||
double yval = M + NN * Math.tan(latitude2) * (A * A / 2.0 + (5.0 - T + 9.0 * C + 4.0 * C * C) * A * A * A * A / 24.0 + (61.0 - 58.0 * T + T * T + 270.0 * C - 330.0 * ee) * A * A * A * A * A * A / 720.0); |
|||
final double X0 = (double)(1000000L * (ProjNo + 1) + 500000L); |
|||
final double Y0 = 0.0; |
|||
xval += X0; |
|||
yval += Y0; |
|||
output[0] = xval; |
|||
output[1] = yval; |
|||
return output; |
|||
} |
|||
|
|||
public static double[] moveLocation(final double lon, final double lat, final double distance, final double angle) { |
|||
double dist = distance / 1000.0; |
|||
double course = angle; |
|||
final double slt = lat; |
|||
double slg = lon; |
|||
double xlt = 0.0; |
|||
double xlg = 0.0; |
|||
if (dist > GaussUtil.KmPerDegree * 180.0) { |
|||
course -= 180.0; |
|||
if (course < 0.0) { |
|||
course += 360.0; |
|||
} |
|||
dist = GaussUtil.KmPerDegree * 360.0 - dist; |
|||
} |
|||
if (course > 180.0) { |
|||
course -= 360.0; |
|||
} |
|||
final double c = course * GaussUtil.RadiansPerDegree; |
|||
final double d = dist * GaussUtil.DegreesPerKm * GaussUtil.RadiansPerDegree; |
|||
final double L1 = slt * GaussUtil.RadiansPerDegree; |
|||
slg *= GaussUtil.RadiansPerDegree; |
|||
final double coL1 = (90.0 - slt) * GaussUtil.RadiansPerDegree; |
|||
final double coL2 = ahav(hav(c) / (sec(L1) * csc(d)) + hav(d - coL1)); |
|||
final double L2 = GaussUtil.HalfPI - coL2; |
|||
final double l = L2 - L1; |
|||
double dLo; |
|||
if ((dLo = Math.cos(L1) * Math.cos(L2)) != 0.0) { |
|||
dLo = ahav((hav(d) - hav(l)) / dLo); |
|||
} |
|||
if (c < 0.0) { |
|||
dLo = -dLo; |
|||
} |
|||
slg += dLo; |
|||
if (slg < -GaussUtil.PI) { |
|||
slg += GaussUtil.TwoPI; |
|||
} |
|||
else if (slg > GaussUtil.PI) { |
|||
slg -= GaussUtil.TwoPI; |
|||
} |
|||
xlt = L2 * GaussUtil.DegreesPerRadian; |
|||
xlg = slg * GaussUtil.DegreesPerRadian; |
|||
final double[] caculate = { xlt, xlg }; |
|||
return caculate; |
|||
} |
|||
} |
@ -0,0 +1,117 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.vividsolutions.jts.geom.*; |
|||
import com.vividsolutions.jts.io.ParseException; |
|||
import com.vividsolutions.jts.io.WKTReader; |
|||
import com.vividsolutions.jts.io.gml2.GMLReader; |
|||
import com.vividsolutions.jts.io.gml2.GMLWriter; |
|||
import org.xml.sax.SAXException; |
|||
|
|||
import javax.xml.parsers.ParserConfigurationException; |
|||
import java.io.IOException; |
|||
|
|||
public class GeometryUtil |
|||
{ |
|||
private static GeometryFactory factory; |
|||
private static double EARTH_RADIS; |
|||
private static final int SIDES = 64; |
|||
|
|||
static { |
|||
GeometryUtil.factory = new GeometryFactory(new PrecisionModel(), 4326); |
|||
GeometryUtil.EARTH_RADIS = 6356752.314245; |
|||
} |
|||
|
|||
public static Geometry convertGeometryByKML(final String kml) { |
|||
final GMLReader gmlReader = new GMLReader(); |
|||
Geometry filter = null; |
|||
try { |
|||
filter = gmlReader.read(kml, GeometryUtil.factory); |
|||
return filter; |
|||
} |
|||
catch (SAXException e) { |
|||
return null; |
|||
} |
|||
catch (IOException e2) { |
|||
return null; |
|||
} |
|||
catch (ParserConfigurationException e3) { |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
public static String asKml(final Geometry geometry) { |
|||
final GMLWriter kmlWriter = new GMLWriter(); |
|||
kmlWriter.setPrefix(""); |
|||
return kmlWriter.write(geometry); |
|||
} |
|||
|
|||
public static Geometry convertLonAndLatToGeometry(final double lon, final double lat) { |
|||
final String wktPoint = "POINT(" + lon + " " + lat + ")"; |
|||
final WKTReader fromText = new WKTReader(); |
|||
Geometry location = null; |
|||
try { |
|||
location = fromText.read(wktPoint); |
|||
location.setSRID(4326); |
|||
} |
|||
catch (ParseException e) { |
|||
throw new RuntimeException("Not a WKT string:" + wktPoint); |
|||
} |
|||
return location; |
|||
} |
|||
|
|||
public static Polygon kmlstring2polygon(final String kml) { |
|||
final int s = kml.indexOf("<coordinates>"); |
|||
final int e = kml.indexOf("</coordinates>"); |
|||
if (s != -1 && e != -1) { |
|||
String cdstr = kml.substring(s + "<coordinates>".length(), e); |
|||
cdstr = cdstr.trim(); |
|||
final String[] cdstrsplit = cdstr.split("\\s+"); |
|||
final Coordinate[] cds = new Coordinate[cdstrsplit.length + 1]; |
|||
for (int i = 0; i < cdstrsplit.length; ++i) { |
|||
final String[] ss = cdstrsplit[i].split(","); |
|||
cds[i] = new Coordinate(Double.valueOf(ss[0]), Double.valueOf(ss[1])); |
|||
} |
|||
cds[cds.length - 1] = new Coordinate(cds[0].x, cds[0].y); |
|||
final LinearRing linear = new GeometryFactory().createLinearRing(cds); |
|||
final Polygon poly = new Polygon(linear, null, GeometryUtil.factory); |
|||
return poly; |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
public static double getDistance(double lon1, double lat1, double lon2, double lat2) { |
|||
lat1 = Math.toRadians(lat1); |
|||
lon1 = Math.toRadians(lon1); |
|||
lat2 = Math.toRadians(lat2); |
|||
lon2 = Math.toRadians(lon2); |
|||
final double dLat = lat2 - lat1; |
|||
final double dLon = lon2 - lon1; |
|||
final double a = Math.sin(dLat / 2.0) * Math.sin(dLat / 2.0) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(dLon / 2.0) * Math.sin(dLon / 2.0); |
|||
final double c = 2.0 * Math.atan2(Math.sqrt(a), Math.sqrt(1.0 - a)); |
|||
final double d = GeometryUtil.EARTH_RADIS * c; |
|||
return d; |
|||
} |
|||
|
|||
public static Polygon createCircle(final double x, final double y, final double RADIUS) { |
|||
final Coordinate[] coords = new Coordinate[65]; |
|||
for (int i = 0; i < 64; ++i) { |
|||
final double angle = i / 64.0 * 3.141592653589793 * 2.0; |
|||
final double dx = Math.cos(angle) * RADIUS; |
|||
final double dy = Math.sin(angle) * RADIUS; |
|||
coords[i] = new Coordinate(x + dx, y + dy); |
|||
} |
|||
coords[64] = coords[0]; |
|||
final LinearRing ring = GeometryUtil.factory.createLinearRing(coords); |
|||
final Polygon polygon = GeometryUtil.factory.createPolygon(ring, null); |
|||
return polygon; |
|||
} |
|||
|
|||
public static void main(final String[] args) { |
|||
final Polygon pol = createCircle(1.0, 2.0, 30.0); |
|||
System.out.println(pol.toString()); |
|||
} |
|||
} |
@ -0,0 +1,158 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.zhichenhaixin.sys.model.UserVo; |
|||
import com.zhichenhaixin.sys.model.WarnInfoBean; |
|||
import org.apache.log4j.Logger; |
|||
|
|||
import java.io.BufferedReader; |
|||
import java.io.InputStream; |
|||
import java.io.InputStreamReader; |
|||
import java.io.OutputStream; |
|||
import java.net.HttpURLConnection; |
|||
import java.net.URL; |
|||
import java.sql.Timestamp; |
|||
|
|||
public class HttpUtils |
|||
{ |
|||
private static Logger log; |
|||
private static final String USER_INFO_URL; |
|||
private static final String RONGKE_WARN_URL; |
|||
private static int TIMEOUT; |
|||
private static HttpURLConnection urlConn; |
|||
|
|||
static { |
|||
HttpUtils.log = Logger.getLogger(HttpUtils.class); |
|||
USER_INFO_URL = SpringPropertyUtil.getProperty("http.rongke.userinfo.url"); |
|||
RONGKE_WARN_URL = SpringPropertyUtil.getProperty("http.rongke.warn.url"); |
|||
HttpUtils.TIMEOUT = Integer.parseInt(SpringPropertyUtil.getProperty("http.rongke.timeout")); |
|||
HttpUtils.urlConn = null; |
|||
if (HttpUtils.TIMEOUT > 1000) { |
|||
HttpUtils.TIMEOUT = 500; |
|||
} |
|||
} |
|||
|
|||
public static void sendUserInfoToRongKe(final UserVo userVo, final int status) { |
|||
final StringBuilder param = new StringBuilder(); |
|||
param.append("/" + userVo.getUser_account().replaceAll(" ", "")); |
|||
param.append("/" + userVo.getUser_passwd().replaceAll(" ", "")); |
|||
param.append("/" + userVo.getUser_name().replaceAll(" ", "")); |
|||
param.append("/" + status); |
|||
param.append(".rest"); |
|||
sendUserInfo(param.toString()); |
|||
HttpUtils.log.info("-> \u7ed9\u8363\u79d1\u53d1\u9001\u7528\u6237\u6570\u636e \uff1a " + param.toString()); |
|||
} |
|||
|
|||
public static synchronized void sendUserInfo(final String str) { |
|||
try { |
|||
final URL url = new URL(String.valueOf(HttpUtils.USER_INFO_URL) + new String(str.getBytes("UTF-8"))); |
|||
(HttpUtils.urlConn = (HttpURLConnection)url.openConnection()).setConnectTimeout(HttpUtils.TIMEOUT); |
|||
HttpUtils.urlConn.setDoOutput(true); |
|||
HttpUtils.urlConn.setDoInput(true); |
|||
HttpUtils.urlConn.setRequestMethod("POST"); |
|||
HttpUtils.urlConn.setUseCaches(false); |
|||
HttpUtils.urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); |
|||
HttpUtils.urlConn.setRequestProperty("contentType", "UTF-8"); |
|||
HttpUtils.urlConn.setRequestProperty("Accept-Charset", "UTF-8"); |
|||
HttpUtils.urlConn.getResponseCode(); |
|||
} |
|||
catch (Exception ex) { |
|||
return; |
|||
} |
|||
finally { |
|||
if (HttpUtils.urlConn != null) { |
|||
HttpUtils.urlConn.disconnect(); |
|||
} |
|||
} |
|||
if (HttpUtils.urlConn != null) { |
|||
HttpUtils.urlConn.disconnect(); |
|||
} |
|||
} |
|||
|
|||
public static String sendWarnToRongKe(final WarnInfoBean bean) { |
|||
final StringBuilder param = new StringBuilder(); |
|||
param.append("/" + bean.getId()); |
|||
final String time = String.valueOf(bean.getBegintime()); |
|||
final long date = Long.valueOf(time); |
|||
final long begintime = (time.length() == 10) ? (date * 1000L) : date; |
|||
param.append("/" + Timestamp.valueOf(DateUtil.format.format(begintime)).toString().replaceAll(" ", "")); |
|||
param.append("/" + bean.getX()); |
|||
param.append("/" + bean.getY()); |
|||
param.append("/" + (StringUtil.isBlank(bean.getAlarm_type()) ? "0" : bean.getAlarm_type().replaceAll(" ", ""))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getAlarm_level()) ? "0" : bean.getAlarm_level().replaceAll(" ", ""))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getMark()) ? "0" : bean.getMark().replaceAll(" ", ""))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getObject_type()) ? "0" : bean.getObject_type().replaceAll(" ", ""))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getCamera_id()) ? "0" : bean.getCamera_id().replaceAll(" ", ""))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getSign()) ? "1" : bean.getSign().replaceAll(" ", ""))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getAlarm_source()) ? "0" : bean.getAlarm_source().replaceAll(" ", ""))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getRtsp()) ? "0" : bean.getRtsp().replaceAll("/", "*"))); |
|||
param.append("/" + (StringUtil.isBlank(bean.getAlarm_site()) ? "0" : bean.getAlarm_site().replaceAll(" ", ""))); |
|||
param.append("/" + bean.getHandle_status()); |
|||
param.append(".rest"); |
|||
final String msg = sendWarnInfo(param.toString()); |
|||
HttpUtils.log.info("-> \u7ed9\u8363\u79d1\u53d1\u9001\u8b66\u60c5\u6570\u636e\uff1a" + param.toString()); |
|||
return msg; |
|||
} |
|||
|
|||
public static synchronized String sendWarnInfo(final String param) { |
|||
OutputStream out = null; |
|||
HttpURLConnection urlConn = null; |
|||
InputStream in = null; |
|||
try { |
|||
final URL url = new URL(String.valueOf(HttpUtils.RONGKE_WARN_URL) + new String(param.getBytes("UTF-8"))); |
|||
urlConn = (HttpURLConnection)url.openConnection(); |
|||
urlConn.setConnectTimeout(HttpUtils.TIMEOUT); |
|||
urlConn.setDoOutput(true); |
|||
urlConn.setDoInput(true); |
|||
urlConn.setRequestMethod("POST"); |
|||
urlConn.setUseCaches(false); |
|||
urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); |
|||
urlConn.setRequestProperty("contentType", "UTF-8"); |
|||
urlConn.setRequestProperty("Accept-Charset", "UTF-8"); |
|||
out = urlConn.getOutputStream(); |
|||
out.write(param.getBytes()); |
|||
out.flush(); |
|||
urlConn.getResponseCode(); |
|||
in = urlConn.getInputStream(); |
|||
final StringBuffer sbf = new StringBuffer(); |
|||
final BufferedReader inl = new BufferedReader(new InputStreamReader(in, "UTF-8")); |
|||
String line = ""; |
|||
while ((line = inl.readLine()) != null) { |
|||
sbf.append(line); |
|||
} |
|||
return sbf.toString(); |
|||
} |
|||
catch (Exception ex) { |
|||
try { |
|||
if (out != null) { |
|||
out.close(); |
|||
} |
|||
if (urlConn != null) { |
|||
urlConn.disconnect(); |
|||
return ""; |
|||
} |
|||
return ""; |
|||
} |
|||
catch (Exception e2) { |
|||
HttpUtils.log.error("http \u5173\u95ed\u6d41\u51fa\u73b0\u5f02\u5e38\uff1a" + e2.getMessage()); |
|||
} |
|||
} |
|||
finally { |
|||
try { |
|||
if (out != null) { |
|||
out.close(); |
|||
} |
|||
if (urlConn != null) { |
|||
urlConn.disconnect(); |
|||
} |
|||
} |
|||
catch (Exception e2) { |
|||
HttpUtils.log.error("http \u5173\u95ed\u6d41\u51fa\u73b0\u5f02\u5e38\uff1a" + e2.getMessage()); |
|||
} |
|||
} |
|||
return ""; |
|||
} |
|||
} |
@ -0,0 +1,67 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.alibaba.fastjson.JSON; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import org.apache.commons.beanutils.PropertyUtilsBean; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.lang.reflect.InvocationTargetException; |
|||
import java.util.LinkedList; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public class JsonUtil |
|||
{ |
|||
private static Log log; |
|||
|
|||
static { |
|||
JsonUtil.log = LogFactory.getLog(JsonUtil.class); |
|||
} |
|||
|
|||
public static String ListToJsonString(final List list) { |
|||
final String jsonText = JSON.toJSONString(list, true); |
|||
return jsonText; |
|||
} |
|||
|
|||
public static String beanToJSonString(final Object o) { |
|||
return JSON.toJSONString(o); |
|||
} |
|||
|
|||
public static JSONObject getJsonObject(final String str) { |
|||
final JSONObject jsonObj = JSON.parseObject(str); |
|||
return jsonObj; |
|||
} |
|||
|
|||
public static String mapTojsonStr(final Map<String, Object> map) { |
|||
String str = ""; |
|||
try { |
|||
final net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(map); |
|||
str = jsonObj.toString(); |
|||
} |
|||
catch (Exception e) { |
|||
JsonUtil.log.error("map\u8f6cjson\u5b57\u7b26\u4e32\u7684\u6570\u636e\u683c\u5f0f\u9519\u8bef"); |
|||
} |
|||
return str; |
|||
} |
|||
|
|||
public static <T> List<Object> getPropertyList(final List<T> objList, final String propertyName) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { |
|||
if (objList == null || objList.size() == 0) { |
|||
throw new IllegalArgumentException("No objList specified"); |
|||
} |
|||
if (propertyName == null || "".equals(propertyName)) { |
|||
throw new IllegalArgumentException("No propertyName specified for bean class '" + objList.get(0).getClass() + "'"); |
|||
} |
|||
final PropertyUtilsBean p = new PropertyUtilsBean(); |
|||
final List<Object> propList = new LinkedList<Object>(); |
|||
for (int i = 0; i < objList.size(); ++i) { |
|||
final T obj = objList.get(i); |
|||
propList.add(p.getProperty(obj, propertyName)); |
|||
} |
|||
return propList; |
|||
} |
|||
} |
@ -0,0 +1,222 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.text.CharacterIterator; |
|||
import java.text.StringCharacterIterator; |
|||
|
|||
public class JsonValidator |
|||
{ |
|||
private static CharacterIterator it; |
|||
private static char c; |
|||
private static int col; |
|||
|
|||
public static boolean validate(String input) { |
|||
if (StringUtil.isBlank(input)) { |
|||
return false; |
|||
} |
|||
input = input.trim(); |
|||
final boolean ret = valid(input); |
|||
return ret; |
|||
} |
|||
|
|||
private static boolean valid(final String input) { |
|||
boolean ret = true; |
|||
JsonValidator.it = new StringCharacterIterator(input); |
|||
JsonValidator.c = JsonValidator.it.first(); |
|||
JsonValidator.col = 1; |
|||
if (!value()) { |
|||
ret = false; |
|||
} |
|||
else { |
|||
skipWhiteSpace(); |
|||
if (JsonValidator.c != '\uffff') { |
|||
ret = false; |
|||
} |
|||
} |
|||
return ret; |
|||
} |
|||
|
|||
private static boolean value() { |
|||
return literal("true") || literal("false") || literal("null") || string() || number() || object() || array(); |
|||
} |
|||
|
|||
private static boolean literal(final String text) { |
|||
final CharacterIterator ci = new StringCharacterIterator(text); |
|||
char t = ci.first(); |
|||
if (JsonValidator.c != t) { |
|||
return false; |
|||
} |
|||
final int start = JsonValidator.col; |
|||
boolean ret = true; |
|||
for (t = ci.next(); t != '\uffff'; t = ci.next()) { |
|||
if (t != nextCharacter()) { |
|||
ret = false; |
|||
break; |
|||
} |
|||
} |
|||
nextCharacter(); |
|||
if (!ret) { |
|||
error("literal " + text, start); |
|||
} |
|||
return ret; |
|||
} |
|||
|
|||
private static boolean array() { |
|||
return aggregate('[', ']', false); |
|||
} |
|||
|
|||
private static boolean object() { |
|||
return aggregate('{', '}', true); |
|||
} |
|||
|
|||
private static boolean aggregate(final char entryCharacter, final char exitCharacter, final boolean prefix) { |
|||
if (JsonValidator.c != entryCharacter) { |
|||
return false; |
|||
} |
|||
nextCharacter(); |
|||
skipWhiteSpace(); |
|||
if (JsonValidator.c == exitCharacter) { |
|||
nextCharacter(); |
|||
return true; |
|||
} |
|||
while (true) { |
|||
if (prefix) { |
|||
final int start = JsonValidator.col; |
|||
if (!string()) { |
|||
return error("string", start); |
|||
} |
|||
skipWhiteSpace(); |
|||
if (JsonValidator.c != ':') { |
|||
return error("colon", JsonValidator.col); |
|||
} |
|||
nextCharacter(); |
|||
skipWhiteSpace(); |
|||
} |
|||
if (!value()) { |
|||
return error("value", JsonValidator.col); |
|||
} |
|||
skipWhiteSpace(); |
|||
if (JsonValidator.c == ',') { |
|||
nextCharacter(); |
|||
skipWhiteSpace(); |
|||
} |
|||
else { |
|||
if (JsonValidator.c == exitCharacter) { |
|||
nextCharacter(); |
|||
return true; |
|||
} |
|||
return error("comma or " + exitCharacter, JsonValidator.col); |
|||
} |
|||
} |
|||
} |
|||
|
|||
private static boolean number() { |
|||
if (!Character.isDigit(JsonValidator.c) && JsonValidator.c != '-') { |
|||
return false; |
|||
} |
|||
final int start = JsonValidator.col; |
|||
if (JsonValidator.c == '-') { |
|||
nextCharacter(); |
|||
} |
|||
if (JsonValidator.c == '0') { |
|||
nextCharacter(); |
|||
} |
|||
else { |
|||
if (!Character.isDigit(JsonValidator.c)) { |
|||
return error("number", start); |
|||
} |
|||
while (Character.isDigit(JsonValidator.c)) { |
|||
nextCharacter(); |
|||
} |
|||
} |
|||
if (JsonValidator.c == '.') { |
|||
nextCharacter(); |
|||
if (!Character.isDigit(JsonValidator.c)) { |
|||
return error("number", start); |
|||
} |
|||
while (Character.isDigit(JsonValidator.c)) { |
|||
nextCharacter(); |
|||
} |
|||
} |
|||
if (JsonValidator.c == 'e' || JsonValidator.c == 'E') { |
|||
nextCharacter(); |
|||
if (JsonValidator.c == '+' || JsonValidator.c == '-') { |
|||
nextCharacter(); |
|||
} |
|||
if (!Character.isDigit(JsonValidator.c)) { |
|||
return error("number", start); |
|||
} |
|||
while (Character.isDigit(JsonValidator.c)) { |
|||
nextCharacter(); |
|||
} |
|||
} |
|||
return true; |
|||
} |
|||
|
|||
private static boolean string() { |
|||
if (JsonValidator.c != '\"') { |
|||
return false; |
|||
} |
|||
final int start = JsonValidator.col; |
|||
boolean escaped = false; |
|||
nextCharacter(); |
|||
while (JsonValidator.c != '\uffff') { |
|||
if (!escaped && JsonValidator.c == '\\') { |
|||
escaped = true; |
|||
} |
|||
else if (escaped) { |
|||
if (!escape()) { |
|||
return false; |
|||
} |
|||
escaped = false; |
|||
} |
|||
else if (JsonValidator.c == '\"') { |
|||
nextCharacter(); |
|||
return true; |
|||
} |
|||
nextCharacter(); |
|||
} |
|||
return error("quoted string", start); |
|||
} |
|||
|
|||
private static boolean escape() { |
|||
final int start = JsonValidator.col - 1; |
|||
if (" \\\"/bfnrtu".indexOf(JsonValidator.c) < 0) { |
|||
return error("escape sequence \\\",\\\\,\\/,\\b,\\f,\\n,\\r,\\t or \\uxxxx ", start); |
|||
} |
|||
return JsonValidator.c != 'u' || (ishex(nextCharacter()) && ishex(nextCharacter()) && ishex(nextCharacter()) && ishex(nextCharacter())) || error("unicode escape sequence \\uxxxx ", start); |
|||
} |
|||
|
|||
private static boolean ishex(final char d) { |
|||
return "0123456789abcdefABCDEF".indexOf(JsonValidator.c) >= 0; |
|||
} |
|||
|
|||
private static char nextCharacter() { |
|||
JsonValidator.c = JsonValidator.it.next(); |
|||
++JsonValidator.col; |
|||
return JsonValidator.c; |
|||
} |
|||
|
|||
private static void skipWhiteSpace() { |
|||
while (Character.isWhitespace(JsonValidator.c)) { |
|||
nextCharacter(); |
|||
} |
|||
} |
|||
|
|||
private static boolean error(final String type, final int col) { |
|||
System.out.printf("type: %s, col: %s%s", type, col, System.getProperty("line.separator")); |
|||
return false; |
|||
} |
|||
|
|||
public static void main(final String[] args) { |
|||
final String jsonStr = "{\"RectList\":[{\"H\":0.07039862,\"Lat\":22.13916976693058,\"Lon\":113.44665718671446,\"Time\":1470401215,\"W\":0.045932423,\"X\":0.8542848,\"Y\":0.2322127},{\"H\":0.056612633,\"Lat\":22.139169720102164,\"Lon\":113.44665716356158,\"Time\":1470401215,\"W\":0.038410924,\"X\":0.8526764,\"Y\":0.22404432},{\"H\":0.060527433,\"Lat\":22.139169704790678,\"Lon\":113.44665715606715,\"Time\":1470401216,\"W\":0.04654039,\"X\":0.84860504,\"Y\":0.22917898},{\"H\":0.061682187,\"Lat\":22.139169695136054,\"Lon\":113.44665715136067,\"Time\":1470401216,\"W\":0.04551673,\"X\":0.84703445,\"Y\":0.23023741},{\"H\":0.069775075,\"Lat\":22.139169712474647,\"Lon\":113.44665715982352,\"Time\":1470401217,\"W\":0.04892395,\"X\":0.8493781,\"Y\":0.22939597},{\"H\":0.052624863,\"Lat\":22.13916964852791,\"Lon\":113.44665712884733,\"Time\":1470401217,\"W\":0.0345741,\"X\":0.8391821,\"Y\":0.23610547},{\"H\":0.057601005,\"Lat\":22.139169702233275,\"Lon\":113.446657154819,\"Time\":1470401218,\"W\":0.041692387,\"X\":0.84451646,\"Y\":0.23758568},{\"H\":0.056303144,\"Lat\":22.139169665211963,\"Lon\":113.4466571368669,\"Time\":1470401218,\"W\":0.034816958,\"X\":0.83997285,\"Y\":0.23849888},{\"H\":0.059537314,\"Lat\":22.13916965102712,\"Lon\":113.44665713004586,\"Time\":1470401219,\"W\":0.033885177,\"X\":0.83935165,\"Y\":0.2363499},{\"H\":0.045450352,\"Lat\":22.139169670587997,\"Lon\":113.44665713946036,\"Time\":1470401219,\"W\":0.0292827,\"X\":0.8362834,\"Y\":0.24808614},{\"H\":0.032614212,\"Lat\":22.139169714628114,\"Lon\":113.44665716087795,\"Time\":1470401220,\"W\":0.030854248,\"X\":0.8389284,\"Y\":0.25296682},{\"H\":0.033007763,\"Lat\":22.139169685894803,\"Lon\":113.44665714686953,\"Time\":1470401220,\"W\":0.027751403,\"X\":0.83809656,\"Y\":0.24780089},{\"H\":0.02174272,\"Lat\":22.139169706730417,\"Lon\":113.44665715701451,\"Time\":1470401221,\"W\":0.020869147,\"X\":0.83515084,\"Y\":0.25939545},{\"H\":0.013569793,\"Lat\":22.139169682376373,\"Lon\":113.44665714516317,\"Time\":1470401222,\"W\":0.012507873,\"X\":0.83389163,\"Y\":0.25630292},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401222,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401223,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401223,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401224,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401224,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401225,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401225,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496},{\"H\":0.02688714,\"Lat\":22.139169653144112,\"Lon\":113.44665713106183,\"Time\":1470401226,\"W\":0.013007185,\"X\":0.83198327,\"Y\":0.2534496}]}"; |
|||
final String jsonStr2 = "{ \"ccobjtypeid\": \"1001\", \"fromuser\": \"\u674e\u56db\", \"touser\": \"\u5f20\u4e09\", \"desc\": \"\u63cf\u8ff0\", \"subject\": \"\u4e3b\u9898\", \"attach\": \"3245,3456,4345,4553\", \"data\": { \"desc\": \"\u6d4b\u8bd5\u5bf9\u8c61\", \"dataid\": \"22\", \"billno\": \"TEST0001\", \"datarelation\":[ { \"dataname\": \"\u5173\u8054\u5bf9\u8c611\", \"data\": [ { \"dataid\": \"22\", \"datalineid\": \"1\", \"content1\": \"test1\", \"content2\": \"test2\" } ] } ] } }"; |
|||
final String jsonStr3 = ""; |
|||
System.out.println(validate(jsonStr)); |
|||
System.out.println(validate(jsonStr2)); |
|||
System.out.println(validate(jsonStr3)); |
|||
} |
|||
} |
@ -0,0 +1,86 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.vividsolutions.jts.geom.*; |
|||
import com.vividsolutions.jts.io.WKTReader; |
|||
import com.vividsolutions.jts.io.gml2.GMLReader; |
|||
import org.xml.sax.SAXException; |
|||
|
|||
import javax.xml.parsers.ParserConfigurationException; |
|||
import java.io.IOException; |
|||
|
|||
public class Kml2polygonUtil |
|||
{ |
|||
private static GeometryFactory factory; |
|||
private static GMLReader gmlReader; |
|||
|
|||
static { |
|||
Kml2polygonUtil.factory = new GeometryFactory(); |
|||
Kml2polygonUtil.gmlReader = new GMLReader(); |
|||
} |
|||
|
|||
public static LineString poly2linestring(final Polygon poly) { |
|||
LineString ret = null; |
|||
if (poly != null) { |
|||
ret = new GeometryFactory(new PrecisionModel(), 4326).createLineString(poly.getCoordinates()); |
|||
} |
|||
return ret; |
|||
} |
|||
|
|||
public static Polygon linestring2poly(final LineString ls) { |
|||
Polygon ret = null; |
|||
if (ls != null) { |
|||
final GeometryFactory fact = new GeometryFactory(new PrecisionModel(), 4326); |
|||
final LinearRing linear = fact.createLinearRing(ls.getCoordinates()); |
|||
ret = new Polygon(linear, null, fact); |
|||
} |
|||
return ret; |
|||
} |
|||
|
|||
public static void testclosed() { |
|||
System.out.println("==\u95ed\u5408kml"); |
|||
final Coordinate[] coordinates = { new Coordinate(113.43692913986084, 22.12011372526001), new Coordinate(113.44465390182373, 22.12328946073364), new Coordinate(113.45250740981933, 22.108440751627196), new Coordinate(113.44302311874267, 22.105436677530516), new Coordinate(113.43692913986084, 22.12011372526001) }; |
|||
final GeometryFactory fact = new GeometryFactory(new PrecisionModel(), 4326); |
|||
final LinearRing linear = new GeometryFactory(new PrecisionModel(), 4326).createLinearRing(coordinates); |
|||
final Polygon poly = new Polygon(linear, null, fact); |
|||
System.out.println(poly); |
|||
final Boolean contains = poly.contains(new GeometryFactory(new PrecisionModel(), 4326).createPoint(new Coordinate(113.44755068755981, 22.11009299238037))); |
|||
System.out.println("\u5305\u542b:" + contains); |
|||
} |
|||
|
|||
public static Geometry convertGeometryByKML(final String kml) { |
|||
Geometry filter = null; |
|||
try { |
|||
filter = Kml2polygonUtil.gmlReader.read(kml, Kml2polygonUtil.factory); |
|||
return filter; |
|||
} |
|||
catch (SAXException e) { |
|||
return null; |
|||
} |
|||
catch (IOException e2) { |
|||
return null; |
|||
} |
|||
catch (ParserConfigurationException e3) { |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
public static Geometry convertGeometryByKML2(final String kml) { |
|||
Geometry g = null; |
|||
try { |
|||
g = new WKTReader().read(kml); |
|||
return g; |
|||
} |
|||
catch (Exception e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
public static Point xy2point(final double x, final double y) { |
|||
return Kml2polygonUtil.factory.createPoint(new Coordinate(x, y)); |
|||
} |
|||
} |
@ -0,0 +1,159 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.util.*; |
|||
|
|||
public class ListUtil |
|||
{ |
|||
public static Map<String, Object> listToEchats(final List<Map<String, Object>> dataList, final Map<String, Object> opts) { |
|||
final Map<String, Object> resultMap = new HashMap<String, Object>(); |
|||
final List<Object> legendData = new ArrayList<Object>(); |
|||
final List<Object> categoryData = new ArrayList<Object>(); |
|||
final List<Object> series = new ArrayList<Object>(); |
|||
for (int i = 0; i < dataList.size(); ++i) { |
|||
final Map<String, Object> tMap = dataList.get(i); |
|||
final Map<String, Object> tsMap = new LinkedHashMap<String, Object>(); |
|||
tsMap.put("name", tMap.get("category")); |
|||
for (final Map.Entry<String, Object> e : opts.entrySet()) { |
|||
tsMap.put(e.getKey(), e.getValue()); |
|||
} |
|||
if (!tsMap.containsKey("type")) { |
|||
tsMap.put("type", "bar"); |
|||
} |
|||
final List<Object> seriesData = new ArrayList<Object>(); |
|||
for (final Map.Entry<String, Object> entry : tMap.entrySet()) { |
|||
if (entry.getKey().equals("category")) { |
|||
legendData.add(entry.getValue()); |
|||
} |
|||
else { |
|||
seriesData.add(entry.getValue()); |
|||
if (categoryData.contains(entry.getKey())) { |
|||
continue; |
|||
} |
|||
categoryData.add(entry.getKey()); |
|||
} |
|||
} |
|||
tsMap.put("data", seriesData); |
|||
series.add(tsMap); |
|||
} |
|||
resultMap.put("legendData", legendData); |
|||
resultMap.put("categoryData", categoryData); |
|||
resultMap.put("series", series); |
|||
return resultMap; |
|||
} |
|||
|
|||
public static Map<String, Object> listToEchats2(final List<Map<String, Object>> dataList, final Map<String, Object> opts) { |
|||
final Map<String, Object> resultMap = new HashMap<String, Object>(); |
|||
final Map<String, String> variableMap = new HashMap<String, String>(); |
|||
final List<Object> legendData = new ArrayList<Object>(); |
|||
final List<Object> categoryData = new ArrayList<Object>(); |
|||
final List<Object> category2Data = new ArrayList<Object>(); |
|||
final List<Object> series = new ArrayList<Object>(); |
|||
final List<Object> markPointList = new ArrayList<Object>(); |
|||
if (dataList.size() > 0) { |
|||
final Map<String, Object> categoryMap = dataList.get(0); |
|||
int m = 0; |
|||
final List<String> categoryList = new ArrayList<String>(); |
|||
if (opts.containsKey("sortData")) { |
|||
final String[] sortData = (String[])opts.get("sortData"); |
|||
String[] array; |
|||
for (int length = (array = sortData).length, k = 0; k < length; ++k) { |
|||
final String s = array[k]; |
|||
if (categoryMap.containsKey(s)) { |
|||
categoryList.add(s); |
|||
} |
|||
} |
|||
for (final String category : categoryMap.keySet()) { |
|||
Boolean exist = false; |
|||
String[] array2; |
|||
for (int length2 = (array2 = sortData).length, l = 0; l < length2; ++l) { |
|||
final String s2 = array2[l]; |
|||
if (category.equals(s2)) { |
|||
exist = true; |
|||
} |
|||
} |
|||
if (!exist) { |
|||
categoryList.add(category); |
|||
} |
|||
} |
|||
} |
|||
else { |
|||
for (final String category2 : categoryMap.keySet()) { |
|||
categoryList.add(category2); |
|||
} |
|||
} |
|||
for (final String category2 : categoryList) { |
|||
if (category2.indexOf("category") == -1 && category2.indexOf("variable_") == -1 && category2.indexOf("markPoint") == -1) { |
|||
final List<Object> seriesData = new ArrayList<Object>(); |
|||
legendData.add(category2); |
|||
final Map<String, Object> tsMap = new LinkedHashMap<String, Object>(); |
|||
tsMap.put("name", category2); |
|||
for (final Map.Entry<String, Object> e : opts.entrySet()) { |
|||
if (!e.getKey().equals("sortData")) { |
|||
tsMap.put(e.getKey(), e.getValue()); |
|||
} |
|||
} |
|||
if (!tsMap.containsKey("type")) { |
|||
tsMap.put("type", "bar"); |
|||
} |
|||
for (int i = 0; i < dataList.size(); ++i) { |
|||
final Map<String, Object> tMap = dataList.get(i); |
|||
if (m == 0) { |
|||
categoryData.add(tMap.get("category")); |
|||
} |
|||
if (m == 0 && tMap.containsKey("category2")) { |
|||
if ("%".equals(opts.get("suffix")) && !"".equals(tMap.get("category2"))) { |
|||
category2Data.add(tMap.get("category2") + "%"); |
|||
} |
|||
else { |
|||
category2Data.add(tMap.get("category2")); |
|||
} |
|||
} |
|||
if (m == 0 && tMap.containsKey("markPoint")) { |
|||
markPointList.add(tMap.get("markPoint")); |
|||
} |
|||
seriesData.add(tMap.get(category2)); |
|||
} |
|||
tsMap.put("data", seriesData); |
|||
tsMap.put("markPointList", markPointList); |
|||
series.add(tsMap); |
|||
++m; |
|||
} |
|||
else { |
|||
if (category2.indexOf("variable_") < 0) { |
|||
continue; |
|||
} |
|||
variableMap.put(category2, StringUtil.toString(categoryMap.get(category2))); |
|||
} |
|||
} |
|||
if (m == 0) { |
|||
for (int j = 0; j < dataList.size(); ++j) { |
|||
final Map<String, Object> tMap = dataList.get(j); |
|||
categoryData.add(tMap.get("category")); |
|||
if (tMap.containsKey("category2")) { |
|||
if ("%".equals(opts.get("suffix")) && !"".equals(tMap.get("category2"))) { |
|||
category2Data.add(tMap.get("category2") + "%"); |
|||
} |
|||
else { |
|||
category2Data.add(tMap.get("category2")); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
resultMap.put("legendData", legendData); |
|||
resultMap.put("categoryData", categoryData); |
|||
if (category2Data.size() > 0) { |
|||
resultMap.put("category2Data", category2Data); |
|||
} |
|||
if (markPointList != null && markPointList.size() > 0) { |
|||
resultMap.put("markPointList", markPointList); |
|||
} |
|||
resultMap.put("series", series); |
|||
resultMap.put("variableMap", variableMap); |
|||
return resultMap; |
|||
} |
|||
} |
@ -0,0 +1,65 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.text.DecimalFormat; |
|||
|
|||
public class LonLatUtil |
|||
{ |
|||
private static DecimalFormat digits; |
|||
|
|||
static { |
|||
LonLatUtil.digits = new DecimalFormat("0.00000000"); |
|||
} |
|||
|
|||
public static double xypase(String dms, final String type) { |
|||
if (StringUtil.isBlank(dms)) { |
|||
return 0.0; |
|||
} |
|||
double result = 0.0; |
|||
String temp = ""; |
|||
dms = dms.replace(",", "."); |
|||
if (type.equals("E")) { |
|||
final String e1 = dms.substring(0, 3); |
|||
final String e2 = dms.substring(3, dms.length()); |
|||
result = Double.parseDouble(e1); |
|||
result += Double.parseDouble(e2) / 60.0; |
|||
temp = String.valueOf(result); |
|||
if (temp.length() > 17) { |
|||
temp = String.valueOf(e1) + temp.substring(temp.indexOf("."), 17); |
|||
} |
|||
} |
|||
else if (type.equals("N")) { |
|||
final String n1 = dms.substring(0, 2); |
|||
final String n2 = dms.substring(2, dms.length()); |
|||
result = Double.parseDouble(n1); |
|||
result += Double.parseDouble(n2) / 60.0; |
|||
temp = String.valueOf(result); |
|||
if (temp.length() > 16) { |
|||
temp = String.valueOf(n1) + temp.substring(temp.indexOf("."), 16); |
|||
} |
|||
} |
|||
return Double.parseDouble(temp); |
|||
} |
|||
|
|||
public static String getLonOrLat(String du, final int length) { |
|||
if (StringUtil.isBlank(du)) { |
|||
return du; |
|||
} |
|||
du = du.replace(",", "."); |
|||
final String edu = du.substring(0, length); |
|||
final int edu2 = Integer.parseInt(edu); |
|||
final String fen = du.substring(length, du.length()); |
|||
final double fen2 = Double.parseDouble(fen); |
|||
final double fen3 = fen2 / 60.0; |
|||
final double fen4 = edu2 + fen3; |
|||
final String es = LonLatUtil.digits.format(fen4); |
|||
return es; |
|||
} |
|||
|
|||
public static void main(final String[] args) { |
|||
System.out.println(getLonOrLat("2232.12213", 2)); |
|||
} |
|||
} |
@ -0,0 +1,55 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import sun.misc.BASE64Encoder; |
|||
|
|||
import java.security.MessageDigest; |
|||
|
|||
public class MD5Utils |
|||
{ |
|||
private static Log log; |
|||
|
|||
static { |
|||
MD5Utils.log = LogFactory.getLog(MD5Utils.class); |
|||
} |
|||
|
|||
public static final String MD5(final String s) { |
|||
final char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g' }; |
|||
try { |
|||
final byte[] strTemp = s.getBytes(); |
|||
final MessageDigest mdTemp = MessageDigest.getInstance("MD5"); |
|||
mdTemp.update(strTemp); |
|||
final byte[] md = mdTemp.digest(); |
|||
final int j = md.length; |
|||
final char[] str = new char[j * 2]; |
|||
int k = 0; |
|||
for (final byte byte0 : md) { |
|||
str[k++] = hexDigits[byte0 >>> 4 & 0xF]; |
|||
str[k++] = hexDigits[byte0 & 0xF]; |
|||
} |
|||
return new String(str); |
|||
} |
|||
catch (Exception e) { |
|||
MD5Utils.log.error("MD5\u52a0\u5bc6\u5f02\u5e38\uff01"); |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
public static String EncoderByMd5(final String str) { |
|||
String newstr = ""; |
|||
try { |
|||
final MessageDigest md5 = MessageDigest.getInstance("MD5"); |
|||
final BASE64Encoder base64en = new BASE64Encoder(); |
|||
newstr = base64en.encode(md5.digest(str.getBytes("utf-8"))); |
|||
} |
|||
catch (Exception e) { |
|||
MD5Utils.log.error("BASE64Encoder\u8f6c\u6362\u5f02\u5e38\uff01"); |
|||
} |
|||
return newstr; |
|||
} |
|||
} |
@ -0,0 +1,199 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.google.gson.Gson; |
|||
import com.google.gson.reflect.TypeToken; |
|||
import net.sf.json.JSONArray; |
|||
import net.sf.json.JSONObject; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.beans.BeanInfo; |
|||
import java.beans.Introspector; |
|||
import java.beans.PropertyDescriptor; |
|||
import java.lang.reflect.Field; |
|||
import java.lang.reflect.Method; |
|||
import java.lang.reflect.Type; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public class MapUtil |
|||
{ |
|||
private static Log log; |
|||
|
|||
static { |
|||
MapUtil.log = LogFactory.getLog(MapUtil.class); |
|||
} |
|||
|
|||
public Map<String, Object> toMap() { |
|||
final Map<String, Object> retmap = new HashMap<String, Object>(); |
|||
final Field[] fields = this.getClass().getDeclaredFields(); |
|||
if (fields.length > 0) { |
|||
for (int i = 0; i < fields.length; ++i) { |
|||
final Field field = fields[i]; |
|||
final String name = field.getName(); |
|||
if (!name.equals("serialVersionUID")) { |
|||
final boolean accessible = field.isAccessible(); |
|||
if (!accessible) { |
|||
field.setAccessible(true); |
|||
} |
|||
Object value = null; |
|||
try { |
|||
value = field.get(this); |
|||
} |
|||
catch (Exception e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
} |
|||
if (!accessible) { |
|||
field.setAccessible(false); |
|||
} |
|||
retmap.put(name, value); |
|||
} |
|||
} |
|||
} |
|||
return retmap; |
|||
} |
|||
|
|||
public static Map<String, Object> strToMap(final String str) { |
|||
Map<String, Object> map = null; |
|||
try { |
|||
final JSONObject jsonObj = (JSONObject)(map = (Map<String, Object>)JSONObject.fromObject(str)); |
|||
} |
|||
catch (Exception e) { |
|||
MapUtil.log.error("json\u5b57\u7b26\u4e32\u8f6c\u5316\u4e3amap\u7684\u683c\u5f0f\u9519\u8bef!"); |
|||
return null; |
|||
} |
|||
return map; |
|||
} |
|||
|
|||
public static List<Map<String, Object>> strToListMap(final String str) { |
|||
List<Map<String, Object>> ObjectList = null; |
|||
try { |
|||
final Gson gson = new Gson(); |
|||
final Type type = new TypeToken<List<?>>() {}.getType(); |
|||
ObjectList = gson.fromJson(str, type); |
|||
} |
|||
catch (Exception e) { |
|||
MapUtil.log.error("json\u8f6c\u5316\u4e3alist\u7684\u683c\u5f0f\u9519\u8bef"); |
|||
return null; |
|||
} |
|||
return ObjectList; |
|||
} |
|||
|
|||
public static String mapTojsonStr(final Map<String, Object> map) { |
|||
String str = ""; |
|||
try { |
|||
final JSONObject jsonObj = JSONObject.fromObject(map); |
|||
str = jsonObj.toString(); |
|||
} |
|||
catch (Exception e) { |
|||
MapUtil.log.error("map\u8f6cjson\u5b57\u7b26\u4e32\u7684\u6570\u636e\u683c\u5f0f\u9519\u8bef"); |
|||
} |
|||
return str; |
|||
} |
|||
|
|||
public static String listMapToJsonStr(final List<Map<String, Object>> list) { |
|||
String json = null; |
|||
try { |
|||
json = JSONArray.fromObject(list).toString(); |
|||
} |
|||
catch (Exception e) { |
|||
MapUtil.log.error("list\u8f6cjson\u5b57\u7b26\u4e32\u7684\u683c\u5f0f\u9519\u8bef"); |
|||
} |
|||
return json; |
|||
} |
|||
|
|||
public static String StrToBinstr(final String str) { |
|||
final char[] strChar = str.toCharArray(); |
|||
String result = ""; |
|||
for (int i = 0; i < strChar.length; ++i) { |
|||
result = String.valueOf(result) + Integer.toBinaryString(strChar[i]) + " "; |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static String BinstrToStr(final String binStr) { |
|||
final String[] tempStr = StrToStrArray(binStr); |
|||
final char[] tempChar = new char[tempStr.length]; |
|||
for (int i = 0; i < tempStr.length; ++i) { |
|||
tempChar[i] = BinstrToChar(tempStr[i]); |
|||
} |
|||
return String.valueOf(tempChar); |
|||
} |
|||
|
|||
public static String[] StrToStrArray(final String str) { |
|||
return str.split(" "); |
|||
} |
|||
|
|||
public static char BinstrToChar(final String binStr) { |
|||
final int[] temp = BinstrToIntArray(binStr); |
|||
int sum = 0; |
|||
for (int i = 0; i < temp.length; ++i) { |
|||
sum += temp[temp.length - 1 - i] << i; |
|||
} |
|||
return (char)sum; |
|||
} |
|||
|
|||
public static int[] BinstrToIntArray(final String binStr) { |
|||
final char[] temp = binStr.toCharArray(); |
|||
final int[] result = new int[temp.length]; |
|||
for (int i = 0; i < temp.length; ++i) { |
|||
result[i] = temp[i] - '0'; |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static Map convertBean(final Object bean) { |
|||
final Class type = bean.getClass(); |
|||
final Map returnMap = new HashMap(); |
|||
try { |
|||
final BeanInfo beanInfo = Introspector.getBeanInfo(type); |
|||
final PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); |
|||
for (int i = 0; i < propertyDescriptors.length; ++i) { |
|||
final PropertyDescriptor descriptor = propertyDescriptors[i]; |
|||
final String propertyName = descriptor.getName(); |
|||
if (!propertyName.equals("class")) { |
|||
final Method readMethod = descriptor.getReadMethod(); |
|||
final Object result = readMethod.invoke(bean, new Object[0]); |
|||
if (result != null) { |
|||
returnMap.put(propertyName, result); |
|||
} |
|||
else { |
|||
returnMap.put(propertyName, ""); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
MapUtil.log.error("bean\u5bf9\u8c61\u8f6c\u5316\u4e3amap\u7684\u683c\u5f0f\u9519\u8bef"); |
|||
return null; |
|||
} |
|||
return returnMap; |
|||
} |
|||
|
|||
public static Object convertMap(final Class type, final Map map) { |
|||
Object obj = null; |
|||
try { |
|||
final BeanInfo beanInfo = Introspector.getBeanInfo(type); |
|||
obj = type.newInstance(); |
|||
final PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); |
|||
for (int i = 0; i < propertyDescriptors.length; ++i) { |
|||
final PropertyDescriptor descriptor = propertyDescriptors[i]; |
|||
final String propertyName = descriptor.getName(); |
|||
if (map.containsKey(propertyName)) { |
|||
final Object value = map.get(propertyName); |
|||
final Object[] args = { value }; |
|||
descriptor.getWriteMethod().invoke(obj, args); |
|||
} |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
} |
|||
return obj; |
|||
} |
|||
} |
@ -0,0 +1,42 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.text.DecimalFormat; |
|||
|
|||
public class MathUtil |
|||
{ |
|||
public static String round(final float num, final float chushu, final int xiaoshudianweishu) { |
|||
return round(String.valueOf(num), chushu, xiaoshudianweishu); |
|||
} |
|||
|
|||
public static String round(final String numStr, final float chushu, final int xiaoshudianweishu) { |
|||
String result = ""; |
|||
if (!StringUtil.isBlank(numStr)) { |
|||
double num = Double.valueOf(numStr); |
|||
if (num == 0.0) { |
|||
return "0"; |
|||
} |
|||
num /= chushu; |
|||
String f = "0"; |
|||
String l = ""; |
|||
if (xiaoshudianweishu > 0) { |
|||
for (int i = 0; i < xiaoshudianweishu; ++i) { |
|||
l = String.valueOf(l) + "0"; |
|||
} |
|||
} |
|||
if (!StringUtil.isBlank(l)) { |
|||
f = String.valueOf(f) + "." + l; |
|||
} |
|||
final DecimalFormat df = new DecimalFormat(f); |
|||
result = df.format(num); |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static void main(final String[] args) { |
|||
System.out.println(round("6400", 1.0E8f, 9)); |
|||
} |
|||
} |
@ -0,0 +1,124 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
public class Matrix |
|||
{ |
|||
static double[][] data3; |
|||
static double[][] data2; |
|||
static double[][] data2f; |
|||
static double[] data2d; |
|||
|
|||
static { |
|||
Matrix.data3 = new double[][] { { 1.0, 1.0, 1.0 }, { 0.0, 2.0, 2.0 }, { 1.0, -1.0, 0.0 } }; |
|||
Matrix.data2 = new double[][] { { 3.0, -2.0 }, { -1.0, 4.0 } }; |
|||
Matrix.data2f = new double[][] { { 0.0, 0.0 }, { 0.0, 0.0 } }; |
|||
Matrix.data2d = new double[] { 1.0, 1.0, 2.0 }; |
|||
} |
|||
|
|||
public static double[][] getDY(final double[][] data, final int h, final int v) { |
|||
final int H = data.length; |
|||
final int V = data[0].length; |
|||
final double[][] newData = new double[H - 1][V - 1]; |
|||
for (int i = 0; i < newData.length; ++i) { |
|||
if (i < h - 1) { |
|||
for (int j = 0; j < newData[i].length; ++j) { |
|||
if (j < v - 1) { |
|||
newData[i][j] = data[i][j]; |
|||
} |
|||
else { |
|||
newData[i][j] = data[i][j + 1]; |
|||
} |
|||
} |
|||
} |
|||
else { |
|||
for (int j = 0; j < newData[i].length; ++j) { |
|||
if (j < v - 1) { |
|||
newData[i][j] = data[i + 1][j]; |
|||
} |
|||
else { |
|||
newData[i][j] = data[i + 1][j + 1]; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return newData; |
|||
} |
|||
|
|||
public static double getHL(final double[][] data) { |
|||
if (data.length == 2) { |
|||
return data[0][0] * data[1][1] - data[0][1] * data[1][0]; |
|||
} |
|||
double total = 0.0; |
|||
final int num = data.length; |
|||
final double[] nums = new double[num]; |
|||
for (int i = 0; i < num; ++i) { |
|||
if (i % 2 == 0) { |
|||
nums[i] = data[0][i] * getHL(getDY(data, 1, i + 1)); |
|||
} |
|||
else { |
|||
nums[i] = -data[0][i] * getHL(getDY(data, 1, i + 1)); |
|||
} |
|||
} |
|||
for (int i = 0; i < num; ++i) { |
|||
total += nums[i]; |
|||
} |
|||
return total; |
|||
} |
|||
|
|||
public static double[][] getN(final double[][] data) { |
|||
final double A = getHL(data); |
|||
double[][] newData = new double[data.length][data.length]; |
|||
for (int i = 0; i < data.length; ++i) { |
|||
for (int j = 0; j < data.length; ++j) { |
|||
double num; |
|||
if ((i + j) % 2 == 0) { |
|||
num = getHL(getDY(data, i + 1, j + 1)); |
|||
} |
|||
else { |
|||
num = -getHL(getDY(data, i + 1, j + 1)); |
|||
} |
|||
newData[i][j] = num / A; |
|||
} |
|||
} |
|||
newData = getA_T(newData); |
|||
for (int i = 0; i < data.length; ++i) { |
|||
for (int j = 0; j < data.length; ++j) {} |
|||
} |
|||
return newData; |
|||
} |
|||
|
|||
public static double[][] getA_T(final double[][] A) { |
|||
final int h = A.length; |
|||
final int v = A[0].length; |
|||
final double[][] A_T = new double[v][h]; |
|||
for (int i = 0; i < v; ++i) { |
|||
for (int j = 0; j < h; ++j) { |
|||
A_T[j][i] = A[i][j]; |
|||
} |
|||
} |
|||
return A_T; |
|||
} |
|||
|
|||
public static double[] matrixMultiply(final double[][] list1, final double[] list2) { |
|||
final double[] list3 = new double[list2.length]; |
|||
if (list1[0].length == list2.length) { |
|||
for (int i = 0; i < list1.length; ++i) { |
|||
for (int j = 0; j < list1[i].length; ++j) { |
|||
final double[] array = list3; |
|||
final int n = i; |
|||
array[n] += list1[i][j] * list2[j]; |
|||
} |
|||
} |
|||
} |
|||
return list3; |
|||
} |
|||
|
|||
public static void main(final String[] args) { |
|||
final double[][] inverseMatrix = getN(Matrix.data3); |
|||
final double[] result = matrixMultiply(inverseMatrix, Matrix.data2d); |
|||
System.out.println("\u6c42\u89e3\u7684\u503c\u4e3a\uff1ax1 = " + result[0] + ", x2 = " + result[1] + ", x3 = " + result[2]); |
|||
} |
|||
} |
@ -0,0 +1,23 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
public class ObjectUtil |
|||
{ |
|||
public static boolean notBlack(final Object str) { |
|||
return str != null && !str.equals(""); |
|||
} |
|||
|
|||
public static int parseInt(final Object str) { |
|||
if (str == null || str == "") { |
|||
return 0; |
|||
} |
|||
return Integer.parseInt(new StringBuilder().append(str).toString()); |
|||
} |
|||
|
|||
public static boolean isEmpty(final Object str) { |
|||
return str == null || "".equals(str); |
|||
} |
|||
} |
@ -0,0 +1,141 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.log4j.Logger; |
|||
|
|||
import java.io.BufferedReader; |
|||
import java.io.IOException; |
|||
import java.io.InputStreamReader; |
|||
import java.io.LineNumberReader; |
|||
import java.net.InetAddress; |
|||
import java.net.Socket; |
|||
import java.util.regex.Matcher; |
|||
import java.util.regex.Pattern; |
|||
|
|||
public class PingUtil |
|||
{ |
|||
private static final Logger log; |
|||
|
|||
static { |
|||
log = Logger.getLogger(PingUtil.class); |
|||
} |
|||
|
|||
public static boolean ping(final String ipAddress) { |
|||
boolean status = false; |
|||
try { |
|||
final int timeOut = 2000; |
|||
status = InetAddress.getByName(ipAddress).isReachable(timeOut); |
|||
} |
|||
catch (Exception e) { |
|||
PingUtil.log.error("\u68c0\u6d4bip\u5f02\u5e38\uff01"); |
|||
return false; |
|||
} |
|||
return status; |
|||
} |
|||
|
|||
public static void ping02(final String ipAddress) throws Exception { |
|||
String line = null; |
|||
try { |
|||
final Process pro = Runtime.getRuntime().exec("ping " + ipAddress); |
|||
final BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream())); |
|||
while ((line = buf.readLine()) != null) { |
|||
System.out.println(line); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
PingUtil.log.error("\u68c0\u6d4bip\u5f02\u5e38\uff01"); |
|||
} |
|||
} |
|||
|
|||
public static boolean ping(final String ipAddress, final int pingTimes, final int timeOut) { |
|||
BufferedReader in = null; |
|||
final Runtime r = Runtime.getRuntime(); |
|||
final String pingCommand = "ping " + ipAddress + " -n " + pingTimes + " -w " + timeOut; |
|||
try { |
|||
System.out.println(pingCommand); |
|||
final Process p = r.exec(pingCommand); |
|||
if (p == null) { |
|||
return false; |
|||
} |
|||
in = new BufferedReader(new InputStreamReader(p.getInputStream())); |
|||
int connectedCount = 0; |
|||
String line = null; |
|||
while ((line = in.readLine()) != null) { |
|||
connectedCount += getCheckResult(line); |
|||
} |
|||
return connectedCount == pingTimes; |
|||
} |
|||
catch (Exception e) { |
|||
PingUtil.log.error("\u68c0\u6d4bip\u5f02\u5e38\uff01"); |
|||
return false; |
|||
} |
|||
finally { |
|||
try { |
|||
in.close(); |
|||
} |
|||
catch (IOException e2) { |
|||
PingUtil.log.error("\u5173\u95ed\u6d41\u5f02\u5e38\uff01"); |
|||
} |
|||
} |
|||
} |
|||
|
|||
private static int getCheckResult(final String line) { |
|||
final Pattern pattern = Pattern.compile("(\\d+ms)(\\s+)(TTL=\\d+)", 2); |
|||
final Matcher matcher = pattern.matcher(line); |
|||
if (matcher.find()) { |
|||
return 1; |
|||
} |
|||
return 0; |
|||
} |
|||
|
|||
public static boolean pingIp(final String ip) { |
|||
try { |
|||
final String address = ip; |
|||
final Process process = Runtime.getRuntime().exec("ping " + address); |
|||
final InputStreamReader r = new InputStreamReader(process.getInputStream()); |
|||
final LineNumberReader returnData = new LineNumberReader(r); |
|||
String returnMsg = ""; |
|||
String line = ""; |
|||
while ((line = returnData.readLine()) != null) { |
|||
returnMsg = String.valueOf(returnMsg) + line; |
|||
} |
|||
System.out.println(returnMsg); |
|||
if (returnMsg.indexOf("100% loss") != -1) { |
|||
System.out.println("\u4e0e " + address + " \u8fde\u63a5\u4e0d\u7545\u901a."); |
|||
return false; |
|||
} |
|||
System.out.println("\u4e0e " + address + " \u8fde\u63a5\u7545\u901a."); |
|||
return true; |
|||
} |
|||
catch (Exception e) { |
|||
PingUtil.log.error("\u68c0\u6d4bip\u5f02\u5e38\uff01"); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
public static boolean pingIpAndPort(final String ip, final int port) { |
|||
try { |
|||
Socket s = new Socket(ip, port); |
|||
PingUtil.log.info(s.getLocalAddress() + "\u53ef\u4ee5\u8bbf\u95ee" + ip + "\u4e0a\u7684\u7aef\u53e3" + 8080 + "\u7684\u670d\u52a1."); |
|||
s = null; |
|||
return true; |
|||
} |
|||
catch (Exception e) { |
|||
PingUtil.log.error("\u65e0\u6cd5\u53d6\u5f97" + ip + "\u4e0a\u7684\u7aef\u53e3" + 8080 + "\u7684\u670d\u52a1."); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
public static void main(final String[] args) { |
|||
try { |
|||
final String ipAddress = "192.168.50.66"; |
|||
System.out.println(ping(ipAddress)); |
|||
} |
|||
catch (Exception e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,57 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.log4j.Logger; |
|||
|
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
|
|||
public class PortManageUtils |
|||
{ |
|||
static Logger log; |
|||
public static Map<String, String> portMap; |
|||
|
|||
static { |
|||
PortManageUtils.log = Logger.getLogger(PortManageUtils.class); |
|||
PortManageUtils.portMap = new HashMap<String, String>(); |
|||
} |
|||
|
|||
public static String getRandom(final String str) { |
|||
boolean bool = false; |
|||
String port; |
|||
do { |
|||
String theNum = null; |
|||
port = null; |
|||
final int num = (int)(Math.random() * 100.0); |
|||
if (num < 10) { |
|||
theNum = "0" + num; |
|||
} |
|||
else { |
|||
theNum = String.valueOf(num); |
|||
} |
|||
port = String.valueOf(str) + theNum; |
|||
bool = searchSavePort(port); |
|||
} while (!bool); |
|||
return port; |
|||
} |
|||
|
|||
public static synchronized boolean searchSavePort(final String port) { |
|||
boolean bool = true; |
|||
if (PortManageUtils.portMap != null && PortManageUtils.portMap.containsKey(port)) { |
|||
bool = false; |
|||
} |
|||
if (bool) { |
|||
PortManageUtils.portMap.put(port, port); |
|||
} |
|||
return bool; |
|||
} |
|||
|
|||
public static synchronized void searchDelete(final String port) { |
|||
if (PortManageUtils.portMap != null && PortManageUtils.portMap.containsKey(port)) { |
|||
PortManageUtils.portMap.remove(port); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,42 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.springframework.aop.framework.AdvisedSupport; |
|||
import org.springframework.aop.support.AopUtils; |
|||
|
|||
import java.lang.reflect.InvocationHandler; |
|||
import java.lang.reflect.Proxy; |
|||
|
|||
public class ProxyUtil |
|||
{ |
|||
public static Object getTarget(final Object proxy) { |
|||
try { |
|||
if (!AopUtils.isAopProxy(proxy)) { |
|||
return proxy; |
|||
} |
|||
if (AopUtils.isJdkDynamicProxy(proxy)) { |
|||
return getJdkDynamicProxyTargetObject(proxy); |
|||
} |
|||
return getCglibProxyTargetObject(proxy); |
|||
} |
|||
catch (Exception e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
private static Object getCglibProxyTargetObject(final Object proxy) throws Exception { |
|||
final Object dynamicAdvisedInterceptor = ReflectionUtils.getFieldValue(proxy, "CGLIB$CALLBACK_0"); |
|||
final Object target = ((AdvisedSupport)ReflectionUtils.getFieldValue(dynamicAdvisedInterceptor, "advised")).getTargetSource().getTarget(); |
|||
return target; |
|||
} |
|||
|
|||
private static Object getJdkDynamicProxyTargetObject(final Object proxy) throws Exception { |
|||
final InvocationHandler invocationHandler = Proxy.getInvocationHandler(proxy); |
|||
final Object target = ((AdvisedSupport)ReflectionUtils.getFieldValue(invocationHandler, "advised")).getTargetSource().getTarget(); |
|||
return target; |
|||
} |
|||
} |
@ -0,0 +1,36 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.io.InputStream; |
|||
|
|||
public class ReadUtil |
|||
{ |
|||
private static ReadUtil util; |
|||
|
|||
private ReadUtil() { |
|||
} |
|||
|
|||
public static ReadUtil getInstance() { |
|||
if (ReadUtil.util == null) { |
|||
ReadUtil.util = new ReadUtil(); |
|||
} |
|||
return ReadUtil.util; |
|||
} |
|||
|
|||
public byte[] readMessage(final InputStream in) { |
|||
try { |
|||
final byte[] bytes = new byte[4096]; |
|||
final int length = in.read(bytes); |
|||
final byte[] blenth = new byte[length]; |
|||
System.arraycopy(bytes, 0, blenth, 0, length); |
|||
return blenth; |
|||
} |
|||
catch (Exception e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
return null; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,144 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.lang.reflect.Field; |
|||
import java.lang.reflect.Method; |
|||
import java.lang.reflect.ParameterizedType; |
|||
import java.lang.reflect.Type; |
|||
|
|||
public class ReflectionUtils |
|||
{ |
|||
private static Log log; |
|||
|
|||
static { |
|||
ReflectionUtils.log = LogFactory.getLog(ReflectionUtils.class); |
|||
} |
|||
|
|||
public static Object invoke(final Object obj, final String methodName, final Object... args) { |
|||
final Class[] parametersType = new Class[args.length]; |
|||
for (int i = 0; i < args.length; ++i) { |
|||
parametersType[i] = args[i].getClass(); |
|||
} |
|||
final Method method = getMethod(obj.getClass(), methodName, (Class<?>[])parametersType); |
|||
try { |
|||
return method.invoke(obj, args); |
|||
} |
|||
catch (Exception e) { |
|||
ReflectionUtils.log.error("\u7236\u7c7b\u4e2d\u7684\u79c1\u6709\u65b9\u6cd5\uff0c\u4f60\u4e0d\u53ef\u8bbf\u95ee!!!"); |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
public static Method getMethod(Class<?> cla, final String methodName, final Class<?>... parametersType) { |
|||
boolean isFirstClass = true; |
|||
while (cla != Object.class) { |
|||
Method method = null; |
|||
try { |
|||
method = cla.getDeclaredMethod(methodName, parametersType); |
|||
if (isFirstClass) { |
|||
method.setAccessible(true); |
|||
isFirstClass = false; |
|||
} |
|||
return method; |
|||
} |
|||
catch (Exception ex) {} |
|||
finally { |
|||
isFirstClass = false; |
|||
} |
|||
cla = cla.getSuperclass(); |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
public static Object invoke(final String className, final String methodName, final Object... args) { |
|||
Object obj = null; |
|||
try { |
|||
obj = Class.forName(className).newInstance(); |
|||
} |
|||
catch (Exception e) { |
|||
ReflectionUtils.log.error(e.getLocalizedMessage()); |
|||
} |
|||
if (obj == null) { |
|||
return null; |
|||
} |
|||
return invoke(obj, methodName, args); |
|||
} |
|||
|
|||
public static Object getFieldValue(final Object obj, final String fieldName) { |
|||
final Class<?> cla = obj.getClass(); |
|||
final Field field = getField(cla, fieldName); |
|||
try { |
|||
return field.get(obj); |
|||
} |
|||
catch (Exception e) { |
|||
ReflectionUtils.log.error("\u7236\u7c7b\u4e2d\u7684\u79c1\u6709\u5c5e\u6027\uff0c\u4f60\u4e0d\u53ef\u8bbf\u95ee!!!"); |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
public static Field getField(Class<?> cla, final String fieldName) { |
|||
boolean isFirstClass = true; |
|||
while (cla != Object.class) { |
|||
Field field = null; |
|||
try { |
|||
field = cla.getDeclaredField(fieldName); |
|||
if (isFirstClass) { |
|||
field.setAccessible(true); |
|||
isFirstClass = false; |
|||
} |
|||
return field; |
|||
} |
|||
catch (Exception ex) {} |
|||
finally { |
|||
isFirstClass = false; |
|||
} |
|||
cla = cla.getSuperclass(); |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
public static void setFieldValue(final Object obj, final String fieldName, final Object val) { |
|||
final Field field = getField(obj.getClass(), fieldName); |
|||
try { |
|||
field.set(obj, val); |
|||
} |
|||
catch (Exception e) { |
|||
ReflectionUtils.log.error("\u65e0\u6cd5\u8bbe\u7f6e\u7236\u7c7b\u4e2d\u7684\u79c1\u6709\u5c5e\u6027!!!"); |
|||
} |
|||
} |
|||
|
|||
public static <T> T setFieldValue(final String className, final String fieldName, final Object val) { |
|||
T obj = null; |
|||
try { |
|||
obj = (T)Class.forName(className).newInstance(); |
|||
} |
|||
catch (Exception e) { |
|||
ReflectionUtils.log.error("\u7c7b\u540d\u9519\u8bef\uff01\uff01\uff01"); |
|||
} |
|||
setFieldValue(obj, fieldName, val); |
|||
return obj; |
|||
} |
|||
|
|||
public static Class<?> getGenericSuperClass(final Class<?> className, final int index) { |
|||
final Type type = className.getGenericSuperclass(); |
|||
if (!(type instanceof ParameterizedType)) { |
|||
return null; |
|||
} |
|||
final ParameterizedType parameterizedType = (ParameterizedType)type; |
|||
final Type[] args = parameterizedType.getActualTypeArguments(); |
|||
if (index < 0 || index > args.length) { |
|||
return null; |
|||
} |
|||
if (args != null) { |
|||
final Class<?> cla = (Class<?>)args[index]; |
|||
return cla; |
|||
} |
|||
return null; |
|||
} |
|||
} |
@ -0,0 +1,48 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.springframework.core.io.ClassPathResource; |
|||
import org.springframework.core.io.Resource; |
|||
import org.springframework.core.io.support.PropertiesLoaderUtils; |
|||
|
|||
import java.io.IOException; |
|||
import java.util.Properties; |
|||
|
|||
public class ResourceUtil |
|||
{ |
|||
private static Log log; |
|||
private static final Resource resource; |
|||
private static Properties props; |
|||
|
|||
static { |
|||
ResourceUtil.log = LogFactory.getLog(ResourceUtil.class); |
|||
resource = new ClassPathResource("/resources.properties"); |
|||
try { |
|||
ResourceUtil.props = PropertiesLoaderUtils.loadProperties(ResourceUtil.resource); |
|||
} |
|||
catch (IOException e) { |
|||
ResourceUtil.log.error("\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6\u5f02\u5e38\uff01"); |
|||
} |
|||
} |
|||
|
|||
public static final String getCtrlFllowHost() { |
|||
return ResourceUtil.props.getProperty("ctrl_fllow_host"); |
|||
} |
|||
|
|||
public static final int getCtrlFllowPort() { |
|||
return Integer.parseInt(ResourceUtil.props.getProperty("ctrl_fllow_port")); |
|||
} |
|||
|
|||
public static final int getPushFllowTime() { |
|||
return Integer.parseInt(ResourceUtil.props.getProperty("push.fllow.target.time")); |
|||
} |
|||
|
|||
public static final String getClientTopic() { |
|||
return ResourceUtil.props.getProperty("client.track.topic"); |
|||
} |
|||
} |
@ -0,0 +1,65 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.springframework.beans.BeansException; |
|||
import org.springframework.context.ApplicationContext; |
|||
import org.springframework.context.ApplicationContextAware; |
|||
|
|||
public class SpringBeanUtil implements ApplicationContextAware |
|||
{ |
|||
private static ApplicationContext applicationContext; |
|||
|
|||
private SpringBeanUtil() { |
|||
} |
|||
|
|||
@Override |
|||
public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException { |
|||
if (SpringBeanUtil.applicationContext == null) { |
|||
synchronized (SpringBeanUtil.class) { |
|||
if (SpringBeanUtil.applicationContext == null) { |
|||
SpringBeanUtil.applicationContext = applicationContext; |
|||
} |
|||
} |
|||
// monitorexit(SpringBeanUtil.class)
|
|||
} |
|||
} |
|||
|
|||
public static Object getBean(final String beanName) { |
|||
return SpringBeanUtil.applicationContext.getBean(beanName); |
|||
} |
|||
|
|||
public static <T> T getBean(final Class<T> beanType) { |
|||
return SpringBeanUtil.applicationContext.getBean(beanType); |
|||
} |
|||
|
|||
public static <T> T getBean(final String beanName, final Class<T> beanType) { |
|||
final Object obj = getBean(beanName); |
|||
if (obj == null) { |
|||
return getBean(beanType); |
|||
} |
|||
return (T)obj; |
|||
} |
|||
|
|||
public static boolean existsBean(final String beanName) { |
|||
return SpringBeanUtil.applicationContext.containsBean(beanName); |
|||
} |
|||
|
|||
public static boolean existsBeanDefinition(final String beanName) { |
|||
return SpringBeanUtil.applicationContext.containsBeanDefinition(beanName); |
|||
} |
|||
|
|||
public static boolean existsLocalBean(final String beanName) { |
|||
return SpringBeanUtil.applicationContext.containsLocalBean(beanName); |
|||
} |
|||
|
|||
public static boolean existsBean(final Class<?> beanType) { |
|||
return SpringBeanUtil.applicationContext.getBeanNamesForType(beanType).length > 0; |
|||
} |
|||
|
|||
public static ApplicationContext getApplicationContext() { |
|||
return SpringBeanUtil.applicationContext; |
|||
} |
|||
} |
@ -0,0 +1,75 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.springframework.beans.BeansException; |
|||
import org.springframework.beans.factory.config.BeanFactoryPostProcessor; |
|||
import org.springframework.beans.factory.config.PropertyResourceConfigurer; |
|||
import org.springframework.context.ApplicationContext; |
|||
import org.springframework.context.ApplicationContextAware; |
|||
import org.springframework.context.support.AbstractApplicationContext; |
|||
import org.springframework.core.io.support.PropertiesLoaderSupport; |
|||
|
|||
import java.lang.reflect.Method; |
|||
import java.util.Properties; |
|||
|
|||
public class SpringPropertyUtil implements ApplicationContextAware |
|||
{ |
|||
private static Log log; |
|||
private static ApplicationContext applicationContext; |
|||
private static Properties properties; |
|||
private static AbstractApplicationContext abstractContext; |
|||
|
|||
static { |
|||
SpringPropertyUtil.log = LogFactory.getLog(SpringPropertyUtil.class); |
|||
SpringPropertyUtil.applicationContext = null; |
|||
SpringPropertyUtil.properties = new Properties(); |
|||
SpringPropertyUtil.abstractContext = null; |
|||
} |
|||
|
|||
@Override |
|||
public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException { |
|||
if (SpringPropertyUtil.applicationContext == null) { |
|||
synchronized (SpringBeanUtil.class) { |
|||
if (SpringPropertyUtil.applicationContext == null) { |
|||
SpringPropertyUtil.applicationContext = applicationContext; |
|||
} |
|||
} |
|||
// monitorexit(SpringBeanUtil.class)
|
|||
} |
|||
SpringPropertyUtil.abstractContext = (AbstractApplicationContext)applicationContext; |
|||
init(); |
|||
} |
|||
|
|||
private static void init() { |
|||
try { |
|||
final String[] postProcessorNames = SpringPropertyUtil.abstractContext.getBeanNamesForType(BeanFactoryPostProcessor.class, true, true); |
|||
String[] array; |
|||
for (int length = (array = postProcessorNames).length, i = 0; i < length; ++i) { |
|||
final String ppName = array[i]; |
|||
final BeanFactoryPostProcessor beanProcessor = SpringPropertyUtil.abstractContext.getBean(ppName, BeanFactoryPostProcessor.class); |
|||
if (beanProcessor instanceof PropertyResourceConfigurer) { |
|||
final PropertyResourceConfigurer propertyResourceConfigurer = (PropertyResourceConfigurer)beanProcessor; |
|||
final Method mergeProperties = PropertiesLoaderSupport.class.getDeclaredMethod("mergeProperties", (Class<?>[])new Class[0]); |
|||
mergeProperties.setAccessible(true); |
|||
final Properties props = (Properties)mergeProperties.invoke(propertyResourceConfigurer, new Object[0]); |
|||
final Method convertProperties = PropertyResourceConfigurer.class.getDeclaredMethod("convertProperties", Properties.class); |
|||
convertProperties.setAccessible(true); |
|||
convertProperties.invoke(propertyResourceConfigurer, props); |
|||
SpringPropertyUtil.properties.putAll(props); |
|||
} |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
SpringPropertyUtil.log.error(e.getLocalizedMessage()); |
|||
} |
|||
} |
|||
|
|||
public static String getProperty(final String propertyName) { |
|||
return SpringPropertyUtil.properties.getProperty(propertyName); |
|||
} |
|||
} |
@ -0,0 +1,104 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public class StringUtil |
|||
{ |
|||
public static String toSelectStr(final List resultList, final String key, final String value) { |
|||
final StringBuilder selectStr = new StringBuilder(); |
|||
for (final Object object : resultList) { |
|||
final Map _obj = (Map)object; |
|||
selectStr.append("<option value='" + _obj.get(key) + "'>" + _obj.get(value) + "</option>"); |
|||
} |
|||
return selectStr.toString(); |
|||
} |
|||
|
|||
public static String toString(final Object object) { |
|||
if (object != null) { |
|||
return object.toString().trim(); |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
public static String firstCharToLowerCase(String str) { |
|||
final Character firstChar = str.charAt(0); |
|||
final String tail = str.substring(1); |
|||
str = String.valueOf(Character.toLowerCase(firstChar)) + tail; |
|||
return str; |
|||
} |
|||
|
|||
public static String firstCharToUpperCase(String str) { |
|||
final Character firstChar = str.charAt(0); |
|||
final String tail = str.substring(1); |
|||
str = String.valueOf(Character.toUpperCase(firstChar)) + tail; |
|||
return str; |
|||
} |
|||
|
|||
public static boolean isBlank(final String str) { |
|||
return str == null || "".equals(str.trim()); |
|||
} |
|||
|
|||
public static boolean notBlank(final String str) { |
|||
return str != null && !"".equals(str.trim()); |
|||
} |
|||
|
|||
public static boolean notBlank(final String... strings) { |
|||
if (strings == null) { |
|||
return false; |
|||
} |
|||
for (final String str : strings) { |
|||
if (str == null || "".equals(str.trim())) { |
|||
return false; |
|||
} |
|||
} |
|||
return true; |
|||
} |
|||
|
|||
public static boolean notNull(final Object... paras) { |
|||
if (paras == null) { |
|||
return false; |
|||
} |
|||
for (final Object obj : paras) { |
|||
if (obj == null) { |
|||
return false; |
|||
} |
|||
} |
|||
return true; |
|||
} |
|||
|
|||
public static String nvl(final String string) { |
|||
return nvl(string, ""); |
|||
} |
|||
|
|||
public static String nvl(final Object o) { |
|||
return nvl(toString(o), ""); |
|||
} |
|||
|
|||
public static String nvl(final String string, final String string2) { |
|||
if (isBlank(string)) { |
|||
return string2; |
|||
} |
|||
return string; |
|||
} |
|||
|
|||
public static String getIpToStr(final Object addressIp) { |
|||
final String ip = new StringBuilder().append(addressIp).toString(); |
|||
return ip.substring(1, ip.length()); |
|||
} |
|||
|
|||
public static String defaultString(final String str) { |
|||
return (str == null) ? "" : str; |
|||
} |
|||
|
|||
public static Object minusOne(String str) { |
|||
if (str != null && !"".equals(str)) { |
|||
str = str.substring(0, str.length() - 1); |
|||
} |
|||
return str; |
|||
} |
|||
} |
@ -0,0 +1,115 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.alibaba.fastjson.JSON; |
|||
import com.zhichenhaixin.base.model.MatrixVo; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.io.BufferedWriter; |
|||
import java.io.IOException; |
|||
import java.io.OutputStream; |
|||
import java.io.OutputStreamWriter; |
|||
import java.net.InetSocketAddress; |
|||
import java.net.Socket; |
|||
|
|||
public class TcpUtil |
|||
{ |
|||
private static final Log log; |
|||
private static final String ttsHost; |
|||
private static final int ttsPort; |
|||
private static final String bigScrHost; |
|||
private static final int bigScrPort; |
|||
|
|||
static { |
|||
log = LogFactory.getLog(TcpUtil.class); |
|||
ttsHost = SpringPropertyUtil.getProperty("tts.host"); |
|||
ttsPort = Integer.valueOf(SpringPropertyUtil.getProperty("tts.port")); |
|||
bigScrHost = SpringPropertyUtil.getProperty("big.scr.host"); |
|||
bigScrPort = Integer.valueOf(SpringPropertyUtil.getProperty("big.scr.port")); |
|||
} |
|||
|
|||
public static boolean send(final MatrixVo matrixVo) { |
|||
matrixVo.setHandle(1); |
|||
final String str = JSON.toJSONString(matrixVo); |
|||
Socket socket = null; |
|||
try { |
|||
socket = new Socket(); |
|||
socket.connect(new InetSocketAddress(TcpUtil.bigScrHost, TcpUtil.bigScrPort), 200); |
|||
final BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); |
|||
out.write(str); |
|||
out.flush(); |
|||
out.close(); |
|||
return true; |
|||
} |
|||
catch (Exception e) { |
|||
TcpUtil.log.error("===> \u5207\u6362\u5927\u5c4f\u5931\u8d25"); |
|||
if (socket != null) { |
|||
try { |
|||
socket.close(); |
|||
} |
|||
catch (IOException e2) { |
|||
TcpUtil.log.error("\u5173\u95ed\u6d41\u5f02\u5e38"); |
|||
} |
|||
} |
|||
} |
|||
finally { |
|||
if (socket != null) { |
|||
try { |
|||
socket.close(); |
|||
} |
|||
catch (IOException e2) { |
|||
TcpUtil.log.error("\u5173\u95ed\u6d41\u5f02\u5e38"); |
|||
} |
|||
} |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
public static void playTts(String content) { |
|||
content = ((content == null) ? "" : content); |
|||
Socket socket = null; |
|||
try { |
|||
socket = new Socket(); |
|||
socket.connect(new InetSocketAddress(TcpUtil.ttsHost, TcpUtil.ttsPort), 100); |
|||
final OutputStream os = socket.getOutputStream(); |
|||
final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); |
|||
bw.write(content); |
|||
bw.flush(); |
|||
bw.close(); |
|||
} |
|||
catch (Exception e) { |
|||
TcpUtil.log.error("-> TTS\u670d\u52a1\u5668\u672a\u5f00\u542f\u6216\u8005\u662f[ip: " + TcpUtil.ttsHost + " port: " + TcpUtil.ttsPort + "]\u9519\u8bef"); |
|||
if (socket != null) { |
|||
try { |
|||
socket.close(); |
|||
} |
|||
catch (IOException e2) { |
|||
TcpUtil.log.error("\u5173\u95ed\u6d41\u5f02\u5e38"); |
|||
} |
|||
} |
|||
return; |
|||
} |
|||
finally { |
|||
if (socket != null) { |
|||
try { |
|||
socket.close(); |
|||
} |
|||
catch (IOException e2) { |
|||
TcpUtil.log.error("\u5173\u95ed\u6d41\u5f02\u5e38"); |
|||
} |
|||
} |
|||
} |
|||
if (socket != null) { |
|||
try { |
|||
socket.close(); |
|||
} |
|||
catch (IOException e2) { |
|||
TcpUtil.log.error("\u5173\u95ed\u6d41\u5f02\u5e38"); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,65 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.base.util; |
|||
|
|||
import com.jcraft.jzlib.ZInputStream; |
|||
import com.jcraft.jzlib.ZOutputStream; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.io.ByteArrayInputStream; |
|||
import java.io.ByteArrayOutputStream; |
|||
import java.io.DataOutputStream; |
|||
import java.io.IOException; |
|||
|
|||
public class ZLibUtils |
|||
{ |
|||
private static final Log log; |
|||
|
|||
static { |
|||
log = LogFactory.getLog(ZLibUtils.class); |
|||
} |
|||
|
|||
public static byte[] jzlib(final byte[] object) { |
|||
byte[] data = null; |
|||
try { |
|||
final ByteArrayOutputStream out = new ByteArrayOutputStream(); |
|||
final ZOutputStream zOut = new ZOutputStream(out, -1); |
|||
final DataOutputStream objOut = new DataOutputStream(zOut); |
|||
objOut.write(object); |
|||
objOut.flush(); |
|||
zOut.close(); |
|||
data = out.toByteArray(); |
|||
out.close(); |
|||
} |
|||
catch (IOException e) { |
|||
ZLibUtils.log.error("\u538b\u7f29\u6570\u636e\u5f02\u5e38\uff01" + e.getLocalizedMessage()); |
|||
} |
|||
return data; |
|||
} |
|||
|
|||
public static byte[] unjzlib(final byte[] object) { |
|||
byte[] data = null; |
|||
try { |
|||
final ByteArrayInputStream in = new ByteArrayInputStream(object); |
|||
final ZInputStream zIn = new ZInputStream(in); |
|||
final byte[] buf = new byte[1024]; |
|||
int num = -1; |
|||
final ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
|||
while ((num = zIn.read(buf, 0, buf.length)) != -1) { |
|||
baos.write(buf, 0, num); |
|||
} |
|||
data = baos.toByteArray(); |
|||
baos.flush(); |
|||
baos.close(); |
|||
zIn.close(); |
|||
in.close(); |
|||
} |
|||
catch (IOException e) { |
|||
ZLibUtils.log.error("\u89e3\u538b\u6570\u636e\u5f02\u5e38\uff01" + e.getLocalizedMessage()); |
|||
} |
|||
return data; |
|||
} |
|||
} |
@ -0,0 +1,71 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.serializer.RadarTrackVo; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class AgilTrackEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "agilTrackVoCache"; |
|||
|
|||
public static void put(final RadarTrackVo radarTrackVo) { |
|||
final Cache cache = CacheUtil.getECache("agilTrackVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(radarTrackVo.getTrackNumber(), radarTrackVo)); |
|||
} |
|||
|
|||
public static List<RadarTrackVo> getAll() { |
|||
final Cache cache = CacheUtil.getECache("agilTrackVoCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<RadarTrackVo> result = new ArrayList<RadarTrackVo>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((RadarTrackVo)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static RadarTrackVo get(final int trackNum) { |
|||
final Cache cache = CacheUtil.getECache("agilTrackVoCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(trackNum); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (RadarTrackVo)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("agilTrackVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
|
|||
public static void remove(final int trackNum) { |
|||
final Cache cache = CacheUtil.getECache("agilTrackVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(trackNum); |
|||
} |
|||
} |
@ -0,0 +1,76 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.proto.ZCHXFllow; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class CtrlVoEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "ctrlVoCache"; |
|||
List<ZCHXFllow.CtrlVo> list; |
|||
|
|||
public CtrlVoEhcache() { |
|||
this.list = new ArrayList<ZCHXFllow.CtrlVo>(); |
|||
} |
|||
|
|||
public static void put(final ZCHXFllow.CtrlVo vo) { |
|||
final Cache cache = CacheUtil.getECache("ctrlVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(vo.getTrackNumber(), vo)); |
|||
} |
|||
|
|||
public static void remove(final int trackNumber) { |
|||
final Cache cache = CacheUtil.getECache("ctrlVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(trackNumber); |
|||
} |
|||
|
|||
public static List<ZCHXFllow.CtrlVo> getAll() { |
|||
final Cache cache = CacheUtil.getECache("ctrlVoCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<ZCHXFllow.CtrlVo> result = new ArrayList<ZCHXFllow.CtrlVo>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((ZCHXFllow.CtrlVo)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static ZCHXFllow.CtrlVo get(final int trackNumber) { |
|||
final Cache cache = CacheUtil.getECache("ctrlVoCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(trackNumber); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (ZCHXFllow.CtrlVo)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("ctrlVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
} |
@ -0,0 +1,101 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.vividsolutions.jts.geom.Geometry; |
|||
import com.vividsolutions.jts.geom.Point; |
|||
import com.vividsolutions.jts.io.ParseException; |
|||
import com.vividsolutions.jts.io.WKTReader; |
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.sys.model.CustomDefence; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class CustomFeatureEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "customFeatureEhcache"; |
|||
|
|||
public static void put(final CustomDefence customLayer) { |
|||
final Cache cache = CacheUtil.getECache("customFeatureEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(customLayer.getDefence_id(), customLayer)); |
|||
} |
|||
|
|||
public static CustomDefence isContainArea(final Point point) { |
|||
final Cache cache = CacheUtil.getECache("customFeatureEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<String> keys = (List<String>)cache.getKeys(); |
|||
for (int size = keys.size(), i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
final CustomDefence customLayer = (CustomDefence)element.getValue(); |
|||
if (customLayer.getDefence_type() != 1) { |
|||
try { |
|||
final Geometry defence = new WKTReader().read(customLayer.getLon_lat()); |
|||
if (defence.contains(point)) { |
|||
return customLayer; |
|||
} |
|||
} |
|||
catch (ParseException e) { |
|||
System.out.println(e.getMessage()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
public static List<CustomDefence> getAll() { |
|||
final Cache cache = CacheUtil.getECache("customFeatureEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<CustomDefence> result = new ArrayList<CustomDefence>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((CustomDefence)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static CustomDefence get(final int defence_id) { |
|||
final Cache cache = CacheUtil.getECache("customFeatureEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(defence_id); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (CustomDefence)element.getValue(); |
|||
} |
|||
|
|||
public static void remove(final int id) { |
|||
final Cache cache = CacheUtil.getECache("customFeatureEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(id); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("customFeatureEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
} |
@ -0,0 +1,141 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.DateUtil; |
|||
import com.zhichenhaixin.sys.model.CustomDefence; |
|||
import com.zhichenhaixin.sys.model.TimeSpanVo; |
|||
|
|||
import java.util.Calendar; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
public class DefenceCacheUtil |
|||
{ |
|||
public static void saveDefenceCache(final List<CustomDefence> list) { |
|||
CustomFeatureEhcache.clear(); |
|||
for (final CustomDefence cus2 : list) { |
|||
CustomFeatureEhcache.put(cus2); |
|||
} |
|||
} |
|||
|
|||
public static boolean isSetDefence(final List<TimeSpanVo> list) { |
|||
if (list == null) { |
|||
return false; |
|||
} |
|||
for (final TimeSpanVo time : list) { |
|||
final String start = time.getStarttime(); |
|||
final String cur = DateUtil.format(DateUtil.now(), "HH:mm"); |
|||
final String end = time.getEndtime(); |
|||
final int start2 = Integer.parseInt(start.replaceAll(":", "")); |
|||
final int cur2 = Integer.parseInt(cur.replaceAll(":", "")); |
|||
final int end2 = Integer.parseInt(end.replaceAll(":", "")); |
|||
if (start2 <= cur2 && cur2 <= end2) { |
|||
return true; |
|||
} |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
public static boolean judgeSetDefence(final List<TimeSpanVo> list) { |
|||
if (list != null) { |
|||
final Calendar calendar = Calendar.getInstance(); |
|||
final Date date = new Date(); |
|||
calendar.setTime(date); |
|||
final int dayOfWeek = calendar.get(7); |
|||
for (final TimeSpanVo time : list) { |
|||
if (switchTimeCycle(time, dayOfWeek, date)) { |
|||
return true; |
|||
} |
|||
} |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
public static boolean switchTimeCycle(final TimeSpanVo time, final int dayOfWeek, final Date date) { |
|||
final int timeCicle = time.getTime_cycle(); |
|||
boolean result = false; |
|||
switch (timeCicle) { |
|||
case 1: { |
|||
if (dayOfWeek == 2) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 2: { |
|||
if (dayOfWeek == 3) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 3: { |
|||
if (dayOfWeek == 4) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 4: { |
|||
if (dayOfWeek == 5) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 5: { |
|||
if (dayOfWeek == 6) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 6: { |
|||
if (dayOfWeek == 7) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 7: { |
|||
if (dayOfWeek == 1) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 8: { |
|||
if (dayOfWeek > 1 && dayOfWeek < 7) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 9: { |
|||
if (dayOfWeek == 1 || dayOfWeek == 7) { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
break; |
|||
} |
|||
case 10: { |
|||
result = judgeTime(time, date); |
|||
break; |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static boolean judgeTime(final TimeSpanVo timeSpanVo, final Date date) { |
|||
final String start = timeSpanVo.getStarttime(); |
|||
final String cur = DateUtil.format(date, "HH:mm"); |
|||
final String end = timeSpanVo.getEndtime(); |
|||
final int start2 = Integer.parseInt(start.replaceAll(":", "")); |
|||
final int cur2 = Integer.parseInt(cur.replaceAll(":", "")); |
|||
final int end2 = Integer.parseInt(end.replaceAll(":", "")); |
|||
return start2 <= cur2 && cur2 <= end2; |
|||
} |
|||
} |
@ -0,0 +1,89 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.proto.ZCHXGPS; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class GpsVoEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "gpsVoCache"; |
|||
|
|||
public static void put(final ZCHXGPS.GPSData vo) { |
|||
final Cache cache = CacheUtil.getECache("gpsVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(vo.getImei(), vo)); |
|||
} |
|||
|
|||
public static void remove(final String imei) { |
|||
final Cache cache = CacheUtil.getECache("gpsVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(imei); |
|||
} |
|||
|
|||
public static List<ZCHXGPS.GPSData> getAll() { |
|||
final Cache cache = CacheUtil.getECache("gpsVoCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<ZCHXGPS.GPSData> result = new ArrayList<ZCHXGPS.GPSData>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((ZCHXGPS.GPSData)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static ZCHXGPS.GPSData get(final String imei) { |
|||
final Cache cache = CacheUtil.getECache("gpsVoCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(imei); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (ZCHXGPS.GPSData)element.getValue(); |
|||
} |
|||
|
|||
public static boolean get(final ZCHXGPS.GPSData vo) { |
|||
final Cache cache = CacheUtil.getECache("gpsVoCache"); |
|||
if (cache == null) { |
|||
return false; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
for (int size = keys.size(), i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
final ZCHXGPS.GPSData gvo = (ZCHXGPS.GPSData)element.getValue(); |
|||
if (gvo.getImei().equals(vo.getImei()) && gvo.getLon() == vo.getLon() && gvo.getLat() == vo.getLat()) { |
|||
return true; |
|||
} |
|||
} |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("gpsVoCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
} |
@ -0,0 +1,78 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.sys.model.NightModeVo; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class NightModeEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "nightModeCache"; |
|||
|
|||
public static void put(final NightModeVo vo) { |
|||
final Cache cache = CacheUtil.getECache("nightModeCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(vo.getId(), vo)); |
|||
} |
|||
|
|||
public static List<NightModeVo> getAll() { |
|||
final Cache cache = CacheUtil.getECache("nightModeCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<NightModeVo> result = new ArrayList<NightModeVo>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((NightModeVo)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static NightModeVo get(final int id) { |
|||
final Cache cache = CacheUtil.getECache("nightModeCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(id); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (NightModeVo)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("nightModeCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
|
|||
public static void remove(final int id) { |
|||
final Cache cache = CacheUtil.getECache("nightModeCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(id); |
|||
} |
|||
|
|||
public static void saveNightModeVoCache(final List<NightModeVo> list) { |
|||
clear(); |
|||
for (final NightModeVo vo : list) { |
|||
put(vo); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,71 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.proto.ZCHXRadar; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class RadarFalseAlarmEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "radarFalseAlarmEhcache"; |
|||
|
|||
public static void put(final ZCHXRadar.RadarHistoryTrack vo) { |
|||
final Cache cache = CacheUtil.getECache("radarFalseAlarmEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(vo.getTrackNumber(), vo)); |
|||
} |
|||
|
|||
public static List<ZCHXRadar.RadarHistoryTrack> getAll() { |
|||
final Cache cache = CacheUtil.getECache("radarFalseAlarmEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<ZCHXRadar.RadarHistoryTrack> result = new ArrayList<ZCHXRadar.RadarHistoryTrack>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((ZCHXRadar.RadarHistoryTrack)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static ZCHXRadar.RadarHistoryTrack get(final int trackNum) { |
|||
final Cache cache = CacheUtil.getECache("radarFalseAlarmEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(trackNum); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (ZCHXRadar.RadarHistoryTrack)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("radarFalseAlarmEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
|
|||
public static void remove(final int trackNum) { |
|||
final Cache cache = CacheUtil.getECache("radarFalseAlarmEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(trackNum); |
|||
} |
|||
} |
@ -0,0 +1,78 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.sys.model.SmuggleVo; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class SmuggleEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "smuggleCache"; |
|||
|
|||
public static void put(final SmuggleVo vo) { |
|||
final Cache cache = CacheUtil.getECache("smuggleCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(vo.getId(), vo)); |
|||
} |
|||
|
|||
public static List<SmuggleVo> getAll() { |
|||
final Cache cache = CacheUtil.getECache("smuggleCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<SmuggleVo> result = new ArrayList<SmuggleVo>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((SmuggleVo)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static SmuggleVo get(final int id) { |
|||
final Cache cache = CacheUtil.getECache("smuggleCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(id); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (SmuggleVo)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("smuggleCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
|
|||
public static void remove(final int id) { |
|||
final Cache cache = CacheUtil.getECache("smuggleCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(id); |
|||
} |
|||
|
|||
public static void saveSmuggleVoCache(final List<SmuggleVo> list) { |
|||
clear(); |
|||
for (final SmuggleVo vo : list) { |
|||
put(vo); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,78 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.sys.model.SurLineInfo; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class SurLineDataEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "surLineDataCache"; |
|||
|
|||
public static void put(final SurLineInfo vo) { |
|||
final Cache cache = CacheUtil.getECache("surLineDataCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(vo.getId(), vo)); |
|||
} |
|||
|
|||
public static List<SurLineInfo> getAll() { |
|||
final Cache cache = CacheUtil.getECache("surLineDataCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<SurLineInfo> result = new ArrayList<SurLineInfo>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((SurLineInfo)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static SurLineInfo get(final int id) { |
|||
final Cache cache = CacheUtil.getECache("surLineDataCache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(id); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (SurLineInfo)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("surLineDataCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
|
|||
public static void remove(final int id) { |
|||
final Cache cache = CacheUtil.getECache("surLineDataCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(id); |
|||
} |
|||
|
|||
public static void saveSurLineDataCache(final List<SurLineInfo> list) { |
|||
clear(); |
|||
for (final SurLineInfo vo : list) { |
|||
put(vo); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,71 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.sys.model.WarnInfoBean; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class TrackAlarmEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "trackAlarmEhcache"; |
|||
|
|||
public static void put(final WarnInfoBean warnInfoBean) { |
|||
final Cache cache = CacheUtil.getECache("trackAlarmEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(String.valueOf(warnInfoBean.getWarnSiteType()) + warnInfoBean.getObject_id(), warnInfoBean)); |
|||
} |
|||
|
|||
public static void remove(final String ObjectID) { |
|||
final Cache cache = CacheUtil.getECache("trackAlarmEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(ObjectID); |
|||
} |
|||
|
|||
public static List<WarnInfoBean> getAll() { |
|||
final Cache cache = CacheUtil.getECache("trackAlarmEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<WarnInfoBean> result = new ArrayList<WarnInfoBean>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((WarnInfoBean)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static WarnInfoBean get(final String ObjectID) { |
|||
final Cache cache = CacheUtil.getECache("trackAlarmEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(ObjectID); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (WarnInfoBean)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("trackAlarmEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
} |
@ -0,0 +1,71 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.sys.model.TrackCameraVo; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class TrackCameraEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "trackCameraEhcache"; |
|||
|
|||
public static void put(final TrackCameraVo trackCameraVo) { |
|||
final Cache cache = CacheUtil.getECache("trackCameraEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(trackCameraVo.getTargetId(), trackCameraVo)); |
|||
} |
|||
|
|||
public static void remove(final String ObjectID) { |
|||
final Cache cache = CacheUtil.getECache("trackCameraEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(ObjectID); |
|||
} |
|||
|
|||
public static List<TrackCameraVo> getAll() { |
|||
final Cache cache = CacheUtil.getECache("trackCameraEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<TrackCameraVo> result = new ArrayList<TrackCameraVo>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((TrackCameraVo)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static TrackCameraVo get(final String ObjectID) { |
|||
final Cache cache = CacheUtil.getECache("trackCameraEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(ObjectID); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (TrackCameraVo)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("trackCameraEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
} |
@ -0,0 +1,71 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import com.zhichenhaixin.proto.ZCHXRadar; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class TrackPointEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "trackPointEhcache"; |
|||
|
|||
public static void put(final ZCHXRadar.TrackPoint point) { |
|||
final Cache cache = CacheUtil.getECache("trackPointEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element(point.getTrackNumber(), point)); |
|||
} |
|||
|
|||
public static List<ZCHXRadar.TrackPoint> getAll() { |
|||
final Cache cache = CacheUtil.getECache("trackPointEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final List<Integer> keys = (List<Integer>)cache.getKeys(); |
|||
final int size = keys.size(); |
|||
final List<ZCHXRadar.TrackPoint> result = new ArrayList<ZCHXRadar.TrackPoint>(size); |
|||
for (int i = 0; i < size; ++i) { |
|||
final Element element = cache.get(keys.get(i)); |
|||
if (element != null) { |
|||
result.add((ZCHXRadar.TrackPoint)element.getValue()); |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public static ZCHXRadar.TrackPoint get(final int trackNum) { |
|||
final Cache cache = CacheUtil.getECache("trackPointEhcache"); |
|||
if (cache == null) { |
|||
return null; |
|||
} |
|||
final Element element = cache.get(trackNum); |
|||
if (element == null) { |
|||
return null; |
|||
} |
|||
return (ZCHXRadar.TrackPoint)element.getValue(); |
|||
} |
|||
|
|||
public static void clear() { |
|||
final Cache cache = CacheUtil.getECache("trackPointEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.removeAll(); |
|||
} |
|||
|
|||
public static void remove(final int trackNum) { |
|||
final Cache cache = CacheUtil.getECache("trackPointEhcache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove(trackNum); |
|||
} |
|||
} |
@ -0,0 +1,42 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.cache.util; |
|||
|
|||
import com.zhichenhaixin.base.util.CacheUtil; |
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
|
|||
public class WarnAlarmCountEhcache |
|||
{ |
|||
public static final String CACHE_NAME = "warnAlarmCountCache"; |
|||
|
|||
public static void put(final int count) { |
|||
final Cache cache = CacheUtil.getECache("warnAlarmCountCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.put(new Element("warn_alarm_count", count)); |
|||
} |
|||
|
|||
public static int get() { |
|||
final Cache cache = CacheUtil.getECache("warnAlarmCountCache"); |
|||
if (cache == null) { |
|||
return 0; |
|||
} |
|||
final Element element = cache.get("warn_alarm_count"); |
|||
if (element == null) { |
|||
return 0; |
|||
} |
|||
return (int)element.getValue(); |
|||
} |
|||
|
|||
public static void remove() { |
|||
final Cache cache = CacheUtil.getECache("warnAlarmCountCache"); |
|||
if (cache == null) { |
|||
return; |
|||
} |
|||
cache.remove("warn_alarm_count"); |
|||
} |
|||
} |
@ -0,0 +1,99 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.control.model; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
public class ReqPacket |
|||
{ |
|||
private static Log log; |
|||
private byte[] byte_content; |
|||
private String mark_hex; |
|||
|
|||
static { |
|||
ReqPacket.log = LogFactory.getLog(ReqPacket.class); |
|||
} |
|||
|
|||
public ReqPacket() { |
|||
this.mark_hex = "aaaaaaaa"; |
|||
} |
|||
|
|||
public void setMark_hex(final String mark_hex) { |
|||
this.mark_hex = mark_hex; |
|||
} |
|||
|
|||
public void setByte_content(final byte[] byte_content) { |
|||
this.byte_content = byte_content; |
|||
} |
|||
|
|||
public String switchStr(String hex) { |
|||
switch (hex.length()) { |
|||
case 1: { |
|||
hex = "0000000" + hex; |
|||
break; |
|||
} |
|||
case 2: { |
|||
hex = "000000" + hex; |
|||
break; |
|||
} |
|||
case 3: { |
|||
hex = "00000" + hex; |
|||
break; |
|||
} |
|||
case 4: { |
|||
hex = "0000" + hex; |
|||
break; |
|||
} |
|||
case 5: { |
|||
hex = "000" + hex; |
|||
break; |
|||
} |
|||
case 6: { |
|||
hex = "00" + hex; |
|||
break; |
|||
} |
|||
case 7: { |
|||
hex = "0" + hex; |
|||
break; |
|||
} |
|||
} |
|||
return hex; |
|||
} |
|||
|
|||
public byte[] getByteStream() { |
|||
final int len = this.byte_content.length; |
|||
byte[] soc = new byte[8 + len]; |
|||
try { |
|||
int index = 0; |
|||
int num = 0; |
|||
for (int i = 0; i < 4; ++i) { |
|||
final String mark_hex = this.mark_hex; |
|||
final int beginIndex = num; |
|||
num += 2; |
|||
final String str = mark_hex.substring(beginIndex, num); |
|||
soc[index++] = (byte)Integer.parseInt(str, 16); |
|||
} |
|||
String hex = Integer.toHexString(len); |
|||
hex = this.switchStr(hex); |
|||
num = 0; |
|||
for (int j = 0; j < 4; ++j) { |
|||
final String s = hex; |
|||
final int beginIndex2 = num; |
|||
num += 2; |
|||
final String str2 = s.substring(beginIndex2, num); |
|||
soc[index++] = (byte)Integer.parseInt(str2, 16); |
|||
} |
|||
for (int j = 0; j < len; ++j) { |
|||
soc[index++] = this.byte_content[j]; |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
soc = new byte[] { 0 }; |
|||
ReqPacket.log.error("\u7ed9\u63a7\u5236\u5668\u53d1\u9001\u6570\u636e\u7684\u6570\u636e\u5305\u5f02\u5e38\uff01" + e.getMessage()); |
|||
} |
|||
return soc; |
|||
} |
|||
} |
@ -0,0 +1,100 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.control.model; |
|||
|
|||
import org.apache.commons.lang.StringUtils; |
|||
|
|||
public class ResPacket implements Cloneable |
|||
{ |
|||
private static ResPacket BaseCredit; |
|||
private byte[] all_pack_bytes; |
|||
|
|||
static { |
|||
ResPacket.BaseCredit = new ResPacket(); |
|||
} |
|||
|
|||
public static ResPacket getClone() { |
|||
try { |
|||
return (ResPacket)ResPacket.BaseCredit.clone(); |
|||
} |
|||
catch (CloneNotSupportedException e) { |
|||
return new ResPacket(); |
|||
} |
|||
} |
|||
|
|||
public void setAll_pack_bytes(final byte[] all_pack_bytes) { |
|||
this.all_pack_bytes = all_pack_bytes; |
|||
} |
|||
|
|||
public static int byte2Int(final byte[] bytes, final int index) { |
|||
return bytes[index]; |
|||
} |
|||
|
|||
public static String byteToHex(final byte[] bytes, final int i) { |
|||
String hexString = Integer.toHexString(byte2Int(bytes, i)); |
|||
if (hexString.length() == 1) { |
|||
hexString = "0" + hexString; |
|||
} |
|||
if (hexString.length() > 2) { |
|||
hexString = StringUtils.right(hexString, 2); |
|||
} |
|||
return hexString; |
|||
} |
|||
|
|||
public static String readBy2Byte(final byte[] bytes, final int start, final int length) { |
|||
if (bytes.length - start < length) { |
|||
return null; |
|||
} |
|||
byte[] bytes2 = null; |
|||
try { |
|||
bytes2 = new byte[length]; |
|||
final int end = start + length; |
|||
int num = 0; |
|||
for (int i = start; i < end; ++i) { |
|||
bytes2[num] = bytes[i]; |
|||
++num; |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
return (bytes2 == null) ? "" : new String(bytes2); |
|||
} |
|||
|
|||
public static byte[] readContentByte(final byte[] bytes, final int start, final int length) { |
|||
final byte[] bytes2 = new byte[length]; |
|||
try { |
|||
System.arraycopy(bytes, start, bytes2, 0, length); |
|||
} |
|||
catch (Exception e) { |
|||
System.out.println("\u6570\u636e\u5305\u5185\u5bb9\u4e0d\u591f"); |
|||
} |
|||
return bytes2; |
|||
} |
|||
|
|||
public String getMark() { |
|||
String mark = ""; |
|||
for (int i = 0; i < 4; ++i) { |
|||
mark = String.valueOf(mark) + byteToHex(this.all_pack_bytes, i); |
|||
} |
|||
return mark; |
|||
} |
|||
|
|||
public int getContentLen() { |
|||
String len = ""; |
|||
for (int i = 4; i < 8; ++i) { |
|||
len = String.valueOf(len) + byteToHex(this.all_pack_bytes, i); |
|||
} |
|||
return Integer.parseInt(len, 16); |
|||
} |
|||
|
|||
public String getContent() { |
|||
return readBy2Byte(this.all_pack_bytes, 8, this.getContentLen()); |
|||
} |
|||
|
|||
public byte[] getContentBytes() { |
|||
return readContentByte(this.all_pack_bytes, 8, this.getContentLen()); |
|||
} |
|||
} |
@ -0,0 +1,192 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.control.model; |
|||
|
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.google.protobuf.InvalidProtocolBufferException; |
|||
import com.mongodb.BasicDBObject; |
|||
import com.mongodb.DBObject; |
|||
import com.zhichenhaixin.base.constant.GlobalVariable; |
|||
import com.zhichenhaixin.fusedata.MongoUtil; |
|||
import com.zhichenhaixin.proto.ZCHXVideoWarn; |
|||
import com.zhichenhaixin.sys.model.WarnInfoBean; |
|||
import org.apache.log4j.Logger; |
|||
|
|||
import java.sql.Timestamp; |
|||
import java.util.ArrayList; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public class VideoWarnInfoHandle |
|||
{ |
|||
private static Logger log; |
|||
|
|||
static { |
|||
VideoWarnInfoHandle.log = Logger.getLogger(VideoWarnInfoHandle.class); |
|||
} |
|||
|
|||
public static void saveVideoWarnTargetInfo(final ZCHXVideoWarn.VideoWarnTargetInfo.Builder info) { |
|||
final DBObject dbTrack = MongoUtil.getInstance().selectByPrimaryKey("VideoWarnTarget_Track", info.getTargetId()); |
|||
ZCHXVideoWarn.RectInfos.Builder infos = null; |
|||
if (dbTrack != null) { |
|||
final byte[] trackData = (byte[])dbTrack.get("datas"); |
|||
try { |
|||
infos = ZCHXVideoWarn.RectInfos.parseFrom(trackData).toBuilder(); |
|||
info.setRects(infos); |
|||
} |
|||
catch (InvalidProtocolBufferException e) { |
|||
VideoWarnInfoHandle.log.info(e.getMessage()); |
|||
} |
|||
} |
|||
saveTargetToMongoDB("VideoWarnTarget_Track", info, infos); |
|||
} |
|||
|
|||
public static ZCHXVideoWarn.VideoWarnTargetInfo.Builder getVideoWarnTargetInfo(final String object_id) { |
|||
final DBObject dbTrack = MongoUtil.getInstance().selectByPrimaryKey("VideoWarnTarget_Track", object_id); |
|||
ZCHXVideoWarn.VideoWarnTargetInfo.Builder infoss = null; |
|||
ZCHXVideoWarn.RectInfos.Builder infos = null; |
|||
if (dbTrack != null) { |
|||
final byte[] trackDatas = (byte[])dbTrack.get("datas"); |
|||
final byte[] trackData = (byte[])dbTrack.get("data"); |
|||
try { |
|||
infos = ZCHXVideoWarn.RectInfos.parseFrom(trackDatas).toBuilder(); |
|||
infoss = ZCHXVideoWarn.VideoWarnTargetInfo.parseFrom(trackData).toBuilder(); |
|||
infoss.setRects(infos); |
|||
} |
|||
catch (InvalidProtocolBufferException e) { |
|||
VideoWarnInfoHandle.log.info(e.getMessage()); |
|||
} |
|||
} |
|||
return infoss; |
|||
} |
|||
|
|||
public static void deleteVideoWarnTargetInfo(final String object_id) { |
|||
MongoUtil.getInstance().deleteByPrimaryKey("VideoWarnTarget_Track", object_id); |
|||
} |
|||
|
|||
public static void saveVideoWarnInfo(final ZCHXVideoWarn.VideoWarnInfo.Builder info) { |
|||
final BasicDBObject document = new BasicDBObject(); |
|||
document.put("_id", info.getTargetId()); |
|||
document.put("data", info.build().toByteArray()); |
|||
document.put("time", System.currentTimeMillis()); |
|||
MongoUtil.getInstance().saveVideoWarnInfo(document); |
|||
} |
|||
|
|||
public static void saveVideoWarnInfos(final ZCHXVideoWarn.VideoWarnInfo.Builder info) { |
|||
final BasicDBObject document = new BasicDBObject(); |
|||
document.put("_id", info.getTransactionId()); |
|||
document.put("data", info.build().toByteArray()); |
|||
document.put("time", System.currentTimeMillis()); |
|||
MongoUtil.getInstance().saveVideoWarnInfos(document); |
|||
} |
|||
|
|||
public static ZCHXVideoWarn.VideoWarnInfo.Builder getVideoWarnInfo(final String object_id) { |
|||
final DBObject dbTrack = MongoUtil.getInstance().selectByPrimaryKey("VideoWarn_Track", object_id); |
|||
ZCHXVideoWarn.VideoWarnInfo.Builder infos = null; |
|||
if (dbTrack != null) { |
|||
final byte[] trackData = (byte[])dbTrack.get("data"); |
|||
try { |
|||
infos = ZCHXVideoWarn.VideoWarnInfo.parseFrom(trackData).toBuilder(); |
|||
} |
|||
catch (InvalidProtocolBufferException e) { |
|||
VideoWarnInfoHandle.log.info(e.getMessage()); |
|||
} |
|||
} |
|||
return infos; |
|||
} |
|||
|
|||
public static ZCHXVideoWarn.VideoWarnInfo.Builder getVideoWarnInfos(final String session_id) { |
|||
final DBObject dbTrack = MongoUtil.getInstance().selectByPrimaryKey("VideoWarns_Track", session_id); |
|||
ZCHXVideoWarn.VideoWarnInfo.Builder infos = null; |
|||
if (dbTrack != null) { |
|||
final byte[] trackData = (byte[])dbTrack.get("data"); |
|||
try { |
|||
infos = ZCHXVideoWarn.VideoWarnInfo.parseFrom(trackData).toBuilder(); |
|||
} |
|||
catch (InvalidProtocolBufferException e) { |
|||
VideoWarnInfoHandle.log.info(e.getMessage()); |
|||
} |
|||
} |
|||
return infos; |
|||
} |
|||
|
|||
public static void deleteVideoWarnInfo(final String object_id) { |
|||
MongoUtil.getInstance().deleteByPrimaryKey("VideoWarn_Track", object_id); |
|||
} |
|||
|
|||
public static void deleteVideoWarnInfos(final String session_id) { |
|||
MongoUtil.getInstance().deleteByPrimaryKey("VideoWarns_Track", session_id); |
|||
} |
|||
|
|||
public static void saveTargetToMongoDB(final String name, final ZCHXVideoWarn.VideoWarnTargetInfo.Builder info, ZCHXVideoWarn.RectInfos.Builder infos) { |
|||
final ZCHXVideoWarn.RectInfo.Builder builder = ZCHXVideoWarn.RectInfo.newBuilder(); |
|||
builder.setTime(info.getAlarmTime()); |
|||
builder.setLat(info.getAlarmLat()); |
|||
builder.setLon(info.getAlarmLon()); |
|||
builder.setX((float)info.getTargetX()); |
|||
builder.setY((float)info.getTargetY()); |
|||
builder.setW((float)info.getTargetWidth()); |
|||
builder.setH((float)info.getTargetHeight()); |
|||
if (infos == null) { |
|||
infos = ZCHXVideoWarn.RectInfos.newBuilder(); |
|||
} |
|||
infos.addRect(builder); |
|||
info.setAlarmLevel(1); |
|||
final BasicDBObject document = new BasicDBObject(); |
|||
document.put("_id", info.getTargetId()); |
|||
document.put("data", info.build().toByteArray()); |
|||
document.put("datas", infos.build().toByteArray()); |
|||
document.put("time", System.currentTimeMillis()); |
|||
MongoUtil.getInstance().saveVideoWarnTargetInfo(document); |
|||
} |
|||
|
|||
public static WarnInfoBean covertWarnInfoBean(final ZCHXVideoWarn.VideoWarnInfo info) { |
|||
final WarnInfoBean aInfo = new WarnInfoBean(); |
|||
aInfo.setId(info.getAlarmId()); |
|||
aInfo.setAlarm_type(String.valueOf(info.getAlarmType())); |
|||
aInfo.setAlarm_level(String.valueOf(info.getAlarmLevel())); |
|||
aInfo.setAlarm_source("1"); |
|||
aInfo.setBegintime(Integer.valueOf(String.valueOf(info.getAlarmTime()).substring(0, 10))); |
|||
aInfo.setEndtime(Integer.valueOf(String.valueOf(System.currentTimeMillis()).substring(0, 10))); |
|||
aInfo.setY(info.getAlarmLat()); |
|||
aInfo.setX(info.getAlarmLon()); |
|||
aInfo.setAlarm_site(info.getAlarmPlace()); |
|||
aInfo.setAlarm_status("3"); |
|||
aInfo.setCamera_id(String.valueOf(info.getCameraId())); |
|||
aInfo.setObject_id(info.getTargetId()); |
|||
aInfo.setObject_type(String.valueOf(GlobalVariable.getRongkeType(info.getTargetType()))); |
|||
aInfo.setCreate_time(new Timestamp(System.currentTimeMillis())); |
|||
aInfo.setAlarm_site_no(String.valueOf(info.getCameraId())); |
|||
aInfo.setParam(null); |
|||
return aInfo; |
|||
} |
|||
|
|||
public static WarnInfoBean covertWarnInfoBean(final ZCHXVideoWarn.VideoWarnTargetInfo info) { |
|||
final WarnInfoBean aInfo = new WarnInfoBean(); |
|||
aInfo.setEndtime(Integer.valueOf(String.valueOf(info.getAlarmTime()).substring(0, 10))); |
|||
final ZCHXVideoWarn.RectInfos rect = info.getRects(); |
|||
aInfo.setParam(listToParam(rect.getRectList())); |
|||
return aInfo; |
|||
} |
|||
|
|||
private static String listToParam(final List<ZCHXVideoWarn.RectInfo> list) { |
|||
final List<Map<String, Object>> themap = new ArrayList<Map<String, Object>>(); |
|||
for (final ZCHXVideoWarn.RectInfo info : list) { |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
map.put("Time", info.getTime()); |
|||
map.put("Lat", info.getLat()); |
|||
map.put("Lon", info.getLon()); |
|||
map.put("X", info.getX()); |
|||
map.put("Y", info.getY()); |
|||
map.put("W", info.getW()); |
|||
map.put("H", info.getH()); |
|||
themap.add(map); |
|||
} |
|||
final JSONObject jsonObject = new JSONObject(); |
|||
jsonObject.put("RectList", themap); |
|||
return jsonObject.toJSONString(); |
|||
} |
|||
} |
@ -0,0 +1,24 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.factory; |
|||
|
|||
import net.sf.ehcache.Ehcache; |
|||
import net.sf.ehcache.constructs.CacheDecoratorFactory; |
|||
import net.sf.ehcache.constructs.blocking.BlockingCache; |
|||
|
|||
import java.util.Properties; |
|||
|
|||
public class DefaultCacheDecoratorFactory |
|||
extends CacheDecoratorFactory { |
|||
@Override |
|||
public Ehcache createDecoratedEhcache(Ehcache cache, Properties properties) { |
|||
return new BlockingCache(cache); |
|||
} |
|||
|
|||
@Override |
|||
public Ehcache createDefaultDecoratedEhcache(Ehcache cache, Properties properties) { |
|||
return new BlockingCache(cache); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,202 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import com.google.protobuf.InvalidProtocolBufferException; |
|||
import com.zhichenhaixin.base.util.DistanceUtil; |
|||
import com.zhichenhaixin.base.util.SpringPropertyUtil; |
|||
import com.zhichenhaixin.cache.util.AgilTrackEhcache; |
|||
import com.zhichenhaixin.cache.util.TrackPointEhcache; |
|||
import com.zhichenhaixin.proto.ZCHXRadar; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.text.SimpleDateFormat; |
|||
import java.util.*; |
|||
|
|||
public class CopyOfFuseRadarThread extends Thread |
|||
{ |
|||
private static Log log; |
|||
private static float belongLimit; |
|||
private static double distance; |
|||
private static double sog; |
|||
private static double cog; |
|||
private static float varaince_dis; |
|||
private static float varaince_cog; |
|||
private static float varaince_sog; |
|||
private static final long FUSE_TIME_SPAN; |
|||
private static int timeSpan; |
|||
private static float t1; |
|||
private static float t2; |
|||
private static float t3; |
|||
private static Map<String, Float> varianceMap; |
|||
private static float[] elemWight; |
|||
private static SimpleDateFormat fmt; |
|||
private static String RADAR_TABLE; |
|||
private static final String DISTANCE = "distance"; |
|||
private static final String COG = "cog"; |
|||
private static final String SOG = "sog"; |
|||
|
|||
static { |
|||
CopyOfFuseRadarThread.log = LogFactory.getLog(CopyOfFuseRadarThread.class); |
|||
CopyOfFuseRadarThread.belongLimit = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.belongLimit")); |
|||
CopyOfFuseRadarThread.distance = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.radar.distance")); |
|||
CopyOfFuseRadarThread.sog = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.radar.sog")); |
|||
CopyOfFuseRadarThread.cog = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.radar.cog")); |
|||
CopyOfFuseRadarThread.varaince_dis = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.varaince_dis")); |
|||
CopyOfFuseRadarThread.varaince_cog = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.varaince_cog")); |
|||
CopyOfFuseRadarThread.varaince_sog = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.varaince_sog")); |
|||
FUSE_TIME_SPAN = Long.parseLong(SpringPropertyUtil.getProperty("fuse.radar.time.span")); |
|||
CopyOfFuseRadarThread.timeSpan = Integer.parseInt(SpringPropertyUtil.getProperty("fuse.radar.time")); |
|||
CopyOfFuseRadarThread.t1 = 0.001f; |
|||
CopyOfFuseRadarThread.t2 = 0.1f; |
|||
CopyOfFuseRadarThread.t3 = 0.1f; |
|||
CopyOfFuseRadarThread.varianceMap = setVarianceMap(); |
|||
CopyOfFuseRadarThread.elemWight = setElemWight(); |
|||
CopyOfFuseRadarThread.fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); |
|||
CopyOfFuseRadarThread.RADAR_TABLE = "radar"; |
|||
} |
|||
|
|||
@Override |
|||
public synchronized void start() { |
|||
super.start(); |
|||
} |
|||
|
|||
@Override |
|||
public void run() { |
|||
while (!Thread.currentThread().isInterrupted()) { |
|||
try { |
|||
this.handleFuseRadar(); |
|||
Thread.sleep(1000L); |
|||
} |
|||
catch (Exception e) { |
|||
CopyOfFuseRadarThread.log.error("\u5904\u7406\u591a\u96f7\u8fbe\u878d\u5408\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public void handleFuseRadar() throws InvalidProtocolBufferException { |
|||
final long newTime = MongoUtil.getInstance().getMaxUtc(CopyOfFuseRadarThread.RADAR_TABLE); |
|||
final String endTime = CopyOfFuseRadarThread.fmt.format(new Date(newTime)); |
|||
final String startTime = CopyOfFuseRadarThread.fmt.format(new Date(newTime - CopyOfFuseRadarThread.timeSpan)); |
|||
final List<EntityVo> radarList = MongoUtil.getInstance().getDataByTime(CopyOfFuseRadarThread.RADAR_TABLE, startTime, endTime); |
|||
for (final EntityVo vo : radarList) { |
|||
for (final EntityVo vo2 : radarList) { |
|||
final String radarType1 = vo.getNumber().substring(0, 1); |
|||
final String radarType2 = vo2.getNumber().substring(0, 1); |
|||
final ZCHXRadar.TrackPoint tpoint = TrackPointEhcache.get(Integer.valueOf(vo.getNumber())); |
|||
final ZCHXRadar.TrackPoint tpoint2 = TrackPointEhcache.get(Integer.valueOf(vo2.getNumber())); |
|||
if (!radarType1.equals(radarType2) && tpoint != null && tpoint2 != null) { |
|||
final double shipDistance = DistanceUtil.getDistance(vo.getLat(), vo.getLon(), vo2.getLat(), vo2.getLon()); |
|||
final double gapCog = Math.abs(vo.getCog() - vo2.getCog()); |
|||
final double gapSog = Math.abs(vo.getSog() - vo2.getSog()); |
|||
if (shipDistance >= CopyOfFuseRadarThread.distance || gapSog >= CopyOfFuseRadarThread.sog || gapCog >= CopyOfFuseRadarThread.cog) { |
|||
continue; |
|||
} |
|||
final float belong = calculateFuseDgr(vo.getNumber(), vo2.getNumber()); |
|||
if (CopyOfFuseRadarThread.belongLimit >= belong) { |
|||
continue; |
|||
} |
|||
TrackPointEhcache.remove(Integer.valueOf(vo2.getNumber())); |
|||
AgilTrackEhcache.remove(Integer.valueOf(vo2.getNumber())); |
|||
CopyOfFuseRadarThread.log.info(String.valueOf(vo.getNumber()) + "\u548c" + vo2.getNumber() + "\u662f\u540c\u4e00\u4e2a\u76ee\u6807\uff0c\u4fdd\u7559" + vo.getNumber()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public static Map<String, Float> setVarianceMap() { |
|||
final Map<String, Float> varianceMap = new HashMap<String, Float>(); |
|||
varianceMap.put("distance", CopyOfFuseRadarThread.varaince_dis); |
|||
varianceMap.put("cog", CopyOfFuseRadarThread.varaince_cog); |
|||
varianceMap.put("sog", CopyOfFuseRadarThread.varaince_sog); |
|||
return varianceMap; |
|||
} |
|||
|
|||
public static float[] setElemWight() { |
|||
final float[] elemWight = { 0.45f, 0.25f, 0.3f }; |
|||
return elemWight; |
|||
} |
|||
|
|||
public static float cutSingleBln(final EntityVo radarCalcul1, final EntityVo radarCalcul2, final Map<String, Float> varianceMap) { |
|||
final float dataDistance = (float)DistanceUtil.getDistance(radarCalcul1.getLat(), radarCalcul1.getLon(), radarCalcul2.getLat(), radarCalcul2.getLon()); |
|||
final float dataCog = (float)Math.abs(radarCalcul1.getCog() - radarCalcul2.getCog()); |
|||
final float dataSog = (float)Math.abs(radarCalcul1.getSog() - radarCalcul2.getSog()); |
|||
final float distanceBln = (float)Math.exp(-CopyOfFuseRadarThread.t1 * (Math.pow(dataDistance, 2.0) / varianceMap.get("distance"))); |
|||
final float cogBln = (float)Math.exp(-CopyOfFuseRadarThread.t2 * (Math.pow(dataCog, 2.0) / varianceMap.get("cog"))); |
|||
final float sogBln = (float)Math.exp(-CopyOfFuseRadarThread.t3 * (Math.pow(dataSog, 2.0) / varianceMap.get("sog"))); |
|||
final float belong = CopyOfFuseRadarThread.elemWight[0] * distanceBln + CopyOfFuseRadarThread.elemWight[1] * cogBln + CopyOfFuseRadarThread.elemWight[2] * sogBln; |
|||
return belong; |
|||
} |
|||
|
|||
public static float calculateFuseDgr(final String radarCalculId1, final String radarCalculId2) throws InvalidProtocolBufferException { |
|||
float avgBelong = 0.0f; |
|||
final LocusVo radarLocus1 = MongoUtil.getInstance().query_radarLocus_ById(radarCalculId1); |
|||
final LocusVo radarLocus2 = MongoUtil.getInstance().query_radarLocus_ById(radarCalculId2); |
|||
final byte[] radarLocusData1 = radarLocus1.getData(); |
|||
final byte[] radarLocusData2 = radarLocus2.getData(); |
|||
if (radarLocusData1 != null && radarLocusData2 != null) { |
|||
final ZCHXRadar.RadarHistoryTracks radarLocusList1 = ZCHXRadar.RadarHistoryTracks.parseFrom(radarLocusData1); |
|||
final ZCHXRadar.RadarHistoryTracks radarLocusList2 = ZCHXRadar.RadarHistoryTracks.parseFrom(radarLocusData2); |
|||
final Map<String, List<EntityVo>> syncMap = syncRadarData(radarLocusList1, radarLocusList2); |
|||
final List<EntityVo> radarList1 = syncMap.get("1"); |
|||
final List<EntityVo> radarList2 = syncMap.get("2"); |
|||
if (radarList1.size() > 3) { |
|||
float belongSum = 0.0f; |
|||
final int radarSize1 = radarList1.size(); |
|||
final int radarSize2 = radarList1.size(); |
|||
final int listSize = (radarSize1 < radarSize2) ? radarSize1 : radarSize2; |
|||
for (int i = 0; i < listSize; ++i) { |
|||
final float belong = cutSingleBln(radarList1.get(i), radarList2.get(i), CopyOfFuseRadarThread.varianceMap); |
|||
belongSum += belong; |
|||
} |
|||
avgBelong = belongSum / listSize; |
|||
} |
|||
} |
|||
return avgBelong; |
|||
} |
|||
|
|||
public static Map<String, List<EntityVo>> syncRadarData(final ZCHXRadar.RadarHistoryTracks radarLocusList1, final ZCHXRadar.RadarHistoryTracks radarLocusList2) { |
|||
final Map<String, List<EntityVo>> resultMap = new HashMap<String, List<EntityVo>>(); |
|||
final List<ZCHXRadar.RadarHistoryTrack> radarTrackList1 = radarLocusList1.getTracksList(); |
|||
final List<ZCHXRadar.RadarHistoryTrack> radarTrackList2 = radarLocusList2.getTracksList(); |
|||
final List<EntityVo> radarList1 = new ArrayList<EntityVo>(); |
|||
final List<EntityVo> radarList2 = new ArrayList<EntityVo>(); |
|||
final long endTime = System.currentTimeMillis() - CopyOfFuseRadarThread.FUSE_TIME_SPAN; |
|||
int size = radarTrackList1.size(); |
|||
for (int i = size - 1; i >= 0; --i) { |
|||
final ZCHXRadar.RadarHistoryTrack radarTrack = radarTrackList1.get(i); |
|||
if (radarTrack.getUTC() < endTime) { |
|||
break; |
|||
} |
|||
final EntityVo radarVo = new EntityVo(); |
|||
radarVo.setNumber(String.valueOf(radarTrack.getTrackNumber())); |
|||
radarVo.setLon(radarTrack.getWgs84PosLong()); |
|||
radarVo.setLat(radarTrack.getWgs84PosLat()); |
|||
radarVo.setUtc(radarTrack.getUTC()); |
|||
radarVo.setSog(radarTrack.getSog()); |
|||
radarVo.setCog(radarTrack.getCog()); |
|||
radarList1.add(radarVo); |
|||
} |
|||
resultMap.put("1", radarList1); |
|||
size = radarTrackList2.size(); |
|||
for (int i = size - 1; i >= 0; --i) { |
|||
final ZCHXRadar.RadarHistoryTrack radarTrack = radarTrackList2.get(i); |
|||
if (radarTrack.getUTC() < endTime) { |
|||
break; |
|||
} |
|||
final EntityVo radarVo = new EntityVo(); |
|||
radarVo.setNumber(String.valueOf(radarTrack.getTrackNumber())); |
|||
radarVo.setLon(radarTrack.getWgs84PosLong()); |
|||
radarVo.setLat(radarTrack.getWgs84PosLat()); |
|||
radarVo.setUtc(radarTrack.getUTC()); |
|||
radarVo.setSog(radarTrack.getSog()); |
|||
radarVo.setCog(radarTrack.getCog()); |
|||
radarList2.add(radarVo); |
|||
} |
|||
resultMap.put("2", radarList2); |
|||
return resultMap; |
|||
} |
|||
} |
@ -0,0 +1,107 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import com.mongodb.ReflectionDBObject; |
|||
|
|||
public class EntityVo extends ReflectionDBObject implements Cloneable |
|||
{ |
|||
private String _id; |
|||
private String number; |
|||
private Double lon; |
|||
private Double lat; |
|||
private String time; |
|||
private long utc; |
|||
private long space_time; |
|||
private Double sog; |
|||
private Double cog; |
|||
private static EntityVo BaseCredit; |
|||
|
|||
static { |
|||
EntityVo.BaseCredit = new EntityVo(); |
|||
} |
|||
|
|||
public static EntityVo getClone() { |
|||
try { |
|||
return (EntityVo)EntityVo.BaseCredit.clone(); |
|||
} |
|||
catch (CloneNotSupportedException e) { |
|||
return new EntityVo(); |
|||
} |
|||
} |
|||
|
|||
public Double getLon() { |
|||
return this.lon; |
|||
} |
|||
|
|||
public void setLon(final Double lon) { |
|||
this.lon = lon; |
|||
} |
|||
|
|||
public Double getLat() { |
|||
return this.lat; |
|||
} |
|||
|
|||
public void setLat(final Double lat) { |
|||
this.lat = lat; |
|||
} |
|||
|
|||
public String getTime() { |
|||
return this.time; |
|||
} |
|||
|
|||
public void setTime(final String time) { |
|||
this.time = time; |
|||
} |
|||
|
|||
public long getUtc() { |
|||
return this.utc; |
|||
} |
|||
|
|||
public void setUtc(final long utc) { |
|||
this.utc = utc; |
|||
} |
|||
|
|||
public long getSpace_time() { |
|||
return this.space_time; |
|||
} |
|||
|
|||
public void setSpace_time(final long space_time) { |
|||
this.space_time = space_time; |
|||
} |
|||
|
|||
@Override |
|||
public String get_id() { |
|||
return this._id; |
|||
} |
|||
|
|||
public void set_id(final String _id) { |
|||
this._id = _id; |
|||
} |
|||
|
|||
public Double getSog() { |
|||
return this.sog; |
|||
} |
|||
|
|||
public void setSog(final Double sog) { |
|||
this.sog = sog; |
|||
} |
|||
|
|||
public Double getCog() { |
|||
return this.cog; |
|||
} |
|||
|
|||
public void setCog(final Double cog) { |
|||
this.cog = cog; |
|||
} |
|||
|
|||
public String getNumber() { |
|||
return this.number; |
|||
} |
|||
|
|||
public void setNumber(final String number) { |
|||
this.number = number; |
|||
} |
|||
} |
@ -0,0 +1,66 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.util.List; |
|||
|
|||
public class FuseDataThread extends Thread |
|||
{ |
|||
private static Log log; |
|||
private String address; |
|||
private Integer port; |
|||
|
|||
static { |
|||
FuseDataThread.log = LogFactory.getLog(FuseDataThread.class); |
|||
} |
|||
|
|||
public String getAddress() { |
|||
return this.address; |
|||
} |
|||
|
|||
public void setAddress(final String address) { |
|||
this.address = address; |
|||
} |
|||
|
|||
public Integer getPort() { |
|||
return this.port; |
|||
} |
|||
|
|||
public void setPort(final Integer port) { |
|||
this.port = port; |
|||
} |
|||
|
|||
public FuseDataThread() { |
|||
} |
|||
|
|||
public FuseDataThread(final String address, final Integer port) { |
|||
this.address = address; |
|||
this.port = port; |
|||
} |
|||
|
|||
@Override |
|||
public synchronized void start() { |
|||
super.start(); |
|||
} |
|||
|
|||
@Override |
|||
public void run() { |
|||
while (!Thread.currentThread().isInterrupted()) { |
|||
try { |
|||
final List<FuseVo> fuseList = FuseDataUtil.fuseData(); |
|||
if (fuseList.size() > 0) { |
|||
FuseDataUtil.paresFuseData(fuseList); |
|||
} |
|||
Thread.sleep(2000L); |
|||
} |
|||
catch (Exception e) { |
|||
FuseDataThread.log.error("AIS\u548c\u96f7\u8fbe\u878d\u5408\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,415 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import com.google.protobuf.InvalidProtocolBufferException; |
|||
import com.zhichenhaixin.base.util.SpringPropertyUtil; |
|||
import com.zhichenhaixin.proto.ZCHXAISVessel; |
|||
import com.zhichenhaixin.proto.ZCHXRadar; |
|||
import com.zhichenhaixin.thread.ZMQServerDyData; |
|||
|
|||
import java.text.SimpleDateFormat; |
|||
import java.util.*; |
|||
|
|||
public class FuseDataUtil |
|||
{ |
|||
private static double RADIUS; |
|||
private static double distance; |
|||
private static double sog; |
|||
private static float varaince_dis; |
|||
private static float varaince_cog; |
|||
private static float varaince_sog; |
|||
private static Map<String, Float> varianceMap; |
|||
private static float[] elemWight; |
|||
private static double cog; |
|||
static SimpleDateFormat fmt; |
|||
private static float t1; |
|||
private static float t2; |
|||
private static float t3; |
|||
private static float belongLimit; |
|||
private static float aisWight; |
|||
private static int timeSpan; |
|||
private static final long FUSE_TIME_SPAN; |
|||
private static String RADAR_TABLE; |
|||
private static String AIS_TABLE; |
|||
private static final String DISTANCE = "distance"; |
|||
private static final String COG = "cog"; |
|||
private static final String SOG = "sog"; |
|||
private static String time; |
|||
private static final String SIGN; |
|||
|
|||
static { |
|||
FuseDataUtil.RADIUS = Double.parseDouble(SpringPropertyUtil.getProperty("EARTH_RADIUS")); |
|||
FuseDataUtil.distance = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.distance")); |
|||
FuseDataUtil.sog = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.sog")); |
|||
FuseDataUtil.varaince_dis = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.varaince_dis")); |
|||
FuseDataUtil.varaince_cog = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.varaince_cog")); |
|||
FuseDataUtil.varaince_sog = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.varaince_sog")); |
|||
FuseDataUtil.varianceMap = setVarianceMap(); |
|||
FuseDataUtil.elemWight = setElemWight(); |
|||
FuseDataUtil.cog = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.cog")); |
|||
FuseDataUtil.fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); |
|||
FuseDataUtil.t1 = 0.001f; |
|||
FuseDataUtil.t2 = 0.1f; |
|||
FuseDataUtil.t3 = 0.1f; |
|||
FuseDataUtil.belongLimit = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.belongLimit")); |
|||
FuseDataUtil.aisWight = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.aisWight")); |
|||
FuseDataUtil.timeSpan = Integer.parseInt(SpringPropertyUtil.getProperty("fuse.time")); |
|||
FUSE_TIME_SPAN = Long.parseLong(SpringPropertyUtil.getProperty("FUSE_TIME_SPAN")); |
|||
FuseDataUtil.RADAR_TABLE = "radar"; |
|||
FuseDataUtil.AIS_TABLE = "ais"; |
|||
FuseDataUtil.time = ""; |
|||
SIGN = SpringPropertyUtil.getProperty("fuse.topic"); |
|||
} |
|||
|
|||
public static List<FuseVo> fuseData() { |
|||
final List<FuseVo> fuseList = new ArrayList<FuseVo>(); |
|||
final long newTime = MongoUtil.getInstance().getMaxUtc(FuseDataUtil.RADAR_TABLE); |
|||
final String endTime = FuseDataUtil.fmt.format(new Date(newTime)); |
|||
final String startTime = FuseDataUtil.fmt.format(new Date(newTime - FuseDataUtil.timeSpan)); |
|||
final List<EntityVo> radarList = MongoUtil.getInstance().getDataByTime(FuseDataUtil.RADAR_TABLE, startTime, endTime); |
|||
final List<EntityVo> aisList = MongoUtil.getInstance().getDataByTime(FuseDataUtil.AIS_TABLE, startTime, endTime); |
|||
if (radarList.size() > 0 && aisList.size() > 0) { |
|||
float belong = 0.0f; |
|||
for (final EntityVo radar : radarList) { |
|||
for (final EntityVo aisInfo : aisList) { |
|||
final double shipDistance = getDistance(radar.getLon(), radar.getLat(), aisInfo.getLon(), aisInfo.getLat()); |
|||
final double gapCog = Math.abs(radar.getCog() - aisInfo.getCog()); |
|||
final double gapSog = Math.abs(radar.getSog() - aisInfo.getSog()); |
|||
if (shipDistance < FuseDataUtil.distance && gapSog < FuseDataUtil.sog && gapCog < FuseDataUtil.cog) { |
|||
belong = calculateFuseDgr(radar.getNumber(), aisInfo.getNumber()); |
|||
if (FuseDataUtil.belongLimit >= belong) { |
|||
continue; |
|||
} |
|||
final FuseVo fuseVo = new FuseVo(); |
|||
fuseVo.setAisId(aisInfo.getNumber()); |
|||
fuseVo.setRadarId(radar.getNumber()); |
|||
fuseList.add(fuseVo); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return fuseList; |
|||
} |
|||
|
|||
public static float calculateFuseDgr(final String radarId, final String aisId) { |
|||
float avgBelong = 0.0f; |
|||
final LocusVo radarLocus = MongoUtil.getInstance().query_radarLocus_ById(radarId); |
|||
final LocusVo aisLocus = MongoUtil.getInstance().query_aisLocus_ById(aisId); |
|||
final byte[] radarLocusData = radarLocus.getData(); |
|||
final byte[] aisLocusData = aisLocus.getData(); |
|||
if (aisLocusData != null && radarLocusData != null) { |
|||
ZCHXRadar.RadarHistoryTracks radarLocusList = null; |
|||
ZCHXAISVessel.AISHistoryTracks aisLocusList = null; |
|||
try { |
|||
radarLocusList = ZCHXRadar.RadarHistoryTracks.parseFrom(radarLocusData); |
|||
aisLocusList = ZCHXAISVessel.AISHistoryTracks.parseFrom(aisLocusData); |
|||
} |
|||
catch (InvalidProtocolBufferException e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
} |
|||
final Map<String, List<EntityVo>> syncMap = syncRadarAndAisData(radarLocusList, aisLocusList, radarId, aisId); |
|||
final List<EntityVo> aisList = syncMap.get(FuseDataUtil.AIS_TABLE); |
|||
final List<EntityVo> radarList = syncMap.get(FuseDataUtil.RADAR_TABLE); |
|||
if (aisList.size() > 1) { |
|||
final Map<String, List<EntityVo>> insertMap = insertData(aisList, radarList); |
|||
final List<EntityVo> aisInsertList = insertMap.get(FuseDataUtil.AIS_TABLE); |
|||
final List<EntityVo> radarInsertList = insertMap.get(FuseDataUtil.RADAR_TABLE); |
|||
float belongSum = 0.0f; |
|||
final int aisSize = aisInsertList.size(); |
|||
final int radarSize = radarInsertList.size(); |
|||
for (int listSize = (aisSize < radarSize) ? aisSize : radarSize, i = 0; i < listSize; ++i) { |
|||
final float belong = cutSingleBln(radarInsertList.get(i), aisInsertList.get(i), FuseDataUtil.varianceMap); |
|||
belongSum += belong; |
|||
} |
|||
avgBelong = belongSum / radarList.size(); |
|||
} |
|||
} |
|||
return avgBelong; |
|||
} |
|||
|
|||
public static Map<String, List<EntityVo>> syncRadarAndAisData(final ZCHXRadar.RadarHistoryTracks radarLocusList, final ZCHXAISVessel.AISHistoryTracks aisLocusList, final String radarId, final String aisId) { |
|||
final Map<String, List<EntityVo>> resultMap = new HashMap<String, List<EntityVo>>(); |
|||
final List<ZCHXRadar.RadarHistoryTrack> radarTrackList = radarLocusList.getTracksList(); |
|||
final List<ZCHXAISVessel.AISHistoryTrack> aisTrackList = aisLocusList.getTracksList(); |
|||
final long endTime = System.currentTimeMillis() - FuseDataUtil.FUSE_TIME_SPAN; |
|||
final List<EntityVo> aisList = new ArrayList<EntityVo>(); |
|||
final List<EntityVo> radarList = new ArrayList<EntityVo>(); |
|||
for (int i = radarTrackList.size() - 1; i >= 0; --i) { |
|||
final ZCHXRadar.RadarHistoryTrack radarTrack = radarTrackList.get(i); |
|||
if (radarTrack.getUTC() < endTime) { |
|||
break; |
|||
} |
|||
final EntityVo radarVo = new EntityVo(); |
|||
radarVo.setNumber(radarId); |
|||
radarVo.setLon(radarTrack.getWgs84PosLong()); |
|||
radarVo.setLat(radarTrack.getWgs84PosLat()); |
|||
radarVo.setUtc(radarTrack.getUTC()); |
|||
radarVo.setSog(radarTrack.getSog()); |
|||
radarVo.setCog(radarTrack.getCog()); |
|||
radarList.add(radarVo); |
|||
} |
|||
resultMap.put(FuseDataUtil.RADAR_TABLE, radarList); |
|||
for (int j = aisTrackList.size() - 1; j >= 0; --j) { |
|||
final ZCHXAISVessel.AISHistoryTrack aisTrack = aisTrackList.get(j); |
|||
if (aisTrack.getUTC() < endTime) { |
|||
break; |
|||
} |
|||
final EntityVo aisVo = new EntityVo(); |
|||
aisVo.setNumber(aisId); |
|||
aisVo.setLon(aisTrack.getLon()); |
|||
aisVo.setLat(aisTrack.getLat()); |
|||
aisVo.setUtc(aisTrack.getUTC()); |
|||
aisVo.setSog((double)aisTrack.getSog()); |
|||
aisVo.setCog((double)aisTrack.getCog()); |
|||
aisList.add(aisVo); |
|||
} |
|||
resultMap.put(FuseDataUtil.AIS_TABLE, aisList); |
|||
return resultMap; |
|||
} |
|||
|
|||
public static Map<String, Float> setVarianceMap() { |
|||
final Map<String, Float> varianceMap = new HashMap<String, Float>(); |
|||
varianceMap.put("distance", FuseDataUtil.varaince_dis); |
|||
varianceMap.put("cog", FuseDataUtil.varaince_cog); |
|||
varianceMap.put("sog", FuseDataUtil.varaince_sog); |
|||
return varianceMap; |
|||
} |
|||
|
|||
public static float cutSingleBln(final EntityVo radarCalcul, final EntityVo aisCalcul, final Map<String, Float> varianceMap) { |
|||
final List<Float> singleElem = new ArrayList<Float>(); |
|||
final float[][] judgeMatrix = new float[3][2]; |
|||
final float dataDistance = (float)getDistance(radarCalcul.getLon(), radarCalcul.getLat(), aisCalcul.getLon(), aisCalcul.getLat()); |
|||
singleElem.add(dataDistance); |
|||
final float dataCog = (float)Math.abs(radarCalcul.getCog() - aisCalcul.getCog()); |
|||
singleElem.add(dataCog); |
|||
final float dataSog = (float)Math.abs(radarCalcul.getSog() - aisCalcul.getSog()); |
|||
singleElem.add(dataSog); |
|||
final float distanceBln = (float)Math.exp(-FuseDataUtil.t1 * (Math.pow(dataDistance, 2.0) / varianceMap.get("distance"))); |
|||
judgeMatrix[0][0] = distanceBln; |
|||
judgeMatrix[0][1] = 1.0f - distanceBln; |
|||
final float cogBln = (float)Math.exp(-FuseDataUtil.t2 * (Math.pow(dataCog, 2.0) / varianceMap.get("cog"))); |
|||
judgeMatrix[1][0] = cogBln; |
|||
judgeMatrix[1][1] = 1.0f - cogBln; |
|||
final float sogBln = (float)Math.exp(-FuseDataUtil.t3 * (Math.pow(dataSog, 2.0) / varianceMap.get("sog"))); |
|||
judgeMatrix[2][0] = sogBln; |
|||
judgeMatrix[2][1] = 1.0f - sogBln; |
|||
final float belong = FuseDataUtil.elemWight[0] * judgeMatrix[0][0] + FuseDataUtil.elemWight[1] * judgeMatrix[1][0] + FuseDataUtil.elemWight[2] * judgeMatrix[2][0]; |
|||
final float unbelong = FuseDataUtil.elemWight[0] * judgeMatrix[0][1] + FuseDataUtil.elemWight[1] * judgeMatrix[1][1] + FuseDataUtil.elemWight[2] * judgeMatrix[2][1]; |
|||
return belong; |
|||
} |
|||
|
|||
public static Map<String, List<EntityVo>> insertData(final List<EntityVo> aisList, final List<EntityVo> radarList) { |
|||
final Map<String, List<EntityVo>> resultMap = new HashMap<String, List<EntityVo>>(); |
|||
final List<EntityVo> radarDAis = new ArrayList<EntityVo>(); |
|||
long tempTime = 300000L; |
|||
for (final EntityVo aisData : aisList) { |
|||
EntityVo tempRadar = new EntityVo(); |
|||
final long aisUtc = aisData.getUtc(); |
|||
for (final EntityVo radar : radarList) { |
|||
final long timesize = Math.abs(aisUtc - radar.getUtc()); |
|||
if (tempTime > timesize) { |
|||
tempTime = timesize; |
|||
tempRadar = radar; |
|||
} |
|||
} |
|||
tempTime = 300000L; |
|||
radarDAis.add(tempRadar); |
|||
} |
|||
final List<EntityVo> aisInsertList = new ArrayList<EntityVo>(); |
|||
List<EntityVo> aisInsList = null; |
|||
for (int i = 0; i < aisList.size(); ++i) { |
|||
if (i < aisList.size() - 1) { |
|||
final int radarStartIndex = radarList.indexOf(radarDAis.get(i)); |
|||
final int radarEndIndex = radarList.indexOf(radarDAis.get(i + 1)); |
|||
final int insertNum = radarEndIndex - radarStartIndex - 1; |
|||
if (insertNum > 0) { |
|||
aisInsList = insertPoint(aisList.get(i), aisList.get(i + 1), insertNum); |
|||
if (aisInsList.size() > 0) { |
|||
aisInsertList.addAll(aisInsList); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
resultMap.put("ais", aisInsertList); |
|||
resultMap.put("radar", radarList); |
|||
return resultMap; |
|||
} |
|||
|
|||
public static List<EntityVo> insertPoint(final EntityVo startPoint, final EntityVo endPoint, final int insertNumber) { |
|||
final List<EntityVo> aisInsertList = new ArrayList<EntityVo>(); |
|||
aisInsertList.add(startPoint); |
|||
final double dvCog = endPoint.getCog() - startPoint.getCog(); |
|||
final double dvSog = endPoint.getSog() - startPoint.getSog(); |
|||
final double dvLon = endPoint.getLon() - startPoint.getLon(); |
|||
final double dvLat = endPoint.getLat() - startPoint.getLat(); |
|||
final long dvUtc = endPoint.getUtc() - startPoint.getUtc(); |
|||
final double averageCog = dvCog / insertNumber; |
|||
final double averageSog = dvSog / insertNumber; |
|||
final double averageLon = dvLon / insertNumber; |
|||
final double averageLat = dvLat / insertNumber; |
|||
final long averageUtc = dvUtc / insertNumber; |
|||
for (int i = 0; i < insertNumber; ++i) { |
|||
final EntityVo aisData = new EntityVo(); |
|||
aisData.set_id(startPoint.get_id()); |
|||
aisData.setNumber(startPoint.getNumber()); |
|||
aisData.setLon(startPoint.getLon() + (i + 1) * averageLon); |
|||
aisData.setLat(startPoint.getLat() + (i + 1) * averageLat); |
|||
aisData.setTime(FuseDataUtil.fmt.format(new Date(startPoint.getUtc() + (i + 1) * averageUtc))); |
|||
aisData.setUtc(startPoint.getUtc() + (i + 1) * averageUtc); |
|||
aisData.setSpace_time(startPoint.getSpace_time()); |
|||
aisData.setSog(startPoint.getSog() + (i + 1) * averageSog); |
|||
aisData.setCog(startPoint.getCog() + (i + 1) * averageCog); |
|||
aisInsertList.add(aisData); |
|||
} |
|||
return aisInsertList; |
|||
} |
|||
|
|||
public static float[] setElemWight() { |
|||
final float[] elemWight = { 0.45f, 0.25f, 0.3f }; |
|||
return elemWight; |
|||
} |
|||
|
|||
public static double getDistance(final double lon1, final double lat1, final double lon2, final double lat2) { |
|||
final double q1 = Math.toRadians(lat1); |
|||
final double q2 = Math.toRadians(lat2); |
|||
final double q3 = Math.toRadians(lat2 - lat1); |
|||
final double y = Math.toRadians(lon2 - lon1); |
|||
final double a = Math.sin(q3 / 2.0) * Math.sin(q3 / 2.0) + Math.cos(q1) * Math.cos(q2) * Math.sin(y / 2.0) * Math.sin(y / 2.0); |
|||
final double c = 2.0 * Math.atan2(Math.sqrt(a), Math.sqrt(1.0 - a)); |
|||
final double d = FuseDataUtil.RADIUS * c; |
|||
return d; |
|||
} |
|||
|
|||
public static Map<String, List<EntityVo>> getLocusDataByMgdb(final String aisId, final String radarId) { |
|||
Map<String, List<EntityVo>> resultMap = new HashMap<String, List<EntityVo>>(); |
|||
final LocusVo radarLocus = MongoUtil.getInstance().query_radarLocus_ById(radarId); |
|||
final LocusVo aisLocus = MongoUtil.getInstance().query_aisLocus_ById(aisId); |
|||
final byte[] radarLocusData = radarLocus.getData(); |
|||
final byte[] aisLocusData = aisLocus.getData(); |
|||
if (aisLocusData != null && radarLocusData != null) { |
|||
ZCHXRadar.RadarHistoryTracks radarLocusList = null; |
|||
ZCHXAISVessel.AISHistoryTracks aisLocusList = null; |
|||
try { |
|||
radarLocusList = ZCHXRadar.RadarHistoryTracks.parseFrom(radarLocusData); |
|||
aisLocusList = ZCHXAISVessel.AISHistoryTracks.parseFrom(aisLocusData); |
|||
} |
|||
catch (InvalidProtocolBufferException e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
} |
|||
resultMap = covertData(radarLocusList.getTracksList(), aisLocusList.getTracksList(), radarId, aisId); |
|||
} |
|||
return resultMap; |
|||
} |
|||
|
|||
public static Map<String, List<EntityVo>> covertData(final List<ZCHXRadar.RadarHistoryTrack> radarTrackList, final List<ZCHXAISVessel.AISHistoryTrack> aisTrackList, final String radarId, final String aisId) { |
|||
final Map<String, List<EntityVo>> resultMap = new HashMap<String, List<EntityVo>>(); |
|||
final List<EntityVo> aisList = new ArrayList<EntityVo>(); |
|||
final List<EntityVo> radarList = new ArrayList<EntityVo>(); |
|||
for (final ZCHXRadar.RadarHistoryTrack radarTrack : radarTrackList) { |
|||
final EntityVo radarVo = new EntityVo(); |
|||
radarVo.setNumber(radarId); |
|||
radarVo.setLon(radarTrack.getWgs84PosLong()); |
|||
radarVo.setLat(radarTrack.getWgs84PosLat()); |
|||
radarVo.setUtc(radarTrack.getUTC()); |
|||
radarVo.setSog(radarTrack.getSog()); |
|||
radarVo.setCog(radarTrack.getCog()); |
|||
radarList.add(radarVo); |
|||
} |
|||
resultMap.put(FuseDataUtil.RADAR_TABLE, radarList); |
|||
for (final ZCHXAISVessel.AISHistoryTrack aisTrack : aisTrackList) { |
|||
final EntityVo aisVo = new EntityVo(); |
|||
aisVo.setNumber(aisId); |
|||
aisVo.setLon(aisTrack.getLon()); |
|||
aisVo.setLat(aisTrack.getLat()); |
|||
aisVo.setUtc(aisTrack.getUTC()); |
|||
aisVo.setSog((double)aisTrack.getSog()); |
|||
aisVo.setCog((double)aisTrack.getCog()); |
|||
aisList.add(aisVo); |
|||
} |
|||
resultMap.put(FuseDataUtil.AIS_TABLE, aisList); |
|||
return resultMap; |
|||
} |
|||
|
|||
public static void paresFuseData(final List<FuseVo> fuseList) { |
|||
final ZCHXAISVessel.AISVesselDataList.Builder aisVesselList = ZCHXAISVessel.AISVesselDataList.newBuilder(); |
|||
int dataSize = 0; |
|||
Map<String, List<EntityVo>> resultMap = new HashMap<String, List<EntityVo>>(); |
|||
for (final FuseVo fuseVo : fuseList) { |
|||
final ZCHXAISVessel.AISVesselData.Builder aisVessel = ZCHXAISVessel.AISVesselData.newBuilder(); |
|||
final ZCHXAISVessel.AISHistoryTracks.Builder aisHistoryTracks = ZCHXAISVessel.AISHistoryTracks.newBuilder(); |
|||
resultMap = getLocusDataByMgdb(fuseVo.getAisId(), fuseVo.getRadarId()); |
|||
final Map<String, List<EntityVo>> insertMap = insertData(resultMap.get(FuseDataUtil.AIS_TABLE), resultMap.get(FuseDataUtil.RADAR_TABLE)); |
|||
final List<EntityVo> radarList = insertMap.get(FuseDataUtil.RADAR_TABLE); |
|||
final List<EntityVo> aisList = insertMap.get(FuseDataUtil.AIS_TABLE); |
|||
if (aisList.size() > 0) { |
|||
final int radarSize = radarList.size(); |
|||
final int aisSize = aisList.size(); |
|||
for (int listSize = (radarSize - aisSize > 0) ? aisSize : radarSize, i = 0; i < listSize; ++i) { |
|||
final EntityVo radar = radarList.get(i); |
|||
final EntityVo aisInfo = aisList.get(i); |
|||
final ZCHXAISVessel.AISHistoryTrack.Builder aisHistoryTrack = ZCHXAISVessel.AISHistoryTrack.newBuilder(); |
|||
aisHistoryTrack.setLon(aisInfo.getLon() * FuseDataUtil.aisWight + radar.getLon() * (1.0f - FuseDataUtil.aisWight)); |
|||
aisHistoryTrack.setLat(aisInfo.getLat() * FuseDataUtil.aisWight + radar.getLat() * (1.0f - FuseDataUtil.aisWight)); |
|||
aisHistoryTrack.setUTC(radar.getUtc()); |
|||
aisHistoryTrack.setSog((float)(aisInfo.getSog() * FuseDataUtil.aisWight + radar.getSog() * (1.0f - FuseDataUtil.aisWight))); |
|||
aisHistoryTrack.setCog((float)(aisInfo.getCog() * FuseDataUtil.aisWight + radar.getCog() * (1.0f - FuseDataUtil.aisWight))); |
|||
aisHistoryTrack.setHeading(0.0f); |
|||
aisHistoryTrack.setNavStatus(ZCHXAISVessel.NAVI_STATUS.valueOf(String.valueOf(0))); |
|||
aisHistoryTrack.setRot(0.0f); |
|||
aisHistoryTracks.addTracks(aisHistoryTrack.build()); |
|||
} |
|||
final EntityVo radar = radarList.get(0); |
|||
final EntityVo aisInfo = aisList.get(0); |
|||
final LocusVo aisVesselData = MongoUtil.getInstance().query_AISVessel_ById(aisInfo.getNumber()); |
|||
ZCHXAISVessel.VesselInfo vesselInfo = null; |
|||
if (aisVesselData.getData() == null) { |
|||
continue; |
|||
} |
|||
try { |
|||
vesselInfo = ZCHXAISVessel.VesselInfo.parseFrom(aisVesselData.getData()); |
|||
} |
|||
catch (InvalidProtocolBufferException e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
} |
|||
aisVessel.setId(String.valueOf(aisInfo.getNumber()) + radar.getNumber()); |
|||
aisVessel.setLat(aisInfo.getLat() * FuseDataUtil.aisWight + radar.getLat() * (1.0f - FuseDataUtil.aisWight)); |
|||
aisVessel.setLon(aisInfo.getLat() * FuseDataUtil.aisWight + radar.getLat() * (1.0f - FuseDataUtil.aisWight)); |
|||
aisVessel.setSog((float)(aisInfo.getSog() * FuseDataUtil.aisWight + radar.getSog() * (1.0f - FuseDataUtil.aisWight))); |
|||
aisVessel.setCog((float)(aisInfo.getCog() * FuseDataUtil.aisWight + radar.getCog() * (1.0f - FuseDataUtil.aisWight))); |
|||
aisVessel.setUTC(radar.getUtc()); |
|||
aisVessel.setTracks(aisHistoryTracks.build()); |
|||
aisVessel.setMmsi(vesselInfo.getMmsi()); |
|||
aisVessel.setShiptype(vesselInfo.getShipType()); |
|||
aisVessel.setNavStatus(ZCHXAISVessel.NAVI_STATUS.valueOf(String.valueOf(0))); |
|||
aisVessel.setRot(0.0f); |
|||
aisVessel.setHeading(0.0f); |
|||
aisVessel.setImo(vesselInfo.getImo()); |
|||
aisVessel.setCallSign(vesselInfo.getCallSign()); |
|||
aisVessel.setShipName(vesselInfo.getShipName()); |
|||
aisVessel.setCargoType(vesselInfo.getCargoType()); |
|||
aisVessel.setCountry(vesselInfo.getCountry()); |
|||
aisVessel.setVendorID(vesselInfo.getVendorID()); |
|||
aisVessel.setShipLength(vesselInfo.getShipLength()); |
|||
aisVessel.setShipWidth(vesselInfo.getShipWidth()); |
|||
aisVessel.setToBow(vesselInfo.getToBow()); |
|||
aisVessel.setToStern(vesselInfo.getToStern()); |
|||
aisVessel.setToPort(vesselInfo.getToPort()); |
|||
aisVessel.setToStarboard(vesselInfo.getToStarboard()); |
|||
aisVessel.setFixType(vesselInfo.getFixType()); |
|||
aisVessel.setEta(vesselInfo.getEta()); |
|||
aisVessel.setDraught(vesselInfo.getDraught()); |
|||
aisVessel.setDest(vesselInfo.getDest()); |
|||
aisVesselList.addAisData(aisVessel.build()); |
|||
FuseDataUtil.time = String.valueOf(radar.getUtc()); |
|||
dataSize = aisVesselList.build().getAisDataList().size(); |
|||
if (dataSize <= 0) { |
|||
continue; |
|||
} |
|||
ZMQServerDyData.getZMQPUB().sendData(FuseDataUtil.SIGN, FuseDataUtil.time, aisVesselList.build().toByteArray()); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,93 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
public class FuseDataVo implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = 1L; |
|||
private String aisId; |
|||
private Double lon; |
|||
private Double lat; |
|||
private String time; |
|||
private long utc; |
|||
private long space_time; |
|||
private Double sog; |
|||
private Double cog; |
|||
private String trackNumber; |
|||
|
|||
public String getAisId() { |
|||
return this.aisId; |
|||
} |
|||
|
|||
public void setAisId(final String aisId) { |
|||
this.aisId = aisId; |
|||
} |
|||
|
|||
public Double getLon() { |
|||
return this.lon; |
|||
} |
|||
|
|||
public void setLon(final Double lon) { |
|||
this.lon = lon; |
|||
} |
|||
|
|||
public Double getLat() { |
|||
return this.lat; |
|||
} |
|||
|
|||
public void setLat(final Double lat) { |
|||
this.lat = lat; |
|||
} |
|||
|
|||
public String getTime() { |
|||
return this.time; |
|||
} |
|||
|
|||
public void setTime(final String time) { |
|||
this.time = time; |
|||
} |
|||
|
|||
public long getUtc() { |
|||
return this.utc; |
|||
} |
|||
|
|||
public void setUtc(final long utc) { |
|||
this.utc = utc; |
|||
} |
|||
|
|||
public long getSpace_time() { |
|||
return this.space_time; |
|||
} |
|||
|
|||
public void setSpace_time(final long space_time) { |
|||
this.space_time = space_time; |
|||
} |
|||
|
|||
public Double getSog() { |
|||
return this.sog; |
|||
} |
|||
|
|||
public void setSog(final Double sog) { |
|||
this.sog = sog; |
|||
} |
|||
|
|||
public Double getCog() { |
|||
return this.cog; |
|||
} |
|||
|
|||
public void setCog(final Double cog) { |
|||
this.cog = cog; |
|||
} |
|||
|
|||
public String getTrackNumber() { |
|||
return this.trackNumber; |
|||
} |
|||
|
|||
public void setTrackNumber(final String trackNumber) { |
|||
this.trackNumber = trackNumber; |
|||
} |
|||
} |
@ -0,0 +1,230 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import com.zhichenhaixin.base.util.DistanceUtil; |
|||
import com.zhichenhaixin.base.util.SpringPropertyUtil; |
|||
import com.zhichenhaixin.cache.util.AgilTrackEhcache; |
|||
import com.zhichenhaixin.cache.util.TrackPointEhcache; |
|||
import com.zhichenhaixin.proto.ZCHXRadar; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public class FuseRadarThread extends Thread |
|||
{ |
|||
private static Log log; |
|||
private static float belongLimit; |
|||
private static double distance; |
|||
private static double sog; |
|||
private static double cog; |
|||
private static float varaince_dis; |
|||
private static float varaince_cog; |
|||
private static float varaince_sog; |
|||
private static final long FUSE_TIME_SPAN; |
|||
private static float t1; |
|||
private static float t2; |
|||
private static float t3; |
|||
private static Map<String, Float> varianceMap; |
|||
private static float[] elemWight; |
|||
private static final String DISTANCE = "distance"; |
|||
private static final String COG = "cog"; |
|||
private static final String SOG = "sog"; |
|||
|
|||
static { |
|||
FuseRadarThread.log = LogFactory.getLog(FuseRadarThread.class); |
|||
FuseRadarThread.belongLimit = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.belongLimit")); |
|||
FuseRadarThread.distance = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.radar.distance")); |
|||
FuseRadarThread.sog = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.radar.sog")); |
|||
FuseRadarThread.cog = Double.parseDouble(SpringPropertyUtil.getProperty("fuse.radar.cog")); |
|||
FuseRadarThread.varaince_dis = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.varaince_dis")); |
|||
FuseRadarThread.varaince_cog = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.varaince_cog")); |
|||
FuseRadarThread.varaince_sog = Float.parseFloat(SpringPropertyUtil.getProperty("fuse.radar.varaince_sog")); |
|||
FUSE_TIME_SPAN = Long.parseLong(SpringPropertyUtil.getProperty("fuse.radar.time.span")); |
|||
FuseRadarThread.t1 = 0.001f; |
|||
FuseRadarThread.t2 = 0.1f; |
|||
FuseRadarThread.t3 = 0.1f; |
|||
FuseRadarThread.varianceMap = setVarianceMap(); |
|||
FuseRadarThread.elemWight = setElemWight(); |
|||
} |
|||
|
|||
@Override |
|||
public synchronized void start() { |
|||
super.start(); |
|||
} |
|||
|
|||
@Override |
|||
public void run() { |
|||
while (!Thread.currentThread().isInterrupted()) { |
|||
try { |
|||
final List<ZCHXRadar.TrackPoint> pointList = TrackPointEhcache.getAll(); |
|||
this.handleFuseRadar(pointList); |
|||
Thread.sleep(1500L); |
|||
} |
|||
catch (Exception e) { |
|||
FuseRadarThread.log.error("\u5904\u7406\u591a\u96f7\u8fbe\u878d\u5408\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public void handleFuseRadar(final List<ZCHXRadar.TrackPoint> pointList) { |
|||
for (final ZCHXRadar.TrackPoint trackPoint : pointList) { |
|||
for (final ZCHXRadar.TrackPoint trackPoint2 : pointList) { |
|||
final String radarType1 = String.valueOf(trackPoint.getTrackNumber()).substring(0, 1); |
|||
final String radarType2 = String.valueOf(trackPoint2.getTrackNumber()).substring(0, 1); |
|||
final ZCHXRadar.TrackPoint tpoint = TrackPointEhcache.get(trackPoint.getTrackNumber()); |
|||
final ZCHXRadar.TrackPoint tpoint2 = TrackPointEhcache.get(trackPoint2.getTrackNumber()); |
|||
if (!radarType1.equals(radarType2) && tpoint != null && tpoint2 != null) { |
|||
final double shipDistance = DistanceUtil.getDistance(trackPoint.getWgs84PosLat(), trackPoint.getWgs84PosLong(), trackPoint2.getWgs84PosLat(), trackPoint2.getWgs84PosLong()); |
|||
final double gapCog = Math.abs(trackPoint.getCog() - trackPoint2.getCog()); |
|||
final double gapSog = Math.abs(trackPoint.getSog() - trackPoint2.getSog()); |
|||
if (shipDistance >= FuseRadarThread.distance || gapSog >= FuseRadarThread.sog || gapCog >= FuseRadarThread.cog) { |
|||
continue; |
|||
} |
|||
final float belong = calculateFuseDgr(trackPoint, trackPoint2); |
|||
if (FuseRadarThread.belongLimit >= belong) { |
|||
continue; |
|||
} |
|||
TrackPointEhcache.remove(trackPoint2.getTrackNumber()); |
|||
AgilTrackEhcache.remove(trackPoint2.getTrackNumber()); |
|||
FuseRadarThread.log.info(String.valueOf(trackPoint.getTrackNumber()) + "\u548c" + trackPoint2.getTrackNumber() + "\u662f\u540c\u4e00\u4e2a\u76ee\u6807\uff0c\u4fdd\u7559" + trackPoint.getTrackNumber()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public static Map<String, Float> setVarianceMap() { |
|||
final Map<String, Float> varianceMap = new HashMap<String, Float>(); |
|||
varianceMap.put("distance", FuseRadarThread.varaince_dis); |
|||
varianceMap.put("cog", FuseRadarThread.varaince_cog); |
|||
varianceMap.put("sog", FuseRadarThread.varaince_sog); |
|||
return varianceMap; |
|||
} |
|||
|
|||
public static float[] setElemWight() { |
|||
final float[] elemWight = { 0.45f, 0.25f, 0.3f }; |
|||
return elemWight; |
|||
} |
|||
|
|||
public static float cutSingleBln(final EntityVo radarCalcul1, final EntityVo radarCalcul2, final Map<String, Float> varianceMap) { |
|||
final float dataDistance = (float)DistanceUtil.getDistance(radarCalcul1.getLat(), radarCalcul1.getLon(), radarCalcul2.getLat(), radarCalcul2.getLon()); |
|||
final float dataCog = (float)Math.abs(radarCalcul1.getCog() - radarCalcul2.getCog()); |
|||
final float dataSog = (float)Math.abs(radarCalcul1.getSog() - radarCalcul2.getSog()); |
|||
final float distanceBln = (float)Math.exp(-FuseRadarThread.t1 * (Math.pow(dataDistance, 2.0) / varianceMap.get("distance"))); |
|||
final float cogBln = (float)Math.exp(-FuseRadarThread.t2 * (Math.pow(dataCog, 2.0) / varianceMap.get("cog"))); |
|||
final float sogBln = (float)Math.exp(-FuseRadarThread.t3 * (Math.pow(dataSog, 2.0) / varianceMap.get("sog"))); |
|||
final float belong = FuseRadarThread.elemWight[0] * distanceBln + FuseRadarThread.elemWight[1] * cogBln + FuseRadarThread.elemWight[2] * sogBln; |
|||
return belong; |
|||
} |
|||
|
|||
public static float calculateFuseDgr(final ZCHXRadar.TrackPoint radarCalcul1, final ZCHXRadar.TrackPoint radarCalcul2) { |
|||
float avgBelong = 0.0f; |
|||
final Map<String, List<EntityVo>> syncMap = syncRadarData(radarCalcul1.getTracks(), radarCalcul2.getTracks()); |
|||
final List<EntityVo> radarList1 = syncMap.get("1"); |
|||
final List<EntityVo> radarList2 = syncMap.get("2"); |
|||
float belongSum = 0.0f; |
|||
final int radarSize1 = radarList1.size(); |
|||
final int radarSize2 = radarList2.size(); |
|||
if (radarSize1 != 0 && radarSize2 != 0) { |
|||
final int listSize = (radarSize1 < radarSize2) ? radarSize1 : radarSize2; |
|||
for (int i = 0; i < listSize; ++i) { |
|||
final float belong = cutSingleBln(radarList1.get(i), radarList2.get(i), FuseRadarThread.varianceMap); |
|||
belongSum += belong; |
|||
} |
|||
avgBelong = belongSum / listSize; |
|||
} |
|||
return avgBelong; |
|||
} |
|||
|
|||
public static Map<String, List<EntityVo>> syncRadarData(final ZCHXRadar.RadarHistoryTracks radarLocusList1, final ZCHXRadar.RadarHistoryTracks radarLocusList2) { |
|||
final Map<String, List<EntityVo>> resultMap = new HashMap<String, List<EntityVo>>(); |
|||
final List<ZCHXRadar.RadarHistoryTrack> radarTrackList1 = radarLocusList1.getTracksList(); |
|||
final List<ZCHXRadar.RadarHistoryTrack> radarTrackList2 = radarLocusList2.getTracksList(); |
|||
final List<EntityVo> radarList1 = new ArrayList<EntityVo>(); |
|||
final List<EntityVo> radarList2 = new ArrayList<EntityVo>(); |
|||
final long endTime = System.currentTimeMillis() - FuseRadarThread.FUSE_TIME_SPAN; |
|||
int size = radarTrackList1.size(); |
|||
for (int i = size - 1; i >= 0; --i) { |
|||
final ZCHXRadar.RadarHistoryTrack radarTrack = radarTrackList1.get(i); |
|||
if (radarTrack.getUTC() < endTime) { |
|||
break; |
|||
} |
|||
final EntityVo radarVo = new EntityVo(); |
|||
radarVo.setNumber(String.valueOf(radarTrack.getTrackNumber())); |
|||
radarVo.setLon(radarTrack.getWgs84PosLong()); |
|||
radarVo.setLat(radarTrack.getWgs84PosLat()); |
|||
radarVo.setUtc(radarTrack.getUTC()); |
|||
radarVo.setSog(radarTrack.getSog()); |
|||
radarVo.setCog(radarTrack.getCog()); |
|||
radarList1.add(radarVo); |
|||
} |
|||
resultMap.put("1", radarList1); |
|||
size = radarTrackList2.size(); |
|||
for (int i = size - 1; i >= 0; --i) { |
|||
final ZCHXRadar.RadarHistoryTrack radarTrack = radarTrackList2.get(i); |
|||
if (radarTrack.getUTC() < endTime) { |
|||
break; |
|||
} |
|||
final EntityVo radarVo = new EntityVo(); |
|||
radarVo.setNumber(String.valueOf(radarTrack.getTrackNumber())); |
|||
radarVo.setLon(radarTrack.getWgs84PosLong()); |
|||
radarVo.setLat(radarTrack.getWgs84PosLat()); |
|||
radarVo.setUtc(radarTrack.getUTC()); |
|||
radarVo.setSog(radarTrack.getSog()); |
|||
radarVo.setCog(radarTrack.getCog()); |
|||
radarList2.add(radarVo); |
|||
} |
|||
resultMap.put("2", radarList2); |
|||
return resultMap; |
|||
} |
|||
|
|||
public static List<Float> computeVariance(final List<EntityVo> radarList1, final List<EntityVo> radarList2) { |
|||
final List<Float> resultList = new ArrayList<Float>(); |
|||
final List<Float> distanceList = new ArrayList<Float>(); |
|||
final List<Float> cogList = new ArrayList<Float>(); |
|||
final List<Float> sogList = new ArrayList<Float>(); |
|||
float distanceSum = 0.0f; |
|||
float cogSum = 0.0f; |
|||
float sogSum = 0.0f; |
|||
EntityVo radarCalcul1 = null; |
|||
EntityVo radarCalcul2 = null; |
|||
final int size = radarList2.size(); |
|||
for (int i = 0; i < size; ++i) { |
|||
radarCalcul1 = radarList1.get(i); |
|||
radarCalcul2 = radarList2.get(i); |
|||
final float dataDistance = (float)DistanceUtil.getDistance(radarCalcul1.getLat(), radarCalcul1.getLon(), radarCalcul2.getLat(), radarCalcul2.getLon()); |
|||
distanceList.add(dataDistance); |
|||
distanceSum += dataDistance; |
|||
final float dataCog = (float)Math.abs(radarCalcul1.getCog() - radarCalcul2.getCog()); |
|||
cogList.add(dataCog); |
|||
cogSum += dataCog; |
|||
final float dataSog = (float)Math.abs(radarCalcul1.getSog() - radarCalcul2.getSog()); |
|||
sogList.add(dataSog); |
|||
sogSum += dataSog; |
|||
} |
|||
final float distanceAverage = distanceSum / size; |
|||
final float cogAverage = cogSum / size; |
|||
final float sogAverage = sogSum / size; |
|||
float distancePowSum = 0.0f; |
|||
float cogPowSum = 0.0f; |
|||
float sogPowSum = 0.0f; |
|||
for (int j = 0; j < size; ++j) { |
|||
distancePowSum += (float)Math.pow(distanceList.get(j) - distanceAverage, 2.0); |
|||
cogPowSum += (float)Math.pow(cogList.get(j) - cogAverage, 2.0); |
|||
sogPowSum += (float)Math.pow(sogList.get(j) - sogAverage, 2.0); |
|||
} |
|||
final float distanceVariance = distancePowSum / size; |
|||
resultList.add(0, distanceVariance); |
|||
final float cogVariance = cogPowSum / size; |
|||
resultList.add(1, cogVariance); |
|||
final float sogVariance = sogPowSum / size; |
|||
resultList.add(2, sogVariance); |
|||
return resultList; |
|||
} |
|||
} |
@ -0,0 +1,27 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
public class FuseVo |
|||
{ |
|||
private String aisId; |
|||
private String radarId; |
|||
|
|||
public String getAisId() { |
|||
return this.aisId; |
|||
} |
|||
|
|||
public void setAisId(final String aisId) { |
|||
this.aisId = aisId; |
|||
} |
|||
|
|||
public String getRadarId() { |
|||
return this.radarId; |
|||
} |
|||
|
|||
public void setRadarId(final String radarId) { |
|||
this.radarId = radarId; |
|||
} |
|||
} |
@ -0,0 +1,44 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import com.mongodb.ReflectionDBObject; |
|||
|
|||
public class LocusVo extends ReflectionDBObject implements Cloneable |
|||
{ |
|||
private String _id; |
|||
private byte[] data; |
|||
private static LocusVo BaseCredit; |
|||
|
|||
static { |
|||
LocusVo.BaseCredit = new LocusVo(); |
|||
} |
|||
|
|||
public static LocusVo getClone() { |
|||
try { |
|||
return (LocusVo)LocusVo.BaseCredit.clone(); |
|||
} |
|||
catch (CloneNotSupportedException e) { |
|||
return new LocusVo(); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public String get_id() { |
|||
return this._id; |
|||
} |
|||
|
|||
public void set_id(final String _id) { |
|||
this._id = _id; |
|||
} |
|||
|
|||
public byte[] getData() { |
|||
return this.data; |
|||
} |
|||
|
|||
public void setData(final byte[] data) { |
|||
this.data = data; |
|||
} |
|||
} |
@ -0,0 +1,340 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.fusedata; |
|||
|
|||
import com.mongodb.*; |
|||
import com.zhichenhaixin.base.util.SpringPropertyUtil; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
|
|||
import java.text.ParseException; |
|||
import java.text.SimpleDateFormat; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class MongoUtil |
|||
{ |
|||
private static final Log log; |
|||
private static final String MONGO_URL; |
|||
private static final String MONGO_DB; |
|||
private static MongoUtil util; |
|||
private static DBCollection ais_collect; |
|||
private static DBCollection radar_collect; |
|||
private static DBCollection ais_locus_collect; |
|||
private static DBCollection radar_locus_collect; |
|||
private static DBCollection ais_vessel_collect; |
|||
private static DBCollection video_warn_info_collect; |
|||
private static DBCollection video_warn_infos_collect; |
|||
private static DBCollection video_warn_target_collect; |
|||
private static DBCollection gps_collect; |
|||
private Mongo m; |
|||
static SimpleDateFormat fmt; |
|||
|
|||
static { |
|||
log = LogFactory.getLog(MongoUtil.class); |
|||
MONGO_URL = SpringPropertyUtil.getProperty("mongo.hostport"); |
|||
MONGO_DB = SpringPropertyUtil.getProperty("mongo.dbname"); |
|||
MongoUtil.util = null; |
|||
MongoUtil.fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); |
|||
} |
|||
|
|||
public MongoUtil() { |
|||
try { |
|||
this.m = new Mongo(MongoUtil.MONGO_URL); |
|||
final DB db = this.m.getDB(MongoUtil.MONGO_DB); |
|||
(MongoUtil.ais_collect = db.getCollection("com_ais_anys")).setObjectClass(EntityVo.class); |
|||
(MongoUtil.radar_collect = db.getCollection("com_radar_anys")).setObjectClass(EntityVo.class); |
|||
MongoUtil.ais_locus_collect = db.getCollection("AIS_Track"); |
|||
MongoUtil.radar_locus_collect = db.getCollection("Radar_Track"); |
|||
MongoUtil.ais_vessel_collect = db.getCollection("AIS_Info"); |
|||
MongoUtil.video_warn_info_collect = db.getCollection("VideoWarn_Track"); |
|||
MongoUtil.video_warn_infos_collect = db.getCollection("VideoWarns_Track"); |
|||
MongoUtil.video_warn_target_collect = db.getCollection("VideoWarnTarget_Track"); |
|||
MongoUtil.gps_collect = db.getCollection("gps_Track"); |
|||
} |
|||
catch (Exception e) { |
|||
MongoUtil.log.error("mogodb \u521d\u59cb\u5316\u5931\u8d25\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public static MongoUtil getInstance() { |
|||
if (MongoUtil.util == null) { |
|||
MongoUtil.util = new MongoUtil(); |
|||
} |
|||
return MongoUtil.util; |
|||
} |
|||
|
|||
public EntityVo query_ais_ById(final String id) { |
|||
final BasicDBObject query = new BasicDBObject(); |
|||
query.append("_id", id); |
|||
final EntityVo evo = (EntityVo)MongoUtil.ais_collect.findOne(query); |
|||
return evo; |
|||
} |
|||
|
|||
public EntityVo query_ais_ByUtc(final long utc) { |
|||
final BasicDBObject query = new BasicDBObject(); |
|||
query.append("Utc", utc); |
|||
final EntityVo evo = (EntityVo)MongoUtil.ais_collect.findOne(query); |
|||
return evo; |
|||
} |
|||
|
|||
public void save(final EntityVo vo) { |
|||
MongoUtil.ais_collect.save(vo); |
|||
} |
|||
|
|||
public EntityVo query_radar_ById(final String id) { |
|||
final BasicDBObject query = new BasicDBObject(); |
|||
query.append("_id", id); |
|||
final EntityVo evo = (EntityVo)MongoUtil.radar_collect.findOne(query); |
|||
return evo; |
|||
} |
|||
|
|||
public LocusVo query_radarLocus_ById(final String id) { |
|||
final LocusVo vo = LocusVo.getClone(); |
|||
DBObject dbObject = null; |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put("_id", id); |
|||
final DBCursor cursor = MongoUtil.radar_locus_collect.find(queryObject); |
|||
byte[] vess = null; |
|||
while (cursor.hasNext()) { |
|||
dbObject = cursor.next(); |
|||
vess = (byte[])dbObject.get("data"); |
|||
} |
|||
vo.setData(vess); |
|||
return vo; |
|||
} |
|||
|
|||
public LocusVo query_aisLocus_ById(final String id) { |
|||
final LocusVo vo = LocusVo.getClone(); |
|||
DBObject dbObject = null; |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put("_id", id); |
|||
final DBCursor cursor = MongoUtil.ais_locus_collect.find(queryObject); |
|||
byte[] vess = null; |
|||
while (cursor.hasNext()) { |
|||
dbObject = cursor.next(); |
|||
vess = (byte[])dbObject.get("data"); |
|||
} |
|||
vo.setData(vess); |
|||
return vo; |
|||
} |
|||
|
|||
public LocusVo query_AISVessel_ById(final String id) { |
|||
final LocusVo vo = LocusVo.getClone(); |
|||
DBObject dbObject = null; |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put("_id", id); |
|||
final DBCursor cursor = MongoUtil.ais_vessel_collect.find(queryObject); |
|||
byte[] vess = null; |
|||
while (cursor.hasNext()) { |
|||
dbObject = cursor.next(); |
|||
vess = (byte[])dbObject.get("data"); |
|||
} |
|||
vo.setData(vess); |
|||
return vo; |
|||
} |
|||
|
|||
public void save_radar(final EntityVo vo) { |
|||
MongoUtil.radar_collect.save(vo); |
|||
} |
|||
|
|||
public void save_radar_track(final BasicDBObject record) { |
|||
MongoUtil.radar_locus_collect.save(record); |
|||
} |
|||
|
|||
public void deleteByPrimaryKey(final String collectionName, final String id) { |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put("_id", id); |
|||
if ("Radar_Track".equals(collectionName)) { |
|||
MongoUtil.radar_locus_collect.remove(queryObject); |
|||
} |
|||
else if ("AIS_Track".equals(collectionName)) { |
|||
MongoUtil.ais_locus_collect.remove(queryObject); |
|||
} |
|||
else if ("VideoWarn_Track".equals(collectionName)) { |
|||
MongoUtil.video_warn_info_collect.remove(queryObject); |
|||
} |
|||
else if ("VideoWarns_Track".equals(collectionName)) { |
|||
MongoUtil.video_warn_infos_collect.remove(queryObject); |
|||
} |
|||
else if ("VideoWarnTarget_Track".equals(collectionName)) { |
|||
MongoUtil.video_warn_target_collect.remove(queryObject); |
|||
} |
|||
else if ("gps_Track".equals(collectionName)) { |
|||
MongoUtil.gps_collect.remove(queryObject); |
|||
} |
|||
} |
|||
|
|||
public DBObject selectByPrimaryKey(final String collectionName, final String id) { |
|||
DBObject dbObject = null; |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
DBCursor cursor = null; |
|||
queryObject.put("_id", id); |
|||
if ("Radar_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.radar_locus_collect.find(queryObject); |
|||
} |
|||
else if ("AIS_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.ais_locus_collect.find(queryObject); |
|||
} |
|||
else if ("AIS_Info".equals(collectionName)) { |
|||
cursor = MongoUtil.ais_vessel_collect.find(queryObject); |
|||
} |
|||
else if ("VideoWarn_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.video_warn_info_collect.find(queryObject); |
|||
} |
|||
else if ("VideoWarns_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.video_warn_infos_collect.find(queryObject); |
|||
} |
|||
else if ("VideoWarnTarget_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.video_warn_target_collect.find(queryObject); |
|||
} |
|||
else if ("gps_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.gps_collect.find(queryObject); |
|||
} |
|||
if (cursor == null) { |
|||
return null; |
|||
} |
|||
while (cursor.hasNext()) { |
|||
dbObject = cursor.next(); |
|||
} |
|||
cursor.close(); |
|||
return dbObject; |
|||
} |
|||
|
|||
public List<DBObject> selectAll(final String collectionName) { |
|||
final List<DBObject> dbList = new ArrayList<DBObject>(); |
|||
DBCursor cursor = null; |
|||
if ("Radar_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.radar_locus_collect.find(); |
|||
} |
|||
else if ("AIS_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.ais_locus_collect.find(); |
|||
} |
|||
if (cursor == null) { |
|||
return null; |
|||
} |
|||
while (cursor.hasNext()) { |
|||
dbList.add(cursor.next()); |
|||
} |
|||
cursor.close(); |
|||
return dbList; |
|||
} |
|||
|
|||
public List<DBObject> selectAllByField(final String collectionName, final String field1, final String field2) { |
|||
final List<DBObject> dbList = new ArrayList<DBObject>(); |
|||
final BasicDBObject queryObject = new BasicDBObject(); |
|||
queryObject.put(field1, true); |
|||
queryObject.put(field2, true); |
|||
DBCursor cursor = null; |
|||
if ("Radar_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.radar_locus_collect.find(new BasicDBObject(), queryObject); |
|||
} |
|||
else if ("AIS_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.ais_locus_collect.find(new BasicDBObject(), queryObject); |
|||
} |
|||
else if ("VideoWarn_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.video_warn_info_collect.find(new BasicDBObject(), queryObject); |
|||
} |
|||
else if ("VideoWarns_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.video_warn_infos_collect.find(new BasicDBObject(), queryObject); |
|||
} |
|||
else if ("VideoWarnTarget_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.video_warn_target_collect.find(new BasicDBObject(), queryObject); |
|||
} |
|||
else if ("gps_Track".equals(collectionName)) { |
|||
cursor = MongoUtil.gps_collect.find(new BasicDBObject(), queryObject); |
|||
} |
|||
if (cursor == null) { |
|||
return null; |
|||
} |
|||
while (cursor.hasNext()) { |
|||
dbList.add(cursor.next()); |
|||
} |
|||
cursor.close(); |
|||
return dbList; |
|||
} |
|||
|
|||
public void save_ais_track(final BasicDBObject record) { |
|||
MongoUtil.ais_locus_collect.save(record); |
|||
} |
|||
|
|||
public void save_ais_Info(final BasicDBObject record) { |
|||
MongoUtil.ais_vessel_collect.save(record); |
|||
} |
|||
|
|||
public List<LocusVo> getAllVesselInfo() { |
|||
final List<LocusVo> dataList = new ArrayList<LocusVo>(); |
|||
DBObject dbObject = null; |
|||
final DBCursor cursor = MongoUtil.ais_vessel_collect.find(); |
|||
LocusVo data = null; |
|||
byte[] vess = null; |
|||
while (cursor.hasNext()) { |
|||
data = new LocusVo(); |
|||
dbObject = cursor.next(); |
|||
vess = (byte[])dbObject.get("data"); |
|||
data.set_id(dbObject.get("_id")); |
|||
data.setData(vess); |
|||
dataList.add(data); |
|||
} |
|||
return dataList; |
|||
} |
|||
|
|||
public List<EntityVo> getDataByTime(final String dataTable, final String startTime, final String endTime) { |
|||
final List<EntityVo> entityList = new ArrayList<EntityVo>(); |
|||
final BasicDBObject query = new BasicDBObject(); |
|||
try { |
|||
query.put("Utc", new BasicDBObject("$gte", MongoUtil.fmt.parse(startTime).getTime()).append("$lte", MongoUtil.fmt.parse(endTime).getTime())); |
|||
} |
|||
catch (ParseException e) { |
|||
System.out.println(e.getLocalizedMessage()); |
|||
} |
|||
DBCursor cursor = null; |
|||
if (dataTable.equals("radar")) { |
|||
cursor = MongoUtil.radar_collect.find(query); |
|||
} |
|||
if (dataTable.equals("ais")) { |
|||
cursor = MongoUtil.ais_collect.find(query); |
|||
} |
|||
EntityVo entity = null; |
|||
while (cursor.hasNext()) { |
|||
entity = new EntityVo(); |
|||
entity = (EntityVo)cursor.next(); |
|||
entityList.add(entity); |
|||
} |
|||
return entityList; |
|||
} |
|||
|
|||
public long getMaxUtc(final String dataTable) { |
|||
DBCursor cursor = null; |
|||
if (dataTable.equals("radar")) { |
|||
cursor = MongoUtil.radar_collect.find().sort(new BasicDBObject("Utc", -1)).limit(1); |
|||
} |
|||
if (dataTable.equals("ais")) { |
|||
cursor = MongoUtil.ais_collect.find().sort(new BasicDBObject("Utc", -1)).limit(1); |
|||
} |
|||
if (cursor.hasNext()) { |
|||
EntityVo entity = new EntityVo(); |
|||
entity = (EntityVo)cursor.next(); |
|||
return entity.getUtc(); |
|||
} |
|||
return 0L; |
|||
} |
|||
|
|||
public void saveVideoWarnInfo(final BasicDBObject record) { |
|||
MongoUtil.video_warn_info_collect.save(record); |
|||
} |
|||
|
|||
public void saveVideoWarnInfos(final BasicDBObject record) { |
|||
MongoUtil.video_warn_infos_collect.save(record); |
|||
} |
|||
|
|||
public void saveVideoWarnTargetInfo(final BasicDBObject record) { |
|||
MongoUtil.video_warn_target_collect.save(record); |
|||
} |
|||
|
|||
public void saveGPSInfo(final BasicDBObject record) { |
|||
MongoUtil.gps_collect.save(record); |
|||
} |
|||
} |
@ -0,0 +1,213 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.gui; |
|||
|
|||
import com.zhichenhaixin.base.util.StringUtil; |
|||
import com.zhichenhaixin.thread.RadarServer; |
|||
import com.zhichenhaixin.thread.ZMQPubServer; |
|||
import com.zhichenhaixin.util.IPUtil; |
|||
|
|||
import javax.swing.*; |
|||
import javax.swing.border.TitledBorder; |
|||
import java.awt.*; |
|||
import java.awt.event.ActionEvent; |
|||
import java.awt.event.ActionListener; |
|||
import java.util.List; |
|||
|
|||
public class RadarHelperFrame extends JFrame implements ActionListener |
|||
{ |
|||
private static final long serialVersionUID = 1L; |
|||
private int width; |
|||
private int height; |
|||
private int windowsWidth; |
|||
private int windowsHeight; |
|||
private Font font; |
|||
public static JTextArea textlog; |
|||
private JPanel topMainPanel; |
|||
private JTextField top_radar_port; |
|||
private JButton top_radar_button; |
|||
private JPanel bottomMainPanel; |
|||
private JPanel centerMainPanel; |
|||
private JTextField top_radar_ip; |
|||
private JTextField top_localhost_ip; |
|||
private JTextField top_localhost_port; |
|||
private JCheckBox top_radar_log_checkBox01; |
|||
private JButton top_localhost_button; |
|||
public static JLabel top_zoom_show_label; |
|||
public static JLabel top_radar_show_label; |
|||
public static int rightMainWidth; |
|||
public static int rightMainHigh; |
|||
private RadarServer radarServer; |
|||
private JTextField top_localhost_topic; |
|||
private static int LOG_DATA_ROW_LIMIT_NUM; |
|||
public static volatile ZMQPubServer zmqPubServer; |
|||
public static volatile String topic_string; |
|||
|
|||
|
|||
|
|||
static { |
|||
RadarHelperFrame.rightMainWidth = 0; |
|||
RadarHelperFrame.rightMainHigh = 0; |
|||
RadarHelperFrame.LOG_DATA_ROW_LIMIT_NUM = 20; |
|||
RadarHelperFrame.zmqPubServer = null; |
|||
RadarHelperFrame.topic_string = null; |
|||
} |
|||
|
|||
public RadarHelperFrame() { |
|||
this.width = Toolkit.getDefaultToolkit().getScreenSize().width; |
|||
this.height = Toolkit.getDefaultToolkit().getScreenSize().height; |
|||
this.windowsWidth = 500; |
|||
this.windowsHeight = 600; |
|||
this.radarServer = null; |
|||
this.setResizable(false); |
|||
this.setVisible(true); |
|||
// 雷达工具
|
|||
this.setTitle("\u96f7\u8fbe\u5de5\u5177"); |
|||
UIManager.put("Button.font", this.font = new Font("\u5fae\u8f6f\u96c5\u9ed1", 0, 12)); |
|||
UIManager.put("Label.font", this.font); |
|||
UIManager.put("RadioButton.font", this.font); |
|||
UIManager.put("ComboBox.font", this.font); |
|||
UIManager.put("Table.font", this.font); |
|||
UIManager.put("TextField.font", this.font); |
|||
UIManager.put("TextArea.font", this.font); |
|||
UIManager.put("TitledBorder.font", this.font); |
|||
this.setBounds((this.width - this.windowsWidth) / 2, (this.height - this.windowsHeight) / 2, this.windowsWidth, this.windowsHeight); |
|||
this.initMainPanel(); |
|||
this.initRadarConfig(); |
|||
this.initZMQModule(); |
|||
} |
|||
|
|||
private void initMainPanel() { |
|||
(this.topMainPanel = new JPanel()).setLayout(null); |
|||
this.topMainPanel.setPreferredSize(new Dimension(this.windowsWidth - 10, 60)); |
|||
// 雷达TCP-SERVER配置
|
|||
this.topMainPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u96f7\u8fbeTCP-SERVER\u914d\u7f6e", 4, 2, null, new Color(0, 0, 0))); |
|||
this.getContentPane().add(this.topMainPanel, "North"); |
|||
(this.centerMainPanel = new JPanel()).setLayout(null); |
|||
this.centerMainPanel.setPreferredSize(new Dimension(this.windowsWidth - 10, 60)); |
|||
// ZMQ发布配置
|
|||
this.centerMainPanel.setBorder(new TitledBorder(null, "ZMQ\u53d1\u5e03\u914d\u7f6e", 4, 2, null, null)); |
|||
this.getContentPane().add(this.centerMainPanel, "Center"); |
|||
(this.bottomMainPanel = new JPanel()).setBorder(new TitledBorder(null, "\u65e5\u5fd7", 4, 2, null, null)); |
|||
this.bottomMainPanel.setPreferredSize(new Dimension(this.windowsWidth - 10, 440)); |
|||
this.getContentPane().add(this.bottomMainPanel, "South"); |
|||
(RadarHelperFrame.textlog = new JTextArea()).setEditable(false); |
|||
RadarHelperFrame.textlog.setForeground(Color.RED); |
|||
RadarHelperFrame.textlog.setLineWrap(true); |
|||
final JScrollPane textlog_jsp = new JScrollPane(RadarHelperFrame.textlog); |
|||
textlog_jsp.setPreferredSize(new Dimension(this.windowsWidth - 10, 415)); |
|||
this.bottomMainPanel.add(textlog_jsp); |
|||
} |
|||
|
|||
private void initRadarConfig() { |
|||
// 服务IP
|
|||
final JLabel top_radar_label_ip = new JLabel("\u670d\u52a1IP:"); |
|||
top_radar_label_ip.setBounds(10, 24, 60, 20); |
|||
this.topMainPanel.add(top_radar_label_ip); |
|||
(this.top_radar_ip = new JTextField("")).setBounds(60, 24, 110, 20); |
|||
this.topMainPanel.add(this.top_radar_ip); |
|||
// TCP端口
|
|||
final JLabel top_radar_label_port = new JLabel("TCP\u7aef\u53e3:"); |
|||
top_radar_label_port.setBounds(180, 24, 60, 20); |
|||
this.topMainPanel.add(top_radar_label_port); |
|||
(this.top_radar_port = new JTextField("8899")).setBounds(240, 24, 50, 20); |
|||
this.topMainPanel.add(this.top_radar_port); |
|||
// 点击开启
|
|||
(this.top_radar_button = new JButton("\u70b9\u51fb\u5f00\u542f")).setBounds(295, 24, 82, 20); |
|||
this.top_radar_button.addActionListener(this); |
|||
this.topMainPanel.add(this.top_radar_button); |
|||
// 开启日志打印
|
|||
final JLabel top_radar_label_log = new JLabel("\u5f00\u542f\u65e5\u5fd7\u6253\u5370"); |
|||
top_radar_label_log.setBounds(383, 24, 75, 20); |
|||
this.topMainPanel.add(top_radar_label_log); |
|||
(this.top_radar_log_checkBox01 = new JCheckBox()).setSelected(true); |
|||
this.top_radar_log_checkBox01.setBounds(460, 24, 20, 20); |
|||
this.topMainPanel.add(this.top_radar_log_checkBox01); |
|||
} |
|||
|
|||
private void initZMQModule() { |
|||
// 本机IP
|
|||
final JLabel top_localhost_label_ip = new JLabel("\u672c\u673aIP:"); |
|||
top_localhost_label_ip.setBounds(10, 24, 60, 20); |
|||
this.centerMainPanel.add(top_localhost_label_ip); |
|||
(this.top_localhost_ip = new JTextField("")).setBounds(60, 24, 110, 20); |
|||
this.centerMainPanel.add(this.top_localhost_ip); |
|||
// TCP端口
|
|||
final JLabel top_localhost_label_port = new JLabel("TCP\u7aef\u53e3:"); |
|||
top_localhost_label_port.setBounds(180, 24, 60, 20); |
|||
this.centerMainPanel.add(top_localhost_label_port); |
|||
(this.top_localhost_port = new JTextField("5151")).setBounds(240, 24, 50, 20); |
|||
this.centerMainPanel.add(this.top_localhost_port); |
|||
final JLabel top_localhost_label_topic = new JLabel("TOPIC:"); |
|||
top_localhost_label_topic.setBounds(290, 24, 82, 20); |
|||
this.centerMainPanel.add(top_localhost_label_topic); |
|||
(this.top_localhost_topic = new JTextField("radar_surface_track")).setBounds(330, 24, 75, 20); |
|||
this.centerMainPanel.add(this.top_localhost_topic); |
|||
// 点击发布
|
|||
(this.top_localhost_button = new JButton("\u70b9\u51fb\u53d1\u5e03")).setBounds(405, 24, 84, 20); |
|||
this.top_localhost_button.addActionListener(this); |
|||
this.centerMainPanel.add(this.top_localhost_button); |
|||
final List<String> iplist = IPUtil.getLocalIPList(); |
|||
if (iplist != null && iplist.size() > 0) { |
|||
this.top_radar_ip.setText(iplist.get(0)); |
|||
this.top_localhost_ip.setText(iplist.get(0)); |
|||
} |
|||
} |
|||
|
|||
public static void writeLog(final String msg) { |
|||
final String text = RadarHelperFrame.textlog.getText(); |
|||
final StringBuffer sb = new StringBuffer(); |
|||
if (StringUtil.notBlank(text)) { |
|||
final String[] contents = RadarHelperFrame.textlog.getText().split("\n"); |
|||
final int len = contents.length; |
|||
int start = 0; |
|||
if (len > RadarHelperFrame.LOG_DATA_ROW_LIMIT_NUM) { |
|||
start = len - RadarHelperFrame.LOG_DATA_ROW_LIMIT_NUM; |
|||
} |
|||
for (int i = start; i < len; ++i) { |
|||
sb.append(String.valueOf(contents[i]) + "\r\n"); |
|||
} |
|||
} |
|||
sb.append(String.valueOf(msg) + "\r\n"); |
|||
RadarHelperFrame.textlog.setText(null); |
|||
RadarHelperFrame.textlog.append(sb.toString()); |
|||
} |
|||
|
|||
@Override |
|||
public void actionPerformed(final ActionEvent e) { |
|||
if (e.getSource() == this.top_radar_button) { |
|||
// 点击开启
|
|||
if (this.top_radar_button.getText().equals("\u70b9\u51fb\u5f00\u542f")) { |
|||
(this.radarServer = new RadarServer(this.top_radar_ip.getText().trim(), Integer.parseInt(this.top_radar_port.getText().trim()))).start(); |
|||
// 点击停止
|
|||
this.top_radar_button.setText("\u70b9\u51fb\u505c\u6b62"); |
|||
} |
|||
else { |
|||
if (this.radarServer != null) { |
|||
this.radarServer.close(); |
|||
} |
|||
// 点击开启
|
|||
this.top_radar_button.setText("\u70b9\u51fb\u5f00\u542f"); |
|||
this.top_radar_button.setForeground(new Color(0, 0, 0)); |
|||
} |
|||
} |
|||
else if (e.getSource() == this.top_localhost_button) { |
|||
// 点击发布
|
|||
if (this.top_localhost_button.getText().equals("\u70b9\u51fb\u53d1\u5e03")) { |
|||
RadarHelperFrame.topic_string = this.top_localhost_topic.getText().trim(); |
|||
(RadarHelperFrame.zmqPubServer = new ZMQPubServer(this.top_localhost_ip.getText().trim(), Integer.parseInt(this.top_localhost_port.getText().trim()))).initZMQServerDy(); |
|||
// 停止发布
|
|||
this.top_localhost_button.setText("\u505c\u6b62\u53d1\u5e03"); |
|||
} |
|||
else { |
|||
if (RadarHelperFrame.zmqPubServer != null) { |
|||
RadarHelperFrame.zmqPubServer.close(); |
|||
} |
|||
this.top_localhost_button.setText("\u70b9\u51fb\u53d1\u5e03"); |
|||
this.top_localhost_button.setForeground(new Color(0, 0, 0)); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,75 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.hbase; |
|||
|
|||
import com.zhichenhaixin.base.util.SpringPropertyUtil; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.apache.hadoop.conf.Configuration; |
|||
import org.apache.hadoop.hbase.HBaseConfiguration; |
|||
import org.apache.hadoop.hbase.client.HBaseAdmin; |
|||
import org.apache.hadoop.hbase.client.HTable; |
|||
|
|||
public class CommonConfig |
|||
{ |
|||
protected static Log log; |
|||
private static HBaseAdmin hbaseAdmin; |
|||
private static Configuration conf; |
|||
|
|||
static { |
|||
CommonConfig.log = LogFactory.getLog(CommonConfig.class); |
|||
try { |
|||
(CommonConfig.conf = HBaseConfiguration.create()).set("hbase.zookeeper.property.clientPort", SpringPropertyUtil.getProperty("hbase.zookeeper.clientPort")); |
|||
CommonConfig.conf.set("hbase.zookeeper.quorum", SpringPropertyUtil.getProperty("hbase.zookeeper.quorum")); |
|||
CommonConfig.conf.set("hbase.master", SpringPropertyUtil.getProperty("hbase.master")); |
|||
CommonConfig.conf.set("hbase.security.authorization", "false"); |
|||
CommonConfig.conf.set("hbase.client.keyvalue.maxsize", "838860800"); |
|||
CommonConfig.conf.setLong("hbase.rpc.timeout", 600000L); |
|||
CommonConfig.conf.setLong("hbase.client.scanner.caching", 5000L); |
|||
CommonConfig.conf.set("hbase.hstore.compaction.min.size", "10485760"); |
|||
CommonConfig.conf.set("hbase.hstore.compaction.max.size", "1073741824"); |
|||
CommonConfig.conf.set("hbase.hregion.majorcompaction", "86400000"); |
|||
CommonConfig.conf.set("hbase.hstore.compaction.max", "5"); |
|||
CommonConfig.conf.set("hbase.hstore.blockingStoreFiles", "7"); |
|||
CommonConfig.conf.set("hbase.hregion.max.filesize", "256"); |
|||
CommonConfig.hbaseAdmin = new HBaseAdmin(CommonConfig.conf); |
|||
} |
|||
catch (Exception e) { |
|||
CommonConfig.log.error("hbase \u521d\u59cb\u5316\u5931\u8d25\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public static Configuration getConfiguration() { |
|||
return CommonConfig.conf; |
|||
} |
|||
|
|||
public static HBaseAdmin getHBaseAdmin() { |
|||
return CommonConfig.hbaseAdmin; |
|||
} |
|||
|
|||
public static HTable getTable(final String tableName, final int size) { |
|||
HTable table = null; |
|||
try { |
|||
table = new HTable(CommonConfig.conf, tableName); |
|||
table.setWriteBufferSize(size * 1024 * 1024); |
|||
table.setAutoFlush(false); |
|||
} |
|||
catch (Exception e) { |
|||
CommonConfig.log.error("hbase \u521d\u59cb\u5316\u5931\u8d25\uff01", e.fillInStackTrace()); |
|||
} |
|||
return table; |
|||
} |
|||
|
|||
public static HTable getIndexTable(final String tableName) { |
|||
HTable table = null; |
|||
try { |
|||
table = new HTable(CommonConfig.conf, tableName); |
|||
} |
|||
catch (Exception e) { |
|||
CommonConfig.log.error("hbase \u521d\u59cb\u5316\u5931\u8d25\uff01", e.fillInStackTrace()); |
|||
} |
|||
return table; |
|||
} |
|||
} |
@ -0,0 +1,567 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.hbase; |
|||
|
|||
import com.zhichenhaixin.base.util.StringUtil; |
|||
import com.zhichenhaixin.zmq.model.ResultData; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.apache.hadoop.hbase.HColumnDescriptor; |
|||
import org.apache.hadoop.hbase.HTableDescriptor; |
|||
import org.apache.hadoop.hbase.client.*; |
|||
import org.apache.hadoop.hbase.filter.KeyOnlyFilter; |
|||
import org.apache.hadoop.hbase.util.Bytes; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class HBaseClient |
|||
{ |
|||
private static Log log; |
|||
private final String qaz_wsx_table = "qaz_wsx"; |
|||
private final String ais_tablename = "t_ais_data"; |
|||
private final String aisbyid_tablename = "t_aisbyid_data"; |
|||
private final String radar_tablename = "t_radar_data"; |
|||
private final String radarbyid_tablename = "t_radarbyid_data"; |
|||
private final String radarwarn_tablename = "t_radarwarn_data"; |
|||
private final String radarbyid_copy_tablename = "t_radarbyid_copy_data"; |
|||
private final String radarEcho_tablename = "t_radarEcho_data"; |
|||
private final String gps_trace_data = "gps_trace_data"; |
|||
private final String uavbyid_tablename = "t_uavbyid_data"; |
|||
private final byte[] sourceType; |
|||
private final byte[] theData; |
|||
private final byte[] theCode; |
|||
private static HBaseClient client; |
|||
private HTable qaz_wsx; |
|||
private HTable ais_table; |
|||
private HTable aisbyid_table; |
|||
private HTable radar_table; |
|||
private HTable radarbyid_table; |
|||
private HTable radarwarn_table; |
|||
private HTable radarbyid_copy_table; |
|||
private HTable radarEcho_table; |
|||
private HTable gps_trace_data_table; |
|||
private HTable uavbyid_table; |
|||
private final byte[] family; |
|||
|
|||
static { |
|||
HBaseClient.log = LogFactory.getLog(HBaseClient.class); |
|||
HBaseClient.client = new HBaseClient(); |
|||
} |
|||
|
|||
public HBaseClient() { |
|||
this.sourceType = Bytes.toBytes("sourceType"); |
|||
this.theData = Bytes.toBytes("theData"); |
|||
this.theCode = Bytes.toBytes("theCode"); |
|||
this.family = Bytes.toBytes("info"); |
|||
} |
|||
|
|||
public static HBaseClient getInstance() { |
|||
return HBaseClient.client; |
|||
} |
|||
|
|||
public void initHBase() { |
|||
this.ais_table = CommonConfig.getTable("t_ais_data", 1); |
|||
this.aisbyid_table = CommonConfig.getIndexTable("t_aisbyid_data"); |
|||
this.radar_table = CommonConfig.getTable("t_radar_data", 1); |
|||
this.radarbyid_table = CommonConfig.getIndexTable("t_radarbyid_data"); |
|||
this.radarwarn_table = CommonConfig.getIndexTable("t_radarwarn_data"); |
|||
this.radarbyid_copy_table = CommonConfig.getTable("t_radarbyid_copy_data", 1); |
|||
this.radarEcho_table = CommonConfig.getIndexTable("t_radarEcho_data"); |
|||
this.gps_trace_data_table = CommonConfig.getIndexTable("gps_trace_data"); |
|||
this.uavbyid_table = CommonConfig.getIndexTable("t_uavbyid_data"); |
|||
} |
|||
|
|||
public void createTable(final String tableName) { |
|||
try { |
|||
final HTableDescriptor tableDescriptor = new HTableDescriptor(tableName); |
|||
tableDescriptor.addFamily(new HColumnDescriptor("info")); |
|||
CommonConfig.getHBaseAdmin().createTable(tableDescriptor); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u521b\u5efaHBase\u6570\u636e\u8868\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public void deleteTable(final String tableName) { |
|||
try { |
|||
CommonConfig.getHBaseAdmin().disableTable(tableName); |
|||
CommonConfig.getHBaseAdmin().deleteTable(tableName); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u5220\u9664HBase\u6570\u636e\u8868\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public List<ResultData> scanRadarData(final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
if (this.radar_table == null) { |
|||
return dbList; |
|||
} |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setStartRow(Bytes.toBytes(starttime)); |
|||
scan.setStopRow(Bytes.toBytes(endtime)); |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.radar_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(Bytes.toString(result.getRow()))); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2radar\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public void saveRadarData(final String time, final byte[] data) { |
|||
if (this.radar_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.radar_table.put(put); |
|||
HBaseClient.log.debug("----->Radar Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58radar\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public void saveRadarDataById(final String id, final String time, final byte[] data) { |
|||
if (this.radarbyid_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(String.valueOf(id) + "_" + time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.radarbyid_table.put(put); |
|||
HBaseClient.log.debug("--->RadarById Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58radar\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public void saveRadarWarnData(final String time, final byte[] data) { |
|||
if (this.radarwarn_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.radarwarn_table.put(put); |
|||
HBaseClient.log.debug("----->RadarWarn Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58radar\u9884\u8b66\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public List<ResultData> scanRadarWarnData(final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
if (this.radarwarn_table == null) { |
|||
return dbList; |
|||
} |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setStartRow(Bytes.toBytes(starttime)); |
|||
scan.setStopRow(Bytes.toBytes(endtime)); |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.radarwarn_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(Bytes.toString(result.getRow()))); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2radar\u9884\u8b66\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public void saveRadarDataByIdCopy(final String id, final String code, final String time, final byte[] data) { |
|||
if (this.radarbyid_copy_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(String.valueOf(id) + "_" + time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
put.add(this.family, this.theCode, code.getBytes()); |
|||
this.radarbyid_copy_table.put(put); |
|||
HBaseClient.log.debug("--->RadarByIdCopy Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58radar\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public List<ResultData> scanRadarDataById(final String id, final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
if (this.radarbyid_table == null) { |
|||
return dbList; |
|||
} |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setStartRow(Bytes.toBytes(String.valueOf(id) + "_" + starttime)); |
|||
scan.setStopRow(Bytes.toBytes(String.valueOf(id) + "_" + endtime)); |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.radarbyid_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
final String[] stringArray = Bytes.toString(result.getRow()).split("_"); |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(stringArray[stringArray.length - 1])); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2radar\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public void deleteRadarById(final String id) { |
|||
if (this.radarbyid_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final long theTime = System.currentTimeMillis(); |
|||
final long startTime = theTime - 1471228928L; |
|||
Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setFilter(new KeyOnlyFilter()); |
|||
scan.setStartRow(Bytes.toBytes(String.valueOf(id) + "_" + String.valueOf(startTime))); |
|||
scan.setStopRow(Bytes.toBytes(String.valueOf(id) + "_" + String.valueOf(theTime))); |
|||
List<Delete> dbList = new ArrayList<Delete>(); |
|||
Delete delete = null; |
|||
ResultScanner scanner = this.radarbyid_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
delete = new Delete(result.getRow()); |
|||
dbList.add(delete); |
|||
} |
|||
this.radarbyid_table.delete(dbList); |
|||
dbList = null; |
|||
scanner = null; |
|||
scan = null; |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u6e05\u7406radar\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public void saveRadarEchoData(final String time, final byte[] data) { |
|||
if (this.radarEcho_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.radarEcho_table.put(put); |
|||
HBaseClient.log.debug("------>Echo Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58radar\u56de\u6ce2\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public List<ResultData> scanRadarEchoData(final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
if (this.radarEcho_table == null) { |
|||
return dbList; |
|||
} |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setFilter(new KeyOnlyFilter()); |
|||
scan.setStartRow(Bytes.toBytes(starttime)); |
|||
scan.setStopRow(Bytes.toBytes(endtime)); |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.radarEcho_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(Bytes.toString(result.getRow()))); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2radar\u56de\u6ce2\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public void saveAISDataById(final String id, final String time, final byte[] data) { |
|||
try { |
|||
if (this.aisbyid_table == null) { |
|||
return; |
|||
} |
|||
final byte[] rowbt = Bytes.toBytes(String.valueOf(id) + "_" + time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.aisbyid_table.put(put); |
|||
HBaseClient.log.debug("--->AISById Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58AIS\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public List<ResultData> scanAISDataById(final String id, final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
if (this.aisbyid_table == null) { |
|||
return dbList; |
|||
} |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setStartRow(Bytes.toBytes(String.valueOf(id) + "_" + starttime)); |
|||
scan.setStopRow(Bytes.toBytes(String.valueOf(id) + "_" + endtime)); |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.aisbyid_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
final String[] stringArray = Bytes.toString(result.getRow()).split("_"); |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(stringArray[stringArray.length - 1])); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2AIS\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public List<ResultData> scanAISData(final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
if (this.ais_table == null) { |
|||
return dbList; |
|||
} |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setStartRow(Bytes.toBytes(starttime)); |
|||
scan.setStopRow(Bytes.toBytes(endtime)); |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.ais_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(Bytes.toString(result.getRow()))); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2AIS\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public void saveAISData(final String time, final byte[] data) { |
|||
if (this.ais_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.ais_table.put(put); |
|||
HBaseClient.log.debug("------->AIS Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58AIS\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public void saveUAVDataById(final String id, final String time, final byte[] data) { |
|||
if (this.uavbyid_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(String.valueOf(id) + "_" + time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.uavbyid_table.put(put); |
|||
HBaseClient.log.debug("--->UAVById Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58\u65e0\u4eba\u673a\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public void saveUAVData(final String time, final byte[] data) { |
|||
if (this.uavbyid_table == null) { |
|||
return; |
|||
} |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(time); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.uavbyid_table.put(put); |
|||
HBaseClient.log.debug("--->UAVById Save ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58\u65e0\u4eba\u673a\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public List<ResultData> scanUAVData(final String id, final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
if (this.uavbyid_table == null) { |
|||
return dbList; |
|||
} |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
if (StringUtil.notBlank(id)) { |
|||
scan.setStartRow(Bytes.toBytes(String.valueOf(id) + "_" + starttime)); |
|||
scan.setStopRow(Bytes.toBytes(String.valueOf(id) + "_" + endtime)); |
|||
} |
|||
else { |
|||
scan.setStartRow(Bytes.toBytes(starttime)); |
|||
scan.setStopRow(Bytes.toBytes(endtime)); |
|||
} |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.uavbyid_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
final String[] stringArray = Bytes.toString(result.getRow()).split("_"); |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(stringArray[stringArray.length - 1])); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2\u65e0\u4eba\u673a\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public List<ResultData> scanSeaState(final long starttime, final long endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
scan.setFilter(new KeyOnlyFilter()); |
|||
scan.setStartRow(Bytes.toBytes(String.valueOf(starttime))); |
|||
scan.setStopRow(Bytes.toBytes(String.valueOf(endtime))); |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.qaz_wsx.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(Bytes.toString(result.getRow()))); |
|||
data.setData(result.getValue(this.family, Bytes.toBytes("qaz_wsx_data"))); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2\u6d4b\u8bd5\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
|
|||
public synchronized void saveTestData(final byte[] data) { |
|||
try { |
|||
final byte[] rowbt = Bytes.toBytes(System.currentTimeMillis()); |
|||
final Put put = new Put(rowbt); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, Bytes.toBytes("qaz_wsx_data"), data); |
|||
this.qaz_wsx.put(put); |
|||
HBaseClient.log.debug("-------------->ok"); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58\u6d4b\u8bd5\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public synchronized void saveGpsTraceByTime(final String time, final byte[] data) { |
|||
try { |
|||
final byte[] rowid = Bytes.toBytes(time); |
|||
final Put put = new Put(rowid); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.gps_trace_data_table.put(put); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58GPS\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public synchronized void saveGpsTraceByImeiAndTime(final String imei, final byte[] data) { |
|||
try { |
|||
final byte[] rowid = Bytes.toBytes(String.valueOf(imei) + "_" + String.valueOf(System.currentTimeMillis())); |
|||
final Put put = new Put(rowid); |
|||
put.setWriteToWAL(false); |
|||
put.add(this.family, this.theData, data); |
|||
this.gps_trace_data_table.put(put); |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u4fdd\u5b58GPS\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
} |
|||
|
|||
public List<ResultData> queryGpsTrace(final String imei, final String starttime, final String endtime) { |
|||
final List<ResultData> dbList = new ArrayList<ResultData>(); |
|||
try { |
|||
final Scan scan = new Scan(); |
|||
scan.setBatch(500); |
|||
scan.setCacheBlocks(true); |
|||
if (StringUtil.notBlank(imei)) { |
|||
scan.setStartRow(Bytes.toBytes(String.valueOf(imei) + "_" + starttime)); |
|||
scan.setStopRow(Bytes.toBytes(String.valueOf(imei) + "_" + endtime)); |
|||
} |
|||
else { |
|||
scan.setStartRow(Bytes.toBytes(starttime)); |
|||
scan.setStopRow(Bytes.toBytes(endtime)); |
|||
} |
|||
ResultData data = null; |
|||
final ResultScanner scanner = this.gps_trace_data_table.getScanner(scan); |
|||
for (final Result result : scanner) { |
|||
final String[] stringArray = Bytes.toString(result.getRow()).split("_"); |
|||
data = new ResultData(); |
|||
data.setTime(Long.parseLong(stringArray[stringArray.length - 1])); |
|||
data.setData(result.getValue(this.family, this.theData)); |
|||
dbList.add(data); |
|||
} |
|||
} |
|||
catch (Exception e) { |
|||
HBaseClient.log.error("\u67e5\u8be2GPS\u6570\u636e\u5f02\u5e38\uff01", e.fillInStackTrace()); |
|||
} |
|||
return dbList; |
|||
} |
|||
} |
@ -0,0 +1,96 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.http.sys.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class RongkeInfo |
|||
implements Serializable { |
|||
private static final long serialVersionUID = -4644991203691658628L; |
|||
private String id; |
|||
private String name; |
|||
private String imei; |
|||
|
|||
public boolean equals(Object o) { |
|||
if (o == this) { |
|||
return true; |
|||
} |
|||
if (!(o instanceof RongkeInfo)) { |
|||
return false; |
|||
} |
|||
RongkeInfo other = (RongkeInfo)o; |
|||
if (!other.canEqual(this)) { |
|||
return false; |
|||
} |
|||
String this$id = this.getId(); |
|||
String other$id = other.getId(); |
|||
if (this$id == null ? other$id != null : !this$id.equals(other$id)) { |
|||
return false; |
|||
} |
|||
String this$name = this.getName(); |
|||
String other$name = other.getName(); |
|||
if (this$name == null ? other$name != null : !this$name.equals(other$name)) { |
|||
return false; |
|||
} |
|||
String this$imei = this.getImei(); |
|||
String other$imei = other.getImei(); |
|||
return !(this$imei == null ? other$imei != null : !this$imei.equals(other$imei)); |
|||
} |
|||
|
|||
protected boolean canEqual(Object other) { |
|||
return other instanceof RongkeInfo; |
|||
} |
|||
|
|||
public int hashCode() { |
|||
int PRIME = 59; |
|||
int result = 1; |
|||
String $id = this.getId(); |
|||
result = result * 59 + ($id == null ? 43 : $id.hashCode()); |
|||
String $name = this.getName(); |
|||
result = result * 59 + ($name == null ? 43 : $name.hashCode()); |
|||
String $imei = this.getImei(); |
|||
result = result * 59 + ($imei == null ? 43 : $imei.hashCode()); |
|||
return result; |
|||
} |
|||
|
|||
public String toString() { |
|||
return "RongkeInfo(id=" + this.getId() + ", name=" + this.getName() + ", imei=" + this.getImei() + ")"; |
|||
} |
|||
|
|||
public void setId(String id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public void setName(String name) { |
|||
this.name = name; |
|||
} |
|||
|
|||
public void setImei(String imei) { |
|||
this.imei = imei; |
|||
} |
|||
|
|||
public String getId() { |
|||
return this.id; |
|||
} |
|||
|
|||
public String getName() { |
|||
return this.name; |
|||
} |
|||
|
|||
public String getImei() { |
|||
return this.imei; |
|||
} |
|||
|
|||
@ConstructorProperties(value={"id", "name", "imei"}) |
|||
public RongkeInfo(String id, String name, String imei) { |
|||
this.id = id; |
|||
this.name = name; |
|||
this.imei = imei; |
|||
} |
|||
|
|||
public RongkeInfo() { |
|||
} |
|||
} |
|||
|
@ -0,0 +1,147 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.http.sys.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class RongkeVo |
|||
implements Serializable { |
|||
private static final long serialVersionUID = -4644991203691658628L; |
|||
private String operateId; |
|||
private String uiSaveDataFlag; |
|||
private String msgCode; |
|||
private String msgContent; |
|||
private String msgType; |
|||
private String data; |
|||
|
|||
public boolean equals(Object o) { |
|||
if (o == this) { |
|||
return true; |
|||
} |
|||
if (!(o instanceof RongkeVo)) { |
|||
return false; |
|||
} |
|||
RongkeVo other = (RongkeVo)o; |
|||
if (!other.canEqual(this)) { |
|||
return false; |
|||
} |
|||
String this$operateId = this.getOperateId(); |
|||
String other$operateId = other.getOperateId(); |
|||
if (this$operateId == null ? other$operateId != null : !this$operateId.equals(other$operateId)) { |
|||
return false; |
|||
} |
|||
String this$uiSaveDataFlag = this.getUiSaveDataFlag(); |
|||
String other$uiSaveDataFlag = other.getUiSaveDataFlag(); |
|||
if (this$uiSaveDataFlag == null ? other$uiSaveDataFlag != null : !this$uiSaveDataFlag.equals(other$uiSaveDataFlag)) { |
|||
return false; |
|||
} |
|||
String this$msgCode = this.getMsgCode(); |
|||
String other$msgCode = other.getMsgCode(); |
|||
if (this$msgCode == null ? other$msgCode != null : !this$msgCode.equals(other$msgCode)) { |
|||
return false; |
|||
} |
|||
String this$msgContent = this.getMsgContent(); |
|||
String other$msgContent = other.getMsgContent(); |
|||
if (this$msgContent == null ? other$msgContent != null : !this$msgContent.equals(other$msgContent)) { |
|||
return false; |
|||
} |
|||
String this$msgType = this.getMsgType(); |
|||
String other$msgType = other.getMsgType(); |
|||
if (this$msgType == null ? other$msgType != null : !this$msgType.equals(other$msgType)) { |
|||
return false; |
|||
} |
|||
String this$data = this.getData(); |
|||
String other$data = other.getData(); |
|||
return !(this$data == null ? other$data != null : !this$data.equals(other$data)); |
|||
} |
|||
|
|||
protected boolean canEqual(Object other) { |
|||
return other instanceof RongkeVo; |
|||
} |
|||
|
|||
public int hashCode() { |
|||
int PRIME = 59; |
|||
int result = 1; |
|||
String $operateId = this.getOperateId(); |
|||
result = result * 59 + ($operateId == null ? 43 : $operateId.hashCode()); |
|||
String $uiSaveDataFlag = this.getUiSaveDataFlag(); |
|||
result = result * 59 + ($uiSaveDataFlag == null ? 43 : $uiSaveDataFlag.hashCode()); |
|||
String $msgCode = this.getMsgCode(); |
|||
result = result * 59 + ($msgCode == null ? 43 : $msgCode.hashCode()); |
|||
String $msgContent = this.getMsgContent(); |
|||
result = result * 59 + ($msgContent == null ? 43 : $msgContent.hashCode()); |
|||
String $msgType = this.getMsgType(); |
|||
result = result * 59 + ($msgType == null ? 43 : $msgType.hashCode()); |
|||
String $data = this.getData(); |
|||
result = result * 59 + ($data == null ? 43 : $data.hashCode()); |
|||
return result; |
|||
} |
|||
|
|||
public String toString() { |
|||
return "RongkeVo(operateId=" + this.getOperateId() + ", uiSaveDataFlag=" + this.getUiSaveDataFlag() + ", msgCode=" + this.getMsgCode() + ", msgContent=" + this.getMsgContent() + ", msgType=" + this.getMsgType() + ", data=" + this.getData() + ")"; |
|||
} |
|||
|
|||
public void setOperateId(String operateId) { |
|||
this.operateId = operateId; |
|||
} |
|||
|
|||
public void setUiSaveDataFlag(String uiSaveDataFlag) { |
|||
this.uiSaveDataFlag = uiSaveDataFlag; |
|||
} |
|||
|
|||
public void setMsgCode(String msgCode) { |
|||
this.msgCode = msgCode; |
|||
} |
|||
|
|||
public void setMsgContent(String msgContent) { |
|||
this.msgContent = msgContent; |
|||
} |
|||
|
|||
public void setMsgType(String msgType) { |
|||
this.msgType = msgType; |
|||
} |
|||
|
|||
public void setData(String data) { |
|||
this.data = data; |
|||
} |
|||
|
|||
public String getOperateId() { |
|||
return this.operateId; |
|||
} |
|||
|
|||
public String getUiSaveDataFlag() { |
|||
return this.uiSaveDataFlag; |
|||
} |
|||
|
|||
public String getMsgCode() { |
|||
return this.msgCode; |
|||
} |
|||
|
|||
public String getMsgContent() { |
|||
return this.msgContent; |
|||
} |
|||
|
|||
public String getMsgType() { |
|||
return this.msgType; |
|||
} |
|||
|
|||
public String getData() { |
|||
return this.data; |
|||
} |
|||
|
|||
@ConstructorProperties(value={"operateId", "uiSaveDataFlag", "msgCode", "msgContent", "msgType", "data"}) |
|||
public RongkeVo(String operateId, String uiSaveDataFlag, String msgCode, String msgContent, String msgType, String data) { |
|||
this.operateId = operateId; |
|||
this.uiSaveDataFlag = uiSaveDataFlag; |
|||
this.msgCode = msgCode; |
|||
this.msgContent = msgContent; |
|||
this.msgType = msgType; |
|||
this.data = data; |
|||
} |
|||
|
|||
public RongkeVo() { |
|||
} |
|||
} |
|||
|
@ -0,0 +1,67 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.interceptor; |
|||
|
|||
import net.sf.ehcache.Cache; |
|||
import net.sf.ehcache.Element; |
|||
import org.aopalliance.intercept.MethodInterceptor; |
|||
import org.aopalliance.intercept.MethodInvocation; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.springframework.beans.factory.InitializingBean; |
|||
import org.springframework.util.Assert; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
public class CacheInterceptor |
|||
implements MethodInterceptor, |
|||
InitializingBean { |
|||
private static final Log logger = LogFactory.getLog(CacheInterceptor.class); |
|||
private Cache cache; |
|||
|
|||
public void setCache(Cache cache) { |
|||
this.cache = cache; |
|||
} |
|||
|
|||
public Cache getCache() { |
|||
return this.cache; |
|||
} |
|||
|
|||
@Override |
|||
public Object invoke(MethodInvocation invocation) throws Throwable { |
|||
Object[] arguments; |
|||
String methodName; |
|||
String targetName = invocation.getThis().getClass().getName(); |
|||
String cacheKey = this.getCacheKey(targetName, methodName = invocation.getMethod().getName(), arguments = invocation.getArguments()); |
|||
Element element = this.cache.get((Serializable)((Object)cacheKey)); |
|||
if (element == null) { |
|||
logger.debug("\u7b2c\u4e00\u6b21\u8c03\u7528\u65b9\u6cd5\u5e76\u7f13\u5b58\u5176\u503c"); |
|||
Object result = invocation.proceed(); |
|||
element = new Element((Serializable)((Object)cacheKey), (Serializable)result); |
|||
this.cache.put(element); |
|||
} else { |
|||
logger.debug("\u4ece\u7f13\u5b58\u4e2d\u67e5\u8be2: " + this.cache.getName()); |
|||
} |
|||
return element.getValue(); |
|||
} |
|||
|
|||
protected String getCacheKey(String targetName, String methodName, Object[] arguments) { |
|||
StringBuffer sb = new StringBuffer(); |
|||
sb.append(targetName).append(".").append(methodName); |
|||
if (arguments != null && arguments.length != 0) { |
|||
int i = 0; |
|||
while (i < arguments.length) { |
|||
sb.append(".").append(arguments[i]); |
|||
++i; |
|||
} |
|||
} |
|||
return sb.toString(); |
|||
} |
|||
|
|||
@Override |
|||
public void afterPropertiesSet() throws Exception { |
|||
Assert.notNull(this.cache, "Need a cache. Please use setCache(Cache) create it."); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,52 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.interceptor; |
|||
|
|||
import net.sf.ehcache.Cache; |
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.springframework.aop.AfterReturningAdvice; |
|||
import org.springframework.beans.factory.InitializingBean; |
|||
import org.springframework.util.Assert; |
|||
|
|||
import java.io.Serializable; |
|||
import java.lang.reflect.Method; |
|||
import java.util.List; |
|||
|
|||
public class MethodCacheAfterAdvice |
|||
implements AfterReturningAdvice, |
|||
InitializingBean, |
|||
Serializable { |
|||
private static final Log logger = LogFactory.getLog(MethodCacheAfterAdvice.class); |
|||
private Cache cache; |
|||
|
|||
public void setCache(Cache cache) { |
|||
this.cache = cache; |
|||
} |
|||
|
|||
public Cache getCache() { |
|||
return this.cache; |
|||
} |
|||
|
|||
@Override |
|||
public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable { |
|||
String className = arg3.getClass().getName(); |
|||
List list = this.cache.getKeys(); |
|||
int i = 0; |
|||
while (i < list.size()) { |
|||
String cacheKey = String.valueOf(list.get(i)); |
|||
if (cacheKey.startsWith(className)) { |
|||
this.cache.remove((Serializable)((Object)cacheKey)); |
|||
logger.debug("remove cache " + cacheKey); |
|||
} |
|||
++i; |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void afterPropertiesSet() throws Exception { |
|||
Assert.notNull(this.cache, "Need a cache. Please use setCache(Cache) create it."); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,96 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.interceptor; |
|||
|
|||
import org.apache.commons.logging.Log; |
|||
import org.apache.commons.logging.LogFactory; |
|||
import org.apache.ibatis.executor.statement.StatementHandler; |
|||
import org.apache.ibatis.plugin.*; |
|||
import org.apache.ibatis.reflection.MetaObject; |
|||
import org.apache.ibatis.reflection.factory.DefaultObjectFactory; |
|||
import org.apache.ibatis.reflection.factory.ObjectFactory; |
|||
import org.apache.ibatis.reflection.wrapper.DefaultObjectWrapperFactory; |
|||
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory; |
|||
import org.apache.ibatis.scripting.defaults.DefaultParameterHandler; |
|||
import org.apache.ibatis.session.RowBounds; |
|||
|
|||
import java.sql.Connection; |
|||
import java.util.Map; |
|||
import java.util.Properties; |
|||
import java.util.regex.Matcher; |
|||
import java.util.regex.Pattern; |
|||
|
|||
@Intercepts(value={@Signature(type=StatementHandler.class, method="prepare", args={Connection.class})}) |
|||
public class PaginationInterceptor |
|||
implements Interceptor { |
|||
private static Log log = LogFactory.getLog(PaginationInterceptor.class); |
|||
public static final String QUERY_PAGED_FLAG = "_QUERY_PAGED_FLAG_"; |
|||
public static final String QUERY_COUNT_FLAG = "_QUERY_COUNT_FLAG_"; |
|||
private String pagedSqlid; |
|||
private static final ObjectFactory DEFAULT_OBJECT_FACTORY = new DefaultObjectFactory(); |
|||
private static final ObjectWrapperFactory DEFAULT_OBJECT_WRAPPER_FACTORY = new DefaultObjectWrapperFactory(); |
|||
|
|||
@Override |
|||
public Object intercept(Invocation invocation) throws Throwable { |
|||
StatementHandler statementHandler = (StatementHandler)invocation.getTarget(); |
|||
MetaObject metaStatementHandler = MetaObject.forObject(statementHandler, DEFAULT_OBJECT_FACTORY, DEFAULT_OBJECT_WRAPPER_FACTORY); |
|||
String sqlid = (String)metaStatementHandler.getValue("delegate.mappedStatement.id"); |
|||
if (!this.validSqlid(sqlid)) { |
|||
return invocation.proceed(); |
|||
} |
|||
DefaultParameterHandler defaultParameterHandler = (DefaultParameterHandler)metaStatementHandler.getValue("delegate.parameterHandler"); |
|||
Object paramObject = defaultParameterHandler.getParameterObject(); |
|||
if (!(paramObject instanceof Map)) { |
|||
return invocation.proceed(); |
|||
} |
|||
Map parameterMap = (Map)defaultParameterHandler.getParameterObject(); |
|||
String originalSql = (String)metaStatementHandler.getValue("delegate.boundSql.sql"); |
|||
if (parameterMap.containsKey(QUERY_COUNT_FLAG) && parameterMap.get(QUERY_COUNT_FLAG) != null) { |
|||
log.debug("\u5206\u9875\u67e5\u8be2\uff0c\u7edf\u8ba1\u603b\u6570"); |
|||
metaStatementHandler.setValue("delegate.boundSql.sql", this.getCountSql(originalSql)); |
|||
} else if (parameterMap.containsKey(QUERY_PAGED_FLAG) && parameterMap.get(QUERY_PAGED_FLAG) != null) { |
|||
RowBounds rowBounds = (RowBounds)metaStatementHandler.getValue("delegate.rowBounds"); |
|||
log.debug("\u5206\u9875\u67e5\u8be2\uff0c[" + rowBounds.getOffset() + "," + rowBounds.getLimit() + "]"); |
|||
metaStatementHandler.setValue("delegate.boundSql.sql", this.getPagedSql(originalSql, rowBounds.getOffset(), rowBounds.getLimit())); |
|||
metaStatementHandler.setValue("delegate.rowBounds.offset", 0); |
|||
metaStatementHandler.setValue("delegate.rowBounds.limit", Integer.MAX_VALUE); |
|||
} |
|||
return invocation.proceed(); |
|||
} |
|||
|
|||
@Override |
|||
public Object plugin(Object target) { |
|||
if (target instanceof StatementHandler) { |
|||
return Plugin.wrap(target, this); |
|||
} |
|||
return target; |
|||
} |
|||
|
|||
@Override |
|||
public void setProperties(Properties properties) { |
|||
this.pagedSqlid = properties.getProperty("pagedSqlid", "\\.(qry|query|select|get)"); |
|||
log.debug(properties); |
|||
} |
|||
|
|||
private String getPagedSql(String originalSql, int offset, int limit) { |
|||
StringBuffer sql = new StringBuffer(originalSql.length() + 100); |
|||
sql.append("SELECT ROW2_.* FROM (SELECT ROW_.*, row_number() over() ROWNUM_ FROM ("); |
|||
sql.append(originalSql); |
|||
sql.append(") ROW_)ROW2_ WHERE ROW2_.ROWNUM_ >" + offset); |
|||
sql.append(" and ROW2_.ROWNUM_ <=" + (offset + limit)); |
|||
return sql.toString(); |
|||
} |
|||
|
|||
private String getCountSql(String originalSql) { |
|||
String countSql = "SELECT COUNT(0) AS CNT_TOTAL FROM (" + originalSql + ") CT__"; |
|||
return countSql; |
|||
} |
|||
|
|||
private boolean validSqlid(String sqlid) { |
|||
Pattern pattern = Pattern.compile(this.pagedSqlid); |
|||
Matcher matcher = pattern.matcher(sqlid); |
|||
return matcher.find(); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,17 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.interceptor; |
|||
|
|||
import com.zhichenhaixin.base.dao.impl.BaseDaoImpl; |
|||
|
|||
public class QuartzTask |
|||
extends BaseDaoImpl { |
|||
public void intervalometer() { |
|||
this.log.info("quartz start!"); |
|||
long now = System.currentTimeMillis(); |
|||
long alter = System.currentTimeMillis(); |
|||
this.log.info("quartz stop! ------------------->total time use: " + (alter - now)); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
/* |
|||
* Decompiled with CFR 0.152. |
|||
*/ |
|||
package com.zhichenhaixin.interceptor; |
|||
|
|||
import java.lang.annotation.*; |
|||
|
|||
@Target(value={ElementType.METHOD}) |
|||
@Retention(value=RetentionPolicy.RUNTIME) |
|||
@Documented |
|||
public @interface RequiredInterceptor { |
|||
public boolean required() default true; |
|||
} |
|||
|
@ -0,0 +1,34 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.dao; |
|||
|
|||
import com.zhichenhaixin.base.dao.BaseDao; |
|||
import com.zhichenhaixin.list.model.AlarmInfoSearch; |
|||
import com.zhichenhaixin.list.model.StatisticsInfo; |
|||
import com.zhichenhaixin.sys.model.WarnComposeVideoVo; |
|||
import com.zhichenhaixin.sys.model.WarnInfoBean; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface DbAlarmInfoDao extends BaseDao |
|||
{ |
|||
StatisticsInfo getStatistics(final AlarmInfoSearch p0); |
|||
|
|||
List<WarnInfoBean> selectWarnAll(final AlarmInfoSearch p0); |
|||
|
|||
int selectWarnAlarmCount(final AlarmInfoSearch p0); |
|||
|
|||
StatisticsInfo getStatisticsRadar(final AlarmInfoSearch p0); |
|||
|
|||
List<WarnInfoBean> selectWarnAllRadar(final AlarmInfoSearch p0); |
|||
|
|||
int selectWarnAlarmCountRadar(final AlarmInfoSearch p0); |
|||
|
|||
void andComposeVideo(final WarnComposeVideoVo p0); |
|||
|
|||
List<WarnComposeVideoVo> queryComposeVideo(final String p0); |
|||
|
|||
String queryCamTime(final String p0); |
|||
} |
@ -0,0 +1,23 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.dao; |
|||
|
|||
import com.zhichenhaixin.list.model.ClsDev; |
|||
import com.zhichenhaixin.list.model.SmsDev; |
|||
import com.zhichenhaixin.list.model.VasDev; |
|||
import com.zhichenhaixin.list.model.WmsDev; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface DbDeviceDao |
|||
{ |
|||
List<ClsDev> selectAllClsDev(); |
|||
|
|||
List<SmsDev> selectAllSmsDev(); |
|||
|
|||
List<VasDev> selectAllVasDev(); |
|||
|
|||
List<WmsDev> selectAllWmsDev(); |
|||
} |
@ -0,0 +1,19 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.dao; |
|||
|
|||
import com.zhichenhaixin.list.model.ResMsg; |
|||
import com.zhichenhaixin.list.model.SiteInfo; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface DbSiteInfoDao |
|||
{ |
|||
ResMsg insertSiteInfo(final SiteInfo p0); |
|||
|
|||
List<SiteInfo> selectAllSiteInfo(); |
|||
|
|||
ResMsg delSiteInfo(final SiteInfo p0); |
|||
} |
@ -0,0 +1,258 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.dao.impl; |
|||
|
|||
import com.zhichenhaixin.base.constant.Constant; |
|||
import com.zhichenhaixin.base.dao.impl.BaseDaoImpl; |
|||
import com.zhichenhaixin.base.util.HttpUtils; |
|||
import com.zhichenhaixin.base.util.StringUtil; |
|||
import com.zhichenhaixin.cache.util.WarnAlarmCountEhcache; |
|||
import com.zhichenhaixin.list.dao.DbAlarmInfoDao; |
|||
import com.zhichenhaixin.list.model.AlarmInfoSearch; |
|||
import com.zhichenhaixin.list.model.StatisticsInfo; |
|||
import com.zhichenhaixin.list.model.StatisticsVo; |
|||
import com.zhichenhaixin.sys.model.WarnComposeVideoVo; |
|||
import com.zhichenhaixin.sys.model.WarnInfoBean; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Repository("dbAlarmInfoDaoImpl") |
|||
public class DbAlarmInfoDaoImpl extends BaseDaoImpl implements DbAlarmInfoDao |
|||
{ |
|||
@Override |
|||
public List<WarnInfoBean> selectWarnAll(final AlarmInfoSearch record) { |
|||
final Map<String, Object> param = new HashMap<String, Object>(); |
|||
param.put("nBeginTime", record.getNBeginTime()); |
|||
param.put("nEndTime", record.getNEndTime()); |
|||
param.put("t", String.valueOf(record.getT())); |
|||
param.put("strSiteName", record.getStrSiteName()); |
|||
param.put("cameraName", record.getCameraName()); |
|||
param.put("handler", record.getHandler()); |
|||
param.put("handleStatus", record.getHandleStatus()); |
|||
param.put("curPage", record.getCurPage()); |
|||
param.put("size", record.getSize()); |
|||
final List<WarnInfoBean> selectList = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectWarnAll", param); |
|||
for (final WarnInfoBean warnInfoBean : selectList) { |
|||
final List<WarnComposeVideoVo> list = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectWarnComposeVideoNoFalseAlarm", warnInfoBean.getId()); |
|||
warnInfoBean.setCompose_Video_list(list); |
|||
} |
|||
return selectList; |
|||
} |
|||
|
|||
@Override |
|||
public int selectWarnAlarmCount(final AlarmInfoSearch record) { |
|||
final Map<String, Object> param = new HashMap<String, Object>(); |
|||
param.put("nBeginTime", record.getNBeginTime()); |
|||
param.put("nEndTime", record.getNEndTime()); |
|||
param.put("t", String.valueOf(record.getT())); |
|||
param.put("strSiteName", record.getStrSiteName()); |
|||
param.put("cameraName", record.getCameraName()); |
|||
param.put("handler", record.getHandler()); |
|||
param.put("handleStatus", record.getHandleStatus()); |
|||
final int selectOne = this.pg_template.selectOne("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectWarnAllByNum", param); |
|||
return selectOne; |
|||
} |
|||
|
|||
@Override |
|||
public StatisticsInfo getStatistics(final AlarmInfoSearch record) { |
|||
final StatisticsInfo statisticsInfo = new StatisticsInfo(); |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
map.put("type", record.getType()); |
|||
map.put("begin_time", record.getNBeginTime()); |
|||
map.put("end_time", record.getNEndTime()); |
|||
map.put("sitename", record.getStrSiteName()); |
|||
map.put("camera_name", record.getCameraName()); |
|||
map.put("handler", record.getHandler()); |
|||
map.put("handle_status", record.getHandleStatus()); |
|||
map.put("t", String.valueOf(record.getT())); |
|||
if (record.getType() == 3) { |
|||
final StatisticsVo statisticsVo = this.pg_template.selectOne("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectMaxMinTime", map); |
|||
final String[] max = statisticsVo.getMax().split("-"); |
|||
final String[] min = statisticsVo.getMin().split("-"); |
|||
if (max[2].equals(min[2])) { |
|||
map.put("moldtype", "hh24:00:00"); |
|||
} |
|||
else if (max[1].equals(min[1])) { |
|||
map.put("moldtype", "YYYY-MM-DD"); |
|||
} |
|||
else if (max[0].equals(min[0])) { |
|||
map.put("moldtype", "YYYY-MM"); |
|||
} |
|||
else { |
|||
map.put("moldtype", "YYYY"); |
|||
} |
|||
} |
|||
final List<StatisticsVo> selectList = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectByGroupByNum", map); |
|||
final Map<String, Integer> map2 = new HashMap<String, Integer>(); |
|||
for (final StatisticsVo statisticsVo2 : selectList) { |
|||
if (StringUtil.notBlank(statisticsVo2.getKey())) { |
|||
map2.put(statisticsVo2.getKey(), statisticsVo2.getNumber()); |
|||
} |
|||
} |
|||
statisticsInfo.setKey_number(map2); |
|||
return statisticsInfo; |
|||
} |
|||
|
|||
@Override |
|||
public List<WarnInfoBean> selectWarnAllRadar(final AlarmInfoSearch record) { |
|||
final Map<String, Object> param = new HashMap<String, Object>(); |
|||
param.put("nBeginTime", record.getNBeginTime()); |
|||
param.put("nEndTime", record.getNEndTime()); |
|||
param.put("t", String.valueOf(record.getT())); |
|||
param.put("strSiteName", record.getStrSiteName()); |
|||
param.put("cameraName", record.getCameraName()); |
|||
param.put("handler", record.getHandler()); |
|||
param.put("handleStatus", record.getHandleStatus()); |
|||
param.put("curPage", record.getCurPage()); |
|||
param.put("size", record.getSize()); |
|||
final List<WarnInfoBean> selectList = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectRadarWarnAll", param); |
|||
for (final WarnInfoBean warnInfoBean : selectList) { |
|||
final List<WarnComposeVideoVo> list = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectWarnComposeVideoNoFalseAlarm", warnInfoBean.getId()); |
|||
warnInfoBean.setCompose_Video_list(list); |
|||
} |
|||
return selectList; |
|||
} |
|||
|
|||
@Override |
|||
public int selectWarnAlarmCountRadar(final AlarmInfoSearch record) { |
|||
final Map<String, Object> param = new HashMap<String, Object>(); |
|||
param.put("nBeginTime", record.getNBeginTime()); |
|||
param.put("nEndTime", record.getNEndTime()); |
|||
param.put("t", String.valueOf(record.getT())); |
|||
param.put("strSiteName", record.getStrSiteName()); |
|||
param.put("cameraName", record.getCameraName()); |
|||
param.put("handler", record.getHandler()); |
|||
param.put("handleStatus", record.getHandleStatus()); |
|||
final int selectOne = this.pg_template.selectOne("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectRadarWarnAllByNum", param); |
|||
return selectOne; |
|||
} |
|||
|
|||
@Override |
|||
public StatisticsInfo getStatisticsRadar(final AlarmInfoSearch record) { |
|||
final StatisticsInfo statisticsInfo = new StatisticsInfo(); |
|||
final Map<String, Object> map = new HashMap<String, Object>(); |
|||
map.put("type", record.getType()); |
|||
map.put("begin_time", record.getNBeginTime()); |
|||
map.put("end_time", record.getNEndTime()); |
|||
map.put("sitename", record.getStrSiteName()); |
|||
map.put("camera_name", record.getCameraName()); |
|||
map.put("handler", record.getHandler()); |
|||
map.put("handle_status", record.getHandleStatus()); |
|||
map.put("t", String.valueOf(record.getT())); |
|||
if (record.getType() == 3) { |
|||
final StatisticsVo statisticsVo = this.pg_template.selectOne("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectRadarMaxMinTime", map); |
|||
final String[] max = statisticsVo.getMax().split("-"); |
|||
final String[] min = statisticsVo.getMin().split("-"); |
|||
if (max[2].equals(min[2])) { |
|||
map.put("moldtype", "hh24:00:00"); |
|||
} |
|||
else if (max[1].equals(min[1])) { |
|||
map.put("moldtype", "YYYY-MM-DD"); |
|||
} |
|||
else if (max[0].equals(min[0])) { |
|||
map.put("moldtype", "YYYY-MM"); |
|||
} |
|||
else { |
|||
map.put("moldtype", "YYYY"); |
|||
} |
|||
} |
|||
final List<StatisticsVo> selectList = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectRadarByGroupByNum", map); |
|||
final Map<String, Integer> map2 = new HashMap<String, Integer>(); |
|||
for (final StatisticsVo statisticsVo2 : selectList) { |
|||
if (StringUtil.notBlank(statisticsVo2.getKey())) { |
|||
map2.put(statisticsVo2.getKey(), statisticsVo2.getNumber()); |
|||
} |
|||
} |
|||
statisticsInfo.setKey_number(map2); |
|||
return statisticsInfo; |
|||
} |
|||
|
|||
public void saveWarnRecord(final WarnInfoBean bean) { |
|||
final WarnInfoBean warnId = this.queryWarnId(bean.getId()); |
|||
if (warnId != null) { |
|||
return; |
|||
} |
|||
final String time = String.valueOf(bean.getBegintime()); |
|||
final long date = Long.valueOf(time); |
|||
final long begintime = (time.length() == 13) ? (date / 1000L) : date; |
|||
bean.setBegintime(begintime); |
|||
this.pg_template.insert("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.insertWarnInfoBean", bean); |
|||
bean.setSign("1"); |
|||
bean.setAlarm_status("3"); |
|||
bean.setUntreated_alarm_count(WarnAlarmCountEhcache.get() + 1); |
|||
Constant.sendClient(bean); |
|||
bean.setRtsp(null); |
|||
HttpUtils.sendWarnToRongKe(bean); |
|||
} |
|||
|
|||
public void saveWarn(final WarnInfoBean bean) { |
|||
final WarnInfoBean warnId = this.queryWarnId(bean.getId()); |
|||
if (warnId != null) { |
|||
return; |
|||
} |
|||
final String time = String.valueOf(bean.getBegintime()); |
|||
final long date = Long.valueOf(time); |
|||
final long begintime = (time.length() == 13) ? (date / 1000L) : date; |
|||
bean.setBegintime(begintime); |
|||
this.pg_template.insert("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.insertWarnInfoBean", bean); |
|||
} |
|||
|
|||
public void updateWarnStatus(final WarnInfoBean vo) { |
|||
this.pg_template.update("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.updateWarnStatus", vo); |
|||
} |
|||
|
|||
public WarnInfoBean queryWarnId(final String id) { |
|||
final List<WarnInfoBean> selectList = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.queryWarnId", id); |
|||
return (selectList != null && selectList.size() > 0) ? selectList.get(0) : null; |
|||
} |
|||
|
|||
public void updateWarnParam(final WarnInfoBean bean) { |
|||
this.pg_template.update("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.updateWarnParam", bean); |
|||
} |
|||
|
|||
@Override |
|||
public void andComposeVideo(final WarnComposeVideoVo vo) { |
|||
final WarnInfoBean warnId = this.queryWarnId(vo.getAlarm_id()); |
|||
if (warnId == null) { |
|||
return; |
|||
} |
|||
final List<WarnComposeVideoVo> list = this.queryComposeVideo(vo.getAlarm_id()); |
|||
for (final WarnComposeVideoVo warnComposeVideoVo : list) { |
|||
if (warnComposeVideoVo.getRtsp() != null && warnComposeVideoVo.getRtsp().equals(vo.getRtsp())) { |
|||
return; |
|||
} |
|||
if (warnComposeVideoVo.getFalse_alarm_rtsp() != null && warnComposeVideoVo.getFalse_alarm_rtsp().equals(vo.getFalse_alarm_rtsp())) { |
|||
return; |
|||
} |
|||
} |
|||
this.pg_template.insert("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.insertComposeVideo", vo); |
|||
if (StringUtil.notBlank(vo.getFalse_alarm_rtsp())) { |
|||
return; |
|||
} |
|||
WarnAlarmCountEhcache.put(WarnAlarmCountEhcache.get() + 1); |
|||
} |
|||
|
|||
@Override |
|||
public List<WarnComposeVideoVo> queryComposeVideo(final String alarm_id) { |
|||
final List<WarnComposeVideoVo> list = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.selectWarnComposeVideo", alarm_id); |
|||
return list; |
|||
} |
|||
|
|||
public void initWarnAlarmCount() { |
|||
final AlarmInfoSearch record = new AlarmInfoSearch(); |
|||
record.setHandleStatus(2); |
|||
final int count = this.selectWarnAlarmCount(record); |
|||
WarnAlarmCountEhcache.put(count); |
|||
} |
|||
|
|||
@Override |
|||
public String queryCamTime(final String camera_id) { |
|||
final String time = this.pg_template.selectOne("com.com.zhichenhaixin.list.dao.DbAlarmInfoDao.queryCamTime", camera_id); |
|||
return time; |
|||
} |
|||
} |
@ -0,0 +1,39 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.dao.impl; |
|||
|
|||
import com.zhichenhaixin.base.dao.impl.BaseDaoImpl; |
|||
import com.zhichenhaixin.list.dao.DbDeviceDao; |
|||
import com.zhichenhaixin.list.model.ClsDev; |
|||
import com.zhichenhaixin.list.model.SmsDev; |
|||
import com.zhichenhaixin.list.model.VasDev; |
|||
import com.zhichenhaixin.list.model.WmsDev; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Repository("dbDeviceDaoImpl") |
|||
public class DbDeviceDaoImpl extends BaseDaoImpl implements DbDeviceDao |
|||
{ |
|||
@Override |
|||
public List<ClsDev> selectAllClsDev() { |
|||
return this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbClsDeviceDao.selectAll"); |
|||
} |
|||
|
|||
@Override |
|||
public List<SmsDev> selectAllSmsDev() { |
|||
return this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbSmsDeviceDao.selectAll"); |
|||
} |
|||
|
|||
@Override |
|||
public List<VasDev> selectAllVasDev() { |
|||
return this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbVasDeviceDao.selectAll"); |
|||
} |
|||
|
|||
@Override |
|||
public List<WmsDev> selectAllWmsDev() { |
|||
return this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbWmsDeviceDao.selectAll"); |
|||
} |
|||
} |
@ -0,0 +1,65 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.dao.impl; |
|||
|
|||
import com.zhichenhaixin.base.dao.impl.BaseDaoImpl; |
|||
import com.zhichenhaixin.list.dao.DbSiteInfoDao; |
|||
import com.zhichenhaixin.list.model.ResMsg; |
|||
import com.zhichenhaixin.list.model.SiteInfo; |
|||
import com.zhichenhaixin.sys.model.CameraInfo; |
|||
import org.springframework.cache.annotation.CacheEvict; |
|||
import org.springframework.cache.annotation.Cacheable; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Repository("dbSiteInfoDaoImpl") |
|||
public class DbSiteInfoDaoImpl extends BaseDaoImpl implements DbSiteInfoDao |
|||
{ |
|||
@CacheEvict(value = { "daoCache" }, allEntries = true) |
|||
@Override |
|||
public ResMsg insertSiteInfo(final SiteInfo record) { |
|||
final ResMsg msg = new ResMsg(); |
|||
List<SiteInfo> list = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbSiteInfoDao.selectByPrimaryKey", record.getSbid()); |
|||
if (list != null && list.size() > 0) { |
|||
msg.setCode(1); |
|||
msg.setMsg("\u7f16\u53f7\u5df2\u7ecf\u5b58\u5728\uff01"); |
|||
return msg; |
|||
} |
|||
list = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbSiteInfoDao.selectByPrimaryName", record.getName()); |
|||
if (list != null && list.size() > 0) { |
|||
msg.setCode(1); |
|||
msg.setMsg("\u7ad9\u70b9\u540d\u79f0\u5df2\u7ecf\u5b58\u5728\uff01"); |
|||
return msg; |
|||
} |
|||
this.pg_template.insert("com.com.zhichenhaixin.list.dao.DbSiteInfoDao.insert", record); |
|||
msg.setCode(0); |
|||
msg.setMsg("\u76f8\u673a\u7ad9\u70b9\u6dfb\u52a0\u6210\u529f\uff01"); |
|||
return msg; |
|||
} |
|||
|
|||
@Cacheable(value = { "daoCache" }, key = "#root.methodName") |
|||
@Override |
|||
public List<SiteInfo> selectAllSiteInfo() { |
|||
final List<SiteInfo> list = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbSiteInfoDao.selectAll"); |
|||
return list; |
|||
} |
|||
|
|||
@CacheEvict(value = { "daoCache" }, allEntries = true) |
|||
@Override |
|||
public ResMsg delSiteInfo(final SiteInfo info) { |
|||
final ResMsg msg = new ResMsg(); |
|||
final List<CameraInfo> list = this.pg_template.selectList("com.com.zhichenhaixin.list.dao.DbSiteInfoDao.queryIsCamera", info); |
|||
if (list != null && list.size() > 0) { |
|||
msg.setCode(0); |
|||
msg.setMsg("\u76f8\u673a\u6746\u6709\u76f8\u673a\u5b58\u5728\uff0c\u65e0\u6cd5\u5220\u9664\u76f8\u673a\u6746"); |
|||
return msg; |
|||
} |
|||
this.pg_template.delete("com.com.zhichenhaixin.list.dao.DbSiteInfoDao.deleteSiteInfo", info); |
|||
msg.setCode(0); |
|||
msg.setMsg("\u76f8\u673a\u6746\u5220\u9664\u6210\u529f"); |
|||
return msg; |
|||
} |
|||
} |
@ -0,0 +1,102 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.model; |
|||
|
|||
import com.zhichenhaixin.base.model.ReqPage; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class AlarmInfoSearch extends ReqPage implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = 1049469804934728000L; |
|||
private int nBeginTime; |
|||
private int nEndTime; |
|||
private int t; |
|||
private String strSiteName; |
|||
private String cameraName; |
|||
private String handler; |
|||
private int handleStatus; |
|||
private int type; |
|||
|
|||
public void setNBeginTime(final int nBeginTime) { |
|||
this.nBeginTime = nBeginTime; |
|||
} |
|||
|
|||
public void setNEndTime(final int nEndTime) { |
|||
this.nEndTime = nEndTime; |
|||
} |
|||
|
|||
public void setT(final int t) { |
|||
this.t = t; |
|||
} |
|||
|
|||
public void setStrSiteName(final String strSiteName) { |
|||
this.strSiteName = strSiteName; |
|||
} |
|||
|
|||
public void setCameraName(final String cameraName) { |
|||
this.cameraName = cameraName; |
|||
} |
|||
|
|||
public void setHandler(final String handler) { |
|||
this.handler = handler; |
|||
} |
|||
|
|||
public void setHandleStatus(final int handleStatus) { |
|||
this.handleStatus = handleStatus; |
|||
} |
|||
|
|||
public void setType(final int type) { |
|||
this.type = type; |
|||
} |
|||
|
|||
public int getNBeginTime() { |
|||
return this.nBeginTime; |
|||
} |
|||
|
|||
public int getNEndTime() { |
|||
return this.nEndTime; |
|||
} |
|||
|
|||
public int getT() { |
|||
return this.t; |
|||
} |
|||
|
|||
public String getStrSiteName() { |
|||
return this.strSiteName; |
|||
} |
|||
|
|||
public String getCameraName() { |
|||
return this.cameraName; |
|||
} |
|||
|
|||
public String getHandler() { |
|||
return this.handler; |
|||
} |
|||
|
|||
public int getHandleStatus() { |
|||
return this.handleStatus; |
|||
} |
|||
|
|||
public int getType() { |
|||
return this.type; |
|||
} |
|||
|
|||
@ConstructorProperties({ "nBeginTime", "nEndTime", "t", "strSiteName", "cameraName", "handler", "handleStatus", "type" }) |
|||
public AlarmInfoSearch(final int nBeginTime, final int nEndTime, final int t, final String strSiteName, final String cameraName, final String handler, final int handleStatus, final int type) { |
|||
this.nBeginTime = nBeginTime; |
|||
this.nEndTime = nEndTime; |
|||
this.t = t; |
|||
this.strSiteName = strSiteName; |
|||
this.cameraName = cameraName; |
|||
this.handler = handler; |
|||
this.handleStatus = handleStatus; |
|||
this.type = type; |
|||
} |
|||
|
|||
public AlarmInfoSearch() { |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.model; |
|||
|
|||
import com.zhichenhaixin.base.model.ResPage; |
|||
import com.zhichenhaixin.sys.model.WarnInfoBean; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
public class AlarmListDto extends ResPage<WarnInfoBean> implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = 3034377749571056719L; |
|||
} |
@ -0,0 +1,201 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class ClsDev implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = 5468774681646446079L; |
|||
private int nDBID; |
|||
private int nPort; |
|||
private String szName; |
|||
private String szDesc; |
|||
private String szIP; |
|||
private String szUid; |
|||
private String szPwd; |
|||
|
|||
@Override |
|||
public boolean equals(final Object o) { |
|||
if (o == this) { |
|||
return true; |
|||
} |
|||
if (!(o instanceof ClsDev)) { |
|||
return false; |
|||
} |
|||
final ClsDev other = (ClsDev)o; |
|||
if (!other.canEqual(this)) { |
|||
return false; |
|||
} |
|||
if (this.getNDBID() != other.getNDBID()) { |
|||
return false; |
|||
} |
|||
if (this.getNPort() != other.getNPort()) { |
|||
return false; |
|||
} |
|||
final Object this$szName = this.getSzName(); |
|||
final Object other$szName = other.getSzName(); |
|||
Label_0091: { |
|||
if (this$szName == null) { |
|||
if (other$szName == null) { |
|||
break Label_0091; |
|||
} |
|||
} |
|||
else if (this$szName.equals(other$szName)) { |
|||
break Label_0091; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$szDesc = this.getSzDesc(); |
|||
final Object other$szDesc = other.getSzDesc(); |
|||
Label_0128: { |
|||
if (this$szDesc == null) { |
|||
if (other$szDesc == null) { |
|||
break Label_0128; |
|||
} |
|||
} |
|||
else if (this$szDesc.equals(other$szDesc)) { |
|||
break Label_0128; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$szIP = this.getSzIP(); |
|||
final Object other$szIP = other.getSzIP(); |
|||
Label_0165: { |
|||
if (this$szIP == null) { |
|||
if (other$szIP == null) { |
|||
break Label_0165; |
|||
} |
|||
} |
|||
else if (this$szIP.equals(other$szIP)) { |
|||
break Label_0165; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$szUid = this.getSzUid(); |
|||
final Object other$szUid = other.getSzUid(); |
|||
Label_0202: { |
|||
if (this$szUid == null) { |
|||
if (other$szUid == null) { |
|||
break Label_0202; |
|||
} |
|||
} |
|||
else if (this$szUid.equals(other$szUid)) { |
|||
break Label_0202; |
|||
} |
|||
return false; |
|||
} |
|||
final Object this$szPwd = this.getSzPwd(); |
|||
final Object other$szPwd = other.getSzPwd(); |
|||
if (this$szPwd == null) { |
|||
if (other$szPwd == null) { |
|||
return true; |
|||
} |
|||
} |
|||
else if (this$szPwd.equals(other$szPwd)) { |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
protected boolean canEqual(final Object other) { |
|||
return other instanceof ClsDev; |
|||
} |
|||
|
|||
@Override |
|||
public int hashCode() { |
|||
final int PRIME = 59; |
|||
int result = 1; |
|||
result = result * 59 + this.getNDBID(); |
|||
result = result * 59 + this.getNPort(); |
|||
final Object $szName = this.getSzName(); |
|||
result = result * 59 + (($szName == null) ? 43 : $szName.hashCode()); |
|||
final Object $szDesc = this.getSzDesc(); |
|||
result = result * 59 + (($szDesc == null) ? 43 : $szDesc.hashCode()); |
|||
final Object $szIP = this.getSzIP(); |
|||
result = result * 59 + (($szIP == null) ? 43 : $szIP.hashCode()); |
|||
final Object $szUid = this.getSzUid(); |
|||
result = result * 59 + (($szUid == null) ? 43 : $szUid.hashCode()); |
|||
final Object $szPwd = this.getSzPwd(); |
|||
result = result * 59 + (($szPwd == null) ? 43 : $szPwd.hashCode()); |
|||
return result; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "ClsDev(nDBID=" + this.getNDBID() + ", nPort=" + this.getNPort() + ", szName=" + this.getSzName() + ", szDesc=" + this.getSzDesc() + ", szIP=" + this.getSzIP() + ", szUid=" + this.getSzUid() + ", szPwd=" + this.getSzPwd() + ")"; |
|||
} |
|||
|
|||
public void setNDBID(final int nDBID) { |
|||
this.nDBID = nDBID; |
|||
} |
|||
|
|||
public void setNPort(final int nPort) { |
|||
this.nPort = nPort; |
|||
} |
|||
|
|||
public void setSzName(final String szName) { |
|||
this.szName = szName; |
|||
} |
|||
|
|||
public void setSzDesc(final String szDesc) { |
|||
this.szDesc = szDesc; |
|||
} |
|||
|
|||
public void setSzIP(final String szIP) { |
|||
this.szIP = szIP; |
|||
} |
|||
|
|||
public void setSzUid(final String szUid) { |
|||
this.szUid = szUid; |
|||
} |
|||
|
|||
public void setSzPwd(final String szPwd) { |
|||
this.szPwd = szPwd; |
|||
} |
|||
|
|||
public int getNDBID() { |
|||
return this.nDBID; |
|||
} |
|||
|
|||
public int getNPort() { |
|||
return this.nPort; |
|||
} |
|||
|
|||
public String getSzName() { |
|||
return this.szName; |
|||
} |
|||
|
|||
public String getSzDesc() { |
|||
return this.szDesc; |
|||
} |
|||
|
|||
public String getSzIP() { |
|||
return this.szIP; |
|||
} |
|||
|
|||
public String getSzUid() { |
|||
return this.szUid; |
|||
} |
|||
|
|||
public String getSzPwd() { |
|||
return this.szPwd; |
|||
} |
|||
|
|||
@ConstructorProperties({ "nDBID", "nPort", "szName", "szDesc", "szIP", "szUid", "szPwd" }) |
|||
public ClsDev(final int nDBID, final int nPort, final String szName, final String szDesc, final String szIP, final String szUid, final String szPwd) { |
|||
this.nDBID = nDBID; |
|||
this.nPort = nPort; |
|||
this.szName = szName; |
|||
this.szDesc = szDesc; |
|||
this.szIP = szIP; |
|||
this.szUid = szUid; |
|||
this.szPwd = szPwd; |
|||
} |
|||
|
|||
public ClsDev() { |
|||
} |
|||
} |
@ -0,0 +1,87 @@ |
|||
//
|
|||
// Decompiled by Procyon v0.5.36
|
|||
//
|
|||
|
|||
package com.zhichenhaixin.list.model; |
|||
|
|||
import java.beans.ConstructorProperties; |
|||
import java.io.Serializable; |
|||
|
|||
public class ResMsg implements Serializable |
|||
{ |
|||
private static final long serialVersionUID = -2906951484469395361L; |
|||
private int code; |
|||
private String msg; |
|||
|
|||
@Override |
|||
public boolean equals(final Object o) { |
|||
if (o == this) { |
|||
return true; |
|||
} |
|||
if (!(o instanceof ResMsg)) { |
|||
return false; |
|||
} |
|||
final ResMsg other = (ResMsg)o; |
|||
if (!other.canEqual(this)) { |
|||
return false; |
|||
} |
|||
if (this.getCode() != other.getCode()) { |
|||
return false; |
|||
} |
|||
final Object this$msg = this.getMsg(); |
|||
final Object other$msg = other.getMsg(); |
|||
if (this$msg == null) { |
|||
if (other$msg == null) { |
|||
return true; |
|||
} |
|||
} |
|||
else if (this$msg.equals(other$msg)) { |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
protected boolean canEqual(final Object other) { |
|||
return other instanceof ResMsg; |
|||
} |
|||
|
|||
@Override |
|||
public int hashCode() { |
|||
final int PRIME = 59; |
|||
int result = 1; |
|||
result = result * 59 + this.getCode(); |
|||
final Object $msg = this.getMsg(); |
|||
result = result * 59 + (($msg == null) ? 43 : $msg.hashCode()); |
|||
return result; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "ResMsg(code=" + this.getCode() + ", msg=" + this.getMsg() + ")"; |
|||
} |
|||
|
|||
public void setCode(final int code) { |
|||
this.code = code; |
|||
} |
|||
|
|||
public void setMsg(final String msg) { |
|||
this.msg = msg; |
|||
} |
|||
|
|||
public int getCode() { |
|||
return this.code; |
|||
} |
|||
|
|||
public String getMsg() { |
|||
return this.msg; |
|||
} |
|||
|
|||
@ConstructorProperties({ "code", "msg" }) |
|||
public ResMsg(final int code, final String msg) { |
|||
this.code = code; |
|||
this.msg = msg; |
|||
} |
|||
|
|||
public ResMsg() { |
|||
} |
|||
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue