diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List caseCategoryLevels = visitorApplyService.visitorApplyListPage(page, applyRequest);
+ super.exportExcel(VisitorApply.class, caseCategoryLevels, "StaffApply");
+ }
+
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List caseCategoryLevels = visitorApplyService.visitorApplyListPage(page, applyRequest);
+ super.exportExcel(VisitorApply.class, caseCategoryLevels, "StaffApply");
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
index a63865d..071424c 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
@@ -40,7 +40,7 @@
//查询海康门禁点事件v2,只查询当天的,将返回的list中的所有进出类型进行计算,得到当天的人数
DoorEventsRequest doorEventsRequest = new DoorEventsRequest();
- // TODO: 2022/7/29 将所属楼栋及楼栋内的门禁点列表放到yml中
+ //yml获取楼栋门禁点配置
HashMap> configMap = accessGroupConfig.getConfigMap();
HashMap jsonMap = new HashMap<>();
HashMap resultMap = new HashMap<>();
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List caseCategoryLevels = visitorApplyService.visitorApplyListPage(page, applyRequest);
+ super.exportExcel(VisitorApply.class, caseCategoryLevels, "StaffApply");
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
index a63865d..071424c 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
@@ -40,7 +40,7 @@
//查询海康门禁点事件v2,只查询当天的,将返回的list中的所有进出类型进行计算,得到当天的人数
DoorEventsRequest doorEventsRequest = new DoorEventsRequest();
- // TODO: 2022/7/29 将所属楼栋及楼栋内的门禁点列表放到yml中
+ //yml获取楼栋门禁点配置
HashMap> configMap = accessGroupConfig.getConfigMap();
HashMap jsonMap = new HashMap<>();
HashMap resultMap = new HashMap<>();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
index 9e063a9..f59ae03 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.controller.cockpit;
import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.DeviceAreaRequest;
import com.casic.missiles.modular.dto.DeviceRepairLogDTO;
import com.casic.missiles.modular.dto.DeviceRepairRequest;
import com.casic.missiles.modular.dto.statistics.AttendanceRatioDTO;
@@ -148,6 +149,16 @@
}
/**
+ * 设备在线状态统计(可按楼层查询)
+ */
+ @GetMapping("/device/status")
+ @ResponseBody
+ public Object statusDevice(DeviceAreaRequest deviceAreaRequest) {
+ List deviceStatusDTOS = deviceInfoService.getDeviceStatusGroupByArea(deviceAreaRequest);
+ return ResponseData.success(deviceStatusDTOS);
+ }
+
+ /**
* 安防事件时域频次统计,每月的每天安防事件个数(原方案)
* 月维度:展示每个月的每天的数据
*/
@@ -163,4 +174,14 @@
// });
// return ResponseData.success(resultList);
// }
+
+ /**
+ * 近1月高频事件排行榜
+ */
+ @GetMapping("/case/highFrequency")
+ @ResponseBody
+ public Object highFrequencyEvents() {
+ return propertyManageService.highFrequency();
+ }
+
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List caseCategoryLevels = visitorApplyService.visitorApplyListPage(page, applyRequest);
+ super.exportExcel(VisitorApply.class, caseCategoryLevels, "StaffApply");
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
index a63865d..071424c 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
@@ -40,7 +40,7 @@
//查询海康门禁点事件v2,只查询当天的,将返回的list中的所有进出类型进行计算,得到当天的人数
DoorEventsRequest doorEventsRequest = new DoorEventsRequest();
- // TODO: 2022/7/29 将所属楼栋及楼栋内的门禁点列表放到yml中
+ //yml获取楼栋门禁点配置
HashMap> configMap = accessGroupConfig.getConfigMap();
HashMap jsonMap = new HashMap<>();
HashMap resultMap = new HashMap<>();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
index 9e063a9..f59ae03 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.controller.cockpit;
import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.DeviceAreaRequest;
import com.casic.missiles.modular.dto.DeviceRepairLogDTO;
import com.casic.missiles.modular.dto.DeviceRepairRequest;
import com.casic.missiles.modular.dto.statistics.AttendanceRatioDTO;
@@ -148,6 +149,16 @@
}
/**
+ * 设备在线状态统计(可按楼层查询)
+ */
+ @GetMapping("/device/status")
+ @ResponseBody
+ public Object statusDevice(DeviceAreaRequest deviceAreaRequest) {
+ List deviceStatusDTOS = deviceInfoService.getDeviceStatusGroupByArea(deviceAreaRequest);
+ return ResponseData.success(deviceStatusDTOS);
+ }
+
+ /**
* 安防事件时域频次统计,每月的每天安防事件个数(原方案)
* 月维度:展示每个月的每天的数据
*/
@@ -163,4 +174,14 @@
// });
// return ResponseData.success(resultList);
// }
+
+ /**
+ * 近1月高频事件排行榜
+ */
+ @GetMapping("/case/highFrequency")
+ @ResponseBody
+ public Object highFrequencyEvents() {
+ return propertyManageService.highFrequency();
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
index 34011af..3cf8b77 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
@@ -25,15 +25,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* @Description: 海康事件Controller
@@ -84,6 +78,9 @@
list.add(SecurityEventType.VISITOR_REGISTER);
list.add(SecurityEventType.VISITOR_CHECKOUT);
list.add(SecurityEventType.HIGH_ALTITUDE_PARABOLIC);
+ list.add(SecurityEventType.CARD_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_CARD_COMPARE_PASS);
// InetAddress localHost = InetAddress.getLocalHost();
eventSubscribeRequest.setEventTypes(list);
eventSubscribeRequest.setEventDest("http://" + "192.168.10.6" + ":" + serverPort + "/eventRcv");
@@ -209,6 +206,11 @@
} else if (SecurityEventType.HIGH_ALTITUDE_PARABOLIC.equals(eventType)){
//高空抛物事件处理
caseInfo1 = hikService.highAltitudeParabolicHandle(event, caseInfo1);
+ } else if (SecurityEventType.CARD_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_CARD_COMPARE_PASS.equals(eventType)){
+ //门禁事件,添加到人员进出记录表
+ hikService.doorPassHandle(event);
}
//过滤掉无发生时间
if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) {
@@ -277,7 +279,7 @@
@ResponseBody
public Object faceGroupAddition(@RequestBody FaceGroupAdditionRequest faceGroupAdditionRequest) {
String body = JSONObject.toJSONString(faceGroupAdditionRequest);
- String resultStr = HikUtil.hikApi(HikUri.FACEGROUP_SINGLE_ADDITION, body);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_SINGLE_ADDITION, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
log.error("请求海康,单个添加人脸分组失败,海康response:{}", resultStr);
@@ -295,6 +297,17 @@
}
/**
+ * 人脸分组查询
+ */
+ @PostMapping("/hik/faceGroup/query")
+ @ResponseBody
+ public Object faceGroupAddition(@RequestBody Map map) {
+ String body = JSONObject.toJSONString(map);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_QUERY, body);
+ return ResponseData.success(resultStr);
+ }
+
+ /**
* 批量添加海康组织
* api->hik批量添加组织api->response
*/
@@ -335,14 +348,14 @@
/**
* 获取组织列表
*/
- @PostMapping("/hik/org/orgList")
+ @GetMapping("/hik/org/orgList")
@ResponseBody
public Object orgList() {
PersonListRequest request = new PersonListRequest();
request.setPageNo(1);
- request.setPageSize(100);
+ request.setPageSize(1000);
String body = JSONObject.toJSONString(request);
- String resultStr = HikUtil.hikApi("/api/resource/v1/org/orgList", body);
+ String resultStr = HikUtil.hikApi(HikUri.ORG_LIST, body);
return resultStr;
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List caseCategoryLevels = visitorApplyService.visitorApplyListPage(page, applyRequest);
+ super.exportExcel(VisitorApply.class, caseCategoryLevels, "StaffApply");
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
index a63865d..071424c 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
@@ -40,7 +40,7 @@
//查询海康门禁点事件v2,只查询当天的,将返回的list中的所有进出类型进行计算,得到当天的人数
DoorEventsRequest doorEventsRequest = new DoorEventsRequest();
- // TODO: 2022/7/29 将所属楼栋及楼栋内的门禁点列表放到yml中
+ //yml获取楼栋门禁点配置
HashMap> configMap = accessGroupConfig.getConfigMap();
HashMap jsonMap = new HashMap<>();
HashMap resultMap = new HashMap<>();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
index 9e063a9..f59ae03 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.controller.cockpit;
import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.DeviceAreaRequest;
import com.casic.missiles.modular.dto.DeviceRepairLogDTO;
import com.casic.missiles.modular.dto.DeviceRepairRequest;
import com.casic.missiles.modular.dto.statistics.AttendanceRatioDTO;
@@ -148,6 +149,16 @@
}
/**
+ * 设备在线状态统计(可按楼层查询)
+ */
+ @GetMapping("/device/status")
+ @ResponseBody
+ public Object statusDevice(DeviceAreaRequest deviceAreaRequest) {
+ List deviceStatusDTOS = deviceInfoService.getDeviceStatusGroupByArea(deviceAreaRequest);
+ return ResponseData.success(deviceStatusDTOS);
+ }
+
+ /**
* 安防事件时域频次统计,每月的每天安防事件个数(原方案)
* 月维度:展示每个月的每天的数据
*/
@@ -163,4 +174,14 @@
// });
// return ResponseData.success(resultList);
// }
+
+ /**
+ * 近1月高频事件排行榜
+ */
+ @GetMapping("/case/highFrequency")
+ @ResponseBody
+ public Object highFrequencyEvents() {
+ return propertyManageService.highFrequency();
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
index 34011af..3cf8b77 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
@@ -25,15 +25,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* @Description: 海康事件Controller
@@ -84,6 +78,9 @@
list.add(SecurityEventType.VISITOR_REGISTER);
list.add(SecurityEventType.VISITOR_CHECKOUT);
list.add(SecurityEventType.HIGH_ALTITUDE_PARABOLIC);
+ list.add(SecurityEventType.CARD_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_CARD_COMPARE_PASS);
// InetAddress localHost = InetAddress.getLocalHost();
eventSubscribeRequest.setEventTypes(list);
eventSubscribeRequest.setEventDest("http://" + "192.168.10.6" + ":" + serverPort + "/eventRcv");
@@ -209,6 +206,11 @@
} else if (SecurityEventType.HIGH_ALTITUDE_PARABOLIC.equals(eventType)){
//高空抛物事件处理
caseInfo1 = hikService.highAltitudeParabolicHandle(event, caseInfo1);
+ } else if (SecurityEventType.CARD_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_CARD_COMPARE_PASS.equals(eventType)){
+ //门禁事件,添加到人员进出记录表
+ hikService.doorPassHandle(event);
}
//过滤掉无发生时间
if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) {
@@ -277,7 +279,7 @@
@ResponseBody
public Object faceGroupAddition(@RequestBody FaceGroupAdditionRequest faceGroupAdditionRequest) {
String body = JSONObject.toJSONString(faceGroupAdditionRequest);
- String resultStr = HikUtil.hikApi(HikUri.FACEGROUP_SINGLE_ADDITION, body);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_SINGLE_ADDITION, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
log.error("请求海康,单个添加人脸分组失败,海康response:{}", resultStr);
@@ -295,6 +297,17 @@
}
/**
+ * 人脸分组查询
+ */
+ @PostMapping("/hik/faceGroup/query")
+ @ResponseBody
+ public Object faceGroupAddition(@RequestBody Map map) {
+ String body = JSONObject.toJSONString(map);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_QUERY, body);
+ return ResponseData.success(resultStr);
+ }
+
+ /**
* 批量添加海康组织
* api->hik批量添加组织api->response
*/
@@ -335,14 +348,14 @@
/**
* 获取组织列表
*/
- @PostMapping("/hik/org/orgList")
+ @GetMapping("/hik/org/orgList")
@ResponseBody
public Object orgList() {
PersonListRequest request = new PersonListRequest();
request.setPageNo(1);
- request.setPageSize(100);
+ request.setPageSize(1000);
String body = JSONObject.toJSONString(request);
- String resultStr = HikUtil.hikApi("/api/resource/v1/org/orgList", body);
+ String resultStr = HikUtil.hikApi(HikUri.ORG_LIST, body);
return resultStr;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
index af971b6..09e2a84 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
@@ -91,4 +91,6 @@
List selectPreDayCountByBeforeMonth();
List selectListByBeforeMonthKeyArea();
+
+ List getCountForRank();
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List caseCategoryLevels = visitorApplyService.visitorApplyListPage(page, applyRequest);
+ super.exportExcel(VisitorApply.class, caseCategoryLevels, "StaffApply");
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
index a63865d..071424c 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
@@ -40,7 +40,7 @@
//查询海康门禁点事件v2,只查询当天的,将返回的list中的所有进出类型进行计算,得到当天的人数
DoorEventsRequest doorEventsRequest = new DoorEventsRequest();
- // TODO: 2022/7/29 将所属楼栋及楼栋内的门禁点列表放到yml中
+ //yml获取楼栋门禁点配置
HashMap> configMap = accessGroupConfig.getConfigMap();
HashMap jsonMap = new HashMap<>();
HashMap resultMap = new HashMap<>();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
index 9e063a9..f59ae03 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.controller.cockpit;
import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.DeviceAreaRequest;
import com.casic.missiles.modular.dto.DeviceRepairLogDTO;
import com.casic.missiles.modular.dto.DeviceRepairRequest;
import com.casic.missiles.modular.dto.statistics.AttendanceRatioDTO;
@@ -148,6 +149,16 @@
}
/**
+ * 设备在线状态统计(可按楼层查询)
+ */
+ @GetMapping("/device/status")
+ @ResponseBody
+ public Object statusDevice(DeviceAreaRequest deviceAreaRequest) {
+ List deviceStatusDTOS = deviceInfoService.getDeviceStatusGroupByArea(deviceAreaRequest);
+ return ResponseData.success(deviceStatusDTOS);
+ }
+
+ /**
* 安防事件时域频次统计,每月的每天安防事件个数(原方案)
* 月维度:展示每个月的每天的数据
*/
@@ -163,4 +174,14 @@
// });
// return ResponseData.success(resultList);
// }
+
+ /**
+ * 近1月高频事件排行榜
+ */
+ @GetMapping("/case/highFrequency")
+ @ResponseBody
+ public Object highFrequencyEvents() {
+ return propertyManageService.highFrequency();
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
index 34011af..3cf8b77 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
@@ -25,15 +25,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* @Description: 海康事件Controller
@@ -84,6 +78,9 @@
list.add(SecurityEventType.VISITOR_REGISTER);
list.add(SecurityEventType.VISITOR_CHECKOUT);
list.add(SecurityEventType.HIGH_ALTITUDE_PARABOLIC);
+ list.add(SecurityEventType.CARD_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_CARD_COMPARE_PASS);
// InetAddress localHost = InetAddress.getLocalHost();
eventSubscribeRequest.setEventTypes(list);
eventSubscribeRequest.setEventDest("http://" + "192.168.10.6" + ":" + serverPort + "/eventRcv");
@@ -209,6 +206,11 @@
} else if (SecurityEventType.HIGH_ALTITUDE_PARABOLIC.equals(eventType)){
//高空抛物事件处理
caseInfo1 = hikService.highAltitudeParabolicHandle(event, caseInfo1);
+ } else if (SecurityEventType.CARD_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_CARD_COMPARE_PASS.equals(eventType)){
+ //门禁事件,添加到人员进出记录表
+ hikService.doorPassHandle(event);
}
//过滤掉无发生时间
if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) {
@@ -277,7 +279,7 @@
@ResponseBody
public Object faceGroupAddition(@RequestBody FaceGroupAdditionRequest faceGroupAdditionRequest) {
String body = JSONObject.toJSONString(faceGroupAdditionRequest);
- String resultStr = HikUtil.hikApi(HikUri.FACEGROUP_SINGLE_ADDITION, body);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_SINGLE_ADDITION, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
log.error("请求海康,单个添加人脸分组失败,海康response:{}", resultStr);
@@ -295,6 +297,17 @@
}
/**
+ * 人脸分组查询
+ */
+ @PostMapping("/hik/faceGroup/query")
+ @ResponseBody
+ public Object faceGroupAddition(@RequestBody Map map) {
+ String body = JSONObject.toJSONString(map);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_QUERY, body);
+ return ResponseData.success(resultStr);
+ }
+
+ /**
* 批量添加海康组织
* api->hik批量添加组织api->response
*/
@@ -335,14 +348,14 @@
/**
* 获取组织列表
*/
- @PostMapping("/hik/org/orgList")
+ @GetMapping("/hik/org/orgList")
@ResponseBody
public Object orgList() {
PersonListRequest request = new PersonListRequest();
request.setPageNo(1);
- request.setPageSize(100);
+ request.setPageSize(1000);
String body = JSONObject.toJSONString(request);
- String resultStr = HikUtil.hikApi("/api/resource/v1/org/orgList", body);
+ String resultStr = HikUtil.hikApi(HikUri.ORG_LIST, body);
return resultStr;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
index af971b6..09e2a84 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
@@ -91,4 +91,6 @@
List selectPreDayCountByBeforeMonth();
List selectListByBeforeMonthKeyArea();
+
+ List getCountForRank();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java
index 222b0c6..13d0a12 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.dto.DeviceAreaRequest;
import com.casic.missiles.modular.dto.DeviceInfoDTO;
import com.casic.missiles.modular.dto.DeviceInfoRequest;
import com.casic.missiles.modular.dto.hik.AcsDeviceListDTO;
@@ -35,7 +36,7 @@
List selectByType(@Param("devType") String devType);
- int updateStatusBatchByCodes(@Param("deviceCodes") List deviceCodes, @Param("status")String status);
+ int updateStatusBatchByCodes(@Param("deviceCodes") List deviceCodes, @Param("status") String status);
int updateDeviceInfoBatch(@Param("acsDeviceList") List acsDeviceList);
@@ -43,4 +44,5 @@
List selectDeviceStatusGroupByStatus();
+ List selectDeviceStatusGroupByStatusAndArea(@Param("deviceAreaRequest") DeviceAreaRequest deviceAreaRequest);
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List caseCategoryLevels = visitorApplyService.visitorApplyListPage(page, applyRequest);
+ super.exportExcel(VisitorApply.class, caseCategoryLevels, "StaffApply");
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
index a63865d..071424c 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/CockpitController.java
@@ -40,7 +40,7 @@
//查询海康门禁点事件v2,只查询当天的,将返回的list中的所有进出类型进行计算,得到当天的人数
DoorEventsRequest doorEventsRequest = new DoorEventsRequest();
- // TODO: 2022/7/29 将所属楼栋及楼栋内的门禁点列表放到yml中
+ //yml获取楼栋门禁点配置
HashMap> configMap = accessGroupConfig.getConfigMap();
HashMap jsonMap = new HashMap<>();
HashMap resultMap = new HashMap<>();
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
index 9e063a9..f59ae03 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/cockpit/PropertyManageController.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.controller.cockpit;
import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.DeviceAreaRequest;
import com.casic.missiles.modular.dto.DeviceRepairLogDTO;
import com.casic.missiles.modular.dto.DeviceRepairRequest;
import com.casic.missiles.modular.dto.statistics.AttendanceRatioDTO;
@@ -148,6 +149,16 @@
}
/**
+ * 设备在线状态统计(可按楼层查询)
+ */
+ @GetMapping("/device/status")
+ @ResponseBody
+ public Object statusDevice(DeviceAreaRequest deviceAreaRequest) {
+ List deviceStatusDTOS = deviceInfoService.getDeviceStatusGroupByArea(deviceAreaRequest);
+ return ResponseData.success(deviceStatusDTOS);
+ }
+
+ /**
* 安防事件时域频次统计,每月的每天安防事件个数(原方案)
* 月维度:展示每个月的每天的数据
*/
@@ -163,4 +174,14 @@
// });
// return ResponseData.success(resultList);
// }
+
+ /**
+ * 近1月高频事件排行榜
+ */
+ @GetMapping("/case/highFrequency")
+ @ResponseBody
+ public Object highFrequencyEvents() {
+ return propertyManageService.highFrequency();
+ }
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
index 34011af..3cf8b77 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java
@@ -25,15 +25,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* @Description: 海康事件Controller
@@ -84,6 +78,9 @@
list.add(SecurityEventType.VISITOR_REGISTER);
list.add(SecurityEventType.VISITOR_CHECKOUT);
list.add(SecurityEventType.HIGH_ALTITUDE_PARABOLIC);
+ list.add(SecurityEventType.CARD_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_COMPARE_PASS);
+ list.add(SecurityEventType.FACE_CARD_COMPARE_PASS);
// InetAddress localHost = InetAddress.getLocalHost();
eventSubscribeRequest.setEventTypes(list);
eventSubscribeRequest.setEventDest("http://" + "192.168.10.6" + ":" + serverPort + "/eventRcv");
@@ -209,6 +206,11 @@
} else if (SecurityEventType.HIGH_ALTITUDE_PARABOLIC.equals(eventType)){
//高空抛物事件处理
caseInfo1 = hikService.highAltitudeParabolicHandle(event, caseInfo1);
+ } else if (SecurityEventType.CARD_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_COMPARE_PASS.equals(eventType)
+ || SecurityEventType.FACE_CARD_COMPARE_PASS.equals(eventType)){
+ //门禁事件,添加到人员进出记录表
+ hikService.doorPassHandle(event);
}
//过滤掉无发生时间
if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) {
@@ -277,7 +279,7 @@
@ResponseBody
public Object faceGroupAddition(@RequestBody FaceGroupAdditionRequest faceGroupAdditionRequest) {
String body = JSONObject.toJSONString(faceGroupAdditionRequest);
- String resultStr = HikUtil.hikApi(HikUri.FACEGROUP_SINGLE_ADDITION, body);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_SINGLE_ADDITION, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
log.error("请求海康,单个添加人脸分组失败,海康response:{}", resultStr);
@@ -295,6 +297,17 @@
}
/**
+ * 人脸分组查询
+ */
+ @PostMapping("/hik/faceGroup/query")
+ @ResponseBody
+ public Object faceGroupAddition(@RequestBody Map map) {
+ String body = JSONObject.toJSONString(map);
+ String resultStr = HikUtil.hikApi(HikUri.FACE_GROUP_QUERY, body);
+ return ResponseData.success(resultStr);
+ }
+
+ /**
* 批量添加海康组织
* api->hik批量添加组织api->response
*/
@@ -335,14 +348,14 @@
/**
* 获取组织列表
*/
- @PostMapping("/hik/org/orgList")
+ @GetMapping("/hik/org/orgList")
@ResponseBody
public Object orgList() {
PersonListRequest request = new PersonListRequest();
request.setPageNo(1);
- request.setPageSize(100);
+ request.setPageSize(1000);
String body = JSONObject.toJSONString(request);
- String resultStr = HikUtil.hikApi("/api/resource/v1/org/orgList", body);
+ String resultStr = HikUtil.hikApi(HikUri.ORG_LIST, body);
return resultStr;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
index af971b6..09e2a84 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/CaseInfoMapper.java
@@ -91,4 +91,6 @@
List selectPreDayCountByBeforeMonth();
List selectListByBeforeMonthKeyArea();
+
+ List getCountForRank();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java
index 222b0c6..13d0a12 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/DeviceInfoMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.dto.DeviceAreaRequest;
import com.casic.missiles.modular.dto.DeviceInfoDTO;
import com.casic.missiles.modular.dto.DeviceInfoRequest;
import com.casic.missiles.modular.dto.hik.AcsDeviceListDTO;
@@ -35,7 +36,7 @@
List selectByType(@Param("devType") String devType);
- int updateStatusBatchByCodes(@Param("deviceCodes") List deviceCodes, @Param("status")String status);
+ int updateStatusBatchByCodes(@Param("deviceCodes") List deviceCodes, @Param("status") String status);
int updateDeviceInfoBatch(@Param("acsDeviceList") List acsDeviceList);
@@ -43,4 +44,5 @@
List selectDeviceStatusGroupByStatus();
+ List selectDeviceStatusGroupByStatusAndArea(@Param("deviceAreaRequest") DeviceAreaRequest deviceAreaRequest);
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dao/StaffInfoMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/dao/StaffInfoMapper.java
index 4c94656..f4a47fa 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/dao/StaffInfoMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/dao/StaffInfoMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.modular.dto.StaffInfoRequest;
import com.casic.missiles.modular.dto.hik.PersonListDTO;
+import com.casic.missiles.modular.dto.hik.PersonSyncListDTO;
import com.casic.missiles.modular.dto.statistics.StaffTypeAndSumDTO;
import com.casic.missiles.modular.model.StaffInfo;
import org.apache.ibatis.annotations.Mapper;
@@ -34,4 +35,6 @@
List selectCountByType();
List selectListLimitTen();
+
+ int saveOrUpdateStaffInfoBatch(@Param("personList") List personList);
}
diff --git a/casic-mini/pom.xml b/casic-mini/pom.xml
deleted file mode 100644
index 5f96ca4..0000000
--- a/casic-mini/pom.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
- 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
deleted file mode 100644
index 03e8d4a..0000000
--- a/casic-mini/src/main/build/bin/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index 6085832..0000000
--- a/casic-mini/src/main/build/package.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 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
deleted file mode 100644
index 7289258..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index e30585b..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/CasicServletInitializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index e6c24e1..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MIniController.java
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index eae6c54..0000000
--- a/casic-mini/src/main/java/com/casic/missiles/controller/MockController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-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
deleted file mode 100644
index 3f62737..0000000
--- a/casic-mini/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-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
deleted file mode 100644
index 4403faf..0000000
--- a/casic-mini/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-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
deleted file mode 100644
index 9f1d195..0000000
--- a/casic-mini/src/main/resources/config/application-test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index d410e56..0000000
--- a/casic-mini/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-##########################################################
-################## 所有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
deleted file mode 100644
index c0c7ac9..0000000
--- a/casic-mini/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ${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/config/PositionPrivilegeInitCache.java b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
new file mode 100644
index 0000000..2a69218
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/config/PositionPrivilegeInitCache.java
@@ -0,0 +1,106 @@
+package com.casic.missiles.modular.config;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.casic.missiles.modular.dto.hik.PrivilegeGroupRequest;
+import com.casic.missiles.modular.enums.HikUri;
+import com.casic.missiles.modular.util.HikUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 访客申请访问区域对应海康权限分组初始化
+ * @Author: wangpeng
+ * @Date: 2023/1/4 14:31
+ */
+@Slf4j
+@Component
+public class PositionPrivilegeInitCache {
+
+ //<楼栋区域key,权限组id>
+ private HashMap> map = new HashMap<>();
+
+ @PostConstruct
+ public void postConstruct() {
+ //获取全部访客区域权限组
+ PrivilegeGroupRequest privilegeGroupRequest = new PrivilegeGroupRequest();
+ privilegeGroupRequest.setPageNo(1);
+ privilegeGroupRequest.setPageSize(1000);
+ String body = JSONObject.toJSONString(privilegeGroupRequest);
+ try{
+ //查询海康访客权限组,用于为访客分配对应区域的门禁访问
+ String resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ JSONObject resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if(!"0".equals(resultJson.get("code"))){
+ log.error("项目启动初始化,请求海康,查询访客权限组失败,海康response:{}", resultStr);
+ //失败再请求2次
+ for (int i = 0; i < 2; i++) {
+ resultStr = HikUtil.hikApi(HikUri.PRIVILEGE_GROUP, body);
+ resultJson = (JSONObject)JSONObject.parse(resultStr);
+ if("0".equals(resultJson.get("code"))){
+ break;
+ }
+ }
+ }
+ JSONObject jsonData = (JSONObject)resultJson.get("data");
+ JSONArray list = jsonData.getJSONArray("list");
+ if(CollectionUtils.isEmpty(list)){
+ log.error("项目启动初始化,请求海康,查询访客权限组获取权限list为空");
+ return;
+ }
+ //初始化map
+ for (int i = 1; i < 8; i++) {
+ map.put(String.valueOf(i), new ArrayList<>());
+ }
+ for (Object o : list) {
+ JSONObject jsonObject = (JSONObject)o;
+ String privilegeGroupName = jsonObject.getString("privilegeGroupName");
+ //以下为字典中取值
+ //1、一期主楼,2、二期主楼,3、录制楼,4、1600演播厅,5、大院工作区,6、大院生活区(户外),7、食堂
+ //根据海康配置的权限组名字进行组装map
+ if("一期主楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("1");
+ list1.add(privilegeGroupId);
+ map.put("1", list1);
+ }else if(privilegeGroupName.contains("二期主楼") || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("2");
+ list1.add(privilegeGroupId);
+ map.put("2", list1);
+ }else if("录制楼".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("3");
+ list1.add(privilegeGroupId);
+ map.put("3", list1);
+ }
+ if(privilegeGroupName.contains("大院") || "西二门".equals(privilegeGroupName) || privilegeGroupName.contains("北区车库")){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("5");
+ list1.add(privilegeGroupId);
+ map.put("5", list1);
+ }
+ if("大院西门".equals(privilegeGroupName) || "西二门".equals(privilegeGroupName)){
+ String privilegeGroupId = jsonObject.getString("privilegeGroupId");
+ List list1 = map.get("6");
+ list1.add(privilegeGroupId);
+ map.put("6", list1);
+ }
+ }
+ System.out.println(map);
+ }catch (Exception e){
+ log.error("初始化访客权限组失败,异常:{}", e.getMessage());
+ }
+
+ }
+
+ public List getPositionPrivilegeMap(String key){
+ return map.get(key);
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
index ad858b6..6beaceb 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/DeviceController.java
@@ -260,7 +260,7 @@
@PostMapping("/gateGroup/statusControl")
@ResponseBody
public Object gateStatusControl(@RequestBody GateGroupDTO gateGroupDTO) {
- // TODO: 2022/7/27 门禁状态字典要与海康的状态相同
+ //门禁状态字典与海康的状态相同
//0: 常开
//1: 门闭
//2: 门开
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 f5b21d7..85d07c4 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
@@ -145,4 +145,35 @@
public Object personPicture(@PathVariable("staffCode") String staffCode){
return staffInfoService.getStaffPicture(staffCode);
}
+
+ /**
+ * 人员卡片信息
+ * 海康每人最多5张卡
+ */
+ @PostMapping("/cardList")
+ @ResponseBody
+ public Object cardList(String staffCode){
+ return ResponseData.success(staffInfoService.getStaffCardList(staffCode));
+ }
+
+ /**
+ * 导出(只员工列表是全部导出)
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+ List caseInfos = staffInfoService.staffInfoList(staffInfoRequest);
+ super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+ }
+
+// /**
+// * 导出(分页导出,废弃)
+// */
+// @RequestMapping("/export")
+// @ResponseBody
+// public void listExport(StaffInfoRequest staffInfoRequest) throws IOException {
+// Page page = PageFactory.defaultPage();
+// List caseInfos = staffInfoService.staffInfoListPage(page, staffInfoRequest);
+// super.exportExcel(StaffInfo.class, caseInfos, "StaffInfo");
+// }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
new file mode 100644
index 0000000..f547203
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/StaffInoutLogController.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.modular.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.modular.dto.StaffInoutLogRequest;
+import com.casic.missiles.modular.model.StaffInoutLog;
+import com.casic.missiles.modular.service.StaffInoutLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @Description: 员工进出记录管理Controller
+ * @Author: wangpeng
+ * @Date: 2022/12/08 17:10
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/inoutInfo")
+public class StaffInoutLogController extends ExportController {
+ @Autowired
+ private StaffInoutLogService inoutLogService;
+
+ /**
+ * 员工进出记录列表(分页)
+ */
+ @PostMapping("/listPage")
+ @ResponseBody
+ public Object listPage(StaffInoutLogRequest inoutLogRequest) {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ page.setRecords(inoutLogs);
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(StaffInoutLogRequest inoutLogRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List inoutLogs = inoutLogService.staffInoutLogListPage(page, inoutLogRequest);
+ super.exportExcel(StaffInoutLog.class, inoutLogs, "StaffInoutLog");
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
index bd265c9..bfcf473 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/UtilController.java
@@ -86,8 +86,8 @@
String resultStr = HikUtil.hikApi(HikUri.ACS_DEVICE_LIST, body);
JSONObject resultJson = (JSONObject) JSONObject.parse(resultStr);
if (!"0".equals(resultJson.get("code"))) {
- log.error("请求海康,查询门禁设备列表v2失败,海康response:{}", resultStr);
- return ResponseData.error("查询门禁设备列表失败");
+ log.error("请求海康,查询门禁点列表v2失败,海康response:{}", resultStr);
+ return ResponseData.error("查询门禁点列表v2失败");
}
List acsDeviceList = new ArrayList<>();
JSONObject data = (JSONObject) resultJson.get("data");
@@ -96,11 +96,11 @@
while(iterator.hasNext()){
JSONObject next = (JSONObject) iterator.next();
String indexCode = next.getString("indexCode");
- String ip = next.getString("ip");
- if(StringUtils.isNotEmpty(ip)){
+ String name = next.getString("name");
+ if(StringUtils.isNotEmpty(name)){
AcsDeviceListDTO acsDeviceListDTO = new AcsDeviceListDTO();
acsDeviceListDTO.setIndexCode(indexCode);
- acsDeviceListDTO.setIp(ip);
+ acsDeviceListDTO.setName(name);
acsDeviceList.add(acsDeviceListDTO);
}
}
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 83045f5..f00aa12 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
@@ -95,4 +95,25 @@
return ResponseData.success();
}
+ /**
+ * 访问申请单号获取
+ */
+ @GetMapping("/listCode")
+ @ResponseBody
+ public Object listCode() {
+ String code = visitorApplyService.visitorApplyListCode();
+ return ResponseData.success(code);
+ }
+
+ /**
+ * 导出
+ */
+ @RequestMapping("/export")
+ @ResponseBody
+ public void listExport(VisitorApplyRequest applyRequest) throws IOException {
+ Page page = PageFactory.defaultPage();
+ List