1
This commit is contained in:
268
mosty-base/mosty-base.iml
Normal file
268
mosty-base/mosty-base.iml
Normal file
@ -0,0 +1,268 @@
|
||||
<?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 />
|
||||
</configuration>
|
||||
</facet>
|
||||
<facet type="JRebel" name="JRebel">
|
||||
<configuration>
|
||||
<option name="ideModuleStorage">
|
||||
<map>
|
||||
<entry key="com.zeroturnaround.jrebel.FormatVersion" value="7.0.0" />
|
||||
<entry key="com.zeroturnaround.jrebel.remoting.DeleteUnindexedFiles" value="false" />
|
||||
<entry key="com.zeroturnaround.jrebel.remoting.ModuleRemoteServerSelection" value="off" />
|
||||
<entry key="jrebelEnabled" value="true" />
|
||||
<entry key="lastExternalPluginCheckTime" value="1721024353923" />
|
||||
</map>
|
||||
</option>
|
||||
<option name="version" value="2" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</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$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<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:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.8.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-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: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" 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.springframework:spring-core:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" 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" name="Maven: org.junit.jupiter:junit-jupiter:5.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.6.2" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.junit.vintage:junit-vintage-engine:5.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-engine:1.6.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:3.1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.assertj:assertj-core:3.13.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mockito:mockito-core:3.1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.3.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.64" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.64" level="project" />
|
||||
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.mosty:common-log-base-starter:1.0.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.83" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.guava:guava:29.0-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.11.1" 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: com.mosty:common-token-starter:1.0.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba:transmittable-thread-local:2.11.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.auth0:java-jwt:3.8.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.vividsolutions:jts:1.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.mosty:common-base-starter:1.0.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.velocity:velocity-engine-core:2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.14" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.14" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" 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.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.caspar-chen:swagger-ui-layer:1.1.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.11.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.30" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.30" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.7.20" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.10" 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.aspectj:aspectjweaver:1.9.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.3" 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.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.mosty:common-redis-starter:1.0.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.2.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.3.2.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.3.2.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.2.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.2.1.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.51.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.51.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.51.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.51.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.51.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.51.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.8.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2.0.3.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.3.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.3.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.3.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.10" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.3.0" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.3.0" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.12.21" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.3.0" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
|
||||
<orderEntry type="module" module-name="mosty-base-feign-sdk" />
|
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-hystrix:10.10.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:10.10.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.18" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:2.2.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.netflix.feign:feign-slf4j:8.14.4" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.feign:feign-core:8.14.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.mosty:common-core-starter:1.0.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.mosty:common-config-starter:1.0.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-hash:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-core:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-ehcache:1.8.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: net.sf.ehcache:ehcache-core:2.6.11" 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: org.apache.tomcat.embed:tomcat-embed-el:9.0.30" 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: com.github.penggle:kaptcha:2.3.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235-1" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.minio:minio:8.0.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.carrotsearch.thirdparty:simple-xml-safe:2.7.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.14.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.squareup.okio:okio:1.17.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.10" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.hikvision.ga:artemis-http-client:1.1.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.locationtech.jts:jts-core:1.18.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.20" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.codehaus.xfire:xfire-core:1.2.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.activation:activation:1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.mail:mail:1.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: jaxen:jaxen:1.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.ws.commons:XmlSchema:1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.codehaus.woodstox:wstx-asl:3.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: jdom:jdom:1.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.0.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-httpclient:commons-httpclient:3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:1.3.2" level="project" />
|
||||
</component>
|
||||
</module>
|
154
mosty-base/pom.xml
Normal file
154
mosty-base/pom.xml
Normal file
@ -0,0 +1,154 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>mosty-dyga-cloud</artifactId>
|
||||
<groupId>com.mosty</groupId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>mosty-base</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<springfox-version>2.8.0</springfox-version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>8.0.16</version>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.mosty</groupId>-->
|
||||
<!-- <artifactId>common-config-starter</artifactId>-->
|
||||
<!-- <version>1.0.0-SNAPSHOT</version>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.mosty</groupId>-->
|
||||
<!-- <artifactId>common-base-starter</artifactId>-->
|
||||
<!-- <version>1.0.0-SNAPSHOT</version>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.mosty</groupId>-->
|
||||
<!-- <artifactId>common-core-starter</artifactId>-->
|
||||
<!-- <version>1.0.0-SNAPSHOT</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.mosty</groupId>-->
|
||||
<!-- <artifactId>common-generator-starter</artifactId>-->
|
||||
<!-- <version>1.0.0-SNAPSHOT</version>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.mosty</groupId>
|
||||
<artifactId>common-log-base-starter</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.mybatis.spring.boot</groupId>-->
|
||||
<!-- <artifactId>mybatis-spring-boot-starter</artifactId>-->
|
||||
<!-- <version>2.2.0</version>-->
|
||||
<!-- <optional>true</optional>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<!--base-feign-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.mosty</groupId>-->
|
||||
<!-- <artifactId>mosty-base-feign-sdk</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
<version>2.0.3.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>3.17</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mosty</groupId>
|
||||
<artifactId>mosty-base-feign-sdk</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.thoughtworks.xstream</groupId>
|
||||
<artifactId>xstream</artifactId>
|
||||
<version>1.4.20</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>mxparser</artifactId>
|
||||
<groupId>io.github.x-stream</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.codehaus.xfire/xfire-core -->
|
||||
<dependency>
|
||||
<groupId>org.codehaus.xfire</groupId>
|
||||
<artifactId>xfire-core</artifactId>
|
||||
<version>1.2.6</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>wsdl4j</artifactId>
|
||||
<groupId>wsdl4j</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.7</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>1.3.2</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</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,34 @@
|
||||
package com.mosty.base;
|
||||
|
||||
import com.mosty.common.base.timeconsume.EnableTimeConsume;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
/**
|
||||
* 基础微服务
|
||||
* 包括:登陆服务、认证授权(IDP服务)、操作日志
|
||||
*
|
||||
* @author kevin
|
||||
* @date 2022/1/22 4:23 PM
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@EnableTimeConsume
|
||||
//@ComponentScan("com.mosty")
|
||||
//@MapperScan("com.mosty")
|
||||
@EnableDiscoveryClient
|
||||
@EnableFeignClients(basePackages = "com.mosty.base.feign.service")
|
||||
@SpringBootApplication
|
||||
@EnableScheduling
|
||||
public class MostyBaseApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
SpringApplication.run(MostyBaseApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.mosty.base.config;
|
||||
|
||||
import feign.RequestInterceptor;
|
||||
import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
@Configuration
|
||||
public class FeignConfig implements RequestInterceptor {
|
||||
|
||||
@Override
|
||||
public void apply(RequestTemplate requestTemplate) {
|
||||
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
if (attr != null) {
|
||||
HttpServletRequest request = attr.getRequest();
|
||||
// 添加token
|
||||
requestTemplate.header("Authorization", request.getHeader("Authorization"));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.mosty.base.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 全局配置
|
||||
* @author kevin
|
||||
* @date 2022/5/25 1:56 上午
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Data
|
||||
@Configuration
|
||||
@ConfigurationProperties("exclude.path-patterns")
|
||||
public class GlobalYmlConfig {
|
||||
|
||||
/**
|
||||
* token放行的配置列表
|
||||
*/
|
||||
private List<String> token;
|
||||
|
||||
/**
|
||||
* swagger 静态文件的放行列表
|
||||
*/
|
||||
private List<String> swagger;
|
||||
|
||||
}
|
137
mosty-base/src/main/java/com/mosty/base/config/WebMvcConfig.java
Normal file
137
mosty-base/src/main/java/com/mosty/base/config/WebMvcConfig.java
Normal file
@ -0,0 +1,137 @@
|
||||
package com.mosty.base.config;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
|
||||
import com.mosty.common.token.SysUserInterceptor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||
import org.springframework.web.servlet.config.annotation.*;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 单体服务拦截器
|
||||
* @author kevin
|
||||
* @date 2022/3/21 11:17 PM
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Configuration
|
||||
@Slf4j
|
||||
public class WebMvcConfig implements WebMvcConfigurer, InitializingBean {
|
||||
|
||||
private static final String DEFAULT_TIME_FORMAT = "HH:mm:ss";
|
||||
private static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";
|
||||
private static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
@Value("${server.servlet.context-path:/}")
|
||||
private String contextPath;
|
||||
|
||||
@Autowired
|
||||
private GlobalYmlConfig globalYmlConfig;
|
||||
|
||||
@Override
|
||||
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
|
||||
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
|
||||
ObjectMapper objectMapper = converter.getObjectMapper();
|
||||
// 生成JSON时,将所有Long转换成String
|
||||
SimpleModule simpleModule = new SimpleModule();
|
||||
// simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
||||
// simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
|
||||
//日期格式化
|
||||
simpleModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)));
|
||||
simpleModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT)));
|
||||
simpleModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT)));
|
||||
simpleModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)));
|
||||
simpleModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT)));
|
||||
simpleModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT)));
|
||||
|
||||
objectMapper.registerModule(simpleModule);
|
||||
// 时间格式化
|
||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
objectMapper.configure(JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN, true);
|
||||
objectMapper.configure(JsonGenerator.Feature.IGNORE_UNKNOWN, true);
|
||||
|
||||
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
|
||||
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||
|
||||
// 设置格式化内容
|
||||
converter.setObjectMapper(objectMapper);
|
||||
converters.add(0, converter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
log.info("当前服务的 contextPath={}", contextPath);
|
||||
log.info("当前服务的 tokenExcludePathPatterns={}", JSON.toJSONString(globalYmlConfig.getToken()));
|
||||
log.info("当前服务的 swaggerExcludePathPatterns={}", JSON.toJSONString(globalYmlConfig.getSwagger()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addViewControllers(ViewControllerRegistry registry) {
|
||||
// registry.addViewController("/").setViewName("redirect:swagger-ui.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
|
||||
configurer.defaultContentType(MediaType.APPLICATION_JSON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
// registry.addInterceptor(tokenInterceptor()).addPathPatterns("/**")
|
||||
// .excludePathPatterns(globalYmlConfig.getToken())
|
||||
// .excludePathPatterns(globalYmlConfig.getSwagger());
|
||||
|
||||
registry.addInterceptor(userInfoInterceptor()).addPathPatterns("/**")
|
||||
.excludePathPatterns(globalYmlConfig.getSwagger());
|
||||
log.info("初始化WebMvcConfig 监控拦截器SysUserInterceptor");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
if (!registry.hasMappingForPattern("/template/**")) {
|
||||
registry.addResourceHandler("/template/**").addResourceLocations("classpath:/template/");
|
||||
}
|
||||
registry.addResourceHandler("swagger-ui.html")
|
||||
.addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("docs.html")
|
||||
.addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("/webjars/**")
|
||||
.addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
WebMvcConfigurer.super.addResourceHandlers(registry);
|
||||
}
|
||||
|
||||
// @Bean
|
||||
// public TokenInterceptor tokenInterceptor() {
|
||||
// log.info("初始化WebMvcConfig 拦截器TokenInterceptor");
|
||||
// return new TokenInterceptor();
|
||||
// }
|
||||
|
||||
@Bean
|
||||
public SysUserInterceptor userInfoInterceptor() {
|
||||
log.info("初始化WebMvcConfig 拦截器SysUserInterceptor");
|
||||
return new SysUserInterceptor();
|
||||
}
|
||||
}
|
@ -0,0 +1,145 @@
|
||||
package com.mosty.base.controller;
|
||||
|
||||
import com.mosty.base.model.dto.base.GetDeptListDTO;
|
||||
import com.mosty.base.model.dto.base.GetSsbmDto;
|
||||
import com.mosty.base.model.dto.base.SysDeptDTO;
|
||||
import com.mosty.base.model.query.base.GetSysDeptListQuery;
|
||||
import com.mosty.base.model.query.base.SysDeptQuery;
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.base.service.DeptService;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.core.business.entity.SysDept;
|
||||
import com.mosty.common.token.JwtSysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/1
|
||||
* 部门数据处理相关
|
||||
**/
|
||||
@Api(tags = "部门数据处理相关")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/deptFeign")
|
||||
public class DeptController {
|
||||
|
||||
private final DeptService deptService;
|
||||
|
||||
@ApiOperation("根据部门deptid获取所属分县局、所属地市州")
|
||||
@JwtSysUser
|
||||
@GetMapping("getOrgByDeptId/{deptid}")
|
||||
public ResponseResult<DeptInfoVo> getOrgByDeptId(@PathVariable("deptid") String deptid) {
|
||||
return ResponseResult.success(this.deptService.getOrgByDeptId(deptid));
|
||||
}
|
||||
|
||||
@ApiOperation("根据部门orgcode获取所属分县局、所属地市州")
|
||||
@GetMapping("getOrgByOrgcode/{orgcode}")
|
||||
public ResponseResult<DeptInfoVo> getOrgByOrgcode(@PathVariable("orgcode") String orgcode) {
|
||||
return ResponseResult.success(this.deptService.getOrgByOrgcode(orgcode));
|
||||
}
|
||||
|
||||
@ApiOperation("查询所有的部门信息列表")
|
||||
@JwtSysUser
|
||||
@GetMapping("getDeptAll")
|
||||
public ResponseResult<List<DeptInfoVo>> getDeptAll() {
|
||||
return ResponseResult.success(this.deptService.getDeptAll());
|
||||
}
|
||||
|
||||
@ApiOperation("查询部门下的所有子部门信息,排除一些部门")
|
||||
@JwtSysUser
|
||||
@PostMapping("getChildDept")
|
||||
public ResponseResult<List<DeptInfoVo>> getChildDept(@RequestBody GetDeptListDTO dto) {
|
||||
return ResponseResult.success(this.deptService.getChildDept(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("查询分局下的所有的派出所信息")
|
||||
@PostMapping("getPcsByFxjdm/{orgcode}")
|
||||
public ResponseResult<List<SysDeptDTO>> getPcsByFxjdm(@PathVariable("orgcode") String orgcode) {
|
||||
return ResponseResult.success(this.deptService.getPcsByFxjdm(orgcode));
|
||||
}
|
||||
|
||||
@ApiOperation("获取部门信息")
|
||||
@PostMapping("getOrg")
|
||||
public ResponseResult<List<SysDept>> getOrg(@RequestBody SysDeptQuery deptQuery) {
|
||||
return ResponseResult.success(this.deptService.getOrg(deptQuery));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("获取组织机构信息列表")
|
||||
@PostMapping("getOrganizationList")
|
||||
public ResponseResult<List<SysDept>> getOrganizationList(@RequestBody GetSysDeptListQuery query) {
|
||||
return ResponseResult.success(this.deptService.getOrganizationList(query));
|
||||
}
|
||||
|
||||
@ApiOperation("重置部门的部门ROOT")
|
||||
@PostMapping("resetRootPath")
|
||||
public ResponseResult<Void> resetRootPath() {
|
||||
this.deptService.resetRootPath();
|
||||
return ResponseResult.success();
|
||||
}
|
||||
|
||||
// @ApiOperation("获取查询条件")
|
||||
// @PostMapping("getSsbm/{ssbmdm}/{isChild}")
|
||||
// public ResponseResult<String> getSsbm(@PathVariable("ssbmdm") String ssbmdm,
|
||||
// @PathVariable("isChild") String isChild) {
|
||||
// return ResponseResult.success("成功", this.deptService.getSsbm(ssbmdm, isChild));
|
||||
// }
|
||||
|
||||
|
||||
@ApiOperation("获取查询条件")
|
||||
@PostMapping("getSsbm")
|
||||
@JwtSysUser
|
||||
public ResponseResult<String> getSsbm(@RequestBody GetSsbmDto dto) {
|
||||
return ResponseResult.success("成功", this.deptService.getSsbm(dto.getSsbmdm(), dto.getIsChild()));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据类型查询所有的部门")
|
||||
@GetMapping("getDeptByType")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "type", value = "类型 01.市局 02.县局 03.派出所", required = true)
|
||||
})
|
||||
public ResponseResult<List<SysDept>> getJzOrPcs(String type, String ssbmdm) {
|
||||
return ResponseResult.success(this.deptService.getDeptByType(type, ssbmdm));
|
||||
}
|
||||
|
||||
@ApiOperation("查询父级部门")
|
||||
@GetMapping("getParentOrgCode")
|
||||
@JwtSysUser
|
||||
public ResponseResult<List<String>> getParentOrgCode(String ssbmdm) {
|
||||
return ResponseResult.success(this.deptService.getParentOrgCode(ssbmdm));
|
||||
}
|
||||
|
||||
@ApiOperation("查询父级部门")
|
||||
@GetMapping("/getParentDept")
|
||||
ResponseResult<SysDept> getParentDept(String ssbmid) {
|
||||
return ResponseResult.success(this.deptService.getParentDept(ssbmid));
|
||||
}
|
||||
|
||||
@ApiOperation("查询部门详情")
|
||||
@GetMapping("/getSysDeptBySsbmdm")
|
||||
ResponseResult<SysDept> getSysDeptBySsbmdm(String ssbmdm) {
|
||||
return ResponseResult.success(this.deptService.getSysDeptBySsbmdm(ssbmdm));
|
||||
}
|
||||
|
||||
@ApiOperation("同步组织机构部门")
|
||||
@GetMapping("/tbZjjgDm")
|
||||
public ResponseResult<Void> tbZjjgDm() {
|
||||
this.deptService.tbZjjgDm();
|
||||
return ResponseResult.success();
|
||||
}
|
||||
|
||||
@ApiOperation("同步组织机构人员")
|
||||
@GetMapping("/tbZzjgRy")
|
||||
public ResponseResult<Void> tbZzjgRy() {
|
||||
this.deptService.tbZzjgRy();
|
||||
return ResponseResult.success();
|
||||
}
|
||||
}
|
@ -0,0 +1,131 @@
|
||||
package com.mosty.base.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.mosty.base.model.dto.base.GetYqListDto;
|
||||
import com.mosty.base.model.dto.base.RsHjyjSearchDto;
|
||||
import com.mosty.base.model.entity.jcgl.TbJcglXfll;
|
||||
import com.mosty.base.model.entity.yjzl.TbYjxx;
|
||||
import com.mosty.base.model.entity.yszx.TbYsGajg;
|
||||
import com.mosty.base.model.vo.yszx.TbYsGajgVo;
|
||||
import com.mosty.base.service.DeptService;
|
||||
import com.mosty.base.service.GajgSearchService;
|
||||
import com.mosty.base.utils.OkHttpUtils;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.base.entity.log.BusinessType;
|
||||
import com.mosty.common.base.entity.log.Log;
|
||||
import com.mosty.common.base.entity.log.SysOperLog;
|
||||
import com.mosty.common.config.Excel.ExcelUtil;
|
||||
import com.mosty.common.core.business.entity.SysLogininfor;
|
||||
import com.mosty.common.core.business.entity.request.LoginLogPage;
|
||||
import com.mosty.common.core.business.mapper.SysLogininforMapper;
|
||||
import com.mosty.common.core.util.http.HttpUtils;
|
||||
import com.mosty.common.token.JwtSysUser;
|
||||
import com.mosty.common.token.UserInfo;
|
||||
import com.mosty.common.token.UserInfoManager;
|
||||
import com.mosty.common.util.PermissionsUtil;
|
||||
import com.mosty.operation.log.entity.VO.OperlogPage;
|
||||
import com.mosty.operation.log.mapper.SysOperLogMapper;
|
||||
import com.mosty.operation.log.service.SysOperLogService;
|
||||
import io.lettuce.core.GeoCoordinates;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("other")
|
||||
@Api(tags = "其他的一些接口")
|
||||
@AllArgsConstructor
|
||||
public class OtherController {
|
||||
|
||||
private final GajgSearchService gajgSearchService;
|
||||
private final SysOperLogMapper sysOperLogMapper;
|
||||
private final SysLogininforMapper sysLogininforMapper;
|
||||
private final DeptService deptService;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("getGajg")
|
||||
@ApiOperation("公安机关所有信息")
|
||||
@JwtSysUser
|
||||
public ResponseResult<TbYsGajgVo> getGajg() {
|
||||
return ResponseResult.success(this.gajgSearchService.getGajg());
|
||||
}
|
||||
|
||||
@PostMapping("getZxd")
|
||||
@ApiOperation("获取区域中心点")
|
||||
@JwtSysUser
|
||||
public ResponseResult<GeoCoordinates> getZxd(@RequestBody List<BigDecimal[]> dtm) {
|
||||
int total = dtm.size();
|
||||
double X = 0, Y = 0, Z = 0;
|
||||
for (BigDecimal[] yjxx : dtm) {
|
||||
double jd, wd, x, y, z;
|
||||
jd = yjxx[0].doubleValue() * Math.PI / 180;
|
||||
wd = yjxx[1].doubleValue() * Math.PI / 180;
|
||||
x = Math.cos(wd) * Math.cos(jd);
|
||||
y = Math.cos(wd) * Math.sin(jd);
|
||||
z = Math.sin(wd);
|
||||
X += x;
|
||||
Y += y;
|
||||
Z += z;
|
||||
}
|
||||
X = X / total;
|
||||
Y = Y / total;
|
||||
Z = Z / total;
|
||||
double jd = Math.atan2(Y, X);
|
||||
double Hyp = Math.sqrt(X * X + Y * Y);
|
||||
double wd = Math.atan2(Z, Hyp);
|
||||
return ResponseResult.success(GeoCoordinates.create(jd * 180 / Math.PI, wd * 180 / Math.PI));
|
||||
}
|
||||
|
||||
@PostMapping("/exportOperlog")
|
||||
@ApiOperation("导出查询日志")
|
||||
@Log(title = "导出查询日志", businessType = BusinessType.OTHER)
|
||||
public void exportOperlog(OperlogPage dto, HttpServletResponse response) {
|
||||
LambdaQueryWrapper<SysOperLog> qw = new LambdaQueryWrapper<>();
|
||||
qw.like(StringUtils.isNotBlank(dto.getTitle()), SysOperLog::getTitle, dto.getTitle())
|
||||
.like(StringUtils.isNotBlank(dto.getOperName()), SysOperLog::getOperName, dto.getOperName())
|
||||
.eq(Objects.nonNull(dto.getBusinessType()), SysOperLog::getBusinessType, dto.getBusinessType())
|
||||
.eq(Objects.nonNull(dto.getStatus()), SysOperLog::getStatus, dto.getStatus())
|
||||
.orderByDesc(SysOperLog::getOperId).last(" limit 10000");
|
||||
List<SysOperLog> list = sysOperLogMapper.selectList(qw);
|
||||
|
||||
ExcelUtil<SysOperLog> util = new ExcelUtil<
|
||||
>(SysOperLog.class);
|
||||
util.exportExcel(response, list, "巡逻辅警导出", "巡逻辅警导出");
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/exportLoginLog")
|
||||
@ApiOperation("导出登陆日志")
|
||||
@Log(title = "导出登陆日志", businessType = BusinessType.OTHER)
|
||||
public void exportLoginLog(LoginLogPage dto, HttpServletResponse response) {
|
||||
QueryWrapper<SysLogininfor> qw = new QueryWrapper<>();
|
||||
String ssbm = deptService.getSsbm(null, null);
|
||||
qw.lambda().like(StringUtils.isNotBlank(dto.getUserName()), SysLogininfor::getUserName, dto.getUserName())
|
||||
.eq(Objects.nonNull(dto.getStatus()), SysLogininfor::getStatus, dto.getStatus())
|
||||
.likeRight(StringUtils.isNotBlank(ssbm), SysLogininfor::getSsbmdm, ssbm);
|
||||
qw.lambda().orderByDesc(SysLogininfor::getInfoId).last(" limit 10000");
|
||||
List<SysLogininfor> list = sysLogininforMapper.selectList(qw);
|
||||
ExcelUtil<SysLogininfor> util = new ExcelUtil<>(SysLogininfor.class);
|
||||
util.exportExcel(response, list, "导出登陆日志", "导出登陆日志");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.mosty.base.controller;
|
||||
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.base.service.DeptService;
|
||||
import com.mosty.base.service.SysConfigNewService;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.token.JwtSysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/10/15
|
||||
* 系统配置信息相关接口
|
||||
**/
|
||||
@Api(tags = "系统配置信息相关接口")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/sysConfigNew")
|
||||
public class SysConfigNewController {
|
||||
|
||||
private final SysConfigNewService sysConfigNewService;
|
||||
|
||||
@ApiOperation("通过key获取配置信息")
|
||||
@GetMapping("getValue/{pzj}")
|
||||
public ResponseResult<String> getValue(@PathVariable("pzj") String pzj) {
|
||||
return ResponseResult.success(this.sysConfigNewService.getValue(pzj));
|
||||
}
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package com.mosty.base.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.mosty.base.model.dto.base.SysMessageInfo;
|
||||
import com.mosty.base.model.query.base.GetMyMessageQuery;
|
||||
import com.mosty.base.model.dto.base.SysMessageInfoInsertDto;
|
||||
import com.mosty.base.service.SysMessageService;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.base.entity.log.BusinessType;
|
||||
import com.mosty.common.base.entity.log.Log;
|
||||
import com.mosty.common.token.JwtSysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/26
|
||||
* 布控车辆接口
|
||||
**/
|
||||
@Api(tags = "消息相关接口")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/sysMessage")
|
||||
public class SysMessageController {
|
||||
|
||||
private final SysMessageService sysMessageService;
|
||||
|
||||
@PostMapping("sendMsg")
|
||||
@ApiOperation(value = "发送消息")
|
||||
@Log(title = "发送消息", businessType = BusinessType.INSERT)
|
||||
@JwtSysUser
|
||||
public ResponseResult<Integer> sendMsg(@RequestBody SysMessageInfoInsertDto dto) {
|
||||
return ResponseResult.success(this.sysMessageService.sendMsg(dto));
|
||||
}
|
||||
|
||||
@GetMapping("getPageList")
|
||||
@ApiOperation(value = "获取我的消息列表")
|
||||
@JwtSysUser
|
||||
public ResponseResult<IPage<SysMessageInfo>> getPageList(GetMyMessageQuery dto) {
|
||||
return ResponseResult.success(this.sysMessageService.getPageList(dto));
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package com.mosty.base.controller;
|
||||
|
||||
import com.mosty.base.model.dto.base.GetDeptListDTO;
|
||||
import com.mosty.base.model.dto.base.SysDeptDTO;
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.base.service.DeptService;
|
||||
import com.mosty.base.service.UserConfigService;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.core.business.entity.SysUserAppHomeconfig;
|
||||
import com.mosty.common.core.business.entity.request.SysUserAppHomeconfigQuery;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserAppHomeconfigVo;
|
||||
import com.mosty.common.token.JwtSysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/1
|
||||
* 部门数据处理相关
|
||||
**/
|
||||
@Api(tags = "APP用户配置相关接口(NEW)")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/AppUserConfig")
|
||||
public class UserConfigController {
|
||||
|
||||
private final UserConfigService userConfigService;
|
||||
|
||||
@ApiOperation("查询用户配置")
|
||||
@JwtSysUser
|
||||
@GetMapping("getUserConfig")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(value = "用户ID", name = "userId", dataType = "int"),
|
||||
@ApiImplicitParam(value = "首页ID", name = "homeId", dataType = "int"),
|
||||
})
|
||||
public ResponseResult<SysUserAppHomeconfigVo> getUserConfig(int userId, int homeId) {
|
||||
return ResponseResult.success(this.userConfigService.getUserConfig(userId, homeId));
|
||||
}
|
||||
|
||||
// @ApiOperation("修改用户配置")
|
||||
// @JwtSysUser
|
||||
// @GetMapping("updateUserConfig")
|
||||
// @ApiImplicitParams({
|
||||
// @ApiImplicitParam(value = "用户ID", name = "userId", dataType = "int"),
|
||||
// @ApiImplicitParam(value = "首页ID", name = "homeId", dataType = "int"),
|
||||
// })
|
||||
// public ResponseResult<SysUserAppHomeconfigVo> updateUserConfig(List<SysUserAppHomeconfig> plates) {
|
||||
// return ResponseResult.success(this.userConfigService.updateUserConfig(plates));
|
||||
// }
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.mosty.base.controller;
|
||||
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.base.service.UserDeptService;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserDeptVO;
|
||||
import com.mosty.common.token.JwtSysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/8
|
||||
* 部门数据处理相关
|
||||
**/
|
||||
@Api(tags = "用户信息处理相关")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/userDeptFeign")
|
||||
public class UserDeptController {
|
||||
|
||||
private final UserDeptService userDeptService;
|
||||
|
||||
@ApiOperation("查询所有的用户数据(包含对应的部门信息)")
|
||||
@JwtSysUser
|
||||
@GetMapping("getUserAll/{deptid}")
|
||||
public ResponseResult<List<SysUserDeptVO>> getUserAll(@PathVariable("deptid") String deptid) {
|
||||
return ResponseResult.success(this.userDeptService.getUserAll(deptid));
|
||||
}
|
||||
|
||||
@ApiOperation("查询部门下的总人数(包含子部门)")
|
||||
@JwtSysUser
|
||||
@GetMapping("getUserCount/{deptid}")
|
||||
public ResponseResult<Integer> getUserCount(@PathVariable("deptid") String deptid) {
|
||||
return ResponseResult.success(this.userDeptService.getUserCount(deptid));
|
||||
}
|
||||
|
||||
@ApiOperation("查询部门下的人员信息,不包含子部门")
|
||||
@JwtSysUser
|
||||
@GetMapping("getUserList/{deptid}")
|
||||
public ResponseResult<List<SysUserDeptVO>> getUserList(@PathVariable("deptid") String deptid) {
|
||||
return ResponseResult.success(this.userDeptService.getUserList(deptid));
|
||||
}
|
||||
|
||||
@ApiOperation("根据用户ID,获取用户部门信息")
|
||||
@JwtSysUser
|
||||
@GetMapping("getDeptInfoByUserId/{userId}")
|
||||
public ResponseResult<DeptInfoVo> getDeptInfoByUserId(@PathVariable("userId") String userId) {
|
||||
return ResponseResult.success(this.userDeptService.getDeptInfoByUserId(userId));
|
||||
}
|
||||
|
||||
@ApiOperation("查询用户是否有该部门的数据权限")
|
||||
@JwtSysUser
|
||||
@GetMapping("getDataPermission")
|
||||
public ResponseResult<Boolean> getDataPermission(String sfz, String deptcode) {
|
||||
return ResponseResult.success(this.userDeptService.getDataPermission(sfz, deptcode));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据用户身份证号,获取用户部门信息")
|
||||
@JwtSysUser
|
||||
@GetMapping("getDeptInfoBySfzh/{sfzh}")
|
||||
public ResponseResult<DeptInfoVo> getDeptInfoBySfzh(@PathVariable("sfzh") String sfzh) {
|
||||
return ResponseResult.success(this.userDeptService.getDeptInfoBySfzh(sfzh));
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package com.mosty.base.controller;
|
||||
|
||||
import com.mosty.base.service.UserInfoService;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.core.business.entity.SysUser;
|
||||
import com.mosty.common.token.JwtSysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/8
|
||||
* 部门数据处理相关
|
||||
**/
|
||||
@Api(tags = "用户信息相关接口")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/userFeign")
|
||||
public class UserInfoController {
|
||||
|
||||
private final UserInfoService userDeptService;
|
||||
|
||||
@ApiOperation("根据用户Id获取用户详情信息")
|
||||
@JwtSysUser
|
||||
@GetMapping("getUserInfo/{userId}")
|
||||
public ResponseResult<SysUser> getUserInfo(@PathVariable("userId") String userId) {
|
||||
return ResponseResult.success(this.userDeptService.getUserInfo(userId));
|
||||
}
|
||||
|
||||
@ApiOperation("根据用户Id获取用户详情信息")
|
||||
@JwtSysUser
|
||||
@GetMapping("getUserInfoBySfzh/{sfzh}")
|
||||
public ResponseResult<SysUser> getUserInfoBySfzh(@PathVariable("sfzh") String sfzh) {
|
||||
return ResponseResult.success(this.userDeptService.getUserInfoBySfzh(sfzh));
|
||||
}
|
||||
|
||||
|
||||
}
|
BIN
mosty-base/src/main/java/com/mosty/base/manager/img.png
Normal file
BIN
mosty-base/src/main/java/com/mosty/base/manager/img.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 161 KiB |
@ -0,0 +1,7 @@
|
||||
/**
|
||||
* 阿里四层模型
|
||||
* @author kevin
|
||||
* @date 2022/1/22 4:45 PM
|
||||
* @since 1.0.0
|
||||
*/
|
||||
package com.mosty.base.manager;
|
@ -0,0 +1,14 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.common.core.business.entity.SysDept;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/1
|
||||
**/
|
||||
@Mapper
|
||||
public interface DeptMapper extends BaseMapper<SysDept> {
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.base.model.entity.yszx.TbYsGajg;
|
||||
import com.mosty.base.model.entity.yszx.TbYsGajgGlbm;
|
||||
import com.mosty.common.core.business.entity.SysDept;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 公安机关
|
||||
*/
|
||||
@Mapper
|
||||
public interface GajgSearchMapper {
|
||||
// 公安机关全部信息
|
||||
@ApiOperation("公安机关全部信息")
|
||||
TbYsGajg getGajg(@Param("ssbmid") String ssbmid); // param 'sql中用了ssbmid参数'
|
||||
|
||||
// 从子表中关联查询到公安机关全部信息
|
||||
@ApiOperation("从子表中关联查询到公安机关全部信息") // param 'sql中用了ssbmid参数'
|
||||
String getGajgFromGlbl(@Param("ssbmid") String ssbmid);
|
||||
|
||||
// 获取到id,根据id查询公安机关详情
|
||||
@ApiOperation("查询公安机关详情")
|
||||
TbYsGajg getGajgById(String id);
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.base.model.dto.base.SysMessageInfo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/26
|
||||
**/
|
||||
@Mapper
|
||||
public interface SysMessageInfoMapper extends BaseMapper<SysMessageInfo> {
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.base.model.dto.base.SysMessageItem;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/26
|
||||
**/
|
||||
@Mapper
|
||||
public interface SysMessageItemMapper extends BaseMapper<SysMessageItem> {
|
||||
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.base.model.entity.base.TbOrg;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface TbOrgMapper extends BaseMapper<TbOrg> {
|
||||
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.base.model.entity.base.TbUser;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface TbUserMapper extends BaseMapper<TbUser> {
|
||||
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.common.core.business.entity.SysUserAppHomeconfig;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface UserConfigMapper extends BaseMapper<SysUserAppHomeconfig> {
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.mosty.base.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.mosty.common.core.business.entity.SysUser;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/8
|
||||
**/
|
||||
@Mapper
|
||||
public interface UserDeptMapper extends BaseMapper<SysUser> {
|
||||
|
||||
@ApiOperation("查询部门下面的所有的人员信息")
|
||||
List<SysUser> getUserListByDeptId(List<String> deptId);
|
||||
|
||||
@ApiOperation("查询本部门下的所有的,不包含子部门")
|
||||
List<SysUser> getUserListByIdAll(String deptid);
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
package com.mosty.base.service;
|
||||
|
||||
import com.mosty.base.model.dto.base.GetDeptListDTO;
|
||||
import com.mosty.base.model.dto.base.SysDeptDTO;
|
||||
import com.mosty.base.model.query.base.GetSysDeptListQuery;
|
||||
import com.mosty.base.model.query.base.SysDeptQuery;
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.common.core.business.entity.SysDept;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/1
|
||||
**/
|
||||
public interface DeptService {
|
||||
|
||||
@ApiOperation("根据部门deptid获取所属分县局、所属地市州")
|
||||
DeptInfoVo getOrgByDeptId(String deptid);
|
||||
|
||||
@ApiOperation("查询所有的部门信息")
|
||||
List<DeptInfoVo> getDeptAll();
|
||||
|
||||
@ApiOperation("查询部门下的所有子部门信息,排除一些部门")
|
||||
List<DeptInfoVo> getChildDept(GetDeptListDTO dto);
|
||||
|
||||
@ApiOperation("根据部门orgcode获取所属分县局、所属地市州")
|
||||
DeptInfoVo getOrgByOrgcode(String orgcode);
|
||||
|
||||
@ApiOperation("查询分县局下的派出所信息")
|
||||
List<SysDeptDTO> getPcsByFxjdm(String orgcode);
|
||||
|
||||
@ApiOperation("获取部门信息")
|
||||
List<SysDept> getOrg(SysDeptQuery deptQuery);
|
||||
|
||||
@ApiOperation("获取组织机构信息列表")
|
||||
List<SysDept> getOrganizationList(GetSysDeptListQuery query);
|
||||
|
||||
@ApiOperation("重置部门的部门ROOT")
|
||||
void resetRootPath();
|
||||
|
||||
|
||||
@ApiOperation("获取用户的查询条件")
|
||||
String getSsbm(String ssbmdm, String isChild);
|
||||
|
||||
@ApiOperation("根据类型查询所有的部门")
|
||||
List<SysDept> getDeptByType(String type, String ssbmdm);
|
||||
|
||||
@ApiOperation("查询父级部门")
|
||||
List<String> getParentOrgCode(String ssbmdm);
|
||||
|
||||
@ApiOperation("查询父级部门")
|
||||
SysDept getParentDept(String ssbmid);
|
||||
|
||||
@ApiOperation("查询部门信息")
|
||||
SysDept getSysDeptBySsbmdm(String ssbmdm);
|
||||
|
||||
@ApiOperation("同步组织机构代码")
|
||||
void tbZjjgDm();
|
||||
|
||||
@ApiOperation("同步组织机构人员")
|
||||
void tbZzjgRy();
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.mosty.base.service;
|
||||
|
||||
import com.mosty.base.model.entity.yszx.TbYsGajg;
|
||||
import com.mosty.base.model.vo.yszx.TbYsGajgVo;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/1
|
||||
**/
|
||||
public interface GajgSearchService {
|
||||
|
||||
@ApiOperation("公安机关所有信息")
|
||||
TbYsGajgVo getGajg();
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.mosty.base.service;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
public interface SysConfigNewService {
|
||||
|
||||
@ApiOperation("通过key获取配置信息")
|
||||
String getValue(String pzj);
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.mosty.base.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.mosty.base.model.dto.base.SysMessageInfo;
|
||||
import com.mosty.base.model.query.base.GetMyMessageQuery;
|
||||
import com.mosty.base.model.dto.base.SysMessageInfoInsertDto;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/26
|
||||
**/
|
||||
public interface SysMessageService {
|
||||
|
||||
@ApiOperation("发送消息")
|
||||
Integer sendMsg(SysMessageInfoInsertDto dto);
|
||||
|
||||
@ApiOperation("获取我的消息列表")
|
||||
IPage<SysMessageInfo> getPageList(GetMyMessageQuery dto);
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.mosty.base.service;
|
||||
|
||||
import com.mosty.common.core.business.entity.request.SysUserAppHomeconfigQuery;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserAppHomeconfigVo;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface UserConfigService {
|
||||
|
||||
@ApiOperation("获取用户配置信息")
|
||||
SysUserAppHomeconfigVo getUserConfig(int userId, int homeId);
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.mosty.base.service;
|
||||
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.common.base.domain.ResponseResult;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserDeptVO;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/8
|
||||
**/
|
||||
public interface UserDeptService {
|
||||
|
||||
@ApiOperation("查询所有的用户数据(包含对应的部门信息)")
|
||||
List<SysUserDeptVO> getUserAll(String deptid);
|
||||
|
||||
@ApiOperation("查询部门下的人员信息")
|
||||
List<SysUserDeptVO> getUserList(String deptid);
|
||||
|
||||
@ApiOperation("根据用户ID,获取用户部门信息")
|
||||
DeptInfoVo getDeptInfoByUserId(String userId);
|
||||
|
||||
@ApiOperation("查询部门下的总人数(包含子部门)")
|
||||
Integer getUserCount(String deptid);
|
||||
|
||||
@ApiOperation("查询用户是否有该部门的数据权限")
|
||||
boolean getDataPermission(String sfz, String deptcode);
|
||||
|
||||
@ApiOperation("根据身份证号,获取用户部门信息")
|
||||
DeptInfoVo getDeptInfoBySfzh(String sfzh);
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.mosty.base.service;
|
||||
|
||||
import com.mosty.common.core.business.entity.SysUser;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserInfoVO;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
public interface UserInfoService {
|
||||
|
||||
@ApiOperation("根据用户Id获取用户详情信息")
|
||||
SysUser getUserInfo(String userId);
|
||||
|
||||
@ApiOperation("根据用户Id获取用户详情信息")
|
||||
SysUser getUserInfoBySfzh(String sfzh);
|
||||
|
||||
}
|
@ -0,0 +1,726 @@
|
||||
package com.mosty.base.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mosty.base.mapper.DeptMapper;
|
||||
import com.mosty.base.mapper.TbOrgMapper;
|
||||
import com.mosty.base.mapper.TbUserMapper;
|
||||
import com.mosty.base.model.dto.base.GetDeptListDTO;
|
||||
import com.mosty.base.model.dto.base.SysDeptDTO;
|
||||
import com.mosty.base.model.entity.base.TbOrg;
|
||||
import com.mosty.base.model.entity.base.TbUser;
|
||||
import com.mosty.base.model.query.base.GetSysDeptListQuery;
|
||||
import com.mosty.base.model.query.base.SysDeptQuery;
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.base.service.DeptService;
|
||||
import com.mosty.common.base.exception.BusinessException;
|
||||
import com.mosty.common.core.business.entity.SysDept;
|
||||
import com.mosty.common.core.business.entity.SysUser;
|
||||
import com.mosty.common.core.business.entity.SysUserDept;
|
||||
import com.mosty.common.core.business.entity.vo.SysRoleVO;
|
||||
import com.mosty.common.core.business.mapper.SysUserDeptMapper;
|
||||
import com.mosty.common.core.business.mapper.SysUserMapper;
|
||||
import com.mosty.common.core.business.service.SysRoleService;
|
||||
import com.mosty.common.token.UserInfo;
|
||||
import com.mosty.common.token.UserInfoManager;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/1
|
||||
**/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class DeptServiceImpl extends ServiceImpl<DeptMapper, SysDept>
|
||||
implements DeptService {
|
||||
|
||||
private final SysRoleService sysRoleService;
|
||||
private final TbOrgMapper tbOrgMapper;
|
||||
private final SysUserMapper sysUserMapper;
|
||||
private final TbUserMapper tbUserMapper;
|
||||
private final SysUserDeptMapper sysUserDeptMapper;
|
||||
|
||||
@Override
|
||||
public DeptInfoVo getOrgByDeptId(String deptid) {
|
||||
DeptInfoVo vo = new DeptInfoVo();
|
||||
SysDept dept = this.baseMapper.selectById(deptid);
|
||||
if (dept != null) {
|
||||
vo.setOrgType(dept.getOrgType());
|
||||
vo.setOrgLevel(dept.getOrgLevel());
|
||||
String rootPath = dept.getRootPath();
|
||||
// 省局
|
||||
if (dept.getParentId() == 0) {
|
||||
this.setDept(vo, dept);
|
||||
return vo;
|
||||
}
|
||||
if (rootPath != null) {
|
||||
String[] paths = rootPath.split("_");
|
||||
if (paths.length == 2) {
|
||||
this.setDept(vo, dept);
|
||||
SysDept dept1 = this.baseMapper.selectById(paths[1]);
|
||||
if ("20".equals(dept1.getOrgLevel())) {
|
||||
this.setDsz(vo, dept1);
|
||||
}
|
||||
return vo;
|
||||
} else if (paths.length == 3) {
|
||||
// if ("30".equals(dept.getOrgLevel())) {
|
||||
//
|
||||
// }
|
||||
this.setFxj(vo, dept);
|
||||
this.setDept(vo, dept);
|
||||
SysDept dept1 = this.baseMapper.selectById(paths[1]);
|
||||
if ("20".equals(dept1.getOrgLevel())) {
|
||||
this.setDsz(vo, dept1);
|
||||
}
|
||||
return vo;
|
||||
} else if (paths.length >= 4) {
|
||||
this.setDept(vo, dept);
|
||||
SysDept dept1 = this.baseMapper.selectById(paths[2]);
|
||||
this.setFxj(vo, dept1);
|
||||
SysDept dept2 = this.baseMapper.selectById(paths[1]);
|
||||
if ("20".equals(dept2.getOrgLevel())) {
|
||||
this.setDsz(vo, dept2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeptInfoVo> getDeptAll() {
|
||||
List<SysDept> deptList = this.baseMapper.selectList(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.ne(SysDept::getOrgCode, "510000000000")
|
||||
.ne(SysDept::getOrgCode, "511400000000")
|
||||
.ne(SysDept::getOrgCode, "510100000000")
|
||||
.ne(SysDept::getOrgCode, "5100002626")
|
||||
);
|
||||
List<DeptInfoVo> list = new ArrayList<>();
|
||||
deptList.forEach(item -> {
|
||||
DeptInfoVo dept = this.getOrgByDeptId(String.valueOf(item.getId()));
|
||||
list.add(dept);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeptInfoVo> getChildDept(GetDeptListDTO dto) {
|
||||
SysDept dept = this.baseMapper.selectById(dto.getDeptid());
|
||||
List<DeptInfoVo> list = new ArrayList<>();
|
||||
DeptInfoVo vo = this.getOrgByDeptId(String.valueOf(dept.getId()));
|
||||
list.add(vo);
|
||||
// 查询下级部门
|
||||
List<SysDept> tempList = this.baseMapper.selectList(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getParentId, dept.getId())
|
||||
.notIn(!CollectionUtils.isEmpty(dto.getInDeptids()), SysDept::getId, dto.getInDeptids())
|
||||
.in(!CollectionUtils.isEmpty(dto.getLevels()), SysDept::getOrgLevel, dto.getLevels())
|
||||
.eq(SysDept::getXtZxbz, "0")
|
||||
);
|
||||
tempList.forEach(item -> {
|
||||
DeptInfoVo temp = this.getOrgByDeptId(String.valueOf(item.getId()));
|
||||
list.add(temp);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeptInfoVo getOrgByOrgcode(String orgcode) {
|
||||
DeptInfoVo vo = new DeptInfoVo();
|
||||
SysDept dept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getOrgCode, orgcode)
|
||||
);
|
||||
if (dept != null) {
|
||||
vo.setOrgType(dept.getOrgType());
|
||||
vo.setOrgLevel(dept.getOrgLevel());
|
||||
String rootPath = dept.getRootPath();
|
||||
// 省局
|
||||
if (dept.getParentId() == 0) {
|
||||
this.setDept(vo, dept);
|
||||
return vo;
|
||||
}
|
||||
if (rootPath != null) {
|
||||
String[] paths = rootPath.split("_");
|
||||
if (paths.length == 2) {
|
||||
this.setDept(vo, dept);
|
||||
SysDept dept1 = this.baseMapper.selectById(paths[1]);
|
||||
if ("20".equals(dept1.getOrgLevel())) {
|
||||
this.setDsz(vo, dept1);
|
||||
}
|
||||
return vo;
|
||||
} else if (paths.length == 3) {
|
||||
// if ("30".equals(dept.getOrgLevel())) {
|
||||
// }
|
||||
this.setFxj(vo, dept);
|
||||
this.setDept(vo, dept);
|
||||
SysDept dept1 = this.baseMapper.selectById(paths[1]);
|
||||
if ("20".equals(dept1.getOrgLevel())) {
|
||||
this.setDsz(vo, dept1);
|
||||
}
|
||||
return vo;
|
||||
} else if (paths.length >= 4) {
|
||||
this.setDept(vo, dept);
|
||||
SysDept dept1 = this.baseMapper.selectById(paths[2]);
|
||||
this.setFxj(vo, dept1);
|
||||
SysDept dept2 = this.baseMapper.selectById(paths[1]);
|
||||
if ("20".equals(dept2.getOrgLevel())) {
|
||||
this.setDsz(vo, dept2);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysDeptDTO> getPcsByFxjdm(String orgcode) {
|
||||
List<SysDeptDTO> rList = new ArrayList<>();
|
||||
SysDept dept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getOrgCode, orgcode)
|
||||
);
|
||||
if (dept != null) {
|
||||
List<SysDept> list = this.baseMapper.selectList(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getParentId, dept.getId())
|
||||
.like(SysDept::getOrgName, "派出所")
|
||||
);
|
||||
list.forEach(item -> {
|
||||
SysDeptDTO dto = new SysDeptDTO();
|
||||
BeanUtils.copyProperties(item, dto);
|
||||
rList.add(dto);
|
||||
});
|
||||
}
|
||||
return rList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysDept> getOrg(SysDeptQuery deptQuery) {
|
||||
List<String> orgBizType = StringUtils.isNotBlank(deptQuery.getOrgBizTypes()) ? Arrays.asList(deptQuery.getOrgBizTypes().split(",")) : null;
|
||||
List<String> orgLevel = StringUtils.isNotBlank(deptQuery.getOrgLevels()) ? Arrays.asList(deptQuery.getOrgLevels().split(",")) : null;
|
||||
return this.baseMapper.selectList(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.in(!CollectionUtils.isEmpty(orgBizType), SysDept::getOrgBizType, orgBizType)
|
||||
.in(!CollectionUtils.isEmpty(orgLevel), SysDept::getParentId, orgLevel)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysDept> getOrganizationList(GetSysDeptListQuery query) {
|
||||
if (null == query) {
|
||||
return null;
|
||||
}
|
||||
|
||||
//组装查询参数
|
||||
QueryWrapper<SysDept> qw = new QueryWrapper<>();
|
||||
|
||||
//主键
|
||||
if (null != query.getId()) {
|
||||
qw.eq("id", query.getId());
|
||||
}
|
||||
|
||||
//组织机构代码
|
||||
if (!StringUtils.isBlank(query.getOrgCode())) {
|
||||
qw.eq("org_code", query.getOrgCode());
|
||||
}
|
||||
|
||||
//组织机构名称
|
||||
if (!StringUtils.isBlank(query.getOrgName())) {
|
||||
qw.like("org_name", query.getOrgName());
|
||||
}
|
||||
|
||||
//组织机构类型
|
||||
if (!StringUtils.isBlank(query.getOrgType())) {
|
||||
qw.in("org_type", Arrays.asList(query.getOrgType().split(",")));
|
||||
}
|
||||
|
||||
//不需要的组织机构类型
|
||||
if (!StringUtils.isBlank(query.getOrgTypeRid())) {
|
||||
qw.notIn("org_type", Arrays.asList(query.getOrgTypeRid().split(",")));
|
||||
}
|
||||
|
||||
//组织机构等级
|
||||
if (!StringUtils.isBlank(query.getOrgLevel())) {
|
||||
qw.in("org_level", Arrays.asList(query.getOrgLevel().split(",")));
|
||||
}
|
||||
|
||||
//不需要的组织机构等级
|
||||
if (!StringUtils.isBlank(query.getOrgLevelRid())) {
|
||||
qw.notIn("org_level", Arrays.asList(query.getOrgLevelRid().split(",")));
|
||||
}
|
||||
|
||||
//组织机构业务类型
|
||||
if (!StringUtils.isBlank(query.getOrgBizType())) {
|
||||
qw.in("org_biz_type", Arrays.asList(query.getOrgBizType().split(",")));
|
||||
}
|
||||
|
||||
//不需要的组织机构业务类型
|
||||
if (!StringUtils.isBlank(query.getOrgBizTypeRid())) {
|
||||
qw.notIn("org_biz_type", Arrays.asList(query.getOrgBizTypeRid().split(",")));
|
||||
}
|
||||
|
||||
//组织机构编号
|
||||
if (!StringUtils.isBlank(query.getOrgNo())) {
|
||||
qw.eq("org_no", query.getOrgNo());
|
||||
}
|
||||
|
||||
//上级组织机构主键ID
|
||||
if (null != query.getParentId()) {
|
||||
qw.eq("parent_id", query.getParentId());
|
||||
}
|
||||
|
||||
//组织机构简称
|
||||
if (!StringUtils.isBlank(query.getOrgJc())) {
|
||||
qw.like("org_jc", query.getOrgJc());
|
||||
}
|
||||
|
||||
//组织机构全称
|
||||
if (!StringUtils.isBlank(query.getOrgQc())) {
|
||||
qw.like("org_qc", query.getOrgQc());
|
||||
}
|
||||
|
||||
//组织机构地址
|
||||
if (!StringUtils.isBlank(query.getAddress())) {
|
||||
qw.like("address", query.getAddress());
|
||||
}
|
||||
|
||||
//组织机构电话
|
||||
if (!StringUtils.isBlank(query.getLinkTel())) {
|
||||
qw.like("link_tel", query.getLinkTel());
|
||||
}
|
||||
|
||||
//组织机构联系人
|
||||
if (!StringUtils.isBlank(query.getLinkMan())) {
|
||||
qw.like("link_man", query.getLinkMan());
|
||||
}
|
||||
|
||||
//组织机构联系人电话
|
||||
if (!StringUtils.isBlank(query.getLinkManTel())) {
|
||||
qw.like("link_man_tel", query.getLinkManTel());
|
||||
}
|
||||
|
||||
//组织机构主页地址
|
||||
if (!StringUtils.isBlank(query.getWebUrl())) {
|
||||
qw.like("web_url", query.getWebUrl());
|
||||
}
|
||||
|
||||
//组织机构邮箱地址
|
||||
if (!StringUtils.isBlank(query.getEmail())) {
|
||||
qw.like("email", query.getEmail());
|
||||
}
|
||||
|
||||
//组织机构行政区划
|
||||
if (!StringUtils.isBlank(query.getXzqh())) {
|
||||
qw.in("xzqh", Arrays.asList(query.getXzqh().split(",")));
|
||||
}
|
||||
|
||||
//注销标志(0 有效, 1 失效)
|
||||
if (null != query.getXtZxbz()) {
|
||||
qw.eq("xt_zxbz", query.getXtZxbz());
|
||||
}
|
||||
|
||||
//正序字段(使用英语逗号“,”分隔)
|
||||
if (!StringUtils.isBlank(query.getOrderByAsc())) {
|
||||
for (String s : query.getOrderByAsc().split(",")) {
|
||||
qw.orderByAsc(s);
|
||||
}
|
||||
} else {
|
||||
qw.orderByAsc("org_code");
|
||||
}
|
||||
|
||||
//倒序字段(使用英语逗号“,”分隔)
|
||||
if (!StringUtils.isBlank(query.getOrderByDesc())) {
|
||||
for (String s : query.getOrderByDesc().split(",")) {
|
||||
qw.orderByDesc(s);
|
||||
}
|
||||
}
|
||||
|
||||
return this.baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetRootPath() {
|
||||
List<SysDept> deptList = this.baseMapper.selectList(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.isNotNull(SysDept::getBz)
|
||||
.ne(SysDept::getBz, "")
|
||||
);
|
||||
deptList.forEach(dept -> {
|
||||
if (StringUtils.isNotBlank(dept.getRootPath())) {
|
||||
// 同步rootPath
|
||||
if (!dept.getRootPath().contains("_510000000000")) {
|
||||
dept.setRootPath("_510000000000" + dept.getRootPath());
|
||||
}
|
||||
List<String> rootPathList = Arrays.asList(dept.getRootPath().split("_"));
|
||||
rootPathList = rootPathList.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||
String root = rootPathList.stream().map(rootPath -> {
|
||||
SysDept sysDept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getOrgCode, rootPath)
|
||||
);
|
||||
if (sysDept != null) {
|
||||
return String.valueOf(sysDept.getId());
|
||||
}
|
||||
return "";
|
||||
}).collect(Collectors.joining("_"));
|
||||
dept.setRootPath(root + "_" + dept.getId());
|
||||
// 同步parentId
|
||||
if (!"0".equals(dept.getBz()) && !"".equals(dept.getBz()) && dept.getBz() != null) {
|
||||
String parentCode = dept.getBz();
|
||||
SysDept sysDept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getOrgCode, parentCode)
|
||||
);
|
||||
dept.setParentId(sysDept.getId());
|
||||
dept.setBz("");
|
||||
}
|
||||
this.baseMapper.updateById(dept);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSsbm(String ssbmdm, String isChild) {
|
||||
isChild = StringUtils.isNotBlank(isChild) ? isChild : "1";
|
||||
UserInfo user = UserInfoManager.getUser();
|
||||
// 如果用户信息存在,先查询用户权限
|
||||
SysRoleVO role = null;
|
||||
if (StringUtils.isBlank(ssbmdm)) {
|
||||
if (user != null) {
|
||||
ssbmdm = user.getDeptCode();
|
||||
// 查询用户权限
|
||||
List<SysRoleVO> userRoles = sysRoleService.getUserRoleList(user.getUserId());
|
||||
if (!CollectionUtils.isEmpty(userRoles)) {
|
||||
int level = Integer.parseInt(userRoles.get(0).getDataPermissionLevel());
|
||||
role = userRoles.get(0);
|
||||
for (SysRoleVO item : userRoles) {
|
||||
if (level > Integer.parseInt(item.getDataPermissionLevel())) {
|
||||
level = Integer.parseInt(item.getDataPermissionLevel());
|
||||
role = item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (role != null && !"5".equals(role.getDataPermissionLevel())) {
|
||||
String level = role.getDataPermissionLevel();
|
||||
if ("1".equals(level) || "2".equals(level)) {
|
||||
return "1".equals(isChild) ? ssbmdm.substring(0, 2) : ssbmdm;
|
||||
} else if ("3".equals(level)) {
|
||||
return "1".equals(isChild) ? ssbmdm.substring(0, 4) : ssbmdm;
|
||||
} else if ("4".equals(level)) {
|
||||
//区县获取上级部门 截取到最后一个0
|
||||
if (StringUtils.isNotEmpty(user.getFxjDeptCode())) {
|
||||
return "1".equals(isChild) ? this.getssbm(user.getFxjDeptCode()) : ssbmdm;
|
||||
} else {
|
||||
return "1".equals(isChild) ? ssbmdm.substring(0, 6) : ssbmdm;
|
||||
}
|
||||
} else if ("6".equals(level)) {
|
||||
return ssbmdm;
|
||||
}
|
||||
} else {
|
||||
if ("1".equals(isChild)) {
|
||||
SysDept dept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getXtZxbz, "0")
|
||||
.eq(SysDept::getOrgCode, ssbmdm)
|
||||
);
|
||||
if (dept == null) {
|
||||
throw new BusinessException("部门信息不存在!");
|
||||
}
|
||||
if (StringUtils.isBlank(dept.getOrgLevel())) {
|
||||
return ssbmdm;
|
||||
}
|
||||
switch (dept.getOrgLevel()) {
|
||||
case "10":
|
||||
case "11":
|
||||
return ssbmdm.substring(0, 2);
|
||||
case "21":
|
||||
case "31":
|
||||
return ssbmdm.substring(0, 8);
|
||||
case "12":
|
||||
case "32":
|
||||
case "22":
|
||||
return ssbmdm.substring(0, 10);
|
||||
case "20":
|
||||
return ssbmdm.substring(0, 4);
|
||||
case "30":
|
||||
return ssbmdm.substring(0, 6);
|
||||
default:
|
||||
return ssbmdm;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ("1".equals(isChild)) {
|
||||
SysDept dept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getXtZxbz, "0")
|
||||
.eq(SysDept::getOrgCode, ssbmdm)
|
||||
);
|
||||
if (dept == null) {
|
||||
throw new BusinessException("部门信息不存在!");
|
||||
}
|
||||
if (StringUtils.isBlank(dept.getOrgLevel())) {
|
||||
return ssbmdm;
|
||||
}
|
||||
switch (dept.getOrgLevel()) {
|
||||
case "10":
|
||||
case "11":
|
||||
return ssbmdm.substring(0, 2);
|
||||
case "21":
|
||||
case "31":
|
||||
return ssbmdm.substring(0, 8);
|
||||
case "12":
|
||||
case "32":
|
||||
case "22":
|
||||
return ssbmdm.substring(0, 10);
|
||||
case "20":
|
||||
return ssbmdm.substring(0, 4);
|
||||
case "30":
|
||||
return ssbmdm.substring(0, 6);
|
||||
default:
|
||||
return ssbmdm;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ssbmdm;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysDept> getDeptByType(String type, String ssbmdm) {
|
||||
String level = "40";
|
||||
if ("01".equals(type)) {
|
||||
level = "20";
|
||||
} else if ("02".equals(type)) {
|
||||
level = "30";
|
||||
} else if ("03".equals(type)) {
|
||||
level = "40";
|
||||
}
|
||||
String parentId = null;
|
||||
if (StringUtils.isNotBlank(ssbmdm)) {
|
||||
SysDept dept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getOrgCode, ssbmdm)
|
||||
);
|
||||
if (dept == null) throw new BusinessException("部门未找到");
|
||||
SysDept parentDept = this.baseMapper.selectById(dept.getId());
|
||||
parentId = String.valueOf(parentDept.getId());
|
||||
}
|
||||
return this.baseMapper.selectList(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getXtZxbz, "0")
|
||||
.eq(SysDept::getOrgLevel, level)
|
||||
.eq(StringUtils.isNotBlank(parentId), SysDept::getParentId, parentId)
|
||||
.orderByAsc(SysDept::getOrgNo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> getParentOrgCode(String ssbmdm) {
|
||||
SysDept dept = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getOrgCode, ssbmdm)
|
||||
);
|
||||
if (dept != null && !StringUtils.isBlank(dept.getRootPath())) {
|
||||
List<String> arr = Arrays.asList(dept.getRootPath().split("_"));
|
||||
return arr.stream().map(item -> {
|
||||
SysDept tempDept = this.baseMapper.selectById(item);
|
||||
if (tempDept != null) return tempDept.getOrgCode();
|
||||
return null;
|
||||
}).collect(Collectors.toList()).stream().filter(Objects::nonNull).collect(Collectors.toList());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysDept getParentDept(String ssbmid) {
|
||||
SysDept dept = this.baseMapper.selectById(ssbmid);
|
||||
if (dept != null) {
|
||||
return this.baseMapper.selectById(dept.getParentId());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysDept getSysDeptBySsbmdm(String ssbmdm) {
|
||||
return this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getOrgCode, ssbmdm)
|
||||
);
|
||||
}
|
||||
|
||||
// 设置所属单位
|
||||
private void setDept(DeptInfoVo vo, SysDept dept) {
|
||||
if (dept != null) {
|
||||
vo.setDeptid(String.valueOf(dept.getId()));
|
||||
vo.setDeptcode(dept.getOrgCode());
|
||||
vo.setDeptname(dept.getOrgName());
|
||||
}
|
||||
}
|
||||
|
||||
// 设置分县局
|
||||
private void setFxj(DeptInfoVo vo, SysDept dept) {
|
||||
if (dept != null) {
|
||||
vo.setFxjid(String.valueOf(dept.getId()));
|
||||
vo.setFxjcode(dept.getOrgCode());
|
||||
vo.setFxjname(dept.getOrgName());
|
||||
}
|
||||
}
|
||||
|
||||
// 设置地市州
|
||||
private void setDsz(DeptInfoVo vo, SysDept dept) {
|
||||
if (dept != null) {
|
||||
vo.setDszid(String.valueOf(dept.getId()));
|
||||
vo.setDszcode(dept.getOrgCode());
|
||||
vo.setDszname(dept.getOrgName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tbZjjgDm() {
|
||||
List<TbOrg> tbOrgList = this.tbOrgMapper.selectList(new LambdaQueryWrapper<TbOrg>().orderByAsc(TbOrg::getOrgId));
|
||||
if (!CollectionUtils.isEmpty(tbOrgList)) {
|
||||
for (TbOrg tbOrg : tbOrgList) {
|
||||
SysDept sysDept = this.getSysDeptBySsbmdm(tbOrg.getOrgId());
|
||||
if (ObjectUtils.isEmpty(sysDept)) {
|
||||
sysDept = new SysDept();
|
||||
sysDept.setOrgCode(tbOrg.getOrgId());
|
||||
sysDept.setOrgName(tbOrg.getOrgName());
|
||||
sysDept.setOrgType("01");
|
||||
sysDept.setOrgLevel(tbOrg.getOrgLevel());
|
||||
if (tbOrg.getOrgName().contains("派出所")) {
|
||||
sysDept.setOrgBizType("02");
|
||||
} else if (tbOrg.getOrgName().contains("特")) {
|
||||
sysDept.setOrgBizType("03");
|
||||
} else if (tbOrg.getOrgName().contains("治安")) {
|
||||
sysDept.setOrgBizType("04");
|
||||
} else if (tbOrg.getOrgName().contains("禁毒")) {
|
||||
sysDept.setOrgBizType("05");
|
||||
} else if (tbOrg.getOrgName().contains("交警")) {
|
||||
sysDept.setOrgBizType("06");
|
||||
} else if (tbOrg.getOrgName().contains("刑侦")) {
|
||||
sysDept.setOrgBizType("07");
|
||||
} else if (tbOrg.getOrgName().contains("指挥")) {
|
||||
sysDept.setOrgBizType("08");
|
||||
} else {
|
||||
sysDept.setOrgBizType("09");
|
||||
}
|
||||
sysDept.setOrgNo("99");
|
||||
sysDept.setOrgJc(tbOrg.getOrgJc());
|
||||
sysDept.setOrgQc(tbOrg.getOrgName());
|
||||
sysDept.setXtZxbz(0);
|
||||
|
||||
this.baseMapper.insert(sysDept);
|
||||
//最后添加
|
||||
SysDept sysDept1 = this.getSysDeptBySsbmdm(tbOrg.getParentId());
|
||||
if (!ObjectUtils.isEmpty(sysDept1)) {
|
||||
sysDept.setRootPath(sysDept1.getRootPath() + "_" + sysDept.getId());
|
||||
sysDept.setParentId(sysDept1.getId());
|
||||
}
|
||||
this.baseMapper.updateById(sysDept);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tbZzjgRy() {
|
||||
List<TbUser> tbUsers = this.tbUserMapper.selectList(new LambdaQueryWrapper<TbUser>());
|
||||
if (!CollectionUtils.isEmpty(tbUsers)) {
|
||||
for (TbUser user : tbUsers) {
|
||||
SysUser sysUser1 = this.sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getIdEntityCard, user.getSfzh()).eq(SysUser::getXtZxbz, "0"));
|
||||
if (ObjectUtils.isEmpty(sysUser1)) {
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setPositionName(user.getZw());
|
||||
sysUser.setIsVirtualUser("02");
|
||||
sysUser.setLoginName(user.getName());
|
||||
sysUser.setPassword("E10ADC3949BA59ABBEcm9OiHRC56E057F20F883E");
|
||||
sysUser.setUserName(user.getName());
|
||||
sysUser.setUserType("01");
|
||||
sysUser.setMobile(user.getDhhm());
|
||||
sysUser.setTelePhone(user.getDh());
|
||||
sysUser.setIdEntityCard(user.getSfzh());
|
||||
sysUser.setTypeName("正式民警");
|
||||
sysUser.setInDustRialId(user.getJh());
|
||||
sysUser.setInDustRialId(user.getJh());
|
||||
//计算男女
|
||||
int gender = Integer.parseInt(user.getSfzh().substring(16, 17));
|
||||
if (gender % 2 == 1) {
|
||||
sysUser.setSex("1");
|
||||
} else {
|
||||
sysUser.setSex("2");
|
||||
}
|
||||
sysUser.setNation("01");
|
||||
sysUser.setType("03");
|
||||
sysUser.setXtZxbz(0);
|
||||
this.sysUserMapper.insert(sysUser);
|
||||
//根据所属部门查询单位
|
||||
SysDept sysDept = this.getSysDeptBySsbmdm(user.getSsbmdm());
|
||||
if (!ObjectUtils.isEmpty(sysDept)) {
|
||||
if (sysDept.getOrgName().contains("派出所")) {
|
||||
sysUser.setType("03");
|
||||
} else if (sysDept.getOrgName().contains("特")) {
|
||||
sysUser.setType("01");
|
||||
} else if (sysDept.getOrgName().contains("交警")) {
|
||||
sysUser.setType("02");
|
||||
}
|
||||
this.sysUserMapper.updateById(sysUser);
|
||||
SysUserDept sysUserDept = new SysUserDept();
|
||||
sysUserDept.setUserId(sysUser.getId());
|
||||
sysUserDept.setDeptId(sysDept.getId());
|
||||
this.sysUserDeptMapper.insert(sysUserDept);
|
||||
}
|
||||
|
||||
} else {
|
||||
SysUserDept sysUserDept = this.sysUserDeptMapper.selectOne(new LambdaQueryWrapper<SysUserDept>().eq(SysUserDept::getUserId, sysUser1.getId()));
|
||||
SysDept sysDept = this.getSysDeptBySsbmdm(user.getSsbmdm());
|
||||
if (!ObjectUtils.isEmpty(sysDept)) {
|
||||
if(ObjectUtils.isEmpty(sysUserDept)){
|
||||
sysUserDept =new SysUserDept();
|
||||
sysUserDept.setUserId(sysUser1.getId());
|
||||
}
|
||||
sysUserDept.setDeptId(sysDept.getId());
|
||||
this.sysUserDeptMapper.insert(sysUserDept);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getssbm(String ssbmdm) {
|
||||
if (StringUtils.isNotEmpty(ssbmdm) && ssbmdm.length() == 12) {
|
||||
String[] split = ssbmdm.split("");
|
||||
for (int i = split.length - 1; i >= 0; i--) {
|
||||
String s = split[i];
|
||||
if (!s.equals("0")) {
|
||||
ssbmdm = ssbmdm.substring(0, i + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ssbmdm;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package com.mosty.base.service.impl;
|
||||
|
||||
import com.mosty.base.mapper.GajgSearchMapper;
|
||||
import com.mosty.base.model.entity.yszx.TbYsGajg;
|
||||
import com.mosty.base.model.entity.yszx.TbYsGajgGlbm;
|
||||
import com.mosty.base.model.vo.yszx.TbYsGajgVo;
|
||||
import com.mosty.base.service.GajgSearchService;
|
||||
import com.mosty.base.utils.JtsUtils;
|
||||
import com.mosty.common.token.UserInfo;
|
||||
import com.mosty.common.token.UserInfoManager;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class GajgSearchServiceImpl implements GajgSearchService {
|
||||
|
||||
private GajgSearchMapper gajgSearchMapper;
|
||||
|
||||
@Override
|
||||
public TbYsGajgVo getGajg() {
|
||||
UserInfo user = UserInfoManager.get();
|
||||
TbYsGajg gajg = this.gajgSearchMapper.getGajg(String.valueOf(user.getDeptId()));
|
||||
if (gajg == null) {
|
||||
String gajgId = this.gajgSearchMapper.getGajgFromGlbl(String.valueOf(user.getDeptId()));
|
||||
gajg = this.gajgSearchMapper.getGajgById(gajgId);
|
||||
}
|
||||
if (gajg != null) { // 如果不为空 获取经纬度
|
||||
TbYsGajgVo vo = new TbYsGajgVo(); // 给前段传的vo
|
||||
BeanUtils.copyProperties(gajg, vo); // 复制属性给vo
|
||||
if (gajg.getDtm() != null) { // 如果获取到的dtm[面不为空]
|
||||
vo.setDtm(JtsUtils.decodePolygon(gajg.getDtm())); // 把面dtm【polygon】转换成point数组
|
||||
}
|
||||
return vo; // 返回所有信息
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
package com.mosty.base.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mosty.base.service.SysConfigNewService;
|
||||
import com.mosty.common.config.Excel.DictUtils;
|
||||
import com.mosty.common.config.entity.SysConfig;
|
||||
import com.mosty.common.config.entity.SysDictItem;
|
||||
import com.mosty.common.config.mapper.SysConfigMapper;
|
||||
import com.mosty.common.config.mapper.SysDictItemMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class SysConfigNewServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig>
|
||||
implements SysConfigNewService {
|
||||
|
||||
private final SysDictItemMapper sysDictItemMapper;
|
||||
|
||||
/**
|
||||
* 项目启动时,初始化字典到缓存
|
||||
*/
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
loadingDictCache();
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载字典缓存数据
|
||||
*/
|
||||
public void loadingDictCache() {
|
||||
List<SysDictItem> sysDictItems = this.sysDictItemMapper.selectList(new LambdaQueryWrapper<SysDictItem>().eq(SysDictItem::getXtZxbz, 0));
|
||||
if (CollectionUtils.isNotEmpty(sysDictItems)) {
|
||||
Map<String, List<SysDictItem>> dictDataMap = sysDictItems.stream().collect(Collectors.groupingBy(SysDictItem::getZdbh));
|
||||
for (Map.Entry<String, List<SysDictItem>> entry : dictDataMap.entrySet()) {
|
||||
DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictItem::getPx)).collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValue(String pzj) {
|
||||
if (StringUtils.isBlank(pzj)) {
|
||||
return null;
|
||||
}
|
||||
SysConfig config = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysConfig>()
|
||||
.eq(SysConfig::getPzj, pzj)
|
||||
.eq(SysConfig::getXtZxbz, "0")
|
||||
);
|
||||
return config == null ? null : config.getPzz();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.mosty.base.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mosty.base.model.query.base.GetMyMessageQuery;
|
||||
import com.mosty.base.model.dto.base.SysMessageInfoInsertDto;
|
||||
import com.mosty.base.model.dto.base.SysMessageItemInsertDto;
|
||||
import com.mosty.base.model.dto.base.SysMessageInfo;
|
||||
import com.mosty.base.model.dto.base.SysMessageItem;
|
||||
import com.mosty.base.mapper.SysMessageInfoMapper;
|
||||
import com.mosty.base.mapper.SysMessageItemMapper;
|
||||
import com.mosty.base.service.SysMessageService;
|
||||
import com.mosty.common.base.util.IpUtil;
|
||||
import com.mosty.common.token.UserInfo;
|
||||
import com.mosty.common.token.UserInfoManager;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/26
|
||||
**/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class SysMessageServiceImpl extends ServiceImpl<SysMessageInfoMapper, SysMessageInfo>
|
||||
implements SysMessageService {
|
||||
|
||||
private final SysMessageItemMapper sysMessageItemMapper;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Integer sendMsg(SysMessageInfoInsertDto dto) {
|
||||
SysMessageInfo info = new SysMessageInfo();
|
||||
BeanUtils.copyProperties(dto, info);
|
||||
info.setXtCjsj(new Date());
|
||||
info.setXtLrsj(new Date());
|
||||
info.setXtLrrid("admin");
|
||||
info.setXtLrrxm("系统消息");
|
||||
info.setXtLrip(IpUtil.getIpAddress());
|
||||
info.setXtZhxgsj(new Date());
|
||||
info.setXtZhxgrid("admin");
|
||||
info.setXtZhxgip(IpUtil.getIpAddress());
|
||||
info.setXtZhxgrxm("系统消息");
|
||||
info.setXtZxbz(0);
|
||||
info.setXtZxyy(null);
|
||||
int count = this.baseMapper.insert(info);
|
||||
List<SysMessageItemInsertDto> itemList = dto.getItemList();
|
||||
itemList.forEach(itemDto -> {
|
||||
SysMessageItem item = new SysMessageItem();
|
||||
BeanUtils.copyProperties(itemDto, item);
|
||||
item.setMessageId(info.getId());
|
||||
item.setGroupId(info.getGroupId());
|
||||
item.setXtCjsj(new Date());
|
||||
item.setXtLrsj(new Date());
|
||||
item.setXtLrrid("admin");
|
||||
item.setXtLrrxm("系统消息");
|
||||
item.setXtLrip(IpUtil.getIpAddress());
|
||||
item.setXtZhxgsj(new Date());
|
||||
item.setXtZhxgrid("admin");
|
||||
item.setXtZhxgip(IpUtil.getIpAddress());
|
||||
item.setXtZhxgrxm("系统消息");
|
||||
item.setXtZxbz(0);
|
||||
item.setXtZxyy(null);
|
||||
this.sysMessageItemMapper.insert(item);
|
||||
});
|
||||
return count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<SysMessageInfo> getPageList(GetMyMessageQuery dto) {
|
||||
UserInfo user = UserInfoManager.get();
|
||||
IPage<SysMessageInfo> page = new Page<SysMessageInfo>(dto.getPageNum(), dto.getPageSize());
|
||||
return this.baseMapper.selectPage(page,
|
||||
new LambdaQueryWrapper<SysMessageInfo>()
|
||||
.eq(SysMessageInfo::getXtZxbz, 0)
|
||||
.last(" and id in (select a.message_id from sys_message_item a " +
|
||||
"where a.xt_zxbz = 0 and a.xxjsr_id = '" + user.getUserId() + "') " +
|
||||
"order by xt_cjsj desc")
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,135 @@
|
||||
package com.mosty.base.service.impl;
|
||||
|
||||
import com.alibaba.nacos.common.utils.UuidUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mosty.base.mapper.UserConfigMapper;
|
||||
import com.mosty.base.service.UserConfigService;
|
||||
import com.mosty.base.utils.UUIDGenerator;
|
||||
import com.mosty.common.base.constant.enums.DeletedEnum;
|
||||
import com.mosty.common.base.exception.BusinessException;
|
||||
import com.mosty.common.core.business.entity.*;
|
||||
import com.mosty.common.core.business.entity.request.SysUserAppHomeconfigQuery;
|
||||
import com.mosty.common.core.business.entity.vo.DeleteDeptVO;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserAppHomeconfigPlateVo;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserAppHomeconfigVo;
|
||||
import com.mosty.common.core.business.mapper.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class UserConfigServiceImpl extends ServiceImpl<UserConfigMapper, SysUserAppHomeconfig>
|
||||
implements UserConfigService {
|
||||
|
||||
private final SysUserAppHomeconfigPlateMapper sysUserAppHomeconfigPlateMapper;
|
||||
private final SysUserAppHomeconfigPlateListMapper sysUserAppHomeconfigPlateListMapper;
|
||||
private final SysAppHomeconfigMapper sysAppHomeconfigMapper;
|
||||
private final SysUserMapper sysUserMapper;
|
||||
private final SysAppHomeconfigPlateMapper sysAppHomeconfigPlateMapper;
|
||||
private final SysAppHomeconfigPlateListMapper sysAppHomeconfigPlateListMapper;
|
||||
|
||||
@Override
|
||||
public SysUserAppHomeconfigVo getUserConfig(int userId, int homeId) {
|
||||
SysUser user = this.sysUserMapper.selectById(userId);
|
||||
if (user == null) {
|
||||
throw new BusinessException("没有获取到用户信息!!");
|
||||
}
|
||||
SysUserAppHomeconfigVo vo = new SysUserAppHomeconfigVo();
|
||||
// 获取用户配置首页
|
||||
SysUserAppHomeconfig homeconfig = this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysUserAppHomeconfig>()
|
||||
.eq(SysUserAppHomeconfig::getHomeid, homeId)
|
||||
.eq(SysUserAppHomeconfig::getUserId, userId)
|
||||
.eq(SysUserAppHomeconfig::getXtZxbz, DeletedEnum.NATURE.code)
|
||||
);
|
||||
// 获取用户模板配置
|
||||
if (homeconfig != null) {
|
||||
BeanUtils.copyProperties(homeconfig, vo);
|
||||
List<SysUserAppHomeconfigPlate> plateList = this.sysUserAppHomeconfigPlateMapper.selectList(
|
||||
new LambdaQueryWrapper<SysUserAppHomeconfigPlate>()
|
||||
.eq(SysUserAppHomeconfigPlate::getPzId, homeconfig.getId())
|
||||
.eq(SysUserAppHomeconfigPlate::getXtZxbz, DeletedEnum.NATURE.code)
|
||||
);
|
||||
List<SysUserAppHomeconfigPlateVo> plates = new ArrayList<>();
|
||||
plateList.forEach(plate -> {
|
||||
SysUserAppHomeconfigPlateVo plateVo = new SysUserAppHomeconfigPlateVo();
|
||||
BeanUtils.copyProperties(plate, plateVo);
|
||||
// 获取用户配置模块
|
||||
List<SysUserAppHomeconfigPlateList> plateItemList = this.sysUserAppHomeconfigPlateListMapper.selectList(
|
||||
new LambdaQueryWrapper<SysUserAppHomeconfigPlateList>()
|
||||
.eq(SysUserAppHomeconfigPlateList::getXtZxbz, DeletedEnum.NATURE.code)
|
||||
.eq(SysUserAppHomeconfigPlateList::getPzPlateId, plate.getId())
|
||||
);
|
||||
plateVo.setPlateList(plateItemList);
|
||||
plates.add(plateVo);
|
||||
});
|
||||
vo.setPlates(plates);
|
||||
return vo;
|
||||
} else {
|
||||
// 没有获取到用户信息,则保存所有的模板到用户配置表中
|
||||
// 保存用户主页
|
||||
SysAppHomeconfig config = this.sysAppHomeconfigMapper.selectById(homeId);
|
||||
if (config == null) {
|
||||
throw new BusinessException("模板在数据库中没有存在,请联系管理员添加");
|
||||
}
|
||||
homeconfig = new SysUserAppHomeconfig();
|
||||
homeconfig.setHomeid(config.getId());
|
||||
homeconfig.setHomename(config.getHomename());
|
||||
homeconfig.setUserId(user.getId());
|
||||
homeconfig.setUserXm(user.getUserName());
|
||||
homeconfig.setUserSfzh(user.getIdEntityCard());
|
||||
homeconfig.setPzsj(new Date());
|
||||
homeconfig.setSd("02");
|
||||
BeanUtils.copyProperties(homeconfig, vo);
|
||||
// 配置模板
|
||||
List<SysAppHomeconfigPlate> plateList = this.sysAppHomeconfigPlateMapper.selectList(
|
||||
new LambdaQueryWrapper<SysAppHomeconfigPlate>()
|
||||
.eq(SysAppHomeconfigPlate::getHomeid, config.getId())
|
||||
.eq(SysAppHomeconfigPlate::getXtZxbz, DeletedEnum.NATURE.code)
|
||||
);
|
||||
List<SysUserAppHomeconfigPlateVo> plates = new ArrayList<>();
|
||||
for (SysAppHomeconfigPlate item : plateList) {
|
||||
SysUserAppHomeconfigPlate plate = new SysUserAppHomeconfigPlate();
|
||||
SysUserAppHomeconfigPlateVo plateVo = new SysUserAppHomeconfigPlateVo();
|
||||
plate.setPzId(homeconfig.getId());
|
||||
plate.setPlateId(item.getId());
|
||||
plate.setBklx(item.getBklx());
|
||||
plate.setBkmc(item.getBkmc());
|
||||
plate.setBknrs(item.getBksx());
|
||||
plate.setBksx(item.getBksx());
|
||||
this.sysUserAppHomeconfigPlateMapper.insert(plate);
|
||||
BeanUtils.copyProperties(plate, plateVo);
|
||||
// 添加模块
|
||||
List<SysAppHomeconfigPlateList> plateItemList = this.sysAppHomeconfigPlateListMapper.selectList(
|
||||
new LambdaQueryWrapper<SysAppHomeconfigPlateList>()
|
||||
.eq(SysAppHomeconfigPlateList::getPlateId, item.getId())
|
||||
.eq(SysAppHomeconfigPlateList::getXtZxbz, DeletedEnum.NATURE.code)
|
||||
);
|
||||
List<SysUserAppHomeconfigPlateList> plateUserItemList = new ArrayList<>();
|
||||
plateItemList.forEach(itemList -> {
|
||||
SysUserAppHomeconfigPlateList pl = new SysUserAppHomeconfigPlateList();
|
||||
pl.setPzId(vo.getId());
|
||||
pl.setPzPlateId(plate.getPlateId());
|
||||
pl.setPlateListId(itemList.getId());
|
||||
pl.setNrmc(itemList.getNrmc());
|
||||
pl.setBksx(itemList.getNrsx());
|
||||
pl.setTzdz(itemList.getTzdz());
|
||||
this.sysUserAppHomeconfigPlateListMapper.insert(pl);
|
||||
plateUserItemList.add(pl);
|
||||
});
|
||||
plateVo.setPlateList(plateUserItemList);
|
||||
plates.add(plateVo);
|
||||
}
|
||||
vo.setPlates(plates);
|
||||
vo.setPzbks(plates.size());
|
||||
this.baseMapper.insert(homeconfig);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,241 @@
|
||||
package com.mosty.base.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mosty.base.mapper.UserDeptMapper;
|
||||
import com.mosty.base.model.vo.base.DeptInfoVo;
|
||||
import com.mosty.base.service.UserDeptService;
|
||||
import com.mosty.common.core.business.entity.SysDept;
|
||||
import com.mosty.common.core.business.entity.SysUser;
|
||||
import com.mosty.common.core.business.entity.SysUserDept;
|
||||
import com.mosty.common.core.business.entity.vo.SysRoleVO;
|
||||
import com.mosty.common.core.business.entity.vo.SysUserDeptVO;
|
||||
import com.mosty.common.core.business.mapper.SysDeptMapper;
|
||||
import com.mosty.common.core.business.mapper.SysUserDeptMapper;
|
||||
import com.mosty.common.core.business.mapper.SysUserMapper;
|
||||
import com.mosty.common.core.business.service.SysRoleService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author dw
|
||||
* @since 2022/8/8
|
||||
**/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class UserDeptServiceImpl extends ServiceImpl<UserDeptMapper, SysUser>
|
||||
implements UserDeptService {
|
||||
|
||||
private final SysUserDeptMapper sysUserDeptMapper;
|
||||
private final SysDeptMapper sysDeptMapper;
|
||||
private final DeptServiceImpl deptServiceImpl;
|
||||
private final SysUserMapper sysUserMapper;
|
||||
|
||||
private void getChildList(SysDept dept, List<String> deptIds) {
|
||||
deptIds.add(String.valueOf(dept.getId()));
|
||||
List<SysDept> tempList1 = this.sysDeptMapper.selectList(
|
||||
new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getParentId, dept.getId())
|
||||
);
|
||||
if (tempList1.size() > 0) {
|
||||
deptIds.addAll(tempList1.stream().map(item -> String.valueOf(item.getId())).collect(Collectors.toList()));
|
||||
tempList1.forEach(item -> this.getChildList(item, deptIds));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getUserCount(String deptid) {
|
||||
SysDept dept = this.sysDeptMapper.selectById(deptid);
|
||||
List<String> deptIds = new ArrayList<>();
|
||||
this.getChildList(dept, deptIds);
|
||||
List<SysUser> userList = this.baseMapper.getUserListByDeptId(deptIds);
|
||||
return userList == null ? 0 : userList.size();
|
||||
}
|
||||
|
||||
private final SysRoleService sysRoleService;
|
||||
|
||||
@Override
|
||||
public boolean getDataPermission(String sfz, String deptcode) {
|
||||
SysUser user = this.sysUserMapper.selectOne(
|
||||
new QueryWrapper<SysUser>()
|
||||
.eq("id_entity_card", sfz)
|
||||
.last(" limit 1")
|
||||
);
|
||||
if (user == null) return false;
|
||||
// 查询用户权限
|
||||
List<SysRoleVO> userRoles = sysRoleService.getUserRoleList(user.getId());
|
||||
SysRoleVO role = null;
|
||||
if (!CollectionUtils.isEmpty(userRoles)) {
|
||||
int level = Integer.parseInt(userRoles.get(0).getDataPermissionLevel());
|
||||
role = userRoles.get(0);
|
||||
for (SysRoleVO item : userRoles) {
|
||||
if (level > Integer.parseInt(item.getDataPermissionLevel())) {
|
||||
level = Integer.parseInt(item.getDataPermissionLevel());
|
||||
role = item;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 本部门及以下
|
||||
SysUserDept sysUserDept = this.sysUserDeptMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysUserDept>()
|
||||
.eq(SysUserDept::getUserId, user.getId())
|
||||
.last(" limit 1")
|
||||
);
|
||||
if (sysUserDept == null) return false;
|
||||
SysDept dept = this.sysDeptMapper.selectById(sysUserDept.getDeptId());
|
||||
if (dept == null) return false;
|
||||
// 如果拥有权限,并不是本部门及以下权限
|
||||
if (role != null && !"5".equals(role.getDataPermissionLevel())) {
|
||||
String level = role.getDataPermissionLevel();
|
||||
// 全部,全省,全市 都是全部数据权限
|
||||
if ("1".equals(level) || "2".equals(level) || "3".equals(level)) return true;
|
||||
if ("4".equals(level)) {
|
||||
DeptInfoVo deptInfoVo = this.deptServiceImpl.getOrgByDeptId(String.valueOf(dept.getId()));
|
||||
// 前6位为县局数据权限,相等则表示有县局权限
|
||||
if (deptInfoVo.getFxjcode().substring(0, 6).equals(deptcode.substring(0, 6))) return true;
|
||||
}
|
||||
// 本部门权限,code全等
|
||||
return "6".equals(level) && dept.getOrgCode().equals(deptcode);
|
||||
} else {
|
||||
return this.level5Data(deptcode, dept);
|
||||
}
|
||||
}
|
||||
|
||||
// 本部门及以下数据权限(根据orglevel判断权限)
|
||||
private boolean level5Data(String deptcode, SysDept dept) {
|
||||
String orglevel = dept.getOrgLevel();
|
||||
String userSsbmdm = dept.getOrgCode();
|
||||
if (StringUtils.isNotEmpty(orglevel)) {
|
||||
switch (orglevel) {
|
||||
case "10":
|
||||
case "11":
|
||||
userSsbmdm = userSsbmdm.substring(0, 2);
|
||||
break;
|
||||
case "21":
|
||||
case "31":
|
||||
userSsbmdm = userSsbmdm.substring(0, 8);
|
||||
break;
|
||||
case "12":
|
||||
case "32":
|
||||
case "22":
|
||||
userSsbmdm = userSsbmdm.substring(0, 10);
|
||||
break;
|
||||
case "20":
|
||||
userSsbmdm = userSsbmdm.substring(0, 4);
|
||||
break;
|
||||
case "30":
|
||||
userSsbmdm = userSsbmdm.substring(0, 6);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return deptcode.indexOf(userSsbmdm) == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysUserDeptVO> getUserAll(String deptid) {
|
||||
SysDept dept = this.sysDeptMapper.selectById(deptid);
|
||||
List<String> deptIds = new ArrayList<>();
|
||||
this.getChildList(dept, deptIds);
|
||||
List<SysUser> userList = this.baseMapper.getUserListByDeptId(deptIds);
|
||||
List<SysUserDeptVO> list = new ArrayList<>();
|
||||
userList.forEach(user -> {
|
||||
SysUserDeptVO vo = new SysUserDeptVO();
|
||||
BeanUtils.copyProperties(user, vo);
|
||||
// 查询所在部门ID
|
||||
SysUserDept sysUserDept = this.sysUserDeptMapper.selectOne(
|
||||
new QueryWrapper<SysUserDept>()
|
||||
.eq("user_id", String.valueOf(user.getId()))
|
||||
.last(" limit 1")
|
||||
);
|
||||
if (sysUserDept != null) {
|
||||
SysDept sysDept = this.sysDeptMapper.selectById(sysUserDept.getDeptId());
|
||||
if (sysDept != null) {
|
||||
vo.setDeptId(sysDept.getId());
|
||||
vo.setDeptName(sysDept.getOrgName());
|
||||
}
|
||||
}
|
||||
list.add(vo);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysUserDeptVO> getUserList(String deptid) {
|
||||
List<SysUser> userList = this.baseMapper.getUserListByIdAll(deptid);
|
||||
List<SysUserDeptVO> list = new ArrayList<>();
|
||||
userList.forEach(user -> {
|
||||
SysUserDeptVO vo = new SysUserDeptVO();
|
||||
BeanUtils.copyProperties(user, vo);
|
||||
// 查询所在部门ID
|
||||
SysUserDept sysUserDept = this.sysUserDeptMapper.selectOne(
|
||||
new QueryWrapper<SysUserDept>()
|
||||
.eq("user_id", String.valueOf(user.getId()))
|
||||
.last(" limit 1")
|
||||
);
|
||||
if (sysUserDept != null) {
|
||||
SysDept sysDept = this.sysDeptMapper.selectById(sysUserDept.getDeptId());
|
||||
if (sysDept != null) {
|
||||
vo.setDeptId(sysDept.getId());
|
||||
vo.setDeptName(sysDept.getOrgName());
|
||||
}
|
||||
}
|
||||
list.add(vo);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeptInfoVo getDeptInfoByUserId(String userId) {
|
||||
SysUserDept sysUserDept = this.sysUserDeptMapper.selectOne(
|
||||
new QueryWrapper<SysUserDept>()
|
||||
.eq("user_id", String.valueOf(userId))
|
||||
.last(" limit 1")
|
||||
);
|
||||
if (sysUserDept != null) {
|
||||
SysDept sysDept = this.sysDeptMapper.selectById(sysUserDept.getDeptId());
|
||||
if (sysDept != null) {
|
||||
return this.deptServiceImpl.getOrgByDeptId(String.valueOf(sysDept.getId()));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeptInfoVo getDeptInfoBySfzh(String sfzh) {
|
||||
SysUser user = this.sysUserMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysUser>()
|
||||
.eq(SysUser::getIdEntityCard, sfzh)
|
||||
.last(" limit 1")
|
||||
);
|
||||
if (ObjectUtils.isEmpty(user)) {
|
||||
SysDept sysDept = this.sysDeptMapper.selectById(user.getId());
|
||||
if (sysDept != null) {
|
||||
return this.deptServiceImpl.getOrgByDeptId(String.valueOf(sysDept.getId()));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getssbm(String ssbmdm) {
|
||||
if (StringUtils.isNotEmpty(ssbmdm) && ssbmdm.length() == 12) {
|
||||
String[] split = ssbmdm.split("");
|
||||
for (int i = split.length - 1; i >= 0; i--) {
|
||||
String s = split[i];
|
||||
if (!s.equals("0")) {
|
||||
ssbmdm = ssbmdm.substring(0, i + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ssbmdm;
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.mosty.base.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mosty.base.service.UserInfoService;
|
||||
import com.mosty.common.core.business.entity.SysUser;
|
||||
import com.mosty.common.core.business.mapper.SysUserMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class UserInfoServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
||||
implements UserInfoService {
|
||||
@Override
|
||||
public SysUser getUserInfo(String userId) {
|
||||
return this.baseMapper.selectById(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysUser getUserInfoBySfzh(String sfzh) {
|
||||
return this.baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<SysUser>()
|
||||
.eq(SysUser::getIdEntityCard, sfzh)
|
||||
.last(" limit 1")
|
||||
);
|
||||
}
|
||||
|
||||
}
|
584
mosty-base/src/main/java/com/mosty/base/utils/HttpUtils.java
Normal file
584
mosty-base/src/main/java/com/mosty/base/utils/HttpUtils.java
Normal file
@ -0,0 +1,584 @@
|
||||
package com.mosty.base.utils;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import okhttp3.*;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.codehaus.xfire.client.Client;
|
||||
import org.codehaus.xfire.transport.http.CommonsHttpMessageSender;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public class HttpUtils {
|
||||
private static Logger logger = LoggerFactory
|
||||
.getLogger(HttpUtils.class);
|
||||
public static final String POST = "POST";
|
||||
|
||||
public static final String GET = "GET";
|
||||
|
||||
public static final int CONNECTTIMEOUT = 10 * 60 * 1000;
|
||||
|
||||
public static final int READTIMEOUT = 10 * 60 * 1000;
|
||||
|
||||
public static final String charset = "utf-8";
|
||||
|
||||
public static final String DEFAULT_CONTENT_TYPE = "application/x-www-form-urlencoded";
|
||||
|
||||
public static final String JSON_CONTENT_TYPE = "application/json";
|
||||
|
||||
public static final String XML_CONTENT_TYPE = "application/xml";
|
||||
|
||||
/* public static void main(String[] args) {
|
||||
StringBuffer reqXml = new StringBuffer();
|
||||
reqXml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||
reqXml.append("<xml><sminfo_input><systemid>");
|
||||
reqXml.append("39a15b33e62e453d97378e326a3960f4");// 短信平台为我们分配的短信接口调用帐号
|
||||
reqXml.append("</systemid><extension_no>06666</extension_no><tousermobile>");
|
||||
reqXml.append("18108089373");
|
||||
reqXml.append("</tousermobile><content>");
|
||||
reqXml.append("高新短信测试");
|
||||
reqXml.append("</content><fromusername>高新智慧公安</fromusername></sminfo_input></xml>");
|
||||
Object[] webserviceR = HttpUtils.httprequest(
|
||||
"http://dx.sc/services/IMsInterfaceNewService?wsdl", reqXml.toString());// new
|
||||
if (webserviceR != null) {
|
||||
XML xml = HttpUtils.sendMessageAck(webserviceR[0].toString());
|
||||
System.out.println("12312312312312");
|
||||
|
||||
} else {
|
||||
System.out.println("cssdasdasdas");
|
||||
}
|
||||
System.out.println("ssdasdasdas");
|
||||
}*/
|
||||
|
||||
/*****
|
||||
* webservice请求发送
|
||||
*
|
||||
* @param wsdl
|
||||
* @param reqXml
|
||||
* @return
|
||||
*/
|
||||
// public static Object[] httprequest(String wsdl, String reqXml) {
|
||||
// try {
|
||||
// URL _url = new URL(wsdl.trim());
|
||||
// HttpURLConnection httpConnection = (HttpURLConnection) _url
|
||||
// .openConnection();
|
||||
// httpConnection.setConnectTimeout(5000);
|
||||
// httpConnection.setReadTimeout(3000);// 设置http连接的读超时,单位是毫秒
|
||||
// httpConnection.connect();
|
||||
// Client _client = new Client(httpConnection.getInputStream(), null);
|
||||
// _client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT,
|
||||
// String.valueOf(3000));// 设置发送的超时限制,单位是毫秒;
|
||||
// _client.setProperty(CommonsHttpMessageSender.DISABLE_KEEP_ALIVE,
|
||||
// "true");
|
||||
// _client.setProperty(
|
||||
// CommonsHttpMessageSender.DISABLE_EXPECT_CONTINUE, "true");
|
||||
// return _client.invoke("sendMessage",
|
||||
// new Object[]{reqXml});
|
||||
// } catch (Exception e) {
|
||||
// logger.error(e.getMessage());
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
|
||||
|
||||
/****
|
||||
* 将webservice请求结果生成对象
|
||||
*
|
||||
* @param sendMsgR
|
||||
* @return
|
||||
*/
|
||||
public static XML sendMessageAck(String sendMsgR) {
|
||||
logger.info("短信接口反馈内容:" + sendMsgR);
|
||||
XML xml = new XML();
|
||||
try {
|
||||
List<Class> classes = new ArrayList<Class>();
|
||||
classes.add(XML.class);
|
||||
classes.add(Sminfo_return.class);
|
||||
try {
|
||||
xml = (XML) XStreamUtil.Xml2Object(classes, sendMsgR);
|
||||
if (xml == null) {
|
||||
throw new Exception("数据为空");
|
||||
}
|
||||
if (xml.getSminfo_return() == null) {
|
||||
throw new Exception("数据为空");
|
||||
}
|
||||
if (StringUtils.isBlank(xml.getSminfo_return().getRenturncode())) {
|
||||
throw new Exception("数据为空");
|
||||
}
|
||||
if (xml.getSminfo_return()
|
||||
.getRenturncode().equals("1")) {
|
||||
throw new Exception("短信接口调用失败");
|
||||
}
|
||||
xml.setMsg("短信接口调用成功");
|
||||
xml.setState("1");
|
||||
} catch (Exception e) {
|
||||
throw new Exception("短信接口返回数据有异常");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
xml.setMsg(e.getMessage());
|
||||
xml.setState("0");
|
||||
logger.error(e.getMessage());
|
||||
return xml;
|
||||
}
|
||||
return xml;
|
||||
}
|
||||
|
||||
|
||||
public static String executePost(String urlStr, Map<String, Object> params,
|
||||
Map<String, String> headerOpitions) {
|
||||
return executeHttpMethod(POST, urlStr, params, headerOpitions);
|
||||
}
|
||||
|
||||
/**
|
||||
* post请求
|
||||
*
|
||||
* @param urlStr
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public static String executePost(String urlStr, Map<String, Object> params) {
|
||||
return executeHttpMethod(POST, urlStr, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param urlStr
|
||||
* @param jsonStr
|
||||
* @return
|
||||
* @Title http POST json数据
|
||||
* @author lijiaqi
|
||||
* @description
|
||||
*/
|
||||
public static String executePostJSON(String urlStr, String jsonStr) {
|
||||
return executePost(urlStr, jsonStr, JSON_CONTENT_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param urlStr
|
||||
* @param xmlStr
|
||||
* @return
|
||||
* @Title http post xml数据
|
||||
* @author lijiaqi
|
||||
* @description
|
||||
*/
|
||||
public static String executePostXML(String urlStr, String xmlStr) {
|
||||
return executePost(urlStr, xmlStr, XML_CONTENT_TYPE);
|
||||
}
|
||||
|
||||
public static String executePost(String urlStr, String postStr, String contenType) {
|
||||
String result = null;
|
||||
URL url = null;
|
||||
HttpURLConnection connection = null;
|
||||
String method = "POST";
|
||||
InputStreamReader in = null;
|
||||
try {
|
||||
|
||||
url = new URL(urlStr);
|
||||
connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
connection.setRequestMethod(method);
|
||||
connection.setRequestProperty("Content-Type", contenType);
|
||||
connection.setRequestProperty("Charset", "UTF-8");
|
||||
connection.setConnectTimeout(CONNECTTIMEOUT);
|
||||
connection.setReadTimeout(READTIMEOUT);
|
||||
|
||||
if (method.equals(POST)) {
|
||||
DataOutputStream dop = new DataOutputStream(connection.getOutputStream());
|
||||
dop.write(postStr.getBytes("UTF-8"));
|
||||
dop.flush();
|
||||
dop.close();
|
||||
}
|
||||
// 连接
|
||||
connection.connect();
|
||||
int code = connection.getResponseCode();
|
||||
// 如果返回状态码200
|
||||
if (200 == code) {
|
||||
// 读取返回数据
|
||||
in = new InputStreamReader(connection.getInputStream());
|
||||
BufferedReader bufferedReader = new BufferedReader(in);
|
||||
StringBuffer strBuffer = new StringBuffer();
|
||||
String line = null;
|
||||
while ((line = bufferedReader.readLine()) != null) {
|
||||
strBuffer.append(line);
|
||||
}
|
||||
result = strBuffer.toString();
|
||||
}
|
||||
if (code > 400) {
|
||||
System.err.println("请求出错状态码: " + code);
|
||||
throw new RuntimeException("code " + code);
|
||||
|
||||
}
|
||||
} catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("不合法的http地址", e);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("读取数据失败", e);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (connection != null) {
|
||||
connection.disconnect();
|
||||
}
|
||||
if (in != null) {
|
||||
try {
|
||||
in.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("关闭流失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* post请求
|
||||
*
|
||||
* @param urlStr
|
||||
* @return
|
||||
*/
|
||||
public static String executePost(String urlStr, String postStr) {
|
||||
return executePost(urlStr, postStr, "application/x-www-form-urlencoded");
|
||||
}
|
||||
|
||||
/**
|
||||
* get请求
|
||||
*
|
||||
* @param urlStr
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public static String executeGet(String urlStr, Map<String, Object> params) {
|
||||
return executeHttpMethod(GET, urlStr, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* get请求
|
||||
*
|
||||
* @param urlStr
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
public static String executeGet(String urlStr, Map<String, Object> params,
|
||||
Map<String, String> headerOpitions) {
|
||||
return executeHttpMethod(GET, urlStr, params, headerOpitions);
|
||||
}
|
||||
|
||||
public static String executeHttpMethod(String method, String urlStr,
|
||||
Map<String, Object> params) {
|
||||
return executeHttpMethod(method, urlStr, params, null);
|
||||
}
|
||||
|
||||
public static String executeHttpMethod(String method, String urlStr, Map<String, Object> params,
|
||||
Map<String, String> headerOptions, String proxyHost,
|
||||
int proxyPort) {
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
|
||||
String result = null;
|
||||
URL url = null;
|
||||
HttpURLConnection connection = null;
|
||||
InputStreamReader in = null;
|
||||
try {
|
||||
if (method.equals(GET)) {
|
||||
urlStr = String.format("%s?%s", urlStr, buildParamsString(params));
|
||||
}
|
||||
url = new URL(urlStr);
|
||||
connection = (HttpURLConnection) url.openConnection(proxy);
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
connection.setRequestMethod(method);
|
||||
connection.setRequestProperty("Content-Type",
|
||||
"application/x-www-form-urlencoded; charset=UTF-8");
|
||||
connection.setRequestProperty("Charset", "UTF-8");
|
||||
|
||||
if (headerOptions != null && headerOptions.size() > 0) {
|
||||
for (String key : headerOptions.keySet()) {
|
||||
connection.setRequestProperty(key, headerOptions.get(key));
|
||||
}
|
||||
}
|
||||
|
||||
connection.setConnectTimeout(5000);
|
||||
connection.setReadTimeout(10000);
|
||||
if (method.equals(POST)) {
|
||||
DataOutputStream dop = new DataOutputStream(connection.getOutputStream());
|
||||
// 构建传递参数
|
||||
String paramStr = buildParamsString(params);
|
||||
dop.write(paramStr.getBytes());
|
||||
dop.flush();
|
||||
dop.close();
|
||||
}
|
||||
// 连接
|
||||
connection.connect();
|
||||
int code = connection.getResponseCode();
|
||||
|
||||
if (code > 400) {
|
||||
throw new RuntimeException("code " + code);
|
||||
}
|
||||
// 如果返回状态码200
|
||||
if (200 == code) {
|
||||
// 读取返回数据
|
||||
in = new InputStreamReader(connection.getInputStream());
|
||||
BufferedReader bufferedReader = new BufferedReader(in);
|
||||
StringBuffer strBuffer = new StringBuffer();
|
||||
String line = null;
|
||||
while ((line = bufferedReader.readLine()) != null) {
|
||||
strBuffer.append(line);
|
||||
}
|
||||
result = strBuffer.toString();
|
||||
}
|
||||
} catch (MalformedURLException e) {
|
||||
throw new RuntimeException("不合法的http地址", e);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("读取数据失败", e);
|
||||
} finally {
|
||||
if (connection != null) {
|
||||
connection.disconnect();
|
||||
}
|
||||
if (in != null) {
|
||||
try {
|
||||
in.close();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("关闭流失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static String executeHttpMethod(String method, String urlStr, Map<String, Object> params,
|
||||
Map<String, String> headerOptions) {
|
||||
String result = null;
|
||||
URL url = null;
|
||||
HttpURLConnection connection = null;
|
||||
InputStreamReader in = null;
|
||||
try {
|
||||
if (method.equals(GET)) {
|
||||
urlStr = String.format("%s?%s", urlStr, buildParamsString(params));
|
||||
}
|
||||
url = new URL(urlStr);
|
||||
connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
connection.setConnectTimeout(60000);
|
||||
connection.setReadTimeout(60000);
|
||||
connection.setRequestMethod(method);
|
||||
connection.setRequestProperty("Content-Type",
|
||||
"application/x-www-form-urlencoded; charset=UTF-8");
|
||||
connection.setRequestProperty("Charset", "UTF-8");
|
||||
|
||||
if (headerOptions != null && headerOptions.size() > 0) {
|
||||
for (String key : headerOptions.keySet()) {
|
||||
connection.setRequestProperty(key, headerOptions.get(key));
|
||||
}
|
||||
}
|
||||
|
||||
connection.setConnectTimeout(CONNECTTIMEOUT);
|
||||
connection.setReadTimeout(READTIMEOUT);
|
||||
if (method.equals(POST)) {
|
||||
DataOutputStream dop = new DataOutputStream(connection.getOutputStream());
|
||||
// 构建传递参数
|
||||
String paramStr = buildParamsString(params);
|
||||
dop.write(paramStr.getBytes());
|
||||
dop.flush();
|
||||
dop.close();
|
||||
}
|
||||
// 连接
|
||||
connection.connect();
|
||||
int code = connection.getResponseCode();
|
||||
|
||||
if (code > 400) {
|
||||
throw new RuntimeException("code " + code);
|
||||
}
|
||||
// 如果返回状态码200
|
||||
if (200 == code) {
|
||||
// 读取返回数据
|
||||
in = new InputStreamReader(connection.getInputStream());
|
||||
BufferedReader bufferedReader = new BufferedReader(in);
|
||||
StringBuffer strBuffer = new StringBuffer();
|
||||
String line = null;
|
||||
while ((line = bufferedReader.readLine()) != null) {
|
||||
strBuffer.append(line);
|
||||
}
|
||||
result = strBuffer.toString();
|
||||
}
|
||||
} catch (MalformedURLException e) {
|
||||
throw new RuntimeException("不合法的http地址", e);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("读取数据失败", e);
|
||||
} finally {
|
||||
if (connection != null) {
|
||||
connection.disconnect();
|
||||
}
|
||||
if (in != null) {
|
||||
try {
|
||||
in.close();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("关闭流失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否是存在的文件
|
||||
*
|
||||
* @param ulrStr
|
||||
* @return
|
||||
*/
|
||||
public static boolean isNetFileAvailable(String ulrStr) {
|
||||
try {
|
||||
//设置此类是否应该自动执行 HTTP 重定向(响应代码为 3xx 的请求)。
|
||||
HttpURLConnection.setFollowRedirects(false);
|
||||
//到 URL 所引用的远程对象的连接
|
||||
HttpURLConnection con = (HttpURLConnection) new URL(ulrStr).openConnection();
|
||||
/* 设置 URL 请求的方法, GET POST HEAD OPTIONS PUT DELETE TRACE 以上方法之一是合法的,具体取决于协议的限制。*/
|
||||
con.setRequestMethod("HEAD");
|
||||
//从 HTTP 响应消息获取状态码
|
||||
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建参数字符串
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
* @throws UnsupportedEncodingException
|
||||
*/
|
||||
private static String buildParamsString(Map<String, Object> params) throws UnsupportedEncodingException {
|
||||
StringBuffer paramsBuffer = new StringBuffer();
|
||||
int flag = 0;
|
||||
if (params != null) {
|
||||
for (String key : params.keySet()) {
|
||||
if (flag != 0) {
|
||||
paramsBuffer.append("&");
|
||||
}
|
||||
String value = URLEncoder.encode(String.valueOf(params.get(key)), "utf-8");
|
||||
paramsBuffer.append(key).append("=").append(value);
|
||||
flag = 1;
|
||||
}
|
||||
}
|
||||
return paramsBuffer.toString();
|
||||
}
|
||||
|
||||
public static byte[] getByteArrayFromUrl(String urlStr) {
|
||||
URL url = null;
|
||||
HttpURLConnection connection = null;
|
||||
InputStream in = null;
|
||||
byte[] content = null;
|
||||
try {
|
||||
url = new URL(urlStr);
|
||||
connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
connection.setRequestMethod("GET");
|
||||
connection.setRequestProperty("Content-Type",
|
||||
"application/x-www-form-urlencoded; charset=UTF-8");
|
||||
connection.setRequestProperty("Charset", "UTF-8");
|
||||
connection.setConnectTimeout(CONNECTTIMEOUT);
|
||||
connection.setReadTimeout(READTIMEOUT);
|
||||
// 连接
|
||||
connection.connect();
|
||||
int code = connection.getResponseCode();
|
||||
|
||||
if (code > 400) {
|
||||
throw new RuntimeException("code " + code);
|
||||
}
|
||||
// 如果返回状态码200
|
||||
if (200 == code) {
|
||||
// 读取返回数据
|
||||
in = connection.getInputStream();
|
||||
content = IOUtils.toByteArray(in);
|
||||
}
|
||||
|
||||
} catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("不合法的http地址", e);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("读取数据失败", e);
|
||||
} finally {
|
||||
if (connection != null) {
|
||||
connection.disconnect();
|
||||
}
|
||||
if (in != null) {
|
||||
try {
|
||||
in.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("关闭流失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return content;
|
||||
}
|
||||
|
||||
|
||||
public static String previewURLs1(String sbbh) throws Exception {
|
||||
|
||||
OkHttpClient client = (new OkHttpClient()).newBuilder().build();
|
||||
Request request = (new Request.Builder()).url("http://80.75.112.19:18080/api/play/start/51050100002000111603/" + sbbh).method("GET", (okhttp3.RequestBody) null).addHeader("Cookie", "").build();
|
||||
Response response = client.newCall(request).execute();
|
||||
boolean isf = false;
|
||||
if (response.code() == 401) {
|
||||
Login();
|
||||
//String s = previewURLs1(sbbh);
|
||||
//return s;
|
||||
isf = true;
|
||||
}
|
||||
if (isf) {
|
||||
previewURLs1(sbbh);
|
||||
}
|
||||
String body = response.body().string();
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(body)) {
|
||||
Map<String, Object> hashMap = (Map) JSON.parseObject(body, HashMap.class);
|
||||
int code = (Integer) hashMap.get("code");
|
||||
if (code == 0) {
|
||||
Map<String, Object> urlMap = (Map) hashMap.get("data");
|
||||
String hls = urlMap.get("hls").toString();
|
||||
System.out.println(hls.toString());
|
||||
return hls;
|
||||
} else {
|
||||
String s = previewURLs1(sbbh);
|
||||
return s;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static String Login() throws IOException {
|
||||
OkHttpClient client = (new OkHttpClient()).newBuilder().build();
|
||||
Request request = (new Request.Builder()).url("http://80.75.112.19:18080/api/user/login?username=admin&password=fad1b644f95eeaaf01816369e4209352").method("GET", (okhttp3.RequestBody) null).build();
|
||||
Response response = client.newCall(request).execute();
|
||||
// int code = response.code();
|
||||
// String body = response.body().string();
|
||||
Headers headers = response.headers();
|
||||
System.out.println(headers.get("Set-Cookie"));
|
||||
return headers.get("Set-Cookie");
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
String s = previewURLs1("51050200001310072154");
|
||||
|
||||
System.out.println(s);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package com.mosty.base.utils;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
|
||||
@XStreamAlias("sminfo_return")
|
||||
public class Sminfo_return {
|
||||
@XStreamAlias("renturncode")
|
||||
public String renturncode = "";
|
||||
|
||||
@XStreamAlias("error_code")
|
||||
public String error_code = "";
|
||||
|
||||
@XStreamAlias("sm_id")
|
||||
public String sm_id = "";
|
||||
|
||||
@XStreamAlias("message")
|
||||
public String message = "";
|
||||
|
||||
public String getRenturncode() {
|
||||
return renturncode;
|
||||
}
|
||||
|
||||
public void setRenturncode(String renturncode) {
|
||||
this.renturncode = renturncode;
|
||||
}
|
||||
|
||||
public String getError_code() {
|
||||
return error_code;
|
||||
}
|
||||
|
||||
public void setError_code(String error_code) {
|
||||
this.error_code = error_code;
|
||||
}
|
||||
|
||||
public String getSm_id() {
|
||||
return sm_id;
|
||||
}
|
||||
|
||||
public void setSm_id(String sm_id) {
|
||||
this.sm_id = sm_id;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
}
|
38
mosty-base/src/main/java/com/mosty/base/utils/XML.java
Normal file
38
mosty-base/src/main/java/com/mosty/base/utils/XML.java
Normal file
@ -0,0 +1,38 @@
|
||||
package com.mosty.base.utils;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
|
||||
@XStreamAlias("xml")
|
||||
public class XML {
|
||||
@XStreamAlias("sminfo_return")
|
||||
private Sminfo_return sminfo_return;
|
||||
|
||||
private String state;
|
||||
|
||||
private String msg;
|
||||
|
||||
public Sminfo_return getSminfo_return() {
|
||||
return sminfo_return;
|
||||
}
|
||||
|
||||
public void setSminfo_return(Sminfo_return sminfo_return) {
|
||||
this.sminfo_return = sminfo_return;
|
||||
}
|
||||
|
||||
public String getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public void setState(String state) {
|
||||
this.state = state;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public void setMsg(String msg) {
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
}
|
122
mosty-base/src/main/java/com/mosty/base/utils/XStreamUtil.java
Normal file
122
mosty-base/src/main/java/com/mosty/base/utils/XStreamUtil.java
Normal file
@ -0,0 +1,122 @@
|
||||
package com.mosty.base.utils;
|
||||
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.io.xml.DomDriver;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class XStreamUtil {
|
||||
private static Map<Class, Class> mClasses = new HashMap<Class, Class>();
|
||||
private static XStream xStream = new XStream(new DomDriver());
|
||||
private static Map<String, Class> wClasses = new HashMap<String, Class>();
|
||||
|
||||
/**
|
||||
*
|
||||
* @param clsz
|
||||
* 每一层的标签对应的class (注意! 不是每一个标签!)
|
||||
* @param fileName
|
||||
* 文件路径("/sdcard/test.xml")
|
||||
* @param NULL
|
||||
* 暂没用到;
|
||||
* @return 返回的是最外层对象:
|
||||
*/
|
||||
public static Object Xml2Object(List<Class> clsz, String fileName, String NULL) {
|
||||
for (Class cls : clsz) {
|
||||
if (mClasses.containsKey(cls))
|
||||
continue;
|
||||
mClasses.put(cls, cls);
|
||||
xStream.processAnnotations(cls);
|
||||
}
|
||||
try {
|
||||
// 这个是设置编码,因为可能编码不同会显现乱码,这个应该还没有具体解决乱码问题
|
||||
BufferedReader br = new BufferedReader(
|
||||
new InputStreamReader(new FileInputStream(fileName), "GBK"));
|
||||
return xStream.fromXML(br);
|
||||
// return xStream.fromXML(new FileReader(new
|
||||
// File(fileName)));//这个是直接读
|
||||
} catch (FileNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param clsz
|
||||
* : 每一层的标签对应的class
|
||||
* @param str
|
||||
* : xml 解析出来的String
|
||||
* @return 返回的是最外层对象:
|
||||
*/
|
||||
public static Object Xml2Object(List<Class> clsz, String str) {
|
||||
for (Class cls : clsz) {
|
||||
// if (mClasses.containsKey(cls))
|
||||
// continue;
|
||||
mClasses.put(cls, cls);
|
||||
xStream.processAnnotations(cls);
|
||||
}
|
||||
|
||||
return xStream.fromXML(str);
|
||||
}
|
||||
public static Object Xml2Object(Map<String, Class> data,String str) {
|
||||
for (Map.Entry<String, Class> entry:data.entrySet() ) {
|
||||
xStream.alias(entry.getKey(),entry.getValue());
|
||||
}
|
||||
|
||||
return xStream.fromXML(str);
|
||||
}
|
||||
|
||||
/*--------------------------------------------*/
|
||||
/*
|
||||
* Xml2Object 与 Object2Xml 的区别在于
|
||||
* xStream.processAnnotations(cls);
|
||||
* xStream.alias(cls.node, cls.cls);
|
||||
*/
|
||||
/*-------------------------------------------*/
|
||||
/**
|
||||
*
|
||||
* @param clsz
|
||||
* 这个和上面的不同就是,这个写入的时候需要 标签 和 type(class); 所以定义了一个类,方便点;
|
||||
* @param obj
|
||||
* 这个是读取到的对象
|
||||
* @return
|
||||
*/
|
||||
public static String Object2Xml(List<XStreamNode> clsz, Object obj) {
|
||||
for (XStreamNode cls : clsz) {
|
||||
if (wClasses.containsKey(cls.node))
|
||||
continue;
|
||||
wClasses.put(cls.node, cls.cls);
|
||||
xStream.alias(cls.node, cls.cls);
|
||||
}
|
||||
return xStream.toXML(obj);
|
||||
|
||||
}
|
||||
|
||||
static class XStreamNode {
|
||||
public XStreamNode(String node, Class cls) {
|
||||
// TODO Auto-generated constructor stub
|
||||
this.node = node;
|
||||
this.cls = cls;
|
||||
}
|
||||
|
||||
public String node;
|
||||
public Class cls;
|
||||
}
|
||||
|
||||
public static <T> T toBean(String xmlStr,Class<T> cls){
|
||||
//注意:不是new Xstream(); 否则报错:java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserFactory
|
||||
XStream xstream=new XStream(new DomDriver());
|
||||
xstream.processAnnotations(cls);
|
||||
T obj=(T)xstream.fromXML(xmlStr);
|
||||
return obj;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"properties": [
|
||||
{
|
||||
"name": "spring.cloud.nacos.discovery.server-addr",
|
||||
"type": "java.lang.String",
|
||||
"description": "Description for spring.cloud.nacos.discovery.server-addr."
|
||||
}
|
||||
] }
|
132
mosty-base/src/main/resources/application.yml
Normal file
132
mosty-base/src/main/resources/application.yml
Normal file
@ -0,0 +1,132 @@
|
||||
ribbon:
|
||||
ReadTimeout: 600000
|
||||
ConnectTimeout: 600000
|
||||
spring:
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 100MB
|
||||
max-request-size: 100MB
|
||||
jackson:
|
||||
serialization:
|
||||
write-dates-as-timestamps: false
|
||||
# # 格式化返回时间 yyyy-MM-dd HH:mm:ss
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
time-zone: GMT+8
|
||||
datasource:
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
url: jdbc:mysql://192.168.200.131:3306/mosty_base?autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: mosty888
|
||||
hikari:
|
||||
minimum-idle: 10 # ??????????10???0???maximum-pool-size??????maximum-pool-size
|
||||
maximum-pool-size: 20 # ??????????0????????10??????1?????minimum-idle??
|
||||
idle-timeout: 500000 # ????????????600000?10????????max-lifetime?max-lifetime>0??????0????0???10???????10??
|
||||
max-lifetime: 540000 # ????????????0???30??????????30??.?????mysql????????
|
||||
connection-timeout: 60000 # ????????????250????????????30?
|
||||
connection-test-query: SELECT 1 # ???????????????
|
||||
# Redis数据库索引(默认为0)
|
||||
redis:
|
||||
database: 8
|
||||
# Redis服务器地址
|
||||
host: 192.168.200.131
|
||||
# Redis服务器连接端口
|
||||
port: 6379
|
||||
# Redis服务器连接密码(默认为空)
|
||||
password: mosty888
|
||||
# 连接超时时间(毫秒)
|
||||
timeout: 2000
|
||||
jedis:
|
||||
pool:
|
||||
max-active: 50
|
||||
|
||||
|
||||
#mybatis:
|
||||
# mapper-locations: classpath:mapper/*.xml
|
||||
|
||||
swagger:
|
||||
host: 80.155.0.84
|
||||
port: 80
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
|
||||
minio:
|
||||
endpoint: http://192.168.200.131:9009
|
||||
downloadEndpoint: http://192.168.200.131:9009
|
||||
accessKey: admin
|
||||
secretKey: mosty888
|
||||
|
||||
config:
|
||||
defaultPassword: 123456
|
||||
orgCode: 510600000000
|
||||
|
||||
login:
|
||||
check:
|
||||
kaptcha: false
|
||||
|
||||
magic-api:
|
||||
web: /magic/web
|
||||
#配置文件存储位置。当以classpath开头时,为只读模式
|
||||
resource:
|
||||
# location: /data/magic-api
|
||||
type: database
|
||||
table-name: magic_api_file_v2 # 数据库中的表名
|
||||
prefix: /magic-api # 前缀
|
||||
datasource:
|
||||
response-code:
|
||||
success: 10000
|
||||
|
||||
dict:
|
||||
element:
|
||||
# 民族
|
||||
nation: D_BZ_MZ
|
||||
# 性别
|
||||
gender: D_BZ_XB
|
||||
# 血型
|
||||
blood-type: D_BZ_XX
|
||||
# 学历
|
||||
education: D_BZ_WHCD
|
||||
# 政治面貌
|
||||
political-outlook: D_BZ_ZZMM
|
||||
# 婚姻状况
|
||||
marital-status: D_BZ_HYZK
|
||||
# 亲属关系
|
||||
relationship: D_BZ_QSGXDM
|
||||
# 车辆型号
|
||||
vehicle-model: D_JDC_CLLX
|
||||
# 车辆颜色
|
||||
vehicle-color: D_JDC_CSYS
|
||||
# 机动车号牌种类
|
||||
vehicle-number-type: D_JDC_HPZL
|
||||
# 车牌号
|
||||
car-number: D_BZ_HPSSD
|
||||
|
||||
exclude:
|
||||
pathPatterns:
|
||||
token:
|
||||
- /loginCheckKaptcha
|
||||
- /login
|
||||
- /token
|
||||
- /kaptcha
|
||||
- /loginOut
|
||||
- /sysTask/addSysTask
|
||||
- /sysTask/*
|
||||
- /idCardNoLogin
|
||||
- /sysTaskReport/*
|
||||
- /sysTaskReport/groupCount/*
|
||||
- /sysTaskReport/lineChart/*
|
||||
- /yjxx/token/*
|
||||
- /tbJq/querySgfx
|
||||
- /tbJq/queryZtfx
|
||||
- /tbYjxx/insert
|
||||
- /tbYjxx/getList
|
||||
- /image/base64
|
||||
swagger:
|
||||
- /swagger-resources/**
|
||||
- /webjars/**
|
||||
- /v2/**
|
||||
- /swagger-ui.html/**
|
||||
- /docs.html/**
|
40
mosty-base/src/main/resources/bootstrap.yml
Normal file
40
mosty-base/src/main/resources/bootstrap.yml
Normal file
@ -0,0 +1,40 @@
|
||||
server:
|
||||
port: 8005
|
||||
servlet:
|
||||
context-path: /mosty-base/
|
||||
spring:
|
||||
application:
|
||||
name: mosty-base
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
namespace: 657d1843-b590-41ac-b5e7-5d261bf00de9
|
||||
server-addr: 192.168.200.131:8848
|
||||
register-enabled: true
|
||||
|
||||
|
||||
|
||||
# 开启健康监控
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
endpoint:
|
||||
health:
|
||||
show-details: always
|
||||
auditevents:
|
||||
enabled: true
|
||||
|
||||
#swagger:
|
||||
# enable: true
|
||||
# title: 基础微服务
|
||||
# version: 1.0.0
|
||||
# name: 基础微服务
|
||||
# url: ''
|
||||
# email: ''
|
||||
|
||||
# 日志
|
||||
#logging:
|
||||
# file: /application/applogs/admin.log
|
||||
|
114
mosty-base/src/main/resources/logback-spring.xml
Normal file
114
mosty-base/src/main/resources/logback-spring.xml
Normal file
@ -0,0 +1,114 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
<jmxConfigurator/>
|
||||
<property name="PROJECT_NAME" value="msxf-retail-sort" />
|
||||
<property name="LOG_FILE_INFO" value="${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/msxf-retail-sort-info.log" />
|
||||
<property name="LOG_FILE_WARN" value="${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/msxf-retail-sort-warn.log" />
|
||||
<property name="LOG_FILE_ERR" value="${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/msxf-retail-sort-error.log" />
|
||||
<property name="LOG_BUSINESS" value="${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/business/business-2de.log"/>
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
|
||||
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
|
||||
<contextName>${PROJECT_NAME}</contextName>
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
|
||||
<appender name="LOG_FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</pattern>
|
||||
</encoder>
|
||||
<file>${LOG_FILE_INFO}</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_FILE_INFO}-7de.%d{yyyy-MM-dd}.%i</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy
|
||||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>1024MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<appender name="LOG_FILE_WARN"
|
||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>WARN</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</pattern>
|
||||
</encoder>
|
||||
<file>${LOG_FILE_WARN}</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_FILE_WARN}-30de.%d{yyyy-MM-dd}.%i</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy
|
||||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>1024MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<appender name="LOG_FILE_ERROR"
|
||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>ERROR</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</pattern>
|
||||
</encoder>
|
||||
<file>${LOG_FILE_ERR}</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_FILE_ERR}.%d{yyyy-MM-dd}.%i</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy
|
||||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>512MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!--添加监控日志 -->
|
||||
<appender name="business-log-appender"
|
||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<file>${LOG_BUSINESS}</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_BUSINESS}.%d{yyyy-MM-dd}.%i
|
||||
</fileNamePattern>
|
||||
<maxFileSize>1024MB</maxFileSize>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<logger name="business-log" additivity="false" level="info">
|
||||
<appender-ref ref="business-log-appender"/>
|
||||
<appender-ref ref="CONSOLE" />
|
||||
</logger>
|
||||
<!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
|
||||
<logger name="logging.level.jdbc" level="INFO" />
|
||||
<logger name="logging.level.jdbc.sqlonly" level="INFO" />
|
||||
<logger name="org.springframework" level="INFO" additivity="true" />
|
||||
<Logger name="jdbc.sqlonly" level="info" />
|
||||
<Logger name="jdbc.sqltiming" level="warn" />
|
||||
<Logger name="jdbc.audit" level="warn" />
|
||||
<Logger name="jdbc.resultset" level="warn" />
|
||||
<Logger name="jdbc.resultsettable" level="warn" />
|
||||
<logger name="jdbc.connection" level="warn" />
|
||||
<Logger name="log4jdbc.debug" level="warn" />
|
||||
<Logger name="org.apache.kafka.clients.NetworkClient" level="ERROR" />
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE" />
|
||||
<appender-ref ref="LOG_FILE_INFO" />
|
||||
<appender-ref ref="LOG_FILE_WARN" />
|
||||
<appender-ref ref="LOG_FILE_ERROR" />
|
||||
</root>
|
||||
</configuration>
|
23
mosty-base/src/main/resources/mapper/DeptMapper.xml
Normal file
23
mosty-base/src/main/resources/mapper/DeptMapper.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.mosty.base.mapper.UserDeptMapper">
|
||||
|
||||
<!--查询部门下的所有的人员信息-->
|
||||
<select id="getUserListByDeptId" resultType="com.mosty.common.core.business.entity.SysUser">
|
||||
select a.* from sys_user a ,sys_dept b,sys_user_dept c where a.id = c.user_id
|
||||
and a.xt_zxbz = '0' and b.xt_zxbz = '0'
|
||||
and c.dept_id = b.id and a.is_virtual_user = '02' and b.id in
|
||||
<foreach collection="list" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!--查询本部门下的所有的,不包含子部门-->
|
||||
<select id="getUserListByIdAll" resultType="com.mosty.common.core.business.entity.SysUser">
|
||||
select a.* from sys_user a ,sys_dept b,sys_user_dept c where a.id = c.user_id
|
||||
and a.xt_zxbz = '0' and b.xt_zxbz = '0'
|
||||
and c.dept_id = b.id and b.id = #{deptid}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
99
mosty-base/src/main/resources/mapper/GajgSearchMapper.xml
Normal file
99
mosty-base/src/main/resources/mapper/GajgSearchMapper.xml
Normal file
@ -0,0 +1,99 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.mosty.base.mapper.GajgSearchMapper">
|
||||
|
||||
<!-- 映射 property实体类 column数据库字段-->
|
||||
<resultMap type="com.mosty.base.model.entity.yszx.TbYsGajg" id="tbYsGajg">
|
||||
<result property="id" column="id" jdbcType="VARCHAR"/>
|
||||
<result property="ysdl" column="ysdl" jdbcType="VARCHAR"/>
|
||||
<result property="yszl" column="yszl" jdbcType="VARCHAR"/>
|
||||
<result property="ysxl" column="ysxl" jdbcType="VARCHAR"/>
|
||||
<result property="gajgmc" column="gajgmc" jdbcType="VARCHAR"/>
|
||||
<result property="gajgjc" column="gajgjc" jdbcType="VARCHAR"/>
|
||||
<result property="wzXzqh" column="wz_xzqh" jdbcType="VARCHAR"/>
|
||||
<result property="wzXz" column="wz_xz" jdbcType="VARCHAR"/>
|
||||
<result property="wzBc" column="wz_bc" jdbcType="VARCHAR"/>
|
||||
<result property="jd" column="jd" jdbcType="NUMERIC"/>
|
||||
<result property="wd" column="wd" jdbcType="NUMERIC"/>
|
||||
<result property="zb" column="zb" typeHandler="com.mosty.base.feign.handle.PointTypeHandler"/>
|
||||
<result property="zbhash" column="zbhash" jdbcType="VARCHAR"/>
|
||||
<result property="dtm" column="dtm" typeHandler="com.mosty.base.feign.handle.PolygonTypeHandler"/>
|
||||
<result property="dtm1" column="dtm1" typeHandler="com.mosty.base.feign.handle.PolygonTypeHandler"/>
|
||||
<result property="dtm2" column="dtm2" typeHandler="com.mosty.base.feign.handle.PolygonTypeHandler"/>
|
||||
<result property="lybm" column="lybm" jdbcType="VARCHAR"/>
|
||||
<result property="lyid" column="lyid" jdbcType="VARCHAR"/>
|
||||
<result property="jsnr" column="jsnr" jdbcType="VARCHAR"/>
|
||||
<result property="ssbm" column="ssbm" jdbcType="VARCHAR"/>
|
||||
<result property="ssbmdm" column="ssbmdm" jdbcType="VARCHAR"/>
|
||||
<result property="ssxgaj" column="ssxgaj" jdbcType="VARCHAR"/>
|
||||
<result property="ssxgajdm" column="ssxgajdm" jdbcType="VARCHAR"/>
|
||||
<result property="sssgaj" column="sssgaj" jdbcType="VARCHAR"/>
|
||||
<result property="sssgajdm" column="sssgajdm" jdbcType="VARCHAR"/>
|
||||
<result property="xtSjly" column="xt_sjly" jdbcType="VARCHAR"/>
|
||||
<result property="xtSjzt" column="xt_sjzt" jdbcType="VARCHAR"/>
|
||||
<result property="xtScbz" column="xt_scbz" jdbcType="VARCHAR"/>
|
||||
<result property="xtCjip" column="xt_cjip" jdbcType="VARCHAR"/>
|
||||
<result property="xtCjsj" column="xt_cjsj" jdbcType="VARCHAR"/>
|
||||
<result property="xtCjrId" column="xt_cjr_id" jdbcType="VARCHAR"/>
|
||||
<result property="xtCjr" column="xt_cjr" jdbcType="VARCHAR"/>
|
||||
<result property="xtCjbmdm" column="xt_cjbmdm" jdbcType="VARCHAR"/>
|
||||
<result property="xtCjbmmc" column="xt_cjbmmc" jdbcType="VARCHAR"/>
|
||||
<result property="xtZhgxip" column="xt_zhgxip" jdbcType="VARCHAR"/>
|
||||
<result property="xtZhgxsj" column="xt_zhgxsj" jdbcType="VARCHAR"/>
|
||||
<result property="xtZhgxrid" column="xt_zhgxrid" jdbcType="VARCHAR"/>
|
||||
<result property="xtZhgxr" column="xt_zhgxr" jdbcType="VARCHAR"/>
|
||||
<result property="xtZhgxbmdm" column="xt_zhgxbmdm" jdbcType="VARCHAR"/>
|
||||
<result property="xtZhgxbm" column="xt_zhgxbm" jdbcType="VARCHAR"/>
|
||||
<result property="bz" column="bz" jdbcType="VARCHAR"/>
|
||||
<result property="sssgajid" column="sssgajid" jdbcType="VARCHAR"/>
|
||||
<result property="ssxgajid" column="ssxgajid" jdbcType="VARCHAR"/>
|
||||
<result property="ssbmid" column="ssbmid" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 公共sql 全部字段-->
|
||||
<sql id="base_column_list">
|
||||
id
|
||||
,ysdl,yszl,ysxl,gajgmc,gajgjc,wz_xzqh,wz_xz,wz_bc,jd,wd,ssbmid,ssxgajid,sssgajid,
|
||||
zbhash,lybm,lyid,jsnr,ssbm, ssbmdm, ssxgaj, ssxgajdm, sssgaj, sssgajdm, xt_sjly, xt_sjzt, xt_scbz,
|
||||
xt_cjip, xt_cjsj, xt_cjr_id, xt_cjr, xt_cjbmdm, xt_cjbmmc, xt_zhgxip, xt_zhgxsj, xt_zhgxrid,
|
||||
xt_zhgxr, xt_zhgxbmdm, xt_zhgxbm, bz
|
||||
</sql>
|
||||
|
||||
<!-- 公共sql 面 , 业务层转成了point点:jd、wd-->
|
||||
<sql id="zb_sql">
|
||||
ST_ASWKT
|
||||
(zb)
|
||||
as zb,
|
||||
ST_ASWKT(dtm) as dtm,
|
||||
ST_ASWKT(dtm1) as dtm1,
|
||||
ST_ASWKT(dtm2) as dtm2
|
||||
</sql>
|
||||
|
||||
<!-- 从子表中关联查询到公安机关主键Id -->
|
||||
<select id="getGajgFromGlbl" resultType="String">
|
||||
select gajg_id from mosty_yszx.tb_ys_gajg_glbm where ssbmid = #{ssbmid} and
|
||||
xt_scbz = '0' and xt_sjzt = '1'
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<!-- 引用映射 通过主表查询全部信息-->
|
||||
<select id="getGajg" resultMap="tbYsGajg">
|
||||
select
|
||||
<include refid="base_column_list"/>,
|
||||
<include refid="zb_sql"/>
|
||||
from mosty_yszx.tb_ys_gajg where ssbmid = #{ssbmid}
|
||||
and (ysxl = '001001003' or ysxl = '001001004') and xt_scbz = '0' and xt_sjzt = '1'
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<!-- 引用映射 通过子表查询全部信息-->
|
||||
<select id="getGajgById" resultMap="tbYsGajg">
|
||||
select
|
||||
<include refid="base_column_list"/>,
|
||||
<include refid="zb_sql"/>
|
||||
from mosty_yszx.tb_ys_gajg where xt_scbz = '0' and xt_sjzt = '1'
|
||||
and id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
16
mosty-base/src/main/resources/rebel.xml
Normal file
16
mosty-base/src/main/resources/rebel.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
This is the JRebel configuration file. It maps the running application to your IDE workspace, enabling JRebel reloading for this project.
|
||||
Refer to https://manuals.jrebel.com/jrebel/standalone/config.html for more information.
|
||||
-->
|
||||
<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_3.xsd">
|
||||
|
||||
<id>mosty-base</id>
|
||||
|
||||
<classpath>
|
||||
<dir name="E:/project/rs/mosty-dyga-cloud/mosty-base/target/classes">
|
||||
</dir>
|
||||
</classpath>
|
||||
|
||||
</application>
|
Reference in New Issue
Block a user