parent
7bc29f42c9
commit
9f354c1cb8
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CheckStyle-IDEA">
|
||||
<option name="configuration">
|
||||
<map>
|
||||
<entry key="active-configuration" value="LOCAL_FILE:C:/Users/xajhu/Documents/checkstyle.xml:hyCheckStyle" />
|
||||
<entry key="checkstyle-version" value="8.23" />
|
||||
<entry key="copy-libs" value="true" />
|
||||
<entry key="location-0" value="BUNDLED:(bundled):Sun Checks" />
|
||||
<entry key="location-1" value="BUNDLED:(bundled):Google Checks" />
|
||||
<entry key="location-2" value="LOCAL_FILE:C:/Users/xajhu/Documents/checkstyle.xml:hyCheckStyle" />
|
||||
<entry key="scan-before-checkin" value="false" />
|
||||
<entry key="scanscope" value="JavaOnly" />
|
||||
<entry key="suppress-errors" value="false" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,6 @@
|
|||
This folder contains libraries copied from the "phoenix_ddos_handle" project.
|
||||
It is managed by the CheckStyle-IDEA IDE plugin.
|
||||
Do not modify this folder while the IDE is running.
|
||||
When the IDE is stopped, you may delete this folder at any time. It will be recreated as needed.
|
||||
In order to prevent the CheckStyle-IDEA IDE plugin from creating this folder,
|
||||
uncheck the "Copy libraries from project directory" option in the CheckStyle-IDEA settings dialog.
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="@172.28.72.118" uuid="9e091392-bdd9-4edc-aa76-e9c49c1953c4">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://172.28.72.118:33061/</jdbc-url>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
|
@ -3,6 +3,6 @@
|
|||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
<file url="PROJECT" charset="GBK" />
|
||||
<file url="PROJECT" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="aqbrel" />
|
||||
<option name="name" value="aqbrel" />
|
||||
<option name="url" value="http://nexus.komect.net/nexus/content/repositories/aqb/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="aliyun" />
|
||||
<option name="name" value="aliyun" />
|
||||
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="SqlDialectMappings">
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources/mappers/DisposeDeviceManager.xml" dialect="GenericSQL" />
|
||||
</component>
|
||||
</project>
|
263
phoenix-data.iml
263
phoenix-data.iml
|
@ -1,263 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="Spring" name="Spring">
|
||||
<configuration />
|
||||
</facet>
|
||||
<facet type="web" name="Web">
|
||||
<configuration>
|
||||
<webroots />
|
||||
<sourceRoots>
|
||||
<root url="file://$MODULE_DIR$/src/main/java" />
|
||||
<root url="file://$MODULE_DIR$/src/main/resources" />
|
||||
</sourceRoots>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="MavenCustomPomFilePath">
|
||||
<option name="mavenPomFileUrl" value="file://$MODULE_DIR$/data-pom.xml" />
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$/src/main/java">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
</content>
|
||||
<content url="file://$MODULE_DIR$/src/main/resources">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||
</content>
|
||||
<content url="file://$MODULE_DIR$/src/test/java">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
|
||||
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.springframework.boot:spring-boot-actuator:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.2" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: io.micrometer:micrometer-core:1.3.2" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.hdrhistogram:HdrHistogram:2.1.11" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.31" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.springframework.boot:spring-boot-devtools:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.19" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-dbcp2:2.7.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.10" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.1" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.5.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.5.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.5.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.5.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.junit.vintage:junit-vintage-engine:5.5.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.5.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.1.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.13.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.1.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.6" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.2.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: oro:oro:2.0.8" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.guava:guava:28.2-jre" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.10.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.0.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: tk.mybatis:mapper-spring-boot-starter:2.0.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: tk.mybatis:mapper-core:1.0.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.persistence:persistence-api:1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: tk.mybatis:mapper-base:1.0.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: tk.mybatis:mapper-weekend:1.1.4.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: tk.mybatis:mapper-spring:1.0.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: tk.mybatis:mapper-extra:1.0.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: tk.mybatis:mapper-spring-boot-autoconfigure:2.0.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.cmcc:enc.dec:1.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: redis.clients:jedis:3.1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-core:1.4.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-api:1.4.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-runtime:1.4.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.protostuff:protostuff-collectionschema:1.4.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.7.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.powermock:powermock-api-mockito2:2.0.5" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.powermock:powermock-api-support:2.0.5" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.powermock:powermock-reflect:2.0.5" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.powermock:powermock-core:2.0.5" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.powermock:powermock-module-junit4:2.0.5" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.powermock:powermock-module-junit4-common:2.0.5" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:2.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.redisson:redisson:3.12.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.45.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.cache:cache-api:1.1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.2.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.reactivex.rxjava2:rxjava:2.2.17" level="project" />
|
||||
<orderEntry type="library" name="Maven: de.ruedigermoeller:fst:2.57" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.10.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jodd:jodd-bean:5.0.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jodd:jodd-core:5.0.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.el:javax.el-api:3.0.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.glassfish.web:javax.el:2.2.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.axis2:axis2-adb:1.7.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.axis2:axis2-kernel:1.7.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.ws.commons.axiom:axiom-api:1.2.21" level="project" />
|
||||
<orderEntry type="library" name="Maven: jaxen:jaxen:1.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:1.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.james:apache-mime4j-core:0.7.2" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.ws.commons.axiom:axiom-impl:1.2.21" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.servlet:servlet-api:2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: wsdl4j:wsdl4j:1.6.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.ws.xmlschema:xmlschema-core:2.2.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.woden:woden-core:1.0M10" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.ws.commons.axiom:axiom-dom:1.2.21" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:3.1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-activation_1.1_spec:1.0.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-spring-boot-starter-jaxws:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-spring-boot-autoconfigure:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxws:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: xml-resolver:xml-resolver:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.ow2.asm:asm:7.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-security:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-core:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.8" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jvnet.staxex:stax-ex:1.8.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sun.xml.fastinfoset:FastInfoset:1.2.16" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.woodstox:woodstox-core:5.0.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-databinding-jaxb:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-security-saml:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-security:3.3.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.sf.ehcache:ehcache:2.10.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.wss4j:wss4j-ws-security-dom:2.2.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.wss4j:wss4j-ws-security-common:2.2.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.santuario:xmlsec:2.1.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-saml-impl:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-profile-api:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-core:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.dropwizard.metrics:metrics-core:4.1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-saml-api:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-xmlsec-api:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-soap-api:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-security-impl:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-security-api:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-xmlsec-impl:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.shibboleth.utilities:java-support:7.3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.cryptacular:cryptacular:1.2.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.64" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-xacml-impl:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-xacml-api:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-xacml-saml-impl:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opensaml:opensaml-xacml-saml-api:3.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jasypt:jasypt:1.9.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.geronimo.javamail:geronimo-javamail_1.4_mail:1.8.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.wss4j:wss4j-policy:2.2.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.wss4j:wss4j-ws-security-stax:2.2.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.wss4j:wss4j-bindings:2.2.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.wss4j:wss4j-ws-security-policy-stax:2.2.5" level="project" />
|
||||
</component>
|
||||
</module>
|
|
@ -7,6 +7,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
|
|||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import tk.mybatis.spring.annotation.MapperScan;
|
||||
|
||||
/**
|
||||
|
@ -19,6 +20,7 @@ import tk.mybatis.spring.annotation.MapperScan;
|
|||
@EnableAsync
|
||||
@EnableScheduling
|
||||
@EnableAspectJAutoProxy
|
||||
@EnableTransactionManagement
|
||||
@MapperScan(basePackages = { "com.cmcc.hy.phoenix.mapper" })
|
||||
@Slf4j
|
||||
public class PhoenixBootApplication {
|
||||
|
|
|
@ -7,8 +7,8 @@ public class ConstValue {
|
|||
}
|
||||
|
||||
public class SOAPWrapperConst {
|
||||
public static final String NAMESPACE_URI = "http://10.88.77.15/UMC/service/AbnormalFlowCleaningService";
|
||||
public static final String SERVICE_ADDRESS = "http://10.88.77.15/UMC/service/AbnormalFlowCleaningService?wsdl";
|
||||
public static final String NAMESPACE_URI = "http://%s/UMC/service/AbnormalFlowCleaningService";
|
||||
//public static final String SERVICE_ADDRESS = "http://10.88.77.15/UMC/service/AbnormalFlowCleaningService?wsdl";
|
||||
public static final String USER_NAME = "admin";
|
||||
public static final String PASSWORD = "UMCAdministrator";
|
||||
}
|
||||
|
@ -26,8 +26,21 @@ public class ConstValue {
|
|||
public static final int AUTH_LOGOUT = 11;
|
||||
}
|
||||
|
||||
public enum DisposeDevice {
|
||||
DPTECH_UMC, HAOHAN_PLATFORM;
|
||||
public enum DisposeDeviceType {
|
||||
DPTECH_UMC (0, "集中能力管理平台"),
|
||||
HAOHAN_PLATFORM (1, "处置设备");
|
||||
|
||||
private int code;
|
||||
private String readme;
|
||||
|
||||
DisposeDeviceType(int code, String readme) {
|
||||
this.code = code;
|
||||
this.readme = readme;
|
||||
}
|
||||
|
||||
public int getCode() {return this.code;}
|
||||
|
||||
public String getReadme() {return this.readme;}
|
||||
}
|
||||
|
||||
public class UserAccountStatus {
|
||||
|
@ -35,53 +48,4 @@ public class ConstValue {
|
|||
public static final int LOCKED = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 错误码常量定义
|
||||
*/
|
||||
public enum ErrorCode {
|
||||
ERR_OK (0, "成功"),
|
||||
ERR_PASSWORD (1, "密码错误"),
|
||||
ERR_USERNOTFOUND (2, "用户不存在"),
|
||||
ERR_PASSWORDMORE (3, "连续密码错误达上限,再次输入错误将锁定用户"),
|
||||
ERR_USERLOCK (4, "密码错误达上限,用户被锁定"),
|
||||
ERR_ACCOUNT (5, "用户账户异常"),
|
||||
ERR_USEREXIST (6, "该用户已经存在"),
|
||||
ERR_PASSWORDSIMPLE (7, "用户密码强度不符合要求"),
|
||||
ERR_INPUTFORMAT (8, "输入信息格式有误"),
|
||||
ERR_INPUTMISS (9, "缺少必要输入信息"),
|
||||
ERR_PERMISSION (10, "操作员权限不足"),
|
||||
ERR_REQTIMEOUT (11, "请求超时"),
|
||||
ERR_PARAMS (12, "参数错误"),
|
||||
ERR_EXCEPTION (13, "系统异常"),
|
||||
ERR_UNKNOWNCMD (14, "未知命令"),
|
||||
ERR_LOGOUT (15, "用户未登录"),
|
||||
ERR_TOKENTIMEOUT (16, "Token超时"),
|
||||
ERR_TOKENNOTFOUND (17, "非法Token"),
|
||||
ERR_MISSAUTHHEAD (18, "Http 请求缺少认证头部"),
|
||||
;
|
||||
|
||||
private int errno;
|
||||
private String errMsg;
|
||||
|
||||
ErrorCode(int err, String msg) {
|
||||
this.errno = err;
|
||||
this.errMsg = msg;
|
||||
}
|
||||
|
||||
public int getCode(){
|
||||
return errno;
|
||||
}
|
||||
|
||||
public int getHttpCode() {
|
||||
if(this.errno == 0) {
|
||||
return 200;
|
||||
} else {
|
||||
return 500 + this.errno;
|
||||
}
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return errMsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
package com.cmcc.hy.phoenix.common;
|
||||
|
||||
/**
|
||||
* @brief 错误码常量定义
|
||||
*/
|
||||
public enum ErrorCode {
|
||||
ERR_OK (0, "成功"),
|
||||
ERR_PASSWORD (1, "密码错误"),
|
||||
ERR_USERNOTFOUND (2, "用户不存在"),
|
||||
ERR_PASSWORDMORE (3, "连续密码错误达上限,再次输入错误将锁定用户"),
|
||||
ERR_USERLOCK (4, "密码错误达上限,用户被锁定"),
|
||||
ERR_ACCOUNT (5, "用户账户异常"),
|
||||
ERR_USEREXIST (6, "该用户已经存在"),
|
||||
ERR_PASSWORDSIMPLE (7, "用户密码强度不符合要求"),
|
||||
ERR_INPUTFORMAT (8, "输入信息格式有误"),
|
||||
ERR_INPUTMISS (9, "缺少必要输入信息"),
|
||||
ERR_PERMISSION (10, "操作员权限不足"),
|
||||
ERR_REQTIMEOUT (11, "请求超时"),
|
||||
ERR_PARAMS (12, "参数错误"),
|
||||
ERR_EXCEPTION (13, "系统异常"),
|
||||
ERR_UNKNOWNCMD (14, "未知命令"),
|
||||
ERR_LOGOUT (15, "用户未登录"),
|
||||
ERR_TOKENTIMEOUT (16, "Token超时"),
|
||||
ERR_TOKENNOTFOUND (17, "非法Token"),
|
||||
ERR_MISSAUTHHEAD (18, "Http 请求缺少认证头部"),
|
||||
ERR_NOSUCHDEVICE (19, "没有这个设备"),
|
||||
ERR_DEVICEEXISTS (20, "设备已经存在"),
|
||||
;
|
||||
|
||||
private int errno;
|
||||
private String errMsg;
|
||||
|
||||
ErrorCode(int err, String msg) {
|
||||
this.errno = err;
|
||||
this.errMsg = msg;
|
||||
}
|
||||
|
||||
public int getCode(){
|
||||
return errno;
|
||||
}
|
||||
|
||||
public int getHttpCode() {
|
||||
if(this.errno == 0) {
|
||||
return 200;
|
||||
} else {
|
||||
return 500 + this.errno;
|
||||
}
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return errMsg;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package com.cmcc.hy.phoenix.config;
|
||||
|
||||
import com.cmcc.hy.phoenix.pojo.po.UserAccountCache;
|
||||
import com.cmcc.hy.phoenix.service.DisposeDeviceManager;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
@ -10,14 +10,16 @@ import javax.annotation.Resource;
|
|||
@Component
|
||||
@Slf4j
|
||||
public class SetupInit implements CommandLineRunner {
|
||||
@Resource
|
||||
private DisposeDeviceManager disposeDevMgr;
|
||||
|
||||
//@Resource
|
||||
//private UserAccountCache userAccount;
|
||||
|
||||
@Override
|
||||
public void run(String... args) throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
log.info("System Setup................................................");
|
||||
//fileLoadService.mailFileRefresh();
|
||||
|
||||
disposeDevMgr.loadDisposeFromDB();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
package com.cmcc.hy.phoenix.controller;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.cmcc.hy.phoenix.annotation.bodyencdec.ReqDec;
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.mapper.UserAccountMapper;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.pojo.dto.ProtocolDTO;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.UserAccount;
|
||||
import com.cmcc.hy.phoenix.pojo.vo.*;
|
||||
import com.cmcc.hy.phoenix.service.LoginService;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
@ -14,21 +12,15 @@ import io.swagger.annotations.Api;
|
|||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.Builder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.MissingRequestHeaderException;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import tk.mybatis.mapper.entity.Example;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.*;
|
||||
|
||||
import static com.sun.corba.se.impl.util.RepositoryId.cache;
|
||||
|
||||
@Controller
|
||||
@RequestMapping(value = "/handle")
|
||||
@Slf4j
|
||||
|
@ -49,25 +41,25 @@ public class AuthController {
|
|||
public ProtocolResp UserLogin(@RequestBody(required = true) ProtocolDTO mr,
|
||||
@RequestHeader HttpHeaders headers) {
|
||||
String msgCtx = "";
|
||||
ConstValue.ErrorCode err = ConstValue.ErrorCode.ERR_OK;
|
||||
ErrorCode err = ErrorCode.ERR_OK;
|
||||
|
||||
log.info("请求token: {}", headers.get("Authorization"));
|
||||
log.info("请求参数 {}", mr);
|
||||
|
||||
if(mr == null) {
|
||||
err = ConstValue.ErrorCode.ERR_PARAMS;
|
||||
err = ErrorCode.ERR_PARAMS;
|
||||
return ProtocolResp.result(err, -1, msgCtx);
|
||||
} else if (mr.IsRequestTimeout()) {
|
||||
err = ConstValue.ErrorCode.ERR_REQTIMEOUT;
|
||||
err = ErrorCode.ERR_REQTIMEOUT;
|
||||
} else {
|
||||
try {
|
||||
if(mr.getCmdId() == ConstValue.ProtocolCmdId.AUTH_LOGIN) {
|
||||
EnumMap<ConstValue.ErrorCode, String> loginMap = userLogin(mr);
|
||||
EnumMap<ErrorCode, String> loginMap = userLogin(mr);
|
||||
err = loginMap.keySet().iterator().next();
|
||||
msgCtx = loginMap.get(err);
|
||||
} else if (mr.getCmdId() == ConstValue.ProtocolCmdId.AUTH_LOGOUT) {
|
||||
if(headers.get("Authorization") == null) {
|
||||
err = ConstValue.ErrorCode.ERR_MISSAUTHHEAD;
|
||||
err = ErrorCode.ERR_MISSAUTHHEAD;
|
||||
} else {
|
||||
String token = Objects.
|
||||
requireNonNull(headers.get("Authorization"))
|
||||
|
@ -75,28 +67,28 @@ public class AuthController {
|
|||
|
||||
err = loginService.authTokenCheck(token);
|
||||
|
||||
if(err == ConstValue.ErrorCode.ERR_OK) {
|
||||
EnumMap<ConstValue.ErrorCode, String> loginMap = userLogout(mr, token);
|
||||
if(err == ErrorCode.ERR_OK) {
|
||||
EnumMap<ErrorCode, String> loginMap = userLogout(mr, token);
|
||||
err = loginMap.keySet().iterator().next();
|
||||
msgCtx = loginMap.get(err);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
err = ConstValue.ErrorCode.ERR_UNKNOWNCMD;
|
||||
err = ErrorCode.ERR_UNKNOWNCMD;
|
||||
}
|
||||
} catch (JsonProcessingException | NoSuchAlgorithmException ex) {
|
||||
log.error(ex.getMessage());
|
||||
err = ConstValue.ErrorCode.ERR_EXCEPTION;
|
||||
err = ErrorCode.ERR_EXCEPTION;
|
||||
}
|
||||
}
|
||||
|
||||
return ProtocolResp.result(err, mr.getCmdId(), msgCtx);
|
||||
}
|
||||
|
||||
private EnumMap<ConstValue.ErrorCode, String> userLogout(ProtocolDTO mr, String token)
|
||||
private EnumMap<ErrorCode, String> userLogout(ProtocolDTO mr, String token)
|
||||
throws JsonProcessingException {
|
||||
EnumMap<ConstValue.ErrorCode, String> retMap = new EnumMap<>(ConstValue.ErrorCode.class);
|
||||
ConstValue.ErrorCode err = ConstValue.ErrorCode.ERR_OK;
|
||||
EnumMap<ErrorCode, String> retMap = new EnumMap<>(ErrorCode.class);
|
||||
ErrorCode err = ErrorCode.ERR_OK;
|
||||
|
||||
UserLogoutRsp rspInfo = UserLogoutRsp.builder()
|
||||
.userName("")
|
||||
|
@ -116,10 +108,10 @@ public class AuthController {
|
|||
return retMap;
|
||||
}
|
||||
|
||||
private EnumMap<ConstValue.ErrorCode, String> userLogin(ProtocolDTO mr)
|
||||
private EnumMap<ErrorCode, String> userLogin(ProtocolDTO mr)
|
||||
throws NoSuchAlgorithmException, JsonProcessingException {
|
||||
EnumMap<ConstValue.ErrorCode, String> retMap = new EnumMap<>(ConstValue.ErrorCode.class);
|
||||
ConstValue.ErrorCode err = ConstValue.ErrorCode.ERR_OK;
|
||||
EnumMap<ErrorCode, String> retMap = new EnumMap<>(ErrorCode.class);
|
||||
ErrorCode err = ErrorCode.ERR_OK;
|
||||
|
||||
UserLoginRsp rspInfo = UserLoginRsp.builder()
|
||||
.userName("")
|
||||
|
@ -133,11 +125,11 @@ public class AuthController {
|
|||
|
||||
rspInfo.setUserName(reqInfo.getUserName());
|
||||
|
||||
EnumMap<ConstValue.ErrorCode, String> logMap = loginService.loginService(reqInfo.getUserName(),
|
||||
EnumMap<ErrorCode, String> logMap = loginService.loginService(reqInfo.getUserName(),
|
||||
reqInfo.getPassword());
|
||||
|
||||
if(logMap.isEmpty()) {
|
||||
err = ConstValue.ErrorCode.ERR_USERNOTFOUND;
|
||||
err = ErrorCode.ERR_USERNOTFOUND;
|
||||
} else {
|
||||
err = logMap.keySet().iterator().next();
|
||||
rspInfo.setToken(logMap.get(err));
|
||||
|
|
|
@ -1,19 +1,23 @@
|
|||
package com.cmcc.hy.phoenix.controller;
|
||||
|
||||
import com.cmcc.hy.phoenix.annotation.bodyencdec.ReqDec;
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.pojo.dto.ProtocolDTO;
|
||||
import com.cmcc.hy.phoenix.pojo.vo.ProtocolResp;
|
||||
import com.cmcc.hy.phoenix.service.DisposeDeviceManager;
|
||||
import com.cmcc.hy.phoenix.service.UserAccountCacheService;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.Builder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
@ -23,18 +27,36 @@ import javax.annotation.Resource;
|
|||
@Api(value = "抗DDoS处置平台调试接口", tags = "抗DDoS处置平台调试接口")
|
||||
@Component
|
||||
public class DebugController {
|
||||
@Resource
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@Resource
|
||||
private UserAccountCacheService userAccountService;
|
||||
|
||||
@Resource
|
||||
private DisposeDeviceManager disposeDevMgr;
|
||||
|
||||
@GetMapping("/cacheuser")
|
||||
@ResponseBody
|
||||
@ApiOperation("获取缓存用户")
|
||||
@ReqDec
|
||||
@Builder
|
||||
public ProtocolResp UserLogin(@RequestBody(required = true) ProtocolDTO mr) throws JsonProcessingException {
|
||||
public ProtocolResp getCacheUsers(@RequestBody(required = true) ProtocolDTO mr) throws JsonProcessingException {
|
||||
|
||||
return ProtocolResp.result(ConstValue.ErrorCode.ERR_OK, -1, userAccountService.getCacheUser());
|
||||
return ProtocolResp.result(ErrorCode.ERR_OK, -1, userAccountService.getCacheUser());
|
||||
|
||||
}
|
||||
|
||||
@GetMapping("/devs")
|
||||
@ResponseBody
|
||||
@ApiOperation("获取所有处置设备")
|
||||
@ReqDec
|
||||
@Builder
|
||||
public ProtocolResp getDisposeDevs(@RequestBody(required = true) ProtocolDTO mr) throws JsonProcessingException {
|
||||
|
||||
return ProtocolResp.result(ErrorCode.ERR_OK,
|
||||
-1,
|
||||
objectMapper.writeValueAsString(disposeDevMgr.getAllDisposeDevs()));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.cmcc.hy.phoenix.controller;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.help.GitInformation;
|
||||
import com.cmcc.hy.phoenix.pojo.dto.ProtocolDTO;
|
||||
import com.cmcc.hy.phoenix.pojo.vo.Resp;
|
||||
|
@ -52,9 +52,9 @@ public class ProtocolController {
|
|||
log.info("请求参数 {}", mr);
|
||||
|
||||
if(mr == null) {
|
||||
return ProtocolResp.result(ConstValue.ErrorCode.ERR_PARAMS);
|
||||
return ProtocolResp.result(ErrorCode.ERR_PARAMS);
|
||||
} else if (mr.IsRequestTimeout()) {
|
||||
return ProtocolResp.result(ConstValue.ErrorCode.ERR_REQTIMEOUT);
|
||||
return ProtocolResp.result(ErrorCode.ERR_REQTIMEOUT);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -70,6 +70,6 @@ public class ProtocolController {
|
|||
return ProtocolResp.result(Resp.SYSTEM_ERROR);
|
||||
}
|
||||
|
||||
return ProtocolResp.result(ConstValue.ErrorCode.ERR_OK, mr.getCmdId(), msgCtx);
|
||||
return ProtocolResp.result(ErrorCode.ERR_OK, mr.getCmdId(), msgCtx);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,9 +4,9 @@ import com.cmcc.hy.phoenix.common.ConstValue;
|
|||
|
||||
public class DeviceRouter {
|
||||
|
||||
public static DisposeProcess DeviceRouterFactory(ConstValue.DisposeDevice devType) {
|
||||
if(devType.equals(ConstValue.DisposeDevice.DPTECH_UMC)){
|
||||
return new DptechUMC();
|
||||
public static DisposeProcess deviceRouterFactory(int devType, String ipAddr) {
|
||||
if(devType == ConstValue.DisposeDeviceType.DPTECH_UMC.getCode()){
|
||||
return new DptechUMC(ipAddr);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package com.cmcc.hy.phoenix.dispose;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
public interface DisposeProcess {
|
||||
public int RunDispose(String ip);
|
||||
public int runDispose(String ip);
|
||||
|
||||
public <T> T GetDetectionObjectDevices();
|
||||
public <T> T getAllDetectionObject();
|
||||
|
||||
public String GetDetectionDevices();
|
||||
public <T> T getAllProtectionObject();
|
||||
|
||||
public String GetProtectDevices();
|
||||
public String getDetectionDevices();
|
||||
|
||||
public String getProtectDevices();
|
||||
}
|
||||
|
|
|
@ -17,15 +17,20 @@ import java.util.Map;
|
|||
public class DptechUMC implements DisposeProcess {
|
||||
|
||||
@Override
|
||||
public int RunDispose(String ip) {
|
||||
public int runDispose(String ip) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T GetDetectionObjectDevices() {
|
||||
public <T> T getAllDetectionObject() {
|
||||
return (T) (cleanTypePort.getAllDetectionObjectFromUMC().getDetectionObjectDataForService());
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T getAllProtectionObject() {
|
||||
return (T) (cleanTypePort.getAllProtectionObjectFromUMC().getProtectionObjectDataForService());
|
||||
}
|
||||
|
||||
public String GetDetectionObjectDeviceJson() throws JsonProcessingException {
|
||||
ArrayOfDetectionObjectDataForService typePort = cleanTypePort.getAllDetectionObjectFromUMC();
|
||||
|
||||
|
@ -34,21 +39,21 @@ public class DptechUMC implements DisposeProcess {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String GetProtectDevices() {
|
||||
public String getProtectDevices() {
|
||||
return cleanTypePort.getAllProtectDevices();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String GetDetectionDevices() {
|
||||
public String getDetectionDevices() {
|
||||
return cleanTypePort.getAllDetectDevices();
|
||||
}
|
||||
|
||||
AbnormalFlowCleaningServicePortType cleanTypePort;
|
||||
|
||||
public DptechUMC() {
|
||||
public DptechUMC(String ipAddr) {
|
||||
JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
|
||||
jaxWsProxyFactoryBean.setServiceClass(AbnormalFlowCleaningServicePortType.class);
|
||||
jaxWsProxyFactoryBean.setAddress(ConstValue.SOAPWrapperConst.NAMESPACE_URI);
|
||||
jaxWsProxyFactoryBean.setAddress(String.format(ConstValue.SOAPWrapperConst.NAMESPACE_URI, ipAddr));
|
||||
|
||||
//WS-Security Head
|
||||
Map<String, Object> outProps = new HashMap<String, Object>();
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.cmcc.hy.phoenix.mapper;
|
||||
|
||||
import com.cmcc.hy.phoenix.pojo.entity.DisposeDevice;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.User;
|
||||
import tk.mybatis.mapper.common.IdsMapper;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
import tk.mybatis.mapper.common.MySqlMapper;
|
||||
|
@ -21,7 +20,11 @@ public interface DisposeDeviceMapper extends Mapper<DisposeDevice>,
|
|||
*/
|
||||
List<DisposeDevice> getAllDisposeDevice();
|
||||
|
||||
int addNewDisposeDevice(DisposeDevice dev);
|
||||
DisposeDevice getDisposeDisposeDevByIp(String ipv4);
|
||||
|
||||
int updateDisposeDeviceById();
|
||||
void addNewDisposeDevice(DisposeDevice dev);
|
||||
|
||||
void updateDisposeDeviceByIp(String ipv4);
|
||||
|
||||
void removeDisposeDevice(String ipAddr);
|
||||
}
|
||||
|
|
|
@ -45,4 +45,13 @@ public class DeviceCapacity implements Serializable {
|
|||
* 处置设备储备能力(MB)
|
||||
*/
|
||||
private Integer tolFlowCapacity;
|
||||
|
||||
public DeviceCapacity(Integer capacity, Integer tolFlowCapacity) {
|
||||
this.capacity = capacity;
|
||||
this.tolFlowCapacity = tolFlowCapacity;
|
||||
}
|
||||
|
||||
public DeviceCapacity(Integer capacity) {
|
||||
this.capacity = capacity;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public class DisposeDevice implements Serializable {
|
|||
* 设备唯一标识符
|
||||
*/
|
||||
@Id
|
||||
@KeySql(useGeneratedKeys = true)
|
||||
//@KeySql(useGeneratedKeys = true)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.cmcc.hy.phoenix.pojo.vo;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
@ -51,7 +52,7 @@ public class ProtocolResp {
|
|||
return ProtocolResp.builder().code(resp.getCode()).msgContent(resp.getMsg()).build();
|
||||
}
|
||||
|
||||
public static ProtocolResp result(ConstValue.ErrorCode err) {
|
||||
public static ProtocolResp result(ErrorCode err) {
|
||||
return ProtocolResp.builder()
|
||||
.ver(ConstValue.Protocol.VERSION)
|
||||
.cryptoType(ConstValue.Protocol.CRYPTO_NONE)
|
||||
|
@ -60,11 +61,11 @@ public class ProtocolResp {
|
|||
.msgContent(err.getMsg()).build();
|
||||
}
|
||||
|
||||
public static ProtocolResp result(ConstValue.ErrorCode err, Integer cmdId, String respMsg) {
|
||||
public static ProtocolResp result(ErrorCode err, Integer cmdId, String respMsg) {
|
||||
return result(err, cmdId, respMsg, ConstValue.Protocol.CRYPTO_NONE);
|
||||
}
|
||||
|
||||
public static ProtocolResp result(ConstValue.ErrorCode err, Integer cmdId, String respMsg, Integer crypto) {
|
||||
public static ProtocolResp result(ErrorCode err, Integer cmdId, String respMsg, Integer crypto) {
|
||||
|
||||
return ProtocolResp.builder()
|
||||
.cmdId(cmdId + ConstValue.Protocol.RESP_CMD_BASE)
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
package com.cmcc.hy.phoenix.service;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.DisposeDevice;
|
||||
|
||||
import java.util.EnumMap;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DisposeDeviceManager {
|
||||
void loadDisposeFromDB();
|
||||
EnumMap<ErrorCode, Long> addNewDisposeDevice(DisposeDevice dev);
|
||||
|
||||
Map<String, DisposeDevice> getAllDisposeDevs();
|
||||
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
package com.cmcc.hy.phoenix.service;
|
||||
|
||||
public interface DisposeService {
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
package com.cmcc.hy.phoenix.service;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.EnumMap;
|
||||
|
||||
public interface LoginService {
|
||||
public EnumMap<ConstValue.ErrorCode, String> loginService(String username, String password) throws NoSuchAlgorithmException;
|
||||
public ConstValue.ErrorCode logoutService(String username, String token);
|
||||
ConstValue.ErrorCode authTokenCheck(String token);
|
||||
public EnumMap<ErrorCode, String> loginService(String username, String password) throws NoSuchAlgorithmException;
|
||||
public ErrorCode logoutService(String username, String token);
|
||||
ErrorCode authTokenCheck(String token);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.cmcc.hy.phoenix.service;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
@ -10,8 +10,8 @@ public interface UserAccountCacheService {
|
|||
int getUsrPwdErrTimes(String username);
|
||||
void setUserPwdErrTimes(String username, Integer errTimes);
|
||||
void cleanUserToken(String username);
|
||||
ConstValue.ErrorCode verifyUserLogin(String username, String token);
|
||||
ConstValue.ErrorCode verifyToken(String token);
|
||||
ErrorCode verifyUserLogin(String username, String token);
|
||||
ErrorCode verifyToken(String token);
|
||||
|
||||
String getCacheUser() throws JsonProcessingException;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
package com.cmcc.hy.phoenix.service.impl;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.dispose.DeviceRouter;
|
||||
import com.cmcc.hy.phoenix.dispose.DisposeProcess;
|
||||
import com.cmcc.hy.phoenix.mapper.DisposeDeviceMapper;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.DisposeDevice;
|
||||
import com.cmcc.hy.phoenix.service.DisposeDeviceManager;
|
||||
import com.dptech.umc.DetectionObjectDataForService;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.TransactionDefinition;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class DisposeDeviceManagerImpl implements DisposeDeviceManager {
|
||||
@Resource
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@Resource
|
||||
private DataSourceTransactionManager dataSourceTransactionManager;
|
||||
@Resource
|
||||
private TransactionDefinition transactionDefinition;
|
||||
|
||||
|
||||
@Resource
|
||||
private DisposeDeviceMapper disposeDeviceMapper;
|
||||
|
||||
private final ConcurrentHashMap<String, DisposeDevice> disposeDevMap = new ConcurrentHashMap<>();
|
||||
|
||||
@Override
|
||||
public EnumMap<ErrorCode, Long> addNewDisposeDevice(DisposeDevice dev) {
|
||||
TransactionStatus transactionStatus = null;
|
||||
|
||||
EnumMap<ErrorCode, Long> retMap = new EnumMap<>(ErrorCode.class);
|
||||
if(isDisposeDeviceExists(dev.getIpv4())){
|
||||
retMap.put(ErrorCode.ERR_DEVICEEXISTS, -1L);
|
||||
return retMap;
|
||||
}
|
||||
|
||||
List<String> disposeIp = getDisposeIpFromDevice(dev.getType(), dev.getIpv4());
|
||||
|
||||
if(disposeIp == null) {
|
||||
retMap.put(ErrorCode.ERR_NOSUCHDEVICE, -1L);
|
||||
return retMap;
|
||||
}
|
||||
|
||||
if(dev.getDisposeIp() == null) {
|
||||
dev.setDisposeIp(disposeIp);
|
||||
} else {
|
||||
dev.getDisposeIp().addAll(disposeIp);
|
||||
}
|
||||
|
||||
try {
|
||||
transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
|
||||
disposeDeviceMapper.addNewDisposeDevice(dev);
|
||||
dataSourceTransactionManager.commit(transactionStatus);
|
||||
retMap.put(ErrorCode.ERR_OK, dev.getId());
|
||||
addDisposeDeviceToCache(dev);
|
||||
} catch (Exception ex) {
|
||||
assert transactionStatus != null;
|
||||
dataSourceTransactionManager.rollback(transactionStatus);
|
||||
retMap.put(ErrorCode.ERR_EXCEPTION, -1L);
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadDisposeFromDB() {
|
||||
List<DisposeDevice> dp = disposeDeviceMapper.getAllDisposeDevice();
|
||||
|
||||
dp.forEach(v -> {
|
||||
disposeDevMap.put(v.getIpv4(), v);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, DisposeDevice> getAllDisposeDevs() {
|
||||
return disposeDevMap;
|
||||
}
|
||||
|
||||
private Boolean isDisposeDeviceExists(String ipv4) {
|
||||
return disposeDevMap.containsKey(ipv4);
|
||||
}
|
||||
|
||||
private void addDisposeDeviceToCache(DisposeDevice dev) {
|
||||
disposeDevMap.put(dev.getIpv4(), dev);
|
||||
}
|
||||
|
||||
private List<String> getDisposeIpFromDevice(int devType, String ipAddr) {
|
||||
DisposeProcess dptechUMC = DeviceRouter.deviceRouterFactory(devType, ipAddr);
|
||||
|
||||
if(dptechUMC == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
List<DetectionObjectDataForService> detDevs = dptechUMC.getAllDetectionObject();
|
||||
|
||||
List<String> ipList = new ArrayList<>();
|
||||
|
||||
detDevs.forEach(v -> {
|
||||
String ipSegment = v.getIpSegment().getValue();
|
||||
|
||||
if(ipSegment.length() > 0) {
|
||||
log.info("Ip: {}", v.getIpSegment().getValue());
|
||||
ipList.addAll(Arrays.asList(v.getIpSegment().getValue().split(",")));
|
||||
}
|
||||
});
|
||||
|
||||
return ipList;
|
||||
} catch(Exception ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package com.cmcc.hy.phoenix.service.impl;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.mapper.UserAccountMapper;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.UserAccount;
|
||||
import com.cmcc.hy.phoenix.service.LoginService;
|
||||
|
@ -11,7 +12,6 @@ import org.springframework.stereotype.Service;
|
|||
import javax.annotation.Resource;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
|
@ -23,13 +23,13 @@ public class LoginServiceImpl implements LoginService {
|
|||
private UserAccountMapper userAccountMapper;
|
||||
|
||||
@Override
|
||||
public ConstValue.ErrorCode authTokenCheck(String token) {
|
||||
public ErrorCode authTokenCheck(String token) {
|
||||
return userAccountService.verifyToken(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumMap<ConstValue.ErrorCode, String> loginService(String username, String password) throws NoSuchAlgorithmException {
|
||||
EnumMap<ConstValue.ErrorCode, String> retMap = new EnumMap<>(ConstValue.ErrorCode.class);
|
||||
public EnumMap<ErrorCode, String> loginService(String username, String password) throws NoSuchAlgorithmException {
|
||||
EnumMap<ErrorCode, String> retMap = new EnumMap<>(ErrorCode.class);
|
||||
|
||||
// Example exp = new Example(UserAccount.class);
|
||||
// exp.createCriteria().andEqualTo("username", username);
|
||||
|
@ -38,10 +38,10 @@ public class LoginServiceImpl implements LoginService {
|
|||
|
||||
// 用户为空
|
||||
if(loginUser == null) {
|
||||
retMap.put(ConstValue.ErrorCode.ERR_USERNOTFOUND, "");
|
||||
retMap.put(ErrorCode.ERR_USERNOTFOUND, "");
|
||||
} else {
|
||||
if(loginUser.getStatus() == ConstValue.UserAccountStatus.LOCKED) {
|
||||
retMap.put(ConstValue.ErrorCode.ERR_USERLOCK, "");
|
||||
retMap.put(ErrorCode.ERR_USERLOCK, "");
|
||||
} else if(!loginUser.getPassword().equals(password)) {
|
||||
// 密码错误
|
||||
int errTimes = userAccountService.getUsrPwdErrTimes(username) + 1;
|
||||
|
@ -51,16 +51,16 @@ public class LoginServiceImpl implements LoginService {
|
|||
|
||||
if(errTimes == ConstValue.GlobalConfigure.ALLOW_PWD_ERR_TIMES - 1) {
|
||||
// 提示用户即将锁定账户
|
||||
retMap.put(ConstValue.ErrorCode.ERR_PASSWORDMORE, "");
|
||||
retMap.put(ErrorCode.ERR_PASSWORDMORE, "");
|
||||
} else if(errTimes >= ConstValue.GlobalConfigure.ALLOW_PWD_ERR_TIMES) {
|
||||
// 锁定账户
|
||||
retMap.put(ConstValue.ErrorCode.ERR_USERLOCK, "");
|
||||
retMap.put(ErrorCode.ERR_USERLOCK, "");
|
||||
userAccountMapper.lockUserAccount(username);
|
||||
} else {
|
||||
retMap.put(ConstValue.ErrorCode.ERR_PASSWORD, "");
|
||||
retMap.put(ErrorCode.ERR_PASSWORD, "");
|
||||
}
|
||||
} else {
|
||||
retMap.put(ConstValue.ErrorCode.ERR_OK, userAccountService.getUserToken(username));
|
||||
retMap.put(ErrorCode.ERR_OK, userAccountService.getUserToken(username));
|
||||
userAccountService.setUserPwdErrTimes(username, 0);
|
||||
}
|
||||
}
|
||||
|
@ -69,19 +69,19 @@ public class LoginServiceImpl implements LoginService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ConstValue.ErrorCode logoutService(String username, String token) {
|
||||
ConstValue.ErrorCode err = ConstValue.ErrorCode.ERR_OK;
|
||||
public ErrorCode logoutService(String username, String token) {
|
||||
ErrorCode err = ErrorCode.ERR_OK;
|
||||
|
||||
UserAccount loginUser = userAccountMapper.getUserByName(username);
|
||||
|
||||
// 用户为空
|
||||
if(loginUser == null) {
|
||||
err = ConstValue.ErrorCode.ERR_USERNOTFOUND;
|
||||
err = ErrorCode.ERR_USERNOTFOUND;
|
||||
} else {
|
||||
|
||||
err = userAccountService.verifyUserLogin(username, token);
|
||||
|
||||
if(err == ConstValue.ErrorCode.ERR_OK) {
|
||||
if(err == ErrorCode.ERR_OK) {
|
||||
userAccountService.cleanUserToken(username);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.cmcc.hy.phoenix.service.impl;
|
|||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.pojo.po.UserAccountCache;
|
||||
import com.cmcc.hy.phoenix.service.UserAccountCacheService;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
@ -16,7 +17,6 @@ import java.security.NoSuchAlgorithmException;
|
|||
import java.util.Optional;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
|
@ -28,50 +28,50 @@ public class UserAccountCacheServiceImpl implements UserAccountCacheService {
|
|||
private ConcurrentHashMap<String, UserAccountCache> userAccountMap = new ConcurrentHashMap<>();
|
||||
|
||||
@Override
|
||||
public ConstValue.ErrorCode verifyToken(String token) {
|
||||
public ErrorCode verifyToken(String token) {
|
||||
//userAccountMap
|
||||
|
||||
if(!userAccountMap.containsKey(token)){
|
||||
return ConstValue.ErrorCode.ERR_LOGOUT;
|
||||
return ErrorCode.ERR_LOGOUT;
|
||||
} else {
|
||||
UserAccountCache uc = userAccountMap.get(token);
|
||||
|
||||
if((System.currentTimeMillis() - uc.getLastAccess())
|
||||
>= ConstValue.GlobalConfigure.TOKEN_TIMEOUT_MS) {
|
||||
return ConstValue.ErrorCode.ERR_TOKENTIMEOUT;
|
||||
return ErrorCode.ERR_TOKENTIMEOUT;
|
||||
}
|
||||
|
||||
return ConstValue.ErrorCode.ERR_OK;
|
||||
return ErrorCode.ERR_OK;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConstValue.ErrorCode verifyUserLogin(String username, String token) {
|
||||
public ErrorCode verifyUserLogin(String username, String token) {
|
||||
Optional<UserAccountCache> findRet = userAccountMap.values().stream()
|
||||
.filter(userAccountCache -> username.equals(userAccountCache.getUsername()))
|
||||
.findFirst();
|
||||
|
||||
if(!findRet.isPresent()) {
|
||||
return ConstValue.ErrorCode.ERR_USERNOTFOUND;
|
||||
return ErrorCode.ERR_USERNOTFOUND;
|
||||
}
|
||||
|
||||
UserAccountCache uc = findRet.get();
|
||||
|
||||
if(uc.getToken().length() == 0) {
|
||||
return ConstValue.ErrorCode.ERR_LOGOUT;
|
||||
return ErrorCode.ERR_LOGOUT;
|
||||
}
|
||||
|
||||
if((System.currentTimeMillis() - uc.getLastAccess())
|
||||
>= ConstValue.GlobalConfigure.TOKEN_TIMEOUT_MS)
|
||||
{
|
||||
return ConstValue.ErrorCode.ERR_TOKENTIMEOUT;
|
||||
return ErrorCode.ERR_TOKENTIMEOUT;
|
||||
}
|
||||
|
||||
if(!uc.getToken().equals(token)) {
|
||||
return ConstValue.ErrorCode.ERR_TOKENNOTFOUND;
|
||||
return ErrorCode.ERR_TOKENNOTFOUND;
|
||||
}
|
||||
|
||||
return ConstValue.ErrorCode.ERR_OK;
|
||||
return ErrorCode.ERR_OK;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -43,4 +43,57 @@
|
|||
ON
|
||||
d.id = c.deviceId
|
||||
</select>
|
||||
|
||||
<select id="getDisposeDisposeDevByIp" resultMap="getAllDisposeDevicesMap">
|
||||
SELECT
|
||||
d.id,
|
||||
d.ipv4,
|
||||
d.ipv6,
|
||||
d.type,
|
||||
d.areaCode,
|
||||
d.name,
|
||||
d.manufacturer,
|
||||
d.model,
|
||||
d.version,
|
||||
d.readme,
|
||||
c.id AS c_id,
|
||||
c.deviceId AS c_deviceId,
|
||||
c.capacity AS c_capacity,
|
||||
c.tolFlowCapacity AS c_tolFlowCapacity
|
||||
FROM
|
||||
dispose_device d
|
||||
LEFT JOIN
|
||||
device_capacity c
|
||||
ON
|
||||
d.id = c.deviceId
|
||||
WHERE
|
||||
d.ipv4 = #{ipv4}
|
||||
</select>
|
||||
|
||||
<insert id="addNewDisposeDevice" useGeneratedKeys="true" keyProperty="id" parameterType="com.cmcc.hy.phoenix.pojo.entity.DisposeDevice">
|
||||
INSERT INTO
|
||||
dispose_device(ipv4, ipv6, type,
|
||||
areaCode, name, manufacturer,
|
||||
model, version, readme)
|
||||
VALUES
|
||||
(#{ipv4}, #{ipv6}, #{type},
|
||||
#{areaCode}, #{name}, #{manufacturer},
|
||||
#{model}, #{version}, #{readme});
|
||||
|
||||
INSERT INTO
|
||||
device_capacity(deviceId, capacity, tolFlowCapacity)
|
||||
VALUES
|
||||
<foreach collection="devCaps" item="devCaps" separator=",">
|
||||
(last_insert_id(), #{devCaps.capacity}, #{devCaps.tolFlowCapacity})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<delete id="removeDisposeDevice" parameterType="java.lang.String">
|
||||
DELETE
|
||||
dispose_device
|
||||
FROM
|
||||
dispose_device
|
||||
WHERE
|
||||
dispose_device.ipv4 = #{ipAddr}
|
||||
</delete>
|
||||
</mapper>
|
|
@ -14,14 +14,14 @@ public class DPTechInterfaceTestCase {
|
|||
public void getAllDetectionObjectFromUMC(){
|
||||
|
||||
try {
|
||||
DisposeProcess dp = DeviceRouter.DeviceRouterFactory(ConstValue.DisposeDevice.DPTECH_UMC);
|
||||
DisposeProcess dp = DeviceRouter.deviceRouterFactory(ConstValue.DisposeDeviceType.DPTECH_UMC.getCode(), "10.88.77.15");
|
||||
|
||||
List<DetectionObjectDataForService> detDevs = dp.GetDetectionObjectDevices();
|
||||
List<DetectionObjectDataForService> detDevs = dp.getAllDetectionObject();
|
||||
|
||||
Assert.assertNotEquals(detDevs.size(), 0);
|
||||
|
||||
} catch (Exception ex){
|
||||
Assert.assertTrue(false);
|
||||
Assert.fail();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,14 +29,14 @@ public class DPTechInterfaceTestCase {
|
|||
public void getAllProtectDevices(){
|
||||
|
||||
try {
|
||||
DisposeProcess dp = DeviceRouter.DeviceRouterFactory(ConstValue.DisposeDevice.DPTECH_UMC);
|
||||
DisposeProcess dp = DeviceRouter.deviceRouterFactory(ConstValue.DisposeDeviceType.DPTECH_UMC.getCode(), "10.88.77.15");
|
||||
|
||||
String proDevs = dp.GetProtectDevices();
|
||||
String proDevs = dp.getProtectDevices();
|
||||
|
||||
Assert.assertNotEquals(proDevs.length(), 0);
|
||||
|
||||
} catch (Exception ex){
|
||||
Assert.assertTrue(false);
|
||||
Assert.fail();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,14 +44,14 @@ public class DPTechInterfaceTestCase {
|
|||
public void getAllDetectDevices(){
|
||||
|
||||
try {
|
||||
DisposeProcess dp = DeviceRouter.DeviceRouterFactory(ConstValue.DisposeDevice.DPTECH_UMC);
|
||||
DisposeProcess dp = DeviceRouter.deviceRouterFactory(ConstValue.DisposeDeviceType.DPTECH_UMC.getCode(), "10.88.77.15");
|
||||
|
||||
String detDevs = dp.GetDetectionDevices();
|
||||
String detDevs = dp.getDetectionDevices();
|
||||
|
||||
Assert.assertNotEquals(detDevs.length(), 0);
|
||||
|
||||
} catch (Exception ex){
|
||||
Assert.assertTrue(false);
|
||||
Assert.fail();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.cmcc.hy.phoenix.mapper;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.DeviceCapacity;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.DisposeDevice;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
@ -10,12 +12,15 @@ import org.junit.runner.RunWith;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@EnableTransactionManagement
|
||||
@Slf4j
|
||||
public class DisposeDeviceMapperTest {
|
||||
|
||||
|
@ -32,7 +37,7 @@ public class DisposeDeviceMapperTest {
|
|||
|
||||
log.info(objMapper.writerWithDefaultPrettyPrinter().writeValueAsString(dp));
|
||||
|
||||
Assert.assertEquals(dp.size(), 1);
|
||||
Assert.assertNotEquals(dp.size(), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -41,8 +46,55 @@ public class DisposeDeviceMapperTest {
|
|||
|
||||
log.info(objMapper.writerWithDefaultPrettyPrinter().writeValueAsString(dp));
|
||||
|
||||
Assert.assertEquals(dp.size(), 1);
|
||||
Assert.assertNotEquals(dp.size(), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDisposeDisposeDevByIp() throws JsonProcessingException {
|
||||
DisposeDevice dev = disposeDeviceMapper.getDisposeDisposeDevByIp("10.88.77.15");
|
||||
|
||||
log.info(objMapper.writerWithDefaultPrettyPrinter().writeValueAsString(dev));
|
||||
|
||||
Assert.assertNotNull(dev);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Transactional
|
||||
public void addNewDisposeDevice() throws JsonProcessingException {
|
||||
Long devId = -1L;
|
||||
DisposeDevice dev = new DisposeDevice();
|
||||
List<DeviceCapacity> devCaps = new ArrayList<>();
|
||||
dev.setId(devId);
|
||||
dev.setIpv4("192.168.88.1");
|
||||
dev.setType(ConstValue.DisposeDeviceType.DPTECH_UMC.getCode());
|
||||
dev.setName("默认路由器");
|
||||
dev.setManufacturer("MERCURY");
|
||||
dev.setModel("MV305R");
|
||||
dev.setVersion("1.0.120");
|
||||
dev.setReadme("数据库测试垃圾数据");
|
||||
dev.setAreaCode(0);
|
||||
dev.setDevCaps(devCaps);
|
||||
|
||||
devCaps.add(new DeviceCapacity(0, 2048));
|
||||
devCaps.add(new DeviceCapacity(2));
|
||||
|
||||
disposeDeviceMapper.addNewDisposeDevice(dev);
|
||||
|
||||
log.info(objMapper.writerWithDefaultPrettyPrinter().writeValueAsString(dev));
|
||||
|
||||
Assert.assertNotEquals(devId, dev.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void removeDisposeDevice() throws JsonProcessingException {
|
||||
String ipAddr = "192.168.30.6";
|
||||
disposeDeviceMapper.removeDisposeDevice(ipAddr);
|
||||
List<DisposeDevice> dp = disposeDeviceMapper.selectAll();
|
||||
log.info(objMapper.writerWithDefaultPrettyPrinter().writeValueAsString(dp));
|
||||
dp.forEach(v->{
|
||||
if(v.getIpv4().equals(ipAddr)) {
|
||||
Assert.fail();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
package com.cmcc.hy.phoenix.service;
|
||||
|
||||
import com.cmcc.hy.phoenix.common.ConstValue;
|
||||
import com.cmcc.hy.phoenix.common.ErrorCode;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.DeviceCapacity;
|
||||
import com.cmcc.hy.phoenix.pojo.entity.DisposeDevice;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@EnableTransactionManagement
|
||||
@Slf4j
|
||||
public class DisposeServiceTest {
|
||||
|
||||
@Autowired
|
||||
private ObjectMapper objMapper;
|
||||
|
||||
@Resource
|
||||
private DisposeDeviceManager dispDevMgr;
|
||||
|
||||
@Test
|
||||
public void addNewDisposeDevice() throws JsonProcessingException {
|
||||
Long devId = -1L;
|
||||
DisposeDevice dev = new DisposeDevice();
|
||||
List<DeviceCapacity> devCaps = new ArrayList<>();
|
||||
dev.setId(devId);
|
||||
dev.setIpv4("192.168.88.1");
|
||||
dev.setType(ConstValue.DisposeDeviceType.DPTECH_UMC.getCode());
|
||||
dev.setName("默认路由器");
|
||||
dev.setManufacturer("MERCURY");
|
||||
dev.setModel("MV305R");
|
||||
dev.setVersion("1.0.120");
|
||||
dev.setReadme("数据库测试垃圾数据");
|
||||
dev.setAreaCode(0);
|
||||
dev.setDevCaps(devCaps);
|
||||
|
||||
devCaps.add(new DeviceCapacity(0, 2048));
|
||||
devCaps.add(new DeviceCapacity(2));
|
||||
|
||||
EnumMap<ErrorCode, Long> retMap = dispDevMgr.addNewDisposeDevice(dev);
|
||||
|
||||
ErrorCode err = retMap.keySet().iterator().next();
|
||||
|
||||
Assert.assertEquals(ErrorCode.ERR_OK, err);
|
||||
Assert.assertNotEquals(devId, dev.getId());
|
||||
|
||||
log.info(objMapper.writerWithDefaultPrettyPrinter().writeValueAsString(dev));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue