diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml
index 939e753..f19ec0f 100644
--- a/casic-web/src/main/resources/config/application-prod.yml
+++ b/casic-web/src/main/resources/config/application-prod.yml
@@ -18,7 +18,7 @@
casic:
kaptcha-open: false #是否开启登录时验证码 (true/false)
- no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
#flowable数据源和多数据源配置
db:
init:
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml
index 939e753..f19ec0f 100644
--- a/casic-web/src/main/resources/config/application-prod.yml
+++ b/casic-web/src/main/resources/config/application-prod.yml
@@ -18,7 +18,7 @@
casic:
kaptcha-open: false #是否开启登录时验证码 (true/false)
- no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
#flowable数据源和多数据源配置
db:
init:
diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml
index 3a787b1..1c0bb6c 100644
--- a/casic-web/src/main/resources/config/application-test.yml
+++ b/casic-web/src/main/resources/config/application-test.yml
@@ -26,5 +26,4 @@
logging:
level.root: info
level.com.casic: debug
- path: logs/
- file: missiles.log
\ No newline at end of file
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml
index 939e753..f19ec0f 100644
--- a/casic-web/src/main/resources/config/application-prod.yml
+++ b/casic-web/src/main/resources/config/application-prod.yml
@@ -18,7 +18,7 @@
casic:
kaptcha-open: false #是否开启登录时验证码 (true/false)
- no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
#flowable数据源和多数据源配置
db:
init:
diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml
index 3a787b1..1c0bb6c 100644
--- a/casic-web/src/main/resources/config/application-test.yml
+++ b/casic-web/src/main/resources/config/application-test.yml
@@ -26,5 +26,4 @@
logging:
level.root: info
level.com.casic: debug
- path: logs/
- file: missiles.log
\ No newline at end of file
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml
index 9dc8566..d410e56 100644
--- a/casic-web/src/main/resources/config/application.yml
+++ b/casic-web/src/main/resources/config/application.yml
@@ -3,7 +3,7 @@
##########################################################
spring:
profiles:
- active: dev
+ active: prod
servlet:
multipart:
max-file-size: 50MB
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml
index 939e753..f19ec0f 100644
--- a/casic-web/src/main/resources/config/application-prod.yml
+++ b/casic-web/src/main/resources/config/application-prod.yml
@@ -18,7 +18,7 @@
casic:
kaptcha-open: false #是否开启登录时验证码 (true/false)
- no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
#flowable数据源和多数据源配置
db:
init:
diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml
index 3a787b1..1c0bb6c 100644
--- a/casic-web/src/main/resources/config/application-test.yml
+++ b/casic-web/src/main/resources/config/application-test.yml
@@ -26,5 +26,4 @@
logging:
level.root: info
level.com.casic: debug
- path: logs/
- file: missiles.log
\ No newline at end of file
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml
index 9dc8566..d410e56 100644
--- a/casic-web/src/main/resources/config/application.yml
+++ b/casic-web/src/main/resources/config/application.yml
@@ -3,7 +3,7 @@
##########################################################
spring:
profiles:
- active: dev
+ active: prod
servlet:
multipart:
max-file-size: 50MB
diff --git a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
index fd4233f..6bd0b54 100644
--- a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
Binary files differ
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml
index 939e753..f19ec0f 100644
--- a/casic-web/src/main/resources/config/application-prod.yml
+++ b/casic-web/src/main/resources/config/application-prod.yml
@@ -18,7 +18,7 @@
casic:
kaptcha-open: false #是否开启登录时验证码 (true/false)
- no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
#flowable数据源和多数据源配置
db:
init:
diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml
index 3a787b1..1c0bb6c 100644
--- a/casic-web/src/main/resources/config/application-test.yml
+++ b/casic-web/src/main/resources/config/application-test.yml
@@ -26,5 +26,4 @@
logging:
level.root: info
level.com.casic: debug
- path: logs/
- file: missiles.log
\ No newline at end of file
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml
index 9dc8566..d410e56 100644
--- a/casic-web/src/main/resources/config/application.yml
+++ b/casic-web/src/main/resources/config/application.yml
@@ -3,7 +3,7 @@
##########################################################
spring:
profiles:
- active: dev
+ active: prod
servlet:
multipart:
max-file-size: 50MB
diff --git a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
index fd4233f..6bd0b54 100644
--- a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
Binary files differ
diff --git a/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx b/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
index 8a89b14..05a2fc2 100644
--- a/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
Binary files differ
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml
index 939e753..f19ec0f 100644
--- a/casic-web/src/main/resources/config/application-prod.yml
+++ b/casic-web/src/main/resources/config/application-prod.yml
@@ -18,7 +18,7 @@
casic:
kaptcha-open: false #是否开启登录时验证码 (true/false)
- no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
#flowable数据源和多数据源配置
db:
init:
diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml
index 3a787b1..1c0bb6c 100644
--- a/casic-web/src/main/resources/config/application-test.yml
+++ b/casic-web/src/main/resources/config/application-test.yml
@@ -26,5 +26,4 @@
logging:
level.root: info
level.com.casic: debug
- path: logs/
- file: missiles.log
\ No newline at end of file
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml
index 9dc8566..d410e56 100644
--- a/casic-web/src/main/resources/config/application.yml
+++ b/casic-web/src/main/resources/config/application.yml
@@ -3,7 +3,7 @@
##########################################################
spring:
profiles:
- active: dev
+ active: prod
servlet:
multipart:
max-file-size: 50MB
diff --git a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
index fd4233f..6bd0b54 100644
--- a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
Binary files differ
diff --git a/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx b/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
index 8a89b14..05a2fc2 100644
--- a/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
Binary files differ
diff --git a/casic-web/src/main/resources/config/export/StaffTemp.xlsx b/casic-web/src/main/resources/config/export/StaffTemp.xlsx
index 12fe6cb..550b04a 100644
--- a/casic-web/src/main/resources/config/export/StaffTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/StaffTemp.xlsx
Binary files differ
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
new file mode 100644
index 0000000..5f96ca4
--- /dev/null
+++ b/casic-mini/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ casic-security-cockpit
+ com.casic
+ 2.0.0
+
+ 4.0.0
+
+ casic-mini
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ io.micrometer
+ micrometer-core
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ com.casic
+ casic-core
+ ${core.version}
+
+
+ com.casic
+ casic-admin-core
+ ${admin.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+
+
+
+
+ com.casic
+ casic-admin-support
+ ${admin.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.driver.version}
+
+
+ com.casic
+ casic-area-starter
+ ${admin.version}
+
+
+
+ com.casic
+ casic-server
+ ${pro.version}
+
+
+ com.casic
+ casic-file-support
+ ${admin.version}
+
+
+
+ com.casic
+ casic-file
+ ${admin.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven.jar.plugin.version}
+
+
+
+ /config/*-*.yml
+ **/MockController.class
+
+
+
+ com.casic.missiles.CasicApplication
+ true
+ ./
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven.assembly.plugin.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven.war.plugin.version}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ true
+ true
+
+
+
+
+
+ src/main/resources
+
+
+ /config/*/*
+ /config/*-*.yml
+
+ true
+
+
+ src/main/java
+
+ **/*.xml
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/build/bin/start.sh b/casic-mini/src/main/build/bin/start.sh
new file mode 100644
index 0000000..03e8d4a
--- /dev/null
+++ b/casic-mini/src/main/build/bin/start.sh
@@ -0,0 +1 @@
+nohup java -jar ./lib/casic-web-2.0.0.jar > /dev/null 2>&1 &
\ No newline at end of file
diff --git a/casic-mini/src/main/build/package.xml b/casic-mini/src/main/build/package.xml
new file mode 100644
index 0000000..6085832
--- /dev/null
+++ b/casic-mini/src/main/build/package.xml
@@ -0,0 +1,43 @@
+
+
+ package
+
+ zip
+ tar.gz
+
+ true
+
+
+
+
+ true
+ true
+ lib
+ runtime
+
+
+
+
+ src/main/build/bin
+
+ start.sh
+
+ true
+ 0744
+ /
+
+
+ src/main/resources/config
+ true
+
+ *.yml
+ /*/*
+
+ /config
+
+
+ src/main/resources/i18n
+ /
+
+
+
\ No newline at end of file
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
new file mode 100644
index 0000000..7289258
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
@@ -0,0 +1,28 @@
+package com.casic.missiles;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * SpringBoot方式启动类
+ *
+ */
+@SpringBootApplication
+@EnableCaching
+@EnableTransactionManagement(proxyTargetClass = true)
+@EnableAsync
+@Slf4j
+@MapperScan("com.casic.missiles.modular.dao")
+public class CasicApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(CasicApplication.class, args);
+
+ log.info("CasicApplication is success!");
+ }
+
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
new file mode 100644
index 0000000..e30585b
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
@@ -0,0 +1,18 @@
+package com.casic.missiles;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * Guns Web程序启动类
+ *
+ * @author fengshuonan
+ * @date 2017-05-21 9:43
+ */
+public class CasicServletInitializer extends SpringBootServletInitializer {
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(CasicApplication.class);
+ }
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
new file mode 100644
index 0000000..e6c24e1
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
@@ -0,0 +1,10 @@
+package com.casic.missiles.controller;
+
+/**
+ * @Description:
+ * @Author: wangpeng
+ * @Date: 2022/11/8 14:39
+ */
+public class MIniController {
+ //Controller写在casic-mini模块,其它模块引用casic-server模块,打包放在5904端口
+}
diff --git a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
new file mode 100644
index 0000000..eae6c54
--- /dev/null
+++ b/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.enums.LoginType;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.model.auth.CasicCustomToken;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.core.util.RSAUtils;
+import com.casic.missiles.model.response.SuccessResponseData;
+import com.casic.missiles.modular.domain.constants.PermissionConstants;
+import com.casic.missiles.modular.interfaces.log.LogManager;
+import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
+import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.subject.Subject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+
+import static com.casic.missiles.core.util.HttpContext.getIp;
+
+
+/**
+ * 仅为mock登录使用
+ *
+ * @author lenovo
+ */
+@Controller
+@RequestMapping("/route")
+@Slf4j
+public class MockController extends BaseController {
+
+ /**
+ * 获取mockToken
+ */
+ @GetMapping("/mockToken")
+ @ResponseBody
+ public Object mockToken(String username, String password) {
+ super.getSession().setAttribute(PermissionConstants.IS_APP, false);
+ SuccessResponseData resultData = new SuccessResponseData();
+ if (StrUtil.hasEmpty(username, password)) {
+ username = "admin";
+ password = "111111";
+ }
+ Subject currentUser = ShiroKit.getSubject();
+
+ try {
+ Map key = RSAUtils.genKeyPair();
+ ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey));
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+
+ //token自定义
+ CasicCustomToken token = new CasicCustomToken(username, password);
+ token.setType(LoginType.PASSWORD);
+ token.setRememberMe(false);
+
+ try {
+ currentUser.login(token);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ AuthUser shiroUser = ShiroKit.getUser();
+ super.getSession().setAttribute("shiroUser", shiroUser);
+ super.getSession().setAttribute("username", shiroUser.getAccount());
+ super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId());
+
+ LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
+
+ ShiroKit.getSession().setAttribute("sessionFlag", true);
+ resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null));
+ resultData.setMessage("登录成功");
+ return resultData;
+ }
+}
diff --git a/casic-mini/src/main/resources/config/application-dev.yml b/casic-mini/src/main/resources/config/application-dev.yml
new file mode 100644
index 0000000..3f62737
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-dev.yml
@@ -0,0 +1,36 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://111.198.10.15:11336/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 111.198.10.15
+ port: 11412
+ password: ew5T4K3#203lwh
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+# session:
+# store-type: redis
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-prod.yml b/casic-mini/src/main/resources/config/application-prod.yml
new file mode 100644
index 0000000..4403faf
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-prod.yml
@@ -0,0 +1,34 @@
+server:
+ port: 5904
+# context-path: /callcenter/api
+################### spring配置 ###################
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://192.168.10.6:3306/casic_security_cockpit?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true
+ username: root
+ password: Casic203
+ redis:
+ host: 192.168.10.6
+ port: 6379
+ password: Casic203
+ database: 1
+ serializer: org.springframework.data.redis.serializer.StringRedisSerializer
+ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer
+
+casic:
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
+ #flowable数据源和多数据源配置
+ db:
+ init:
+ enable: false
+ #图片下载本地地址
+ file:
+ uploadPath: D:\tmp\
+ commponentType: disk
+
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application-test.yml b/casic-mini/src/main/resources/config/application-test.yml
new file mode 100644
index 0000000..9f1d195
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application-test.yml
@@ -0,0 +1,29 @@
+server:
+ port: 5904
+################### spring配置 ###################
+spring:
+ datasource:
+ url: jdbc:mysql://localhost:3306/casic_template?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+ initial-size: 2
+ min-idle: 1
+ jms:
+ pub-sub-domain: true
+# session:
+# store-type: redis
+casic:
+ # kaptcha-open: false #是否开启登录时验证码 (true/false)
+ nologin-urls: /websocket/**,/user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/workflow/**
+ #flowable数据源和多数据源配置
+ flowable:
+ datasource:
+ url: jdbc:mysql://localhost:3306/template_flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+ username: root
+ password: Casic203!
+flowable:
+ checkProcessDefinitions: false #不校验process文件
+logging:
+ level.root: info
+ level.com.casic: debug
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/config/application.yml b/casic-mini/src/main/resources/config/application.yml
new file mode 100644
index 0000000..d410e56
--- /dev/null
+++ b/casic-mini/src/main/resources/config/application.yml
@@ -0,0 +1,36 @@
+##########################################################
+################## 所有profile共有的配置 #################
+##########################################################
+spring:
+ profiles:
+ active: prod
+ servlet:
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 80MB
+#mybatis-plus:
+# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
+################### mybatis-plus配置 ###################
+mybatis-plus:
+ global-config:
+ #字段策略 0:"所有字段都更新和插入" 1:"只更新和插入非NULL值" 2:"只更新和插入非NULL值且非空字符串"
+ field-strategy: 1
+ enable-sql-runner: true
+ configuration:
+ # 配置结果集属性为空时 是否映射返回结果
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
+ map-underscore-to-camel-case: true
+################### guns配置 ###################
+casic:
+ swagger-open: false #是否开启swagger (true/false)
+ kaptcha-open: false #是否开启登录时验证码 (true/false)
+ muti-datasource-open: false #是否开启多数据源(true/false)
+ spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false)
+ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒
+ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒
+ no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken
+ file:
+ uploadPath: D:\tmp\
+# config:
+# export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\
+# config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\
\ No newline at end of file
diff --git a/casic-mini/src/main/resources/logback-spring.xml b/casic-mini/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..c0c7ac9
--- /dev/null
+++ b/casic-mini/src/main/resources/logback-spring.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_error.log
+
+
+
+
+
+ ${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+ error
+ ACCEPT
+ DENY
+
+
+
+
+
+
+
+ ${LOG_PATH}/missiles_total.log
+
+
+
+
+
+ ${LOG_PATH}/total/log-total-%d{yyyy-MM-dd}.%i.log
+
+
+
+ 10MB
+
+
+
+
+ true
+
+
+
+ ${FILE_LOG_PATTERN}
+ utf-8
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
index 5845762..f5b21d7 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffController.java
@@ -90,6 +90,7 @@
/**
* 批量导入
+ * 批量上传员工时的照片问题,海康的批量接口不能上传照片,要在海康平台单独上传所有图片
*/
@PostMapping("/batchImport")
@ResponseBody
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
index 974553d..83045f5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/VisitorApplyController.java
@@ -48,10 +48,7 @@
@ResponseBody
public Object operation(@PathVariable(name = "operation") String operateType, @RequestBody VisitorApply visitorApply) {
if(OperateTypeEnum.ADD.getOperateType().equals(operateType)){
- if(visitorApplyService.addVisitorApply(visitorApply) > 0){
- return ResponseData.success();
- }
- return ResponseData.error("新增访问申请异常");
+ return visitorApplyService.addVisitorApply(visitorApply);
}else if(OperateTypeEnum.UPDATE.getOperateType().equals(operateType)){
if(visitorApplyService.updateVisitorApply(visitorApply) > 0){
return ResponseData.success();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
index c1993e0..2b3dfd5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/BlackInfoMapper.xml
@@ -13,5 +13,6 @@
and black_reason = #{blackInfoRequest.blackReason}
+ order by create_time DESC
\ No newline at end of file
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
index 043a3c2..9ec3467 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceInfoMapper.xml
@@ -15,8 +15,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
@@ -27,6 +27,9 @@
and bus_device_info.position = #{deviceInfoRequest.position}
+
+ and bus_device_info.area = #{deviceInfoRequest.area}
+
ORDER by create_time DESC
@@ -43,8 +46,8 @@
and dev_type = #{deviceInfoRequest.devType}
-
- and ip = #{deviceInfoRequest.IP}
+
+ and ip = #{deviceInfoRequest.ip}
and status = #{deviceInfoRequest.status}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
index 4e39921..214be25 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/DeviceRepairLogMapper.xml
@@ -9,7 +9,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
@@ -26,7 +26,7 @@
and device_code = #{deviceRepairRequest.devCode}
- and device_name = #{deviceRepairRequest.devName}
+ and device_name like concat('%',#{deviceRepairRequest.devName},'%')
and DATE_FORMAT(create_time,"%y%m%d") = DATE_FORMAT(#{deviceRepairRequest.createTime},"%y%m%d")
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
index 9aef589..fc5b6ca 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/mapping/StaffInfoMapper.xml
@@ -14,7 +14,7 @@
and staff_type = #{staffInfoRequest.staffType}
- and phone = #{staffInfoRequest.phone}
+ and phone like concat('%',#{staffInfoRequest.phone},'%')
ORDER by create_time DESC
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
index 4fdbfde..736c8e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/DeviceInfoRequest.java
@@ -17,4 +17,5 @@
private String status;
private String isKeyArea;
private String position;
+ private String area;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
index 261ddd7..cb6829a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/hik/FaceSingleAddOrUpdateRequest.java
@@ -11,6 +11,7 @@
public class FaceSingleAddOrUpdateRequest {
//人脸分组的唯一标识
private String faceGroupIndexCode;
+ private String indexCode;
private FaceInfo faceInfo;
private FacePic facePic;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
index 7a02cc4..a902479 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/enums/HikUri.java
@@ -31,7 +31,7 @@
//单个添加人员
String PERSON_SINGLE_ADD = "/api/resource/v2/person/single/add";
//批量添加人员
- String PERSON_BATCH_ADD = "/api/resource/v2/person/batch/add";
+ String PERSON_BATCH_ADD = "/api/resource/v1/person/batch/add";
//单个修改人员
String PERSON_SINGLE_UPDATE = "/api/resource/v1/person/single/update";
//批量删除人员
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
index f9523a6..0c5da7a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/VisitorApplyService.java
@@ -16,7 +16,7 @@
List addVisitorApplyBatch(List results);
- int addVisitorApply(VisitorApply visitorApply);
+ Object addVisitorApply(VisitorApply visitorApply);
int updateVisitorApply(VisitorApply visitorApply);
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
index 2580187..f370c06 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/BlackInfoServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -125,7 +126,7 @@
@Override
public Object updateBlackInfo(BlackInfo blackInfo) {
FaceSingleAddOrUpdateRequest faceSingleAddOrUpdateRequest = new FaceSingleAddOrUpdateRequest();
- faceSingleAddOrUpdateRequest.setFaceGroupIndexCode(blackInfo.getFaceGroupIndexCode());
+ faceSingleAddOrUpdateRequest.setIndexCode(blackInfo.getIndexCode());
FaceInfo faceInfo = new FaceInfo();
faceInfo.setName(blackInfo.getBlackName());
faceInfo.setSex(blackInfo.getBlackSex());
@@ -133,8 +134,10 @@
faceInfo.setCertificateNum(blackInfo.getIdCardNo());
faceSingleAddOrUpdateRequest.setFaceInfo(faceInfo);
FacePic facePic = new FacePic();
- facePic.setFaceBinaryData(blackInfo.getPicture());
- faceSingleAddOrUpdateRequest.setFacePic(facePic);
+ if(StringUtils.isNotEmpty(blackInfo.getPicture())){
+ String substringPicture = blackInfo.getPicture().substring(blackInfo.getPicture().indexOf(",") + 1);
+ facePic.setFaceBinaryData(substringPicture);
+ }
faceSingleAddOrUpdateRequest.setFacePic(facePic);
String body = JSONObject.toJSONString(faceSingleAddOrUpdateRequest);
String resultStr = HikUtil.hikApi(HikUri.FACE_SINGLE_UPDATE, body);
@@ -143,6 +146,27 @@
log.error("请求海康,单个修改人脸失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人脸失败");
}
+ //海康更新接口不返回人脸url,需单独请求人脸图片接口获取
+ FaceRequest request = new FaceRequest();
+ List list = new ArrayList<>();
+ list.add(blackInfo.getIndexCode());
+ request.setIndexCodes(list);
+ String body1 = JSONObject.toJSONString(request);
+ String resultStr1 = HikUtil.hikApi("/api/frs/v1/face", body1);
+ JSONObject resultJson1 = (JSONObject)JSONObject.parse(resultStr1);
+ if (!"0".equals(resultJson1.get("code"))){
+ log.error("请求海康,获取人脸图片失败,海康response:{}", resultStr1);
+ return ResponseData.error("单个修改人脸失败");
+ }
+ JSONObject dataJson = (JSONObject)resultJson1.get("data");
+ JSONArray dataArray = (JSONArray) dataJson.get("list");
+ if(0 == dataArray.size()){
+ return ResponseData.error("黑名单人员更新失败!");
+ }
+ JSONObject jsonObject = (JSONObject) dataArray.get(0);
+ JSONObject facePicObject = jsonObject.getJSONObject("facePic");
+ String faceUrl = facePicObject.getString("faceUrl");
+ blackInfo.setPicture(faceUrl);
if(blackInfoMapper.updateById(blackInfo) > 0){
return ResponseData.success();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
index e3dff1f..d311677 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/FireEquipServiceImpl.java
@@ -133,17 +133,6 @@
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
busConcentrator.setExpireDate(dateFormat.format(new Date()));
}
- if (StrUtil.isNotEmpty(busConcentrator.getQualityDate())) {
- try {
- new SimpleDateFormat("yyyy-MM-dd").parse(busConcentrator.getQualityDate());
- } catch (Exception e) {
- list.add(" 第" + index[0] + "行,时间格式不正确");
- return;
- }
- } else {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- busConcentrator.setProductDate(dateFormat.format(new Date()));
- }
});
if (CollectionUtil.isNotEmpty(list)) {
return list;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
index c399a7f..d29d38d 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java
@@ -75,6 +75,7 @@
caseInfo.setIsKeyArea(deviceInfo.getIsKeyArea());
caseInfo.setDetailLocation(deviceInfo.getDetailLocation());
caseInfo.setDrawNo(deviceInfo.getDrawNo()); //图纸编号
+ caseInfo.setDescription("黑名单识别事件"); //变更描述
return caseInfo;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
index 4427f19..06f8bf3 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/PropertyManageServiceImpl.java
@@ -163,15 +163,23 @@
resultList.add(preMonthOrWeekCaseDTO);
}
} else {
+ List finalList = new ArrayList<>();
for (String date : dateList) {
- List collect = resultList.stream().map(PreMonthOrWeekCaseDTO::getDimension).collect(Collectors.toList());
- if (!collect.contains(date)) {
+ Integer flag = 0;
+ for (PreMonthOrWeekCaseDTO dto : resultList) {
+ if(dto.getDimension().equals(date)){
+ finalList.add(dto);
+ flag = 1;
+ }
+ }
+ if(flag == 0){
PreMonthOrWeekCaseDTO preMonthOrWeekCaseDTO = new PreMonthOrWeekCaseDTO();
preMonthOrWeekCaseDTO.setDimension(date);
preMonthOrWeekCaseDTO.setQuantity(0);
- resultList.add(preMonthOrWeekCaseDTO);
+ finalList.add(preMonthOrWeekCaseDTO);
}
}
+ return ResponseData.success(finalList);
}
return ResponseData.success(resultList);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
index 2c66ec1..97ed308 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/StaffInfoServiceImpl.java
@@ -57,7 +57,7 @@
public List staffInfoListPage(Page page, StaffInfoRequest staffInfoRequest) {
try {
List pageList = staffInfoMapper.getStaffInfoListPage(page, staffInfoRequest);
- pageList.parallelStream().forEach(staffInfo -> {
+ pageList.stream().forEach(staffInfo -> {
staffInfo.setStaffTypeName(dictService.getDictNameByCode(SecurityEventDict.STAFF_TYPE, staffInfo.getStaffType()));
staffInfo.setPicture(getPictureFromHik(staffInfo.getStaffCode()));
});
@@ -86,7 +86,10 @@
personSingleAddOrUpdateRequest.setJobNo(staffInfo.getStaffCode());
List faces = new ArrayList<>();
PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(staffInfo.getPicture());
+ if(StringUtils.isNotEmpty(staffInfo.getPicture())){
+ String substringPicture = staffInfo.getPicture().substring(staffInfo.getPicture().indexOf(",") + 1);
+ faceData.setFaceData(substringPicture);
+ }
faces.add(faceData);
personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
@@ -137,6 +140,7 @@
log.error("请求海康,单个修改人员失败,海康response:{}", resultStr);
return ResponseData.error("单个修改人员失败");
}
+ staffInfo.setPicture("");
if(staffInfoMapper.updateById(staffInfo) > 0){
return ResponseData.success();
}
@@ -232,11 +236,11 @@
personSingleAddOrUpdateRequest.setPhoneNo(busConcentrator.getPhone());
personSingleAddOrUpdateRequest.setOrgIndexCode(busConcentrator.getStaffType());
personSingleAddOrUpdateRequest.setJobNo(busConcentrator.getStaffCode());
- List faces = new ArrayList<>();
- PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
- faceData.setFaceData(busConcentrator.getPicture());
- faces.add(faceData);
- personSingleAddOrUpdateRequest.setFaces(faces);
+// List faces = new ArrayList<>();
+// PersonSingleAddOrUpdateRequest.FaceData faceData = new PersonSingleAddOrUpdateRequest.FaceData();
+// faceData.setFaceData(busConcentrator.getPicture());
+// faces.add(faceData);
+// personSingleAddOrUpdateRequest.setFaces(faces);
personSingleAddOrUpdateRequest.setCertificateType("111");
personSingleAddOrUpdateRequest.setCertificateNo(busConcentrator.getStaffIdCard());
personList.add(personSingleAddOrUpdateRequest);
@@ -336,8 +340,12 @@
if(0 == dataArray.size()){
return "";
}
+ log.info("请求海康,根据人员唯一字段获取人员详细信息response:{}", resultStr);
JSONObject jsonObject = (JSONObject) dataArray.get(0);
JSONArray personPhoto = (JSONArray) jsonObject.get("personPhoto");
+ if(0 == personPhoto.size()){
+ return "";
+ }
JSONObject photo = (JSONObject) personPhoto.get(0);
String picUri = photo.getString("picUri");
String serverIndexCode = photo.getString("serverIndexCode");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
index aa23547..f6756ce 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/VisitorApplyServiceImpl.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.dao.VisitorApplyMapper;
import com.casic.missiles.modular.dto.VisitorApplyRequest;
import com.casic.missiles.modular.dto.hik.AppointmentFreeRegisterRequest;
@@ -71,7 +72,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addVisitorApply(VisitorApply visitorApply) {
+ public Object addVisitorApply(VisitorApply visitorApply) {
//无需判重,可预约多个时间段
AppointmentFreeRegisterRequest appointmentFreeRegisterRequest = new AppointmentFreeRegisterRequest();
//将时间转换为海康ISO8601格式
@@ -107,7 +108,7 @@
JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
if(!"0".equals(resultJson.get("code"))){
log.error("请求海康,预约免登记失败,海康response:{}", resultStr);
- return 0;
+ return ResponseData.error(resultJson.getString("msg"));
}
JSONObject jsonData = (JSONObject)resultJson.get("data");
String appointRecordId = String.valueOf(jsonData.get("appointRecordId"));
@@ -118,7 +119,11 @@
visitorApply.setOrderId(orderId);
visitorApply.setPicUri(picUri);
visitorApply.setServerIndexCode(svrIndexCode);
- return visitorApplyMapper.insert(visitorApply);
+ if(visitorApplyMapper.insert(visitorApply) > 0){
+ return ResponseData.success();
+ }else{
+ return ResponseData.error("新增访问申请异常");
+ }
}
@Override
@@ -189,7 +194,7 @@
}
}else{
log.error("该访客:{},未在海康进行预约成功,无法取消预约", visitorApply.getVisitorName());
- return 0;
+ return visitorApplyMapper.deleteById(visitorApply.getId());
}
return visitorApplyMapper.deleteById(visitorApply.getId());
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
index 269e3b0..937a9de 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/util/DateUtils.java
@@ -147,7 +147,7 @@
result.add(sdf.format(tempStart.getTime()));
tempStart.add(Calendar.DAY_OF_YEAR, 1);
}
- result.add(endTime);
+ result.add(endTime.substring(0, endTime.indexOf(" ")));
return result;
}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index 26e049d..86cefa6 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -93,12 +93,6 @@
mysql-connector-java
${mysql.driver.version}
-
-
- com.dameng
- DmJdbcDriver18
- 1.8
-
com.casic
casic-area-starter
diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
index 9588e28..7289258 100644
--- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
+++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java
@@ -11,8 +11,6 @@
/**
* SpringBoot方式启动类
*
- * @author lwh
- * @Date 2021/06/06 12:06
*/
@SpringBootApplication
@EnableCaching
diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml
index 939e753..f19ec0f 100644
--- a/casic-web/src/main/resources/config/application-prod.yml
+++ b/casic-web/src/main/resources/config/application-prod.yml
@@ -18,7 +18,7 @@
casic:
kaptcha-open: false #是否开启登录时验证码 (true/false)
- no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**
+ no-login-urls: /websocket/**,${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/cockpit/**,/propertyManage/**,/eventRcv/**,/hik/**,/staffInfo/**,/**/listPage,/**/list,/**/drawNo,/socket/repost,/caseInfo/update,/**/list/unResolved,/last/drawNo,/multiScore/**,/caseInfo/oneClickSolved
#flowable数据源和多数据源配置
db:
init:
diff --git a/casic-web/src/main/resources/config/application-test.yml b/casic-web/src/main/resources/config/application-test.yml
index 3a787b1..1c0bb6c 100644
--- a/casic-web/src/main/resources/config/application-test.yml
+++ b/casic-web/src/main/resources/config/application-test.yml
@@ -26,5 +26,4 @@
logging:
level.root: info
level.com.casic: debug
- path: logs/
- file: missiles.log
\ No newline at end of file
+ level.org.springframework.web: info
\ No newline at end of file
diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml
index 9dc8566..d410e56 100644
--- a/casic-web/src/main/resources/config/application.yml
+++ b/casic-web/src/main/resources/config/application.yml
@@ -3,7 +3,7 @@
##########################################################
spring:
profiles:
- active: dev
+ active: prod
servlet:
multipart:
max-file-size: 50MB
diff --git a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
index fd4233f..6bd0b54 100644
--- a/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/DeviceTemp.xlsx
Binary files differ
diff --git a/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx b/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
index 8a89b14..05a2fc2 100644
--- a/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/FireEquipTemp.xlsx
Binary files differ
diff --git a/casic-web/src/main/resources/config/export/StaffTemp.xlsx b/casic-web/src/main/resources/config/export/StaffTemp.xlsx
index 12fe6cb..550b04a 100644
--- a/casic-web/src/main/resources/config/export/StaffTemp.xlsx
+++ b/casic-web/src/main/resources/config/export/StaffTemp.xlsx
Binary files differ
diff --git a/pom.xml b/pom.xml
index ec30791..e8eee66 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,6 +9,7 @@
casic-web
casic-server
+ casic-mini
com.casic