Browse Source

Merge branch 'refs/heads/feature-v1.3.0' into release-sy-v1.0.0

# Conflicts:
#	shuili-common/pom.xml
#	shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSafeJbxxController.java
master_tdsql
hxh 10 months ago
parent
commit
e1cb01bfeb
  1. 645
      pom.xml
  2. 38
      shuili-admin/pom.xml
  3. 12
      shuili-admin/src/main/java/com/kms/web/api/AppApi.java
  4. 31
      shuili-admin/src/main/java/com/kms/web/controller/cms/CmsContentController.java
  5. 26
      shuili-admin/src/main/java/com/kms/web/controller/common/CaptchaController.java
  6. 9
      shuili-admin/src/main/java/com/kms/web/controller/common/CommonController.java
  7. 6
      shuili-admin/src/main/java/com/kms/web/controller/monitor/ServerController.java
  8. 20
      shuili-admin/src/main/java/com/kms/web/controller/monitor/SysLogininforController.java
  9. 18
      shuili-admin/src/main/java/com/kms/web/controller/monitor/SysOperlogController.java
  10. 8
      shuili-admin/src/main/java/com/kms/web/controller/monitor/SysUserOnlineController.java
  11. 6
      shuili-admin/src/main/java/com/kms/web/controller/system/CmsDataSourceController.java
  12. 31
      shuili-admin/src/main/java/com/kms/web/controller/system/CmsMaterialEntityController.java
  13. 6
      shuili-admin/src/main/java/com/kms/web/controller/system/CmsTagController.java
  14. 33
      shuili-admin/src/main/java/com/kms/web/controller/system/CmsUserCollectController.java
  15. 27
      shuili-admin/src/main/java/com/kms/web/controller/system/SysConfigController.java
  16. 28
      shuili-admin/src/main/java/com/kms/web/controller/system/SysDeptController.java
  17. 23
      shuili-admin/src/main/java/com/kms/web/controller/system/SysDictDataController.java
  18. 14
      shuili-admin/src/main/java/com/kms/web/controller/system/SysDictTypeController.java
  19. 8
      shuili-admin/src/main/java/com/kms/web/controller/system/SysExceptionLogController.java
  20. 19
      shuili-admin/src/main/java/com/kms/web/controller/system/SysInfoController.java
  21. 2
      shuili-admin/src/main/java/com/kms/web/controller/system/SysMenuController.java
  22. 31
      shuili-admin/src/main/java/com/kms/web/controller/system/SysModuleController.java
  23. 27
      shuili-admin/src/main/java/com/kms/web/controller/system/SysNoticeController.java
  24. 24
      shuili-admin/src/main/java/com/kms/web/controller/system/SysPostController.java
  25. 19
      shuili-admin/src/main/java/com/kms/web/controller/system/SysProfileController.java
  26. 8
      shuili-admin/src/main/java/com/kms/web/controller/system/SysRoleController.java
  27. 8
      shuili-admin/src/main/java/com/kms/web/controller/system/SysUploadController.java
  28. 10
      shuili-admin/src/main/java/com/kms/web/controller/system/SysUserController.java
  29. 20
      shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java
  30. 3
      shuili-admin/src/main/java/com/kms/web/controller/tool/SwaggerController.java
  31. 21
      shuili-admin/src/main/java/com/kms/web/controller/tool/TestController.java
  32. 18
      shuili-admin/src/main/java/com/kms/web/core/config/SwaggerConfig.java
  33. 17
      shuili-admin/src/main/java/com/kms/web/synchronous/YgSynchronous.java
  34. 1
      shuili-admin/src/main/java/com/kms/web/utils/scheduled/WaterScheduled.java
  35. 8
      shuili-admin/src/main/java/com/kms/web/utils/view/InitLabel.java
  36. 41
      shuili-common/pom.xml
  37. 6
      shuili-common/src/main/java/com/shuili/common/annotation/DataScope.java
  38. 8
      shuili-common/src/main/java/com/shuili/common/annotation/DataSource.java
  39. 8
      shuili-common/src/main/java/com/shuili/common/annotation/Log.java
  40. 7
      shuili-common/src/main/java/com/shuili/common/annotation/RepeatSubmit.java
  41. 4
      shuili-common/src/main/java/com/shuili/common/core/domain/AddParam.java
  42. 3
      shuili-common/src/main/java/com/shuili/common/core/domain/AjaxResult.java
  43. 10
      shuili-common/src/main/java/com/shuili/common/core/domain/SearchParam.java
  44. 2
      shuili-common/src/main/java/com/shuili/common/core/domain/TimeView.java
  45. 3
      shuili-common/src/main/java/com/shuili/common/core/text/CharsetKit.java
  46. 3
      shuili-common/src/main/java/com/shuili/common/core/text/Convert.java
  47. 3
      shuili-common/src/main/java/com/shuili/common/exception/file/InvalidExtensionException.java
  48. 6
      shuili-common/src/main/java/com/shuili/common/utils/CsvUtils.java
  49. 4
      shuili-common/src/main/java/com/shuili/common/utils/DateUtils.java
  50. 3
      shuili-common/src/main/java/com/shuili/common/utils/ExceptionUtil.java
  51. 13
      shuili-common/src/main/java/com/shuili/common/utils/RSAUtils.java
  52. 14
      shuili-common/src/main/java/com/shuili/common/utils/StringUtils.java
  53. 7
      shuili-common/src/main/java/com/shuili/common/utils/Threads.java
  54. 11
      shuili-common/src/main/java/com/shuili/common/utils/file/FileUtils.java
  55. 6
      shuili-common/src/main/java/com/shuili/common/utils/html/HTMLFilter.java
  56. 3
      shuili-common/src/main/java/com/shuili/common/utils/http/HttpHelper.java
  57. 21
      shuili-common/src/main/java/com/shuili/common/utils/http/HttpUtils.java
  58. 9
      shuili-common/src/main/java/com/shuili/common/utils/ip/IpUtils.java
  59. 4
      shuili-common/src/main/java/com/shuili/common/utils/password/Digests.java
  60. 8
      shuili-common/src/main/java/com/shuili/common/utils/password/Encodes.java
  61. 12
      shuili-common/src/main/java/com/shuili/common/utils/reflect/ReflectUtils.java
  62. 3
      shuili-common/src/main/java/com/shuili/common/utils/sign/Md5Utils.java
  63. 3
      shuili-common/src/main/java/com/shuili/common/utils/uuid/UUID.java
  64. 43
      shuili-framework/pom.xml
  65. 4
      shuili-framework/src/main/java/com/shuili/common/config/MybatisPlusConfig.java
  66. 2
      shuili-framework/src/main/java/com/shuili/common/config/ShuiliConfig.java
  67. 440
      shuili-framework/src/main/java/com/shuili/common/core/redis/RedisCache.java
  68. 66
      shuili-framework/src/main/java/com/shuili/common/core/service/BaseService.java
  69. 25
      shuili-framework/src/main/java/com/shuili/common/mybaitsplus/BeanToWrapper.java
  70. 50
      shuili-framework/src/main/java/com/shuili/common/mybaitsplus/CamelUnderlineUtil.java
  71. 1834
      shuili-framework/src/main/java/com/shuili/common/utils/poi/ExcelUtil.java
  72. 8
      shuili-generator/pom.xml
  73. 187
      shuili-system/pom.xml
  74. 9
      shuili-system/src/main/java/com/kms/cms/domain/CmsContent.java
  75. 2
      shuili-system/src/main/java/com/kms/cms/mapper/CmsContentMapper.java
  76. 4
      shuili-system/src/main/java/com/kms/cms/service/CmsContentService.java
  77. 18
      shuili-system/src/main/java/com/kms/common/GlobalExceptionHandler.java
  78. 4
      shuili-system/src/main/java/com/kms/common/api/CommonApi.java
  79. 8
      shuili-system/src/main/java/com/kms/common/entity/SearchView.java
  80. 2
      shuili-system/src/main/java/com/kms/common/http/utils/HttpClientUtils.java
  81. 2
      shuili-system/src/main/java/com/kms/common/utils/DataTypeUtil.java
  82. 3
      shuili-system/src/main/java/com/kms/common/utils/Itext5HtmlToPDF2.java
  83. 2
      shuili-system/src/main/java/com/kms/sys/progress/ChunkController.java
  84. 8
      shuili-system/src/main/java/com/kms/sys/progress/ChunkService.java
  85. 4
      shuili-system/src/main/java/com/kms/sys/progress/StdOut.java
  86. 4
      shuili-system/src/main/java/com/kms/system/base/EditView.java
  87. 46
      shuili-system/src/main/java/com/kms/system/base/analysis/FileUtils.java
  88. 9
      shuili-system/src/main/java/com/kms/system/domain/CmsMaterialEntity.java
  89. 9
      shuili-system/src/main/java/com/kms/system/domain/CmsMaterialEntityRelation.java
  90. 9
      shuili-system/src/main/java/com/kms/system/domain/CmsUserCollect.java
  91. 9
      shuili-system/src/main/java/com/kms/system/domain/CmsUserFavorites.java
  92. 9
      shuili-system/src/main/java/com/kms/system/domain/LabField.java
  93. 9
      shuili-system/src/main/java/com/kms/system/domain/LabLaboratory.java
  94. 9
      shuili-system/src/main/java/com/kms/system/domain/LabTeacher.java
  95. 9
      shuili-system/src/main/java/com/kms/system/domain/SysConfig.java
  96. 1
      shuili-system/src/main/java/com/kms/system/domain/SysExceptionLog.java
  97. 9
      shuili-system/src/main/java/com/kms/system/domain/SysInfo.java
  98. 2
      shuili-system/src/main/java/com/kms/system/domain/SysLabelsAttributeView.java
  99. 4
      shuili-system/src/main/java/com/kms/system/domain/SysLogininfor.java
  100. 9
      shuili-system/src/main/java/com/kms/system/domain/SysModule.java

645
pom.xml

@ -1,312 +1,347 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.slsoft</groupId>
<artifactId>slSoft</artifactId>
<version>0.0.1-SNAPSHOT</version>
<modules>
<module>shuili-admin</module>
<module>shuili-system</module>
<module>shuili-framework</module>
<module>shuili-generator</module>
<module>shuili-common</module>
</modules>
<name>slSoft</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<packaging>pom</packaging>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<encoding>UTF-8</encoding>
<spring-security.version>5.4.6</spring-security.version>
<hibernate-validator.version>6.1.7.Final</hibernate-validator.version>
<servlet-api.version>4.0.1</servlet-api.version>
<spring-web.version>5.2.14.RELEASE</spring-web.version>
<spring-boot.version>2.3.10.RELEASE</spring-boot.version>
<fastjson.version>1.2.75</fastjson.version>
<hutool.version>5.6.0</hutool.version>
<mybatis-plus.version>3.4.2</mybatis-plus.version>
<mapstruct.version>1.4.1.Final</mapstruct.version>
<druid-stater.version>1.1.21</druid-stater.version>
<log4j.version>1.2.17</log4j.version>
<redisson.version>3.12.5</redisson.version>
<sa-token.version>1.34.0</sa-token.version>
<knife4j.version>2.0.8</knife4j.version>
<druid.version>1.2.6</druid.version>
<p6spy.version>3.9.1</p6spy.version>
<bitwalker.version>1.19</bitwalker.version>
<pagehelper.boot.version>1.3.0</pagehelper.boot.version>
<oshi.version>3.9.1</oshi.version>
<swagger.version>2.9.2</swagger.version>
<io-swagger.version>1.6.2</io-swagger.version>
<commons.io.version>2.11.0</commons.io.version>
<commons.fileupload.version>1.3.3</commons.fileupload.version>
<poi.version>3.17</poi.version>
<velocity.version>1.7</velocity.version>
<jwt.version>0.9.1</jwt.version>
<kaptcha.version>2.3.2</kaptcha.version>
<jna.version>5.8.0</jna.version>
<fastdfs.version>1.27.2</fastdfs.version>
<libthrift.version>0.10.0</libthrift.version>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<dependencyManagement>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.slsoft</groupId>
<artifactId>slSoft</artifactId>
<version>0.0.1-SNAPSHOT</version>
<modules>
<module>shuili-admin</module>
<module>shuili-system</module>
<module>shuili-framework</module>
<module>shuili-generator</module>
<module>shuili-common</module>
</modules>
<name>slSoft</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<packaging>pom</packaging>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<encoding>UTF-8</encoding>
<spring-security.version>5.4.6</spring-security.version>
<hibernate-validator.version>6.1.7.Final</hibernate-validator.version>
<servlet-api.version>4.0.1</servlet-api.version>
<spring-web.version>5.2.14.RELEASE</spring-web.version>
<spring-boot.version>2.3.10.RELEASE</spring-boot.version>
<fastjson.version>1.2.83</fastjson.version>
<hutool.version>5.8.25</hutool.version>
<mybatis-plus.version>3.4.2</mybatis-plus.version>
<mapstruct.version>1.4.1.Final</mapstruct.version>
<druid-stater.version>1.1.21</druid-stater.version>
<log4j.version>1.2.17</log4j.version>
<redisson.version>3.12.5</redisson.version>
<sa-token.version>1.34.0</sa-token.version>
<knife4j.version>2.0.8</knife4j.version>
<druid.version>1.2.6</druid.version>
<p6spy.version>3.9.1</p6spy.version>
<bitwalker.version>1.19</bitwalker.version>
<pagehelper.boot.version>1.3.0</pagehelper.boot.version>
<oshi.version>3.9.1</oshi.version>
<swagger.version>2.9.2</swagger.version>
<io-swagger.version>1.6.2</io-swagger.version>
<commons.io.version>2.11.0</commons.io.version>
<commons.fileupload.version>1.5</commons.fileupload.version>
<poi.version>3.17</poi.version>
<velocity.version>1.7</velocity.version>
<jwt.version>0.9.1</jwt.version>
<jna.version>5.8.0</jna.version>
<fastdfs.version>1.27.2</fastdfs.version>
<libthrift.version>0.10.0</libthrift.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>${libthrift.version}</version>
</dependency>
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>${fastdfs.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!--验证码 -->
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
<!--Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!--velocity代码生成使用模板 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>${velocity.version}</version>
</dependency>
<!--文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
<!--io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- swagger2-UI-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>${p6spy.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
<!-- 密码加密使用-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring-security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring-web.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- Hutool是一个Java工具包 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- 阿里巴巴fastjson,解析json视图 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-web.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet-api.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
</dependency>
<!-- aop 拦截 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${io-swagger.version}</version>
</dependency>
<!-- 缓存-->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>${redisson.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>nexus-aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<!-- SpringBoot 依赖配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-bom</artifactId>
<version>${hutool.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>${sa-token.version}</version>
</dependency>
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>${sa-token.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>${libthrift.version}</version>
</dependency>
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>${fastdfs.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.5</version>
</dependency>
<dependency>
<artifactId>commons-compress</artifactId>
<groupId>org.apache.commons</groupId>
<version>1.26.0</version>
</dependency>
<!--验证码 -->
<dependency>
<groupId>pro.fessional</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3.3</version>
</dependency>
<!--Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!--velocity代码生成使用模板 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>${velocity.version}</version>
</dependency>
<!--文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
<!--io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- swagger2-UI-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>${p6spy.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
<!-- 密码加密使用-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring-security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring-web.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- 阿里巴巴fastjson,解析json视图 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-web.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet-api.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
</dependency>
<!-- aop 拦截 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${io-swagger.version}</version>
</dependency>
<!-- 缓存-->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>${redisson.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>nexus-aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>

38
shuili-admin/pom.xml

@ -15,16 +15,15 @@
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<hutool.version>4.5.16</hutool.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.2.6</version>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
@ -32,6 +31,11 @@
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!--<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
@ -42,13 +46,13 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.slsoft</groupId>
<artifactId>shuili-system</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>${project.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-core -->
<dependency>
@ -77,22 +81,6 @@
<artifactId>bcprov-jdk15on</artifactId>
<version>1.65</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
<build>

12
shuili-admin/src/main/java/com/kms/web/api/AppApi.java

@ -1,6 +1,12 @@
package com.kms.web.api;
import cn.dev33.satoken.stp.StpUtil;
import com.kms.cms.domain.CmsContent;
import com.kms.cms.service.CmsContentService;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.framework.manager.AsyncManager;
import com.kms.framework.manager.factory.AsyncFactory;
import com.kms.system.service.SysUserService;
import com.shuili.common.constant.Constants;
import com.shuili.common.constant.YesOrNo;
import com.shuili.common.core.domain.AjaxResult;
@ -11,12 +17,6 @@ import com.shuili.common.exception.BaseException;
import com.shuili.common.mybaitsplus.BeanToWrapper;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.password.PasswordUtil;
import com.kms.cms.domain.CmsContent;
import com.kms.cms.service.CmsContentService;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.framework.manager.AsyncManager;
import com.kms.framework.manager.factory.AsyncFactory;
import com.kms.system.service.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.log4j.Log4j2;

31
shuili-admin/src/main/java/com/kms/web/controller/cms/CmsContentController.java

@ -1,33 +1,22 @@
package com.kms.web.controller.cms;
import java.util.Arrays;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.cms.domain.CmsContent;
import com.kms.cms.service.CmsContentService;
import com.kms.common.utils.BaseEntityUtils;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.common.utils.BaseEntityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.*;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.enums.BusinessType;
import com.kms.cms.domain.CmsContent;
import com.kms.cms.service.CmsContentService;
import java.util.Arrays;
import java.util.List;
/**

26
shuili-admin/src/main/java/com/kms/web/controller/common/CaptchaController.java

@ -1,13 +1,11 @@
package com.kms.web.controller.common;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import com.google.code.kaptcha.Producer;
import com.shuili.common.constant.Constants;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.redis.RedisCache;
import com.shuili.common.utils.sign.Base64;
import com.shuili.common.utils.uuid.IdUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -16,12 +14,12 @@ import org.springframework.util.FastByteArrayOutputStream;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.google.code.kaptcha.Producer;
import com.shuili.common.constant.Constants;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.redis.RedisCache;
import com.shuili.common.utils.sign.Base64;
import com.shuili.common.utils.uuid.IdUtils;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
/**
* 验证码操作处理

9
shuili-admin/src/main/java/com/kms/web/controller/common/CommonController.java

@ -51,6 +51,7 @@ public class CommonController {
* @param fileName 文件名称
* 必须登录才可以下载
*/
@ApiOperation("通用下载请求")
@SaCheckLogin
@GetMapping("common/download")
public void fileDownload(String fileUrl, String fileName, HttpServletResponse response, HttpServletRequest request) {
@ -60,17 +61,13 @@ public class CommonController {
if (uploadType.equals("disk")) {
// 本地资源路径
String localPath = ShuiliConfig.getProfile();
// 数据库资源地址
String downloadPath = localPath + StringUtils.substringAfter(fileName, Constants.RESOURCE_PREFIX);
// 下载名称
String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
String downloadName = StringUtils.substringAfterLast(fileName, "/");
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition",
"attachment;fileName=" + FileUtils.setFileDownloadHeader(request, downloadName));
FileUtils.writeBytes(downloadPath, response.getOutputStream());
FileUtils.writeBytes(fileName, response.getOutputStream());
} else {
response.setCharacterEncoding("utf-8");

6
shuili-admin/src/main/java/com/kms/web/controller/monitor/ServerController.java

@ -2,12 +2,12 @@ package com.kms.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.kms.framework.web.domain.Server;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.kms.framework.web.domain.Server;
/**
* 服务器监控

20
shuili-admin/src/main/java/com/kms/web/controller/monitor/SysLogininforController.java

@ -1,24 +1,22 @@
package com.kms.web.controller.monitor;
import java.util.Arrays;
import java.util.List;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shuili.common.core.domain.MongoOperType;
import com.shuili.common.core.domain.SearchParam;
import com.kms.system.service.SysLogininforService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.kms.system.domain.SysLogininfor;
import com.kms.system.service.SysLogininforService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.MongoOperType;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import java.util.Arrays;
import java.util.List;
/**
* 系统访问记录

18
shuili-admin/src/main/java/com/kms/web/controller/monitor/SysOperlogController.java

@ -1,32 +1,30 @@
package com.kms.web.controller.monitor;
import java.util.Arrays;
import java.util.List;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.system.domain.SysOperLog;
import com.shuili.aspect.LogMapper;
import com.shuili.aspect.LogMongoService;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.YesOrNo;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.domain.TableSupport;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.page.PageDomain;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.system.domain.SysOperLog;
import java.util.Arrays;
import java.util.List;
/**
* 操作日志记录

8
shuili-admin/src/main/java/com/kms/web/controller/monitor/SysUserOnlineController.java

@ -6,18 +6,20 @@ import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.system.service.SysUserOnlineService;
import com.kms.system.service.SysUserService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.StringUtils;
import com.kms.system.service.SysUserOnlineService;
import com.kms.system.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 在线用户监控

6
shuili-admin/src/main/java/com/kms/web/controller/system/CmsDataSourceController.java

@ -3,6 +3,9 @@ package com.kms.web.controller.system;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.CmsDataSource;
import com.kms.system.service.CmsDataSourceService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.MongoOperType;
@ -11,9 +14,6 @@ import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.DictUtils;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.CmsDataSource;
import com.kms.system.service.CmsDataSourceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

31
shuili-admin/src/main/java/com/kms/web/controller/system/CmsMaterialEntityController.java

@ -1,33 +1,22 @@
package com.kms.web.controller.system;
import java.util.Arrays;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.CmsMaterialEntity;
import com.kms.system.service.CmsMaterialEntityService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.common.utils.BaseEntityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.*;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.enums.BusinessType;
import com.kms.system.domain.CmsMaterialEntity;
import com.kms.system.service.CmsMaterialEntityService;
import java.util.Arrays;
import java.util.List;
/**

6
shuili-admin/src/main/java/com/kms/web/controller/system/CmsTagController.java

@ -1,6 +1,9 @@
package com.kms.web.controller.system;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.CmsTag;
import com.kms.system.service.CmsTagService;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.YesOrNo;
import com.shuili.common.core.controller.BaseController;
@ -11,9 +14,6 @@ import com.shuili.common.enums.BusinessType;
import com.shuili.common.mybaitsplus.BeanToWrapper;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.CmsTag;
import com.kms.system.service.CmsTagService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

33
shuili-admin/src/main/java/com/kms/web/controller/system/CmsUserCollectController.java

@ -1,34 +1,23 @@
package com.kms.web.controller.system;
import java.util.Arrays;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.CmsUserCollect;
import com.kms.system.service.CmsUserCollectService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.mybaitsplus.BeanToWrapper;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.common.utils.BaseEntityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shuili.common.mybaitsplus.BeanToWrapper;
import org.springframework.web.bind.annotation.*;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.enums.BusinessType;
import com.kms.system.domain.CmsUserCollect;
import com.kms.system.service.CmsUserCollectService;
import java.util.Arrays;
import java.util.List;
/**

27
shuili-admin/src/main/java/com/kms/web/controller/system/SysConfigController.java

@ -1,33 +1,24 @@
package com.kms.web.controller.system;
import java.util.Arrays;
import java.util.List;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shuili.common.core.domain.SearchParam;
import com.kms.system.service.SysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.kms.system.domain.SysConfig;
import com.kms.system.service.SysConfigService;
import com.shuili.common.annotation.Log;
import com.shuili.common.annotation.RepeatSubmit;
import com.shuili.common.constant.UserConstants;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import java.util.Arrays;
import java.util.List;
/**
* 参数配置 信息操作处理

28
shuili-admin/src/main/java/com/kms/web/controller/system/SysDeptController.java

@ -1,23 +1,8 @@
package com.kms.web.controller.system;
import java.util.Iterator;
import java.util.List;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.kms.system.service.SysDeptService;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.UserConstants;
import com.shuili.common.core.controller.BaseController;
@ -26,9 +11,14 @@ import com.shuili.common.core.domain.entity.SysDept;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.FastDfsUtil;
import com.shuili.common.utils.StringUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import java.util.Iterator;
import java.util.List;
/**
* 部门信息

23
shuili-admin/src/main/java/com/kms/web/controller/system/SysDictDataController.java

@ -1,29 +1,26 @@
package com.kms.web.controller.system;
import com.kms.yxgh.base.Response;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shuili.common.core.domain.SearchParam;
import com.kms.system.service.SysDictDataService;
import com.kms.system.service.SysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.kms.yxgh.base.Response;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.domain.entity.SysDictData;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import java.util.List;
import java.util.Map;
/**
* 数据字典信息

14
shuili-admin/src/main/java/com/kms/web/controller/system/SysDictTypeController.java

@ -15,18 +15,12 @@ import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.Arrays;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
* 数据字典信息

8
shuili-admin/src/main/java/com/kms/web/controller/system/SysExceptionLogController.java

@ -2,6 +2,9 @@ package com.kms.web.controller.system;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kms.system.domain.SysExceptionLog;
import com.kms.system.domain.SysOperLog;
import com.kms.system.service.SysExceptionLogService;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.YesOrNo;
import com.shuili.common.core.controller.BaseController;
@ -9,12 +12,7 @@ import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.MongoOperType;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.system.domain.SysExceptionLog;
import com.kms.system.domain.SysOperLog;
import com.kms.system.service.SysExceptionLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

19
shuili-admin/src/main/java/com/kms/web/controller/system/SysInfoController.java

@ -1,25 +1,22 @@
package com.kms.web.controller.system;
import java.util.List;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.SysInfo;
import com.kms.system.service.SysInfoService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.FastDfsUtil;
import com.shuili.common.utils.StringUtils;
import com.kms.common.utils.BaseEntityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.enums.BusinessType;
import com.kms.system.domain.SysInfo;
import com.kms.system.service.SysInfoService;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* 系统基本信息Controller

2
shuili-admin/src/main/java/com/kms/web/controller/system/SysMenuController.java

@ -3,6 +3,7 @@ package com.kms.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.stp.StpUtil;
import com.kms.system.service.SysMenuService;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.Constants;
import com.shuili.common.constant.UserConstants;
@ -11,7 +12,6 @@ import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.entity.SysMenu;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.StringUtils;
import com.kms.system.service.SysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

31
shuili-admin/src/main/java/com/kms/web/controller/system/SysModuleController.java

@ -1,33 +1,22 @@
package com.kms.web.controller.system;
import java.util.Arrays;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.SysModule;
import com.kms.system.service.SysModuleService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.common.utils.BaseEntityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.*;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.enums.BusinessType;
import com.kms.system.domain.SysModule;
import com.kms.system.service.SysModuleService;
import java.util.Arrays;
import java.util.List;
/**

27
shuili-admin/src/main/java/com/kms/web/controller/system/SysNoticeController.java

@ -1,33 +1,24 @@
package com.kms.web.controller.system;
import java.util.Arrays;
import java.util.List;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.utils.StringUtils;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.domain.SysNotice;
import com.kms.system.service.SysNoticeService;
import com.kms.system.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.kms.system.domain.SysNotice;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import java.util.Arrays;
import java.util.List;
/**
* 公告 信息操作处理

24
shuili-admin/src/main/java/com/kms/web/controller/system/SysPostController.java

@ -1,29 +1,21 @@
package com.kms.web.controller.system;
import java.util.Arrays;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shuili.common.core.domain.SearchParam;
import com.kms.system.service.SysPostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.kms.system.domain.SysPost;
import com.kms.system.service.SysPostService;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.UserConstants;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
* 岗位信息操作处理

19
shuili-admin/src/main/java/com/kms/web/controller/system/SysProfileController.java

@ -1,18 +1,7 @@
package com.kms.web.controller.system;
import java.io.IOException;
import com.kms.common.utils.UserUtils;
import com.kms.system.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
@ -20,7 +9,11 @@ import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.FastDfsUtil;
import com.shuili.common.utils.password.PasswordUtil;
import com.kms.common.utils.UserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
/**
* 个人信息 业务处理

8
shuili-admin/src/main/java/com/kms/web/controller/system/SysRoleController.java

@ -3,6 +3,10 @@ package com.kms.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.framework.web.service.SysPermissionService;
import com.kms.system.service.SysRoleMenuService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.UserConstants;
import com.shuili.common.core.controller.BaseController;
@ -11,10 +15,6 @@ import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.domain.entity.SysRole;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.framework.web.service.SysPermissionService;
import com.kms.system.service.SysRoleMenuService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

8
shuili-admin/src/main/java/com/kms/web/controller/system/SysUploadController.java

@ -1,13 +1,13 @@
package com.kms.web.controller.system;
import com.kms.system.domain.SysBatchUpload;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.system.domain.SysBatchUpload;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;

10
shuili-admin/src/main/java/com/kms/web/controller/system/SysUserController.java

@ -3,6 +3,11 @@ package com.kms.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.common.utils.UserUtils;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysPostService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
import com.shuili.common.annotation.Log;
import com.shuili.common.constant.UserConstants;
import com.shuili.common.core.controller.BaseController;
@ -15,11 +20,6 @@ import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.password.PasswordUtil;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.common.utils.UserUtils;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysPostService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;

20
shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java

@ -1,15 +1,9 @@
package com.kms.web.controller.system;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.common.utils.UserUtils;
import com.kms.system.domain.SysXzqh;
import com.kms.system.service.SysDeptService;
@ -25,16 +19,10 @@ import com.shuili.common.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Arrays;
import java.util.List;

3
shuili-admin/src/main/java/com/kms/web/controller/tool/SwaggerController.java

@ -2,12 +2,11 @@ package com.kms.web.controller.tool;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.shuili.common.core.controller.BaseController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import com.shuili.common.core.controller.BaseController;
/**
* swagger 接口
*

21
shuili-admin/src/main/java/com/kms/web/controller/tool/TestController.java

@ -1,24 +1,15 @@
package com.kms.web.controller.tool;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.utils.StringUtils;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
/**
* swagger 用户测试方法

18
shuili-admin/src/main/java/com/kms/web/core/config/SwaggerConfig.java

@ -1,29 +1,23 @@
package com.kms.web.core.config;
import java.util.ArrayList;
import java.util.List;
import com.shuili.common.config.ShuiliConfig;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.shuili.common.config.ShuiliConfig;
import io.swagger.annotations.ApiOperation;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.Contact;
import springfox.documentation.service.SecurityReference;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
/**
* Swagger2的接口配置
*

17
shuili-admin/src/main/java/com/kms/web/synchronous/YgSynchronous.java

@ -1,11 +1,7 @@
package com.kms.web.synchronous;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.kms.yg.dd.domain.AttDiscBase;
import com.kms.yg.dd.service.AttDiscBaseService;
@ -28,25 +24,16 @@ import com.kms.yg.sz.domain.BsSgcSzSafeJbxx;
import com.kms.yg.sz.service.BsSgcSzSafeJbxxService;
import com.kms.yg.xgxd.domain.AttDpdsBase;
import com.kms.yg.xgxd.service.AttDpdsBaseService;
import io.swagger.models.auth.In;
import lombok.Data;
import org.apache.commons.lang.SerializationUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Configuration
@RestController

1
shuili-admin/src/main/java/com/kms/web/utils/scheduled/WaterScheduled.java

@ -28,7 +28,6 @@ import org.springframework.scheduling.annotation.Scheduled;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Configuration
public class WaterScheduled {

8
shuili-admin/src/main/java/com/kms/web/utils/view/InitLabel.java

@ -1,15 +1,17 @@
package com.kms.web.utils.view;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.poi.ExcelUtil;
import com.kms.system.constants.RootConstants;
import com.kms.system.domain.CmsTag;
import com.kms.system.service.CmsTagService;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.FileInputStream;
import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Component

41
shuili-common/pom.xml

@ -13,18 +13,6 @@
<packaging>jar</packaging>
<description>boot 工程工具类 </description>
<properties>
<bitwalker.version>1.21</bitwalker.version>
<fastjson.version>1.2.79</fastjson.version>
<commons.io.version>2.11.0</commons.io.version>
<commons.fileupload.version>1.4</commons.fileupload.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
<servlet-api.version>4.0.1</servlet-api.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!--csv文件操作-->
@ -37,8 +25,14 @@
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
<exclusions>
<exclusion>
<artifactId>commons-codec</artifactId>
<groupId>commons-codec</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
@ -48,18 +42,11 @@
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<!--添加lombok的包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet-api.version}</version>
</dependency>
<dependency>
@ -79,27 +66,23 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.13.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<!--文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
<!--io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
@ -107,22 +90,16 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>

6
shuili-common/src/main/java/com/shuili/common/annotation/DataScope.java

@ -1,10 +1,6 @@
package com.shuili.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.*;
/**
* 数据权限过滤注解

8
shuili-common/src/main/java/com/shuili/common/annotation/DataSource.java

@ -1,13 +1,9 @@
package com.shuili.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.shuili.common.enums.DataSourceType;
import java.lang.annotation.*;
/**
* 自定义多数据源切换注解
*

8
shuili-common/src/main/java/com/shuili/common/annotation/Log.java

@ -1,15 +1,11 @@
package com.shuili.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.shuili.common.constant.YesOrNo;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.enums.OperatorType;
import java.lang.annotation.*;
/**
* 自定义操作日志记录注解
*

7
shuili-common/src/main/java/com/shuili/common/annotation/RepeatSubmit.java

@ -1,11 +1,6 @@
package com.shuili.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.*;
/**
* 自定义注解防止表单重复提交

4
shuili-common/src/main/java/com/shuili/common/core/domain/AddParam.java

@ -1,11 +1,11 @@
package com.shuili.common.core.domain;
import com.shuili.common.utils.StringUtils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.shuili.common.utils.StringUtils;
public class AddParam<T> implements Serializable{

3
shuili-common/src/main/java/com/shuili/common/core/domain/AjaxResult.java

@ -1,9 +1,10 @@
package com.shuili.common.core.domain;
import java.util.HashMap;
import com.shuili.common.constant.HttpStatus;
import com.shuili.common.utils.StringUtils;
import java.util.HashMap;
/**
* 操作消息提醒
*

10
shuili-common/src/main/java/com/shuili/common/core/domain/SearchParam.java

@ -1,15 +1,15 @@
package com.shuili.common.core.domain;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.shuili.common.utils.StringUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ApiModel("查询参数")
@Data
public class SearchParam<T> implements Serializable{

2
shuili-common/src/main/java/com/shuili/common/core/domain/TimeView.java

@ -4,8 +4,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("时间查询")
public class TimeView {

3
shuili-common/src/main/java/com/shuili/common/core/text/CharsetKit.java

@ -1,8 +1,9 @@
package com.shuili.common.core.text;
import com.shuili.common.utils.StringUtils;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import com.shuili.common.utils.StringUtils;
/**
* 字符集工具类

3
shuili-common/src/main/java/com/shuili/common/core/text/Convert.java

@ -1,12 +1,13 @@
package com.shuili.common.core.text;
import com.shuili.common.utils.StringUtils;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.text.NumberFormat;
import java.util.Set;
import com.shuili.common.utils.StringUtils;
/**
* 类型转换器

3
shuili-common/src/main/java/com/shuili/common/exception/file/InvalidExtensionException.java

@ -1,8 +1,9 @@
package com.shuili.common.exception.file;
import java.util.Arrays;
import org.apache.commons.fileupload.FileUploadException;
import java.util.Arrays;
/**
* 文件上传 误异常类
*

6
shuili-common/src/main/java/com/shuili/common/utils/CsvUtils.java

@ -3,9 +3,11 @@ package com.shuili.common.utils;
import com.alibaba.fastjson.JSONObject;
import com.csvreader.CsvReader;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* csv 超大数据解析 abstract

4
shuili-common/src/main/java/com/shuili/common/utils/DateUtils.java

@ -1,5 +1,7 @@
package com.shuili.common.utils;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@ -8,8 +10,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.time.DateFormatUtils;
/**
* 时间工具类
*

3
shuili-common/src/main/java/com/shuili/common/utils/ExceptionUtil.java

@ -1,8 +1,9 @@
package com.shuili.common.utils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.apache.commons.lang3.exception.ExceptionUtils;
/**
* 错误信息处理类

13
shuili-common/src/main/java/com/shuili/common/utils/RSAUtils.java

@ -1,19 +1,14 @@
package com.shuili.common.utils;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.security.*;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap;
import java.util.Map;
import javax.crypto.Cipher;
import org.apache.commons.codec.binary.Base64;
public class RSAUtils {
private static final String KEYALGORITHM = "RSA";

14
shuili-common/src/main/java/com/shuili/common/utils/StringUtils.java

@ -1,17 +1,11 @@
package com.shuili.common.utils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.shuili.common.core.text.StrFormatter;
import org.apache.commons.lang3.StringEscapeUtils;
import com.shuili.common.core.text.StrFormatter;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 字符串工具类

7
shuili-common/src/main/java/com/shuili/common/utils/Threads.java

@ -1,13 +1,10 @@
package com.shuili.common.utils;
import java.util.concurrent.CancellationException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.*;
/**
* 线程相关工具类.
*

11
shuili-common/src/main/java/com/shuili/common/utils/file/FileUtils.java

@ -1,18 +1,11 @@
package com.shuili.common.utils.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
//import sun.misc.BASE64Encoder;
/**

6
shuili-common/src/main/java/com/shuili/common/utils/html/HTMLFilter.java

@ -1,10 +1,6 @@
package com.shuili.common.utils.html;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.regex.Matcher;

3
shuili-common/src/main/java/com/shuili/common/utils/http/HttpHelper.java

@ -1,10 +1,9 @@
package com.shuili.common.utils.http;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.commons.lang3.exception.ExceptionUtils;
import javax.servlet.ServletRequest;
import java.io.BufferedReader;
import java.io.IOException;

21
shuili-common/src/main/java/com/shuili/common/utils/http/HttpUtils.java

@ -1,25 +1,16 @@
package com.shuili.common.utils.http;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import com.shuili.common.constant.Constants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.net.ssl.*;
import java.io.*;
import java.net.ConnectException;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import com.shuili.common.constant.Constants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 通用http发送方法

9
shuili-common/src/main/java/com/shuili/common/utils/ip/IpUtils.java

@ -1,5 +1,9 @@
package com.shuili.common.utils.ip;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.html.EscapeUtil;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@ -8,11 +12,6 @@ import java.net.UnknownHostException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.html.EscapeUtil;
/**
* 获取IP方法
*

4
shuili-common/src/main/java/com/shuili/common/utils/password/Digests.java

@ -1,13 +1,13 @@
package com.shuili.common.utils.password;
import org.apache.commons.lang3.Validate;
import java.io.IOException;
import java.io.InputStream;
import java.security.GeneralSecurityException;
import java.security.MessageDigest;
import java.security.SecureRandom;
import org.apache.commons.lang3.Validate;
/**
* 支持SHA-1/MD5消息摘要的工具类.
* 返回ByteSource可进一步被编码为Hex, Base64或UrlSafeBase64

8
shuili-common/src/main/java/com/shuili/common/utils/password/Encodes.java

@ -1,14 +1,14 @@
package com.shuili.common.utils.password;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.lang3.StringEscapeUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
/**
* 封装各种格式的编码解码工具类.
* 1.Commons-Codec的 hex/base64 编码

12
shuili-common/src/main/java/com/shuili/common/utils/reflect/ReflectUtils.java

@ -1,20 +1,14 @@
package com.shuili.common.utils.reflect;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Date;
import com.shuili.common.core.text.Convert;
import com.shuili.common.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.shuili.common.utils.DateUtils;
import java.lang.reflect.*;
import java.util.Date;
/**
* 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.

3
shuili-common/src/main/java/com/shuili/common/utils/sign/Md5Utils.java

@ -1,9 +1,10 @@
package com.shuili.common.utils.sign;
import java.security.MessageDigest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.security.MessageDigest;
/**
* Md5加密方法
*

3
shuili-common/src/main/java/com/shuili/common/utils/uuid/UUID.java

@ -1,11 +1,12 @@
package com.shuili.common.utils.uuid;
import com.shuili.common.exception.UtilException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import com.shuili.common.exception.UtilException;
/**
* 提供通用唯一识别码universally unique identifierUUID实现

43
shuili-framework/pom.xml

@ -19,13 +19,12 @@
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
<version>33.2.1-android</version>
</dependency>
<!-- mybatis plus 代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
@ -39,13 +38,6 @@
<version>1.9.19</version>
</dependency>
<!--<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>-->
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
@ -55,7 +47,6 @@
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.34.0</version>
</dependency>
<!-- Sa-Token 整合 Redis (使用jackson序列化方式) -->
@ -63,18 +54,8 @@
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-dao-redis-jackson</artifactId>
<version>1.34.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/cn.dev33/sa-token-core -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-core</artifactId>
<version>1.34.0</version>
</dependency>
<!-- SpringBoot Web容器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
@ -89,22 +70,12 @@
<!-- excel工具 -->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
<!-- 阿里数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
@ -115,20 +86,14 @@
<dependency>
<groupId>com.slsoft</groupId>
<artifactId>shuili-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>${project.version}</version>
</dependency>
<!-- 验证码 -->
<dependency>
<groupId>com.github.penggle</groupId>
<groupId>pro.fessional</groupId>
<artifactId>kaptcha</artifactId>
<exclusions>
<exclusion>
<artifactId>javax.servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- 获取系统信息 -->

4
shuili-generator/src/main/java/com/kms/generator/config/MybatisPlusConfig.java → shuili-framework/src/main/java/com/shuili/common/config/MybatisPlusConfig.java

@ -1,9 +1,7 @@
package com.kms.generator.config;
package com.shuili.common.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.beans.factory.annotation.Value;

2
shuili-framework/src/main/java/com/shuili/common/config/ShuiliConfig.java

@ -49,7 +49,7 @@ public class ShuiliConfig
private static String detectLang;
private static String uploadType;
private static String uploadType = "disk";
public static String getDetectLang() {
return detectLang;

440
shuili-framework/src/main/java/com/shuili/common/core/redis/RedisCache.java

@ -18,227 +18,229 @@ import java.util.concurrent.TimeUnit;
*
* @author shuili
**/
@SuppressWarnings(value = { "unchecked", "rawtypes" })
@SuppressWarnings(value = {"unchecked", "rawtypes"})
@Component
public class RedisCache {
@Autowired
public RedisTemplate redisTemplate;
@Value("${shuili.nameKey}")
private String REDIS_PREFIX;
/**
* 缓存基本的对象IntegerString实体类等
*
* @param key 缓存的键值
* @param value 缓存的值
*/
public <T> void setCacheObject(final String key, final T value) {
redisTemplate.opsForValue().set(REDIS_PREFIX+"_"+key, value);
}
/**
* 缓存基本的对象IntegerString实体类等
*
* @param key 缓存的键值
* @param value 缓存的值
* @param timeout 时间
* @param timeUnit 时间颗粒度
*/
public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit) {
redisTemplate.opsForValue().set(REDIS_PREFIX+"_"+key, value, timeout, timeUnit);
}
public <T> void setCacheObject(final String key, final T value, final Long timeout, final TimeUnit timeUnit) {
redisTemplate.opsForValue().set(REDIS_PREFIX+"_"+key, value, timeout, timeUnit);
}
/**
* 设置有效时间
*
* @param key Redis键
* @param timeout 超时时间
* @return true=设置成功false=设置失败
*/
public boolean expire(final String key, final long timeout) {
return expire(REDIS_PREFIX+"_"+key, timeout, TimeUnit.SECONDS);
}
/**
* 获取有效时间
*
* @param key
* @return
*/
public long getExpire(final String key) {
return redisTemplate.getExpire(REDIS_PREFIX+"_"+key);
}
/**
* 设置有效时间
*
* @param key Redis键
* @param timeout 超时时间
* @param unit 时间单位
* @return true=设置成功false=设置失败
*/
public boolean expire(final String key, final long timeout, final TimeUnit unit) {
return redisTemplate.expire(REDIS_PREFIX+"_"+key, timeout, unit);
}
/**
* 获得缓存的基本对象
*
* @param key 缓存键值
* @return 缓存键值对应的数据
*/
public <T> T getCacheObject(final String key) {
ValueOperations<String, T> operation = redisTemplate.opsForValue();
return operation.get(REDIS_PREFIX+"_"+key);
}
public <T> T getCacheObject(final String key,Class<T> c) {
ValueOperations<String, T> operation = redisTemplate.opsForValue();
return operation.get(REDIS_PREFIX+"_"+key);
}
/**
* 删除单个对象
*
* @param key
*/
public boolean deleteObject(final String key) {
return redisTemplate.delete(REDIS_PREFIX+"_"+key);
}
/**
* 删除集合对象
*
* @param collection 多个对象
* @return
*/
public long deleteObject(final Collection collection) {
return redisTemplate.delete(collection);
}
/**
* 缓存List数据
*
* @param key 缓存的键值
* @param dataList 待缓存的List数据
* @return 缓存的对象
*/
public <T> long setCacheList(final String key, final List<T> dataList) {
Long count = redisTemplate.opsForList().rightPushAll(REDIS_PREFIX+"_"+key, dataList);
return count == null ? 0 : count;
}
/**
* 获得缓存的list对象
*
* @param key 缓存的键值
* @return 缓存键值对应的数据
*/
public <T> List<T> getCacheList(final String key) {
return redisTemplate.opsForList().range(REDIS_PREFIX+"_"+key, 0, -1);
}
/**
* 缓存Set
*
* @param key 缓存键值
* @param dataSet 缓存的数据
* @return 缓存数据的对象
*/
public <T> long setCacheSet(final String key, final Set<T> dataSet) {
@Autowired
public RedisTemplate redisTemplate;
@Value("${shuili.nameKey}")
private String REDIS_PREFIX;
/**
* 缓存基本的对象IntegerString实体类等
*
* @param key 缓存的键值
* @param value 缓存的值
*/
public <T> void setCacheObject(final String key, final T value) {
redisTemplate.opsForValue().set(REDIS_PREFIX + "_" + key, value);
}
/**
* 缓存基本的对象IntegerString实体类等
*
* @param key 缓存的键值
* @param value 缓存的值
* @param timeout 时间
* @param timeUnit 时间颗粒度
*/
public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit) {
redisTemplate.opsForValue().set(REDIS_PREFIX + "_" + key, value, timeout, timeUnit);
}
public <T> void setCacheObject(final String key, final T value, final Long timeout, final TimeUnit timeUnit) {
redisTemplate.opsForValue().set(REDIS_PREFIX + "_" + key, value, timeout, timeUnit);
}
/**
* 设置有效时间
*
* @param key Redis键
* @param timeout 超时时间
* @return true=设置成功false=设置失败
*/
public boolean expire(final String key, final long timeout) {
return expire(REDIS_PREFIX + "_" + key, timeout, TimeUnit.SECONDS);
}
/**
* 获取有效时间
*
* @param key
* @return
*/
public long getExpire(final String key) {
return redisTemplate.getExpire(REDIS_PREFIX + "_" + key);
}
/**
* 设置有效时间
*
* @param key Redis键
* @param timeout 超时时间
* @param unit 时间单位
* @return true=设置成功false=设置失败
*/
public boolean expire(final String key, final long timeout, final TimeUnit unit) {
return Boolean.TRUE.equals(redisTemplate.expire(REDIS_PREFIX + "_" + key, timeout, unit));
}
/**
* 获得缓存的基本对象
*
* @param key 缓存键值
* @return 缓存键值对应的数据
*/
public <T> T getCacheObject(final String key) {
ValueOperations<String, T> operation = redisTemplate.opsForValue();
return operation.get(REDIS_PREFIX + "_" + key);
}
public <T> T getCacheObject(final String key, Class<T> c) {
ValueOperations<String, T> operation = redisTemplate.opsForValue();
return operation.get(REDIS_PREFIX + "_" + key);
}
/**
* 删除单个对象
*
* @param key
*/
public boolean deleteObject(final String key) {
return Boolean.TRUE.equals(redisTemplate.delete(REDIS_PREFIX + "_" + key));
}
/**
* 删除集合对象
*
* @param collection 多个对象
* @return
*/
public long deleteObject(final Collection collection) {
return redisTemplate.delete(collection);
}
/**
* 缓存List数据
*
* @param key 缓存的键值
* @param dataList 待缓存的List数据
* @return 缓存的对象
*/
public <T> long setCacheList(final String key, final List<T> dataList) {
Long count = redisTemplate.opsForList().rightPushAll(REDIS_PREFIX + "_" + key, dataList);
return count == null ? 0 : count;
}
/**
* 获得缓存的list对象
*
* @param key 缓存的键值
* @return 缓存键值对应的数据
*/
public <T> List<T> getCacheList(final String key) {
return redisTemplate.opsForList().range(REDIS_PREFIX + "_" + key, 0, -1);
}
/**
* 缓存Set
*
* @param key 缓存键值
* @param dataSet 缓存的数据
* @return 缓存数据的对象
*/
public <T> long setCacheSet(final String key, final Set<T> dataSet) {
// redisTemplate.opsForSet()
Long count = redisTemplate.opsForSet().add(REDIS_PREFIX+"_"+key, dataSet);
return count == null ? 0 : count;
}
public <T> long setCacheSet(final String key, final Set<T> dataSet,int time,TimeUnit t) {
Long count = redisTemplate.opsForSet().add(REDIS_PREFIX+"_"+key, dataSet,time,t);
return count == null ? 0 : count;
}
/**
* 获得缓存的set
*
* @param key
* @return
*/
public <T> Set<T> getCacheSet(final String key) {
return redisTemplate.opsForSet().members(REDIS_PREFIX+"_"+key);
}
/**
* 缓存Map
*
* @param key
* @param dataMap
*/
public <T> void setCacheMap(final String key, final Map<String, T> dataMap) {
if (dataMap != null) {
redisTemplate.opsForHash().putAll(REDIS_PREFIX+"_"+key, dataMap);
}
}
/**
* 获得缓存的Map
*
* @param key
* @return
*/
public <T> Map<String, T> getCacheMap(final String key) {
return redisTemplate.opsForHash().entries(REDIS_PREFIX+"_"+key);
}
/**
* 往Hash中存入数据
*
* @param key Redis键
* @param hKey Hash键
* @param value
*/
public <T> void setCacheMapValue(final String key, final String hKey, final T value) {
redisTemplate.opsForHash().put(REDIS_PREFIX+"_"+key, hKey, value);
}
/**
* 获取Hash中的数据
*
* @param key Redis键
* @param hKey Hash键
* @return Hash中的对象
*/
public <T> T getCacheMapValue(final String key, final String hKey) {
HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
return opsForHash.get(REDIS_PREFIX+"_"+key, hKey);
}
/**
* 获取多个Hash中的数据
*
* @param key Redis键
* @param hKeys Hash键集合
* @return Hash对象集合
*/
public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) {
return redisTemplate.opsForHash().multiGet(REDIS_PREFIX+"_"+key, hKeys);
}
/**
* 获得缓存的基本对象列表
*
* @param pattern 字符串前缀
* @return 对象列表
*/
public Collection<String> keys(final String pattern) {
return redisTemplate.keys(pattern);
}
public boolean hasKey(String key) {
return redisTemplate.hasKey(REDIS_PREFIX+"_"+key);
}
Long count = redisTemplate.opsForSet().add(REDIS_PREFIX + "_" + key, dataSet);
return count == null ? 0 : count;
}
public <T> long setCacheSet(final String key, final Set<T> dataSet, int time, TimeUnit t) {
Long count = redisTemplate.opsForSet().add(REDIS_PREFIX + "_" + key, dataSet, time, t);
return count == null ? 0 : count;
}
/**
* 获得缓存的set
*
* @param key
* @return
*/
public <T> Set<T> getCacheSet(final String key) {
return redisTemplate.opsForSet().members(REDIS_PREFIX + "_" + key);
}
/**
* 缓存Map
*
* @param key
* @param dataMap
*/
public <T> void setCacheMap(final String key, final Map<String, T> dataMap) {
if (dataMap != null) {
redisTemplate.opsForHash().putAll(REDIS_PREFIX + "_" + key, dataMap);
}
}
/**
* 获得缓存的Map
*
* @param key
* @return
*/
public <T> Map<String, T> getCacheMap(final String key) {
return redisTemplate.opsForHash().entries(REDIS_PREFIX + "_" + key);
}
/**
* 往Hash中存入数据
*
* @param key Redis键
* @param hKey Hash键
* @param value
*/
public <T> void setCacheMapValue(final String key, final String hKey, final T value) {
redisTemplate.opsForHash().put(REDIS_PREFIX + "_" + key, hKey, value);
}
/**
* 获取Hash中的数据
*
* @param key Redis键
* @param hKey Hash键
* @return Hash中的对象
*/
public <T> T getCacheMapValue(final String key, final String hKey) {
HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
return opsForHash.get(REDIS_PREFIX + "_" + key, hKey);
}
/**
* 获取多个Hash中的数据
*
* @param key Redis键
* @param hKeys Hash键集合
* @return Hash对象集合
*/
public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) {
return redisTemplate.opsForHash().multiGet(REDIS_PREFIX + "_" + key, hKeys);
}
/**
* 获得缓存的基本对象列表
*
* @param pattern 字符串前缀
* @return 对象列表
*/
public Collection<String> keys(final String pattern) {
return redisTemplate.keys(pattern);
}
public boolean hasKey(String key) {
return Boolean.TRUE.equals(redisTemplate.hasKey(REDIS_PREFIX + "_" + key));
}
}

66
shuili-framework/src/main/java/com/shuili/common/core/service/BaseService.java

@ -21,61 +21,69 @@ import java.util.Objects;
/**
* 扩展其他的通用方法
*
* @param <T>
*/
public class BaseService<M extends BaseMapper<T>, T extends BaseEntity> extends ServiceImpl<M, T>{
public class BaseService<M extends BaseMapper<T>, T extends BaseEntity> extends ServiceImpl<M, T> {
RedisCache redisCache = SpringUtils.getBean(RedisCache.class);
public IPage<T> selectPage(SearchParam<T> sp){
return getBaseMapper().selectPage(new Page<>(sp.getPageNum(),sp.getPageSize()), BeanToWrapper.getWrapper(sp));
public IPage<T> selectPage(SearchParam<T> sp) {
return getBaseMapper().selectPage(new Page<>(sp.getPageNum(), sp.getPageSize()), BeanToWrapper.getWrapper(sp));
}
public AjaxResult selectPage(T t){
public AjaxResult selectPage(T t) {
QueryWrapper<T> wrapper = BeanToWrapper.getWrapper(t);
BeanToWrapper.order(wrapper, t);
Page<Map<String, Object>> mapPage = getBaseMapper().selectMapsPage(new Page<>(t.getPageNum(), t.getPageSize()), wrapper);
AjaxResult success = AjaxResult.success();
success.put(AjaxResult.DATA_TAG,mapPage.getRecords());
success.put(AjaxResult.TOTAL,mapPage.getTotal());
success.put(AjaxResult.DATA_TAG, mapPage.getRecords());
success.put(AjaxResult.TOTAL, mapPage.getTotal());
return success;
}
/**
* 同步保存到缓存
*
* @param t
* @return
*/
public boolean saveWithRedis(T t){
public boolean saveWithRedis(T t) {
boolean save = super.save(t);
if(save){
redisCache.setCacheObject(getRedisKey()+t.getId(),t);
if (save) {
redisCache.setCacheObject(getRedisKey() + t.getId(), t);
}
return true;
}
/**
* 同步更新缓存
*
* @param t
* @return
*/
public boolean updateWithReids(T t){
public boolean updateWithReids(T t) {
boolean result = super.updateById(t);
if(result){
redisCache.setCacheObject(getRedisKey()+t.getId(),t);
if (result) {
redisCache.setCacheObject(getRedisKey() + t.getId(), t);
}
return result;
}
/**
* 从缓存中获取对应的数据
*
* @param id
* @return
*/
public T getWithRedis(Serializable id){
T cacheObject = redisCache.getCacheObject(getRedisKey()+id.toString(),getEntityClass());
if(Objects.isNull(cacheObject)){
public T getWithRedis(Serializable id) {
T cacheObject = redisCache.getCacheObject(getRedisKey() + id.toString(), getEntityClass());
if (Objects.isNull(cacheObject)) {
T byId = getById(id);
redisCache.setCacheObject(getRedisKey()+id.toString(),byId);
if (Objects.isNull(byId)) {
return null;
}
redisCache.setCacheObject(getRedisKey() + id, byId);
return byId;
}
return cacheObject;
@ -84,45 +92,49 @@ public class BaseService<M extends BaseMapper<T>, T extends BaseEntity> extends
/**
* 同步删除redis
*
* @return
*/
public boolean removeByIdWithRedis(Serializable id){
public boolean removeByIdWithRedis(Serializable id) {
boolean result = super.removeById(id);
if(result){ // 同步删除redis
redisCache.deleteObject(getRedisKey()+id.toString());
if (result) { // 同步删除redis
redisCache.deleteObject(getRedisKey() + id.toString());
}
return result;
}
/**
* 同步删除缓存
*
* @param ids
* @return
*/
public boolean removeWithRedis(Serializable[] ids){
public boolean removeWithRedis(Serializable[] ids) {
boolean result = removeByIds(Arrays.asList(ids));
if(result){
if (result) {
for (Serializable id : ids) {
redisCache.deleteObject(getRedisKey()+id.toString());
redisCache.deleteObject(getRedisKey() + id.toString());
}
}
return result;
}
public boolean removeWithRedis(List<Serializable> ids){
public boolean removeWithRedis(List<Serializable> ids) {
boolean result = removeByIds(ids);
if(result){
if (result) {
for (Serializable id : ids) {
redisCache.deleteObject(getRedisKey()+id.toString());
redisCache.deleteObject(getRedisKey() + id.toString());
}
}
return result;
}
/**
* 工程名+实体类+ id
*
* @return
*/
public String getRedisKey(){
return getEntityClass()+"_";
public String getRedisKey() {
return getEntityClass() + "_";
}
}

25
shuili-framework/src/main/java/com/shuili/common/mybaitsplus/BeanToWrapper.java

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.base.CaseFormat;
import com.shuili.common.constant.YesOrNo;
import com.shuili.common.core.domain.*;
import com.shuili.common.core.domain.*;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.reflect.ReflectUtils;
import org.springframework.context.annotation.Lazy;
@ -257,7 +256,7 @@ public class BeanToWrapper<T extends BaseEntity> {
private static Map<String, Method> methodMap = new HashMap<>();
static{
static {
try {
List<Method> methods = new ArrayList<>();
Class<? extends QueryWrapper> aClass = QueryWrapper.class;
@ -290,23 +289,23 @@ public class BeanToWrapper<T extends BaseEntity> {
}
}
for (Method declaredMethod : methods) {
if("in".equals(declaredMethod.getName()) || "nin".equals(declaredMethod.getName())
|| "all".equals(declaredMethod.getName())){
if ("in".equals(declaredMethod.getName()) || "nin".equals(declaredMethod.getName())
|| "all".equals(declaredMethod.getName())) {
Class<?>[] parameterTypes = declaredMethod.getParameterTypes();
for (Class<?> parameterType : parameterTypes) {
//使用collection参数的方法
if(parameterType.getName().equals(Collection.class.getName())){
methodMap.put(declaredMethod.getName(),declaredMethod);
if (parameterType.getName().equals(Collection.class.getName())) {
methodMap.put(declaredMethod.getName(), declaredMethod);
}
}
}else if("like".equals(declaredMethod.getName())){
} else if ("like".equals(declaredMethod.getName())) {
Class<?>[] parameterTypes = declaredMethod.getParameterTypes();
if(parameterTypes.length == 2){ //
methodMap.put(declaredMethod.getName(),declaredMethod);
if (parameterTypes.length == 2) { //
methodMap.put(declaredMethod.getName(), declaredMethod);
}
}else {
methodMap.put(declaredMethod.getName(),declaredMethod);
} else {
methodMap.put(declaredMethod.getName(), declaredMethod);
}
}
@ -365,9 +364,9 @@ public class BeanToWrapper<T extends BaseEntity> {
recursionCriteria(wrapper, sp.getCv().getCv());
}
}
if(StringUtils.isNotEmpty(sp.getConditionViews())){
if (StringUtils.isNotEmpty(sp.getConditionViews())) {
for (ConditionView conditionView : sp.getConditionViews()) {
if(StringUtils.isNotNull(conditionView.getValue())){
if (StringUtils.isNotNull(conditionView.getValue())) {
getWrapper(wrapper, conditionView);
}
}

50
shuili-framework/src/main/java/com/shuili/common/mybaitsplus/CamelUnderlineUtil.java

@ -3,7 +3,6 @@ package com.shuili.common.mybaitsplus;
import com.google.common.base.CaseFormat;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
/**
@ -14,96 +13,99 @@ public class CamelUnderlineUtil {
/**
*驼峰转下划线及中划线
* 驼峰转下划线及中划线
*
* @param list
* @param resultList
*/
private static void camel2UnderScoreOrHyphen(List<String> list, List<String> resultList) {
for (String key : list) {
//驼峰转小写下划线
log.info("----------驼峰转{}{}------------start","下划线","首字母小写");
log.info("----------驼峰转{}{}------------start", "下划线", "首字母小写");
String to = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, key);
log.info(to);
to = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, key);
log.info(to);
log.info("----------驼峰转{}{}------------end","下划线","首字母小写");
log.info("----------驼峰转{}{}------------end", "下划线", "首字母小写");
log.info("----------驼峰转{}{}------------start","大写下划线","");
log.info("----------驼峰转{}{}------------start", "大写下划线", "");
to = CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, key);
log.info(to);
to = CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, key);
log.info(to);
log.info("----------驼峰转大{}{}------------end","大写下划线","");
log.info("----------驼峰转大{}{}------------end", "大写下划线", "");
log.info("----------驼峰转{}{}------------start","小写中划线","");
log.info("----------驼峰转{}{}------------start", "小写中划线", "");
to = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, key);
log.info(to);
to = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, key);
log.info(to);
log.info("----------驼峰转{}{}------------end","小写中划线","");
log.info("----------驼峰转{}{}------------end", "小写中划线", "");
resultList.add(to);
}
}
/**
*下划线转驼峰及中划线
* 下划线转驼峰及中划线
*
* @param list
* @param resultList
*/
private static void underScore2CamelOrHyphen(List<String> list, List<String> resultList) {
for (String key : list) {
log.info("----------下划线转{}{}------------start","驼峰","首字母小写");
log.info("----------下划线转{}{}------------start", "驼峰", "首字母小写");
String to = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, key);
log.info(to);
to = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, key);
log.info(to);
log.info("----------下划线转{}{}------------end","驼峰","首字母小写");
log.info("----------下划线转{}{}------------end", "驼峰", "首字母小写");
log.info("----------下划线转{}{}------------start","驼峰","首字母大写");
log.info("----------下划线转{}{}------------start", "驼峰", "首字母大写");
to = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, key);
log.info(to);
to = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, key);
log.info(to);
log.info("----------下划线转{}{}------------end","驼峰","首字母大写");
log.info("----------下划线转{}{}------------end", "驼峰", "首字母大写");
log.info("----------下划线转{}{}------------start","小写中划线","");
log.info("----------下划线转{}{}------------start", "小写中划线", "");
to = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, key);
log.info(to);
log.info("----------下划线转{}{}------------end","小写中划线","");
log.info("----------下划线转{}{}------------end", "小写中划线", "");
resultList.add(to);
}
}
/**
*中划线转驼峰及下划线
* 中划线转驼峰及下划线
*
* @param list
* @param resultList
*/
private static void hyphen2CamelOrUnderScore(List<String> list, List<String> resultList) {
for (String key : list) {
log.info("----------中划线转{}{}------------start","驼峰","首字母小写");
log.info("----------中划线转{}{}------------start", "驼峰", "首字母小写");
String to = CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, key);
log.info(to);
log.info("----------中划线转{}{}------------end","驼峰","首字母小写");
log.info("----------中划线转{}{}------------end", "驼峰", "首字母小写");
log.info("----------中划线转{}{}------------start","驼峰","首字母大写");
log.info("----------中划线转{}{}------------start", "驼峰", "首字母大写");
to = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, key);
log.info(to);
log.info("----------中划线转{}{}------------end","驼峰","首字母大写");
log.info("----------中划线转{}{}------------end", "驼峰", "首字母大写");
log.info("----------中划线转{}{}------------start","小写下划线","");
log.info("----------中划线转{}{}------------start", "小写下划线", "");
to = CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_UNDERSCORE, key);
log.info(to);
log.info("----------中划线转{}{}------------end","小写下划线","");
log.info("----------中划线转{}{}------------end", "小写下划线", "");
log.info("----------中划线转{}{}------------start","大写下划线","");
log.info("----------中划线转{}{}------------start", "大写下划线", "");
to = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_UNDERSCORE, key);
log.info(to);
log.info("----------中划线转{}{}------------end","大写下划线","");
log.info("----------中划线转{}{}------------end", "大写下划线", "");
resultList.add(to);
}
}

1834
shuili-framework/src/main/java/com/shuili/common/utils/poi/ExcelUtil.java

File diff suppressed because it is too large

8
shuili-generator/pom.xml

@ -24,13 +24,19 @@
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<exclusions>
<exclusion>
<artifactId>commons-collections</artifactId>
<groupId>commons-collections</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.slsoft</groupId>
<artifactId>shuili-framework</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>${project.version}</version>
</dependency>
</dependencies>

187
shuili-system/pom.xml

@ -1,99 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>slSoft</artifactId>
<groupId>com.slsoft</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>shuili-system</artifactId>
<name>shuili-system</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<hutool.version>4.5.16</hutool.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.6</version>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>com.slsoft</groupId>
<artifactId>shuili-generator</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.slsoft</groupId>
<artifactId>shuili-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.htmlcleaner/htmlcleaner -->
<dependency>
<groupId>net.sourceforge.htmlcleaner</groupId>
<artifactId>htmlcleaner</artifactId>
<version>2.25</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.15.3</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.8.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.ben-manes.caffeine/caffeine -->
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.3</version>
</dependency>
</dependencies>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>slSoft</artifactId>
<groupId>com.slsoft</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>shuili-system</artifactId>
<name>shuili-system</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>com.slsoft</groupId>
<artifactId>shuili-common</artifactId>
<version>${project.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.htmlcleaner/htmlcleaner -->
<dependency>
<groupId>net.sourceforge.htmlcleaner</groupId>
<artifactId>htmlcleaner</artifactId>
<version>2.25</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.15.3</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.ben-manes.caffeine/caffeine -->
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
<dependency>
<groupId>com.slsoft</groupId>
<artifactId>shuili-framework</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

9
shuili-system/src/main/java/com/kms/cms/domain/CmsContent.java

@ -1,14 +1,11 @@
package com.kms.cms.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 内容记录对象 cms_content

2
shuili-system/src/main/java/com/kms/cms/mapper/CmsContentMapper.java

@ -1,8 +1,8 @@
package com.kms.cms.mapper;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.cms.domain.CmsContent;
import org.springframework.stereotype.Repository;
/**
* 内容记录Mapper接口

4
shuili-system/src/main/java/com/kms/cms/service/CmsContentService.java

@ -1,10 +1,8 @@
package com.kms.cms.service;
import com.shuili.common.annotation.DataSource;
import com.shuili.common.core.service.BaseService;
import com.kms.cms.domain.CmsContent;
import com.kms.cms.mapper.CmsContentMapper;
import com.shuili.common.enums.DataSourceType;
import com.shuili.common.core.service.BaseService;
import org.springframework.stereotype.Service;
/**

18
shuili-system/src/main/java/com/kms/common/GlobalExceptionHandler.java

@ -1,10 +1,15 @@
package com.kms.common;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.exception.NotPermissionException;
import com.kms.system.domain.SysExceptionLog;
import com.kms.system.service.SysExceptionLogService;
import com.shuili.common.constant.HttpStatus;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.exception.BaseException;
import com.shuili.common.exception.CustomException;
import com.shuili.common.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -14,15 +19,6 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.NoHandlerFoundException;
import com.shuili.common.constant.HttpStatus;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.exception.BaseException;
import com.shuili.common.exception.CustomException;
import com.shuili.common.utils.StringUtils;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.exception.NotPermissionException;
import java.util.Date;
/**

4
shuili-system/src/main/java/com/kms/common/api/CommonApi.java

@ -2,13 +2,13 @@ package com.kms.common.api;
import com.alibaba.fastjson.JSONObject;
import com.kms.common.entity.Chunk;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.entity.SysDictData;
import com.shuili.common.enums.BusinessType;
import com.shuili.common.utils.DictUtils;
import com.shuili.common.utils.FastDfsUtil;
import com.shuili.common.utils.file.FileUtils;
import com.kms.common.entity.Chunk;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.java.Log;
@ -24,7 +24,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.List;
/**
* 通用的api

8
shuili-system/src/main/java/com/kms/common/entity/SearchView.java

@ -1,18 +1,14 @@
package com.kms.common.entity;
import com.alibaba.fastjson.JSONObject;
import com.shuili.common.utils.StringUtils;
import com.kms.common.ir.Node;
import com.kms.common.ir.OrderItem;
import com.kms.common.ir.PermissionParam;
import com.kms.common.ir.SearchDate;
import com.shuili.common.utils.StringUtils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.*;
public class SearchView implements Serializable {
private static final long serialVersionUID = 1L;

2
shuili-system/src/main/java/com/kms/common/http/utils/HttpClientUtils.java

@ -1,8 +1,8 @@
package com.kms.common.http.utils;
import com.alibaba.fastjson.JSON;
import com.shuili.common.utils.StringUtils;
import com.kms.common.http.entity.CodeResult;
import com.shuili.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.*;
import org.springframework.stereotype.Component;

2
shuili-system/src/main/java/com/kms/common/utils/DataTypeUtil.java

@ -1,9 +1,9 @@
package com.kms.common.utils;
import com.kms.common.constant.DictConstant;
import com.shuili.common.core.domain.entity.SysDictData;
import com.shuili.common.utils.DictUtils;
import com.shuili.common.utils.StringUtils;
import com.kms.common.constant.DictConstant;
import java.util.List;

3
shuili-system/src/main/java/com/kms/common/utils/Itext5HtmlToPDF2.java

@ -5,9 +5,8 @@ import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.FontSelector;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.codec.Base64;
import com.shuili.common.utils.StringUtils;
import com.kms.system.base.analysis.FileUtils;
import com.shuili.common.utils.StringUtils;
import org.htmlcleaner.CleanerProperties;
import org.htmlcleaner.HtmlCleaner;
import org.jsoup.Jsoup;

2
shuili-system/src/main/java/com/kms/sys/progress/ChunkController.java

@ -4,7 +4,7 @@ import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;

8
shuili-system/src/main/java/com/kms/sys/progress/ChunkService.java

@ -1,5 +1,9 @@
package com.kms.sys.progress;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@ -7,10 +11,6 @@ import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.UUID;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
public class ChunkService {
public String chunkUploadByMappedByteBuffer(MultipartFileParam param, String filePath) throws IOException, NotSameFileExpection {

4
shuili-system/src/main/java/com/kms/sys/progress/StdOut.java

@ -1,10 +1,10 @@
package com.kms.sys.progress;
import com.alibaba.fastjson.JSON;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
public class StdOut {
public static final int SUCCESS = 200;
public static final int FAIL = 400;

4
shuili-system/src/main/java/com/kms/system/base/EditView.java

@ -1,9 +1,9 @@
package com.kms.system.base;
import java.util.List;
import lombok.Data;
import java.util.List;
@Data
public class EditView {

46
shuili-system/src/main/java/com/kms/system/base/analysis/FileUtils.java

@ -1,37 +1,6 @@
package com.kms.system.base.analysis;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.RandomAccessFile;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.shuili.common.utils.password.Encodes;
import org.apache.commons.lang3.StringUtils;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
@ -45,7 +14,18 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import com.shuili.common.utils.password.Encodes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**

9
shuili-system/src/main/java/com/kms/system/domain/CmsMaterialEntity.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 素材实体对象 cms_material_entity

9
shuili-system/src/main/java/com/kms/system/domain/CmsMaterialEntityRelation.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 实体关系对象 cms_material_entity_relation

9
shuili-system/src/main/java/com/kms/system/domain/CmsUserCollect.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 收藏对象 cms_user_collect

9
shuili-system/src/main/java/com/kms/system/domain/CmsUserFavorites.java

@ -1,16 +1,13 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import com.shuili.common.mybaitsplus.NoQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 收藏夹对象 cms_user_favorites

9
shuili-system/src/main/java/com/kms/system/domain/LabField.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 领域信息对象 lab_field

9
shuili-system/src/main/java/com/kms/system/domain/LabLaboratory.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 实验室信息对象 lab_laboratory

9
shuili-system/src/main/java/com/kms/system/domain/LabTeacher.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 教师信息对象 lab_teacher

9
shuili-system/src/main/java/com/kms/system/domain/SysConfig.java

@ -1,14 +1,13 @@
package com.kms.system.domain;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 参数配置表 sys_config

1
shuili-system/src/main/java/com/kms/system/domain/SysExceptionLog.java

@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data

9
shuili-system/src/main/java/com/kms/system/domain/SysInfo.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 系统基本信息对象 sys_info

2
shuili-system/src/main/java/com/kms/system/domain/SysLabelsAttributeView.java

@ -1,8 +1,8 @@
package com.kms.system.domain;
import com.kms.common.constant.DictConstant;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import com.kms.common.constant.DictConstant;
import io.swagger.annotations.ApiModel;
import lombok.Data;

4
shuili-system/src/main/java/com/kms/system/domain/SysLogininfor.java

@ -1,12 +1,12 @@
package com.kms.system.domain;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import java.util.Date;
/**
* 系统访问记录表 sys_logininfor
*

9
shuili-system/src/main/java/com/kms/system/domain/SysModule.java

@ -1,14 +1,11 @@
package com.kms.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.core.domain.BaseEntity;
/**
* 前端模块对象 sys_module

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save