diff --git a/README.md b/README.md
index 0ef1004d..5269d6fa 100644
--- a/README.md
+++ b/README.md
@@ -1,101 +1,101 @@
-### SmartAdmin
-**SmartAdmin** 由 **河南·洛阳** [1024 创新实验室](https://www.1024lab.net/) 使用SpringBoot2 和 Vue3 Setup语法糖、 Composition Api (同时支持JavaScript和TypeScript双版本) ,开发出的一套简洁、易用的低代码中后台解决方案!
+### **SmartAdmin**
-**我们开源一套漂亮的代码和一套整洁的代码规范**,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,保持谦逊,保持学习,**热爱代码,更热爱生活!**
+SmartAdmin3.X 由河南·洛阳 [1024 创新实验室](https://www.1024lab.net/)基于SpringBoot + Sa-Token + Mybatis-Plus 和 Vue3 + Vite5 + Ant Design Vue 4 (同时支持JavaScript和TypeScript双版本) ,并以 **「高质量代码」为核心,「简洁、高效、安全」**的快速开发平台。
+**国内首个满足《网络安全》、《数据安全》、三级等保**, 支持登录限制、支持接口国产加解密、支持数据加解密等一系列安全措施的开源项目。
-在线预览:[https://preview.smartadmin.vip](https://preview.smartadmin.vip)
-官方文档:[https://smartadmin.vip](https://smartadmin.vip)
+**我们开源一套漂亮的代码和一套整洁的代码规范**,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,保持谦逊,保持学习,热爱代码,更热爱生活!
-### 理念与思想
+
+
+
+
+
+### **理念与思想**
- 我们分享的不是徒劳无功的各种功能,而是必须有的功能,如:数据变动记录、系统说明文档、版本更新记录、意见反馈、日志、心跳、单号生成器等等。
- 我们分享的还有经过上百家公司验证过的前端、后端、vue3等代码规范,好的规范能让我们敲下的每行代码更铿锵有力!
- **我们推崇高质量的代码,身为开发,代码即利剑,键盘上一套行云流水,宛如侠客,事了拂衣去,深藏身与名。**
-- **我们推崇团队的高度配合默契、互相帮助,从不加班,而不是一看到别人的代码就头皮发麻,留其 [996.ICU](https://baike.baidu.com/item/996.ICU),我们热爱代码,更热爱生活**
-
-### 演示图
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-
-
-### 技术体系
-
-- 前端:Vue3.2 + Vue-Router + Pinia + Ant Design Vue 3.X + Vite
-- 后端:Java8 + SpringBoot2.X + Mybatis-plus + jwt + druid + mysql
-
-### 功能特点
-
-- 表格:持久化表格自定义列、国际化、水印 等
-- OA办公:公司信息(发票、银行、员工等)、通知公告(阅读记录、次数等)
-- 文档:系统手册、意见反馈、更新记录 等
-- 监控:心跳监控、数据库监控
-- 日志:登录日志、操作日志(IP、浏览器、操作系统等设备信息)
-- 系统:员工、部门、角色、权限、菜单 等
-- 工具:文件管理、系统参数、数据字典、单号生成 等
-- 代码生成: 基于每个表的配置、在线预览代码、下载 等
-- 更多请查看:[SmartAdmin 业内独有功能亮点](https://smartadmin.vip/views/v2/base/FunctionFeature.html)
-
-### 前端特点
-
-- 提供 js 和 ts 双版本,目录结构及其清晰
-- setup语法糖下Composition Api 代码规范可能只有我们写对了
-- 前端常量维护: vue-enum,拒绝出现魔法数字,常量枚举不可维护的现象
-- 非常漂亮的首页、业内独有的帮助文档、数据变动记录、水印等
-- 业内独有的用户表格自定义列,且保存到数据库
-- 业内最好的api、常量、等写法
-- 独有的本地、开发、测试、预发布、生产 5个env环境配置文件
-- 业内代码最清晰的layout布局写法
-- 业内可能只有我们把main.js中的router加载方式写对了
-- 以上只是一些举例,更多灿若繁星的惊喜和细节,等待着你的发现
+- **我们推崇团队的高度配合默契、互相帮助,从不加班,而不是一看到别人的代码就头皮发麻,留其 [996.ICU](https://baike.baidu.com/item/996.ICU) 加班。**
+- **我们主动思考,保持谦逊,保持学习,热爱代码,更热爱生活。**
+- **我们希望你,希望你能花费3分钟认真阅读下面的每一个点,让你感受从未有过的技术体验!**
-### 后端特点
+### **技术体系**
-- 高质量的 Java 代码、分包结构、和代码注释
-- 业内独创的请求返回码维护,非常值得一看
-- 四层架构(controller, service, manager, dao),为什么要有四层
-- vo, bo, form, entity ,各种 javabean 怎么区分和使用
-- 基于git diff的数据变更留痕功能,忘掉鸡肋的操作记录吧
-- 心跳服务,让你发现有哪些机器再跑,哪些人在偷偷的跑你的 Job
-- 支持接口加密解密注解、接口重复提交
-- maven多环境:开发、测试、预发布、生产 环境配置
-- smart-reload,为系统预留钩子,动态加载,在不重启程序前提下执行一些代码
-- 以上只是沧海一粟,更多的细节等待你的发现
+- 前端:Vue3 + Vite5 + Vue-Router + Pinia + Ant Design Vue 4.X
+- 移动端:uniapp + uview2.x
+- 后端:SpringBoot + Sa Token + Mybatis-plus + 多种数据库
-### 联系我们
+### **功能亮点**
+
+- **安全体系**:满足国家三级等保要求,如密码加密、密码复杂度要求、登录错误次数锁定、登录超时退出等关键功能
+- **接口加解密**:支持请求参数和返回内容进行加解密操作,支持国产加密算法和其他国外加密算法
+- **表格自定义列**:支持用户自定义列,并能将用户自定义列持久化到数据库
+- **数据变更记录**:支持基于git diff插件的数据变更记录,查看数据变化更直观方便
+- **在线文档**:支持右侧帮助文档(类似阿里云控制台右侧帮助文档效果)、支持意见反馈、版本记录 等功能
+- **OA办公**:公司信息(发票、银行、员工等)、通知公告(阅读记录、次数等)
+- **日志、监控**:服务器心跳日志、登录日志、操作日志(IP、浏览器、操作系统等设备信息)
+- **系统功能**:员工、部门、角色、权限、菜单、水印、文件管理、系统参数、数据字典、单号生成 等
+- **代码生成**: 基于每个表的配置、在线预览代码、下载 等
+- **以上只是一些举例,更多灿若繁星的惊喜和细节,等待着你的发现!**:[SmartAdmin 业内独有功能亮点](./FunctionFeature.md)
+
+
+### **代码亮点**
+
+- **【前端-双版本】:** 提供 js 和 ts 双版本,目录结构及其清晰
+- **【前端-常量维护】:** vue-enum,拒绝出现魔法数字,常量枚举不可维护的现象
+- **【前端-命名】:** 业内最好的api、常量等命名和写法
+- **【前端-多环境支持】:** 独有的本地、开发、测试、预发布、生产 5个env环境配置文件
+- **【前端-layout代码】:** 业内代码最清晰的layout布局写法,小白都能看懂
+- **【前端-main.js】:** 业内可能只有我们把main.js中的router加载方式写对了
+- ----华丽前后端分割线----
+- **【后端-独有目录结构】:** 业内独有的高质量的 Java代码分包结构,适合大、中、小型项目,结构非常清晰
+- **【后端-公共配置文件】:** 业内独有的共用配置文件维护,简化共同配置
+- **【后端-返回码维护】:** 业内独创的请求返回码维护,非常值得一看
+- **【后端-四层架构】:** 四层架构(controller, service, manager, dao),为什么要有四层
+- **【后端-多环境】:** maven多环境:开发、测试、预发布、生产 环境配置
+- **【后端-系统钩子】:** smart-reload,为系统预留钩子,动态加载,在不重启程序前提下执行一些代码
+- 以上只是沧海一粟,更多的细节等待你的发现
+
+### **演示图**
-  |
-  |
-  |
+  |
+  |
- 骚扰“卓大”,拉你入群 |
- 关注“小镇程序员”,代码与生活、技术与钱途 |
- 请我们喝杯咖啡 |
+  |
+  |
+
+
+  |
+  |
+
+
+  |
+  |
-### 作者
-[1024创新实验室-主任:卓大](https://zhuoda.vip),混迹于各个技术圈,研究过计算机,熟悉点 java,略懂点前端。
-[1024创新实验室(河南·洛阳)](https://1024lab.net) 致力于成为中原领先、国内一流的技术团队,以技术创新为驱动,合作各类项目(软件外包、技术顾问、培训等等)。
+### **联系我们**
+
+[1024 创新实验室-主任:卓大](https://zhuoda.vip),混迹于各个技术圈,研究过计算机,熟悉点 java,略懂点前端。
+[1024 创新实验室(河南·洛阳)](https://1024lab.net) 致力于成为中原领先、国内一流的技术团队,以技术创新为驱动,合作各类项目(软件外包、技术顾问、培训等等)。
+
+
+
+  |
+  |
+  |
+
+
+ 加 主任 “卓大” 微信 拉你入群,一起学习 |
+ 关注 “六边形工程师” 分享:赚钱、代码、生活 |
+ 请 “1024创新实验室” 喝咖啡 支持我们的开源与分享 |
+
+
+
diff --git a/smart-admin-api/pom.xml b/smart-admin-api/pom.xml
index 7211de26..15e54a5e 100644
--- a/smart-admin-api/pom.xml
+++ b/smart-admin-api/pom.xml
@@ -11,7 +11,7 @@
SmartAdmin project
- sa-common
+ sa-base
sa-admin
@@ -23,7 +23,8 @@
2.0.8
3.5.2
3.8.6
- 2.7.0
+ 1.7.0
+ 4.3.0
2.0.16
1.2.14
1.4.2
@@ -31,14 +32,13 @@
1.21
2.3.2
0.9.11
- 2.6
+ 2.15.0
3.12.0
4.4
1.13
- 4.2.0
2.12.0
- 4.1.1
- 1.3
+ 3.3.2
+ 5.2.4
1.11.842
2.17.2
5.7.22
@@ -46,6 +46,10 @@
0.9.1
0.9.0
3.1
+ 1.35.0.RC
+ 2.7.0
+ 1.59
+ 2.13.4
@@ -92,21 +96,15 @@
- io.springfox
- springfox-swagger2
- ${swagger.version}
-
-
- guava
- com.google.guava
-
-
+ org.springdoc
+ springdoc-openapi-ui
+ ${springdoc-openapi-ui.version}
- io.springfox
- springfox-swagger-ui
- ${swagger.version}
+ com.github.xiaoymin
+ knife4j-openapi3-spring-boot-starter
+ ${knife4j.version}
@@ -181,48 +179,6 @@
${commons-codec.version}
-
-
- cn.afterturn
- easypoi-spring-boot-starter
- ${easypoi.version}
-
-
-
- cn.afterturn
- easypoi-web
- ${easypoi.version}
-
-
- javassist
- org.javassist
-
-
- guava
- com.google.guava
-
-
-
-
-
-
-
-
-
-
-
- org.apache.poi
- poi-scratchpad
- ${poi-scratchpad.version}
-
-
-
-
- org.apache.poi
- ooxml-schemas
- ${poi-ooxml-schemas.version}
-
-
com.amazonaws
aws-java-sdk-s3
@@ -271,6 +227,72 @@
${velocity-tools.version}
+
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ ${sa-token.version}
+
+
+
+
+ cn.dev33
+ sa-token-redis-jackson
+ ${sa-token.version}
+
+
+
+
+
+
+ org.lionsoul
+ ip2region
+ ${ip2region.version}
+
+
+
+ org.bouncycastle
+ bcprov-jdk15on
+ ${bcprov.version}
+
+
+
+ com.alibaba
+ easyexcel
+ ${easy-excel.version}
+
+
+ poi-ooxml-schemas
+ org.apache.poi
+
+
+
+
+
+ org.apache.poi
+ poi
+ ${poi.version}
+
+
+
+ org.apache.poi
+ poi-ooxml
+ ${poi.version}
+
+
+
+ org.apache.poi
+ poi-scratchpad
+ ${poi.version}
+
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ ${jackson-datatype-jsr310.version}
+
+
diff --git a/smart-admin-api/sa-admin/pom.xml b/smart-admin-api/sa-admin/pom.xml
index af0f1935..ab2867cb 100644
--- a/smart-admin-api/sa-admin/pom.xml
+++ b/smart-admin-api/sa-admin/pom.xml
@@ -19,8 +19,8 @@
net.1024lab
- sa-common
- ${project.version}
+ sa-base
+ 1.0.0
@@ -31,7 +31,7 @@
org.springframework.boot
spring-boot-maven-plugin
- net.lab1024.sa.admin.SmartAdminApplication
+ net.lab1024.sa.admin.AdminApplication
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/AdminApplication.java
similarity index 57%
rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java
rename to smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/AdminApplication.java
index 82975649..01fab9ce 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/AdminApplication.java
@@ -1,5 +1,7 @@
package net.lab1024.sa.admin;
+import net.lab1024.sa.base.listener.Ip2RegionListener;
+import net.lab1024.sa.base.listener.LogVariableListener;
import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
@@ -17,17 +19,23 @@ import org.springframework.scheduling.annotation.EnableScheduling;
* @Date 2022-08-29 21:00:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@EnableCaching
@EnableScheduling
@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)
-@ComponentScan(basePackages = {"net.lab1024.sa"})
-@MapperScan(value = "net.lab1024.sa", annotationClass = Mapper.class)
-@SpringBootApplication(exclude = {UserDetailsServiceAutoConfiguration.class })
-public class SmartAdminApplication {
+@ComponentScan(AdminApplication.COMPONENT_SCAN)
+@MapperScan(value = AdminApplication.COMPONENT_SCAN, annotationClass = Mapper.class)
+@SpringBootApplication(exclude = {UserDetailsServiceAutoConfiguration.class})
+public class AdminApplication {
+
+ public static final String COMPONENT_SCAN = "net.lab1024.sa";
public static void main(String[] args) {
- SpringApplication.run(SmartAdminApplication.class, args);
+ SpringApplication application = new SpringApplication(AdminApplication.class);
+ // 添加 日志监听器,使 log4j2-spring.xml 可以间接读取到配置文件的属性
+ application.addListeners(new LogVariableListener(), new Ip2RegionListener());
+ application.run(args);
}
+
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java
deleted file mode 100644
index f54bbd51..00000000
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.lab1024.sa.admin.common;
-
-/**
- * admin 相关的父类
- *
- * @Author 1024创新实验室-主任:卓大
- * @Date 2022-06-10 21:00:58
- * @Wechat zhuoda1024
- * @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
- */
-public class AdminBaseController {
-}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/JweAspectConfig.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/JweAspectConfig.java
deleted file mode 100644
index c4e74ff9..00000000
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/JweAspectConfig.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package net.lab1024.sa.admin.config;
-
-import net.lab1024.sa.common.common.domain.RequestUser;
-import net.lab1024.sa.common.common.util.SmartRequestUtil;
-import net.lab1024.sa.common.module.support.jwe.JweAspect;
-import net.lab1024.sa.common.module.support.jwe.JweUserKey;
-import net.lab1024.sa.common.module.support.operatelog.core.OperateLogAspect;
-import net.lab1024.sa.common.module.support.operatelog.core.OperateLogConfig;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * 操作日志切面 配置
- *
- * @Author 1024创新实验室: 罗伊
- * @Date 2022-05-30 21:22:12
- * @Wechat zhuoda1024
- * @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
- */
-@Configuration
-public class JweAspectConfig {
-
- /**
- * 配置信息
- */
- @Bean
- public JweAspect jweConfig() {
- return new JweAspect((request -> {
- RequestUser requestUser = SmartRequestUtil.getRequestUser();
- JweUserKey userKey = new JweUserKey();
- userKey.setUserId(requestUser.getUserId());
- userKey.setUserName(requestUser.getUserName());
- userKey.setExtData(requestUser.getUserType().getValue().toString());
- return userKey;
- }));
- }
-}
\ No newline at end of file
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/MvcConfig.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/MvcConfig.java
new file mode 100644
index 00000000..2b550c06
--- /dev/null
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/MvcConfig.java
@@ -0,0 +1,42 @@
+package net.lab1024.sa.admin.config;
+
+import net.lab1024.sa.admin.interceptor.AdminInterceptor;
+import net.lab1024.sa.base.config.SwaggerConfig;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import javax.annotation.Resource;
+
+/**
+ * web相关配置
+ *
+ * @Author 1024创新实验室-主任: 卓大
+ * @Date 2021-09-02 20:21:10
+ * @Wechat zhuoda1024
+ * @Email lab1024@163.com
+ * @Copyright 1024创新实验室
+ */
+@Configuration
+public class MvcConfig implements WebMvcConfigurer {
+
+ @Resource
+ private AdminInterceptor adminInterceptor;
+
+
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(adminInterceptor)
+ .excludePathPatterns(SwaggerConfig.SWAGGER_WHITELIST)
+ .addPathPatterns("/**");
+ }
+
+ @Override
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
+ registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
+ registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
+ }
+
+}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java
index 214502e0..bccbfb4c 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java
@@ -1,13 +1,9 @@
package net.lab1024.sa.admin.config;
-import net.lab1024.sa.common.common.domain.RequestUser;
-import net.lab1024.sa.common.common.util.SmartRequestUtil;
-import net.lab1024.sa.common.module.support.operatelog.core.OperateLogAspect;
-import net.lab1024.sa.common.module.support.operatelog.core.OperateLogConfig;
+import net.lab1024.sa.base.module.support.operatelog.core.OperateLogAspect;
+import net.lab1024.sa.base.module.support.operatelog.core.OperateLogConfig;
import org.springframework.context.annotation.Configuration;
-import javax.servlet.http.HttpServletRequest;
-
/**
* 操作日志切面 配置
*
@@ -15,19 +11,17 @@ import javax.servlet.http.HttpServletRequest;
* @Date 2022-05-30 21:22:12
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Configuration
public class OperateLogAspectConfig extends OperateLogAspect{
/**
* 配置信息
- * @return
*/
@Override
public OperateLogConfig getOperateLogConfig() {
- OperateLogConfig config = OperateLogConfig.builder().corePoolSize(4).queueCapacity(1000).build();
- return config;
+ return OperateLogConfig.builder().corePoolSize(1).queueCapacity(10000).build();
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java
deleted file mode 100644
index 8f12ba27..00000000
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package net.lab1024.sa.admin.config;
-
-import net.lab1024.sa.admin.module.system.login.service.LoginService;
-import net.lab1024.sa.common.common.security.AbstractSecurityConfig;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.core.userdetails.UserDetails;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.function.BiFunction;
-
-/**
- * 权限配置
- *
- * @Author 1024创新实验室: 罗伊
- * @Date 2022-05-30 21:22:12
- * @Wechat zhuoda1024
- * @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
- */
-@Configuration
-public class SecurityConfig extends AbstractSecurityConfig {
- /**
- * 获取TOKEN 解析类
- */
- @Autowired
- private LoginService loginService;
-
- @Override
- protected BiFunction userFunction() {
- return (token, request) -> loginService.getLoginUserDetail(token, request);
- }
-
- @Override
- protected String[] getAuthenticatedUrlPatterns() {
- return new String[]{"/**"};
- }
-
-
-}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java
deleted file mode 100644
index 772b2d5d..00000000
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package net.lab1024.sa.admin.config;
-
-import net.lab1024.sa.admin.module.system.login.domain.LoginEmployeeDetail;
-import net.lab1024.sa.common.common.annoation.SaAuth;
-import net.lab1024.sa.common.common.security.SecurityMethodSource;
-import net.lab1024.sa.common.common.security.SecurityPermissionCheckService;
-import org.springframework.context.annotation.Bean;
-import org.springframework.security.access.expression.method.ExpressionBasedAnnotationAttributeFactory;
-import org.springframework.security.access.method.MethodSecurityMetadataSource;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration;
-import org.springframework.security.core.Authentication;
-
-/**
- * 1、以类名加方法名为权限字符串的校验模式
- * 2、重写MethodSecurityMetadataSource将优化security配置,只需在方法上加上@saAuth注解,方法上就会存在权限(权限字符串为类名加方法名),而无需另外手动设置,减轻后端开发成本
- * 3、security将不再依据权限字符串进行权限控制,
- * 4、security将依据对应权限字符串下的接口权限进行控制
- * 5、采用此配置原@PreAuthorize依然有效
- * 6、如若无需此配置,需将@EnableGlobalMethodSecurity注解添加至SecurityConfig类上
- *
- * @Author 1024创新实验室: 罗伊
- * @Date 2021-08-31 0:01
- * @Wechat zhuoda1024
- * @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
- */
-@EnableGlobalMethodSecurity(prePostEnabled = true)
-public class SecurityMethodConfig extends GlobalMethodSecurityConfiguration {
-
- @Bean(SaAuth.saAuth)
- public SecurityPermissionCheckService securityPermissionCheckService() {
- return new SecurityPermissionCheckService() {
- @Override
- public boolean checkPermission(Authentication authentication, String permission) {
- LoginEmployeeDetail loginEmployeeDetail = (LoginEmployeeDetail) authentication.getPrincipal();
- if (loginEmployeeDetail.getAdministratorFlag()) {
- return true;
- }
- return super.permissionJudge(loginEmployeeDetail, permission);
- }
- };
- }
-
- @Override
- public MethodSecurityMetadataSource customMethodSecurityMetadataSource() {
- ExpressionBasedAnnotationAttributeFactory attributeFactory = new ExpressionBasedAnnotationAttributeFactory(this.getExpressionHandler());
- return new SecurityMethodSource(attributeFactory, SaAuth.saAuth);
- }
-}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
index ebacfdf0..aa4378ca 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.constant;
-import net.lab1024.sa.common.constant.CacheKeyConst;
+import net.lab1024.sa.base.constant.CacheKeyConst;
/**
* 缓存 key
@@ -9,7 +9,7 @@ import net.lab1024.sa.common.constant.CacheKeyConst;
* @Date 2022-01-07 18:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
public class AdminCacheConst extends CacheKeyConst {
@@ -45,7 +45,7 @@ public class AdminCacheConst extends CacheKeyConst {
/**
* 分类相关缓存
*/
- public static class CATEGORY {
+ public static class Category {
public static final String CATEGORY_ENTITY = "category_cache";
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java
index 301c73a8..07cc8f66 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.constant;
-import net.lab1024.sa.common.constant.RedisKeyConst;
+import net.lab1024.sa.base.constant.RedisKeyConst;
/**
* redis key 常量类
@@ -9,7 +9,7 @@ import net.lab1024.sa.common.constant.RedisKeyConst;
* @Date 2022-01-07 18:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
public class AdminRedisKeyConst extends RedisKeyConst {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java
index a037fa66..9388b482 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.constant;
-import net.lab1024.sa.common.constant.SwaggerTagConst;
+import net.lab1024.sa.base.constant.SwaggerTagConst;
/**
* swagger
@@ -9,7 +9,7 @@ import net.lab1024.sa.common.constant.SwaggerTagConst;
* @Date 2022-01-07 18:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
public class AdminSwaggerTagConst extends SwaggerTagConst {
@@ -48,7 +48,6 @@ public class AdminSwaggerTagConst extends SwaggerTagConst {
public static final String SYSTEM_ROLE_MENU = "系统-角色-菜单";
- public static final String SYSTEM_DATA_TRACER = "系统-";
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java
new file mode 100644
index 00000000..870b30b6
--- /dev/null
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java
@@ -0,0 +1,190 @@
+package net.lab1024.sa.admin.interceptor;
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import cn.dev33.satoken.exception.SaTokenException;
+import cn.dev33.satoken.stp.StpUtil;
+import cn.dev33.satoken.strategy.SaStrategy;
+import cn.hutool.core.util.StrUtil;
+import lombok.extern.slf4j.Slf4j;
+import net.lab1024.sa.admin.module.system.login.domain.RequestEmployee;
+import net.lab1024.sa.admin.module.system.login.service.LoginService;
+import net.lab1024.sa.base.common.annoation.NoNeedLogin;
+import net.lab1024.sa.base.common.code.SystemErrorCode;
+import net.lab1024.sa.base.common.code.UserErrorCode;
+import net.lab1024.sa.base.common.constant.StringConst;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.domain.SystemEnvironment;
+import net.lab1024.sa.base.common.enumeration.SystemEnvironmentEnum;
+import net.lab1024.sa.base.common.enumeration.UserTypeEnum;
+import net.lab1024.sa.base.common.util.SmartRequestUtil;
+import net.lab1024.sa.base.common.util.SmartResponseUtil;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Method;
+
+/**
+ * admin 拦截器
+ *
+ * @Author 1024创新实验室-主任:卓大
+ * @Date 2023/7/26 20:20:33
+ * @Wechat zhuoda1024
+ * @Email lab1024@163.com
+ * @Copyright 1024创新实验室,Since 2012
+ */
+
+@Component
+@Slf4j
+public class AdminInterceptor implements HandlerInterceptor {
+
+ @Resource
+ private LoginService loginService;
+
+ @Resource
+ private SystemEnvironment systemEnvironment;
+
+ @Value("${sa-token.active-timeout}")
+ private long tokenActiveTimeout;
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+
+ // OPTIONS请求直接return
+ if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
+ response.setStatus(HttpStatus.NO_CONTENT.value());
+ return false;
+ }
+
+ boolean isHandler = handler instanceof HandlerMethod;
+ if (!isHandler) {
+ return true;
+ }
+
+ try {
+ // --------------- 第一步: 根据token 获取用户 ---------------
+
+ String tokenValue = StpUtil.getTokenValue();
+ boolean debugNumberTokenFlag = isDevDebugNumberToken(tokenValue);
+
+ String loginId = null;
+ if (debugNumberTokenFlag) {
+ //开发、测试环境,且为数字的话,则表明为 调试临时用户,即需要调用 sa-token switch
+ loginId = UserTypeEnum.ADMIN_EMPLOYEE.getValue() + StringConst.COLON + tokenValue;
+ StpUtil.switchTo(loginId);
+ } else {
+ loginId = (String) StpUtil.getLoginIdByToken(tokenValue);
+ }
+
+ RequestEmployee requestEmployee = loginService.getLoginEmployee(loginId, request);
+
+ // --------------- 第二步: 校验 登录 ---------------
+
+ Method method = ((HandlerMethod) handler).getMethod();
+ NoNeedLogin noNeedLogin = ((HandlerMethod) handler).getMethodAnnotation(NoNeedLogin.class);
+ if (noNeedLogin != null) {
+ checkActiveTimeout(requestEmployee,debugNumberTokenFlag);
+ return true;
+ }
+
+ if (requestEmployee == null) {
+ SmartResponseUtil.write(response, ResponseDTO.error(UserErrorCode.LOGIN_STATE_INVALID));
+ return false;
+ }
+
+ // 检测token 活跃频率
+ checkActiveTimeout(requestEmployee,debugNumberTokenFlag);
+
+
+ // --------------- 第三步: 校验 权限 ---------------
+
+ SmartRequestUtil.setRequestUser(requestEmployee);
+ if (SaStrategy.instance.isAnnotationPresent.apply(method, SaIgnore.class)) {
+ return true;
+ }
+
+ SaStrategy.instance.checkMethodAnnotation.accept(method);
+
+ } catch (SaTokenException e) {
+ /*
+ * sa-token 异常状态码
+ * 具体请看: https://sa-token.cc/doc.html#/fun/exception-code
+ */
+ int code = e.getCode();
+ if (code == 11041 || code == 11051) {
+ SmartResponseUtil.write(response, ResponseDTO.error(UserErrorCode.NO_PERMISSION));
+ } else if (code == 11016) {
+ SmartResponseUtil.write(response, ResponseDTO.error(UserErrorCode.LOGIN_ACTIVE_TIMEOUT));
+ } else if (code >= 11011 && code <= 11015) {
+ SmartResponseUtil.write(response, ResponseDTO.error(UserErrorCode.LOGIN_STATE_INVALID));
+ } else {
+ SmartResponseUtil.write(response, ResponseDTO.error(UserErrorCode.PARAM_ERROR));
+ }
+ return false;
+ } catch (Throwable e) {
+ SmartResponseUtil.write(response, ResponseDTO.error(SystemErrorCode.SYSTEM_ERROR));
+ log.error(e.getMessage(), e);
+ return false;
+ }
+
+ // 通过验证
+ return true;
+ }
+
+
+ /**
+ * 检测:token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结
+ */
+ private void checkActiveTimeout(RequestEmployee requestEmployee, boolean debugNumberTokenFlag) {
+
+ // 对于开发环境的 数字 debug token ,不需要检测活跃有效期
+ if (debugNumberTokenFlag) {
+ return;
+ }
+
+ // 用户不在线,也不用检测
+ if (requestEmployee == null) {
+ return;
+ }
+
+ // 小于1 ,也不需要检测
+ if (tokenActiveTimeout < 1) {
+ return;
+ }
+
+ StpUtil.checkActiveTimeout();
+ }
+
+
+ /**
+ * 是否为开发使用的 debug token
+ *
+ * @param token
+ * @return
+ */
+ private boolean isDevDebugNumberToken(String token) {
+ if (!StrUtil.isNumeric(token)) {
+ return false;
+ }
+ return systemEnvironment.getCurrentEnvironment() == SystemEnvironmentEnum.DEV
+ || systemEnvironment.getCurrentEnvironment() == SystemEnvironmentEnum.TEST;
+ }
+
+ @Override
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+ // 清除上下文
+ SmartRequestUtil.remove();
+ // 开发环境,关闭 sa token 的临时切换用户
+ if (systemEnvironment.getCurrentEnvironment() == SystemEnvironmentEnum.DEV) {
+ StpUtil.endSwitch();
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java
index cf8d0490..959045d1 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java
@@ -1,9 +1,6 @@
package net.lab1024.sa.admin.listener;
import lombok.extern.slf4j.Slf4j;
-import net.lab1024.sa.common.common.code.ErrorCodeRegister;
-import net.lab1024.sa.common.config.ScheduleConfig;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@@ -14,27 +11,14 @@ import org.springframework.stereotype.Component;
* @Date 2021-08-26 18:46:32
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Slf4j
@Component
public class AdminStartupRunner implements CommandLineRunner {
- @Autowired
- private ScheduleConfig scheduleConfig;
@Override
public void run(String... args) {
-
- // 初始化状态码
- int codeCount = ErrorCodeRegister.initialize();
-
- //TODO <卓大> :根据实际情况来决定是否开启定时任务
- String destroySchedules = "Spring 定时任务 @Schedule 已启动";
-// destroySchedules = scheduleConfig.destroy();
-
- log.info("\n ---------------【1024创新实验室 温馨提示:】 ErrorCode 共计完成初始化: {}个!---------------" +
- "\n ---------------【1024创新实验室 温馨提示:】 {}---------------\n", codeCount, destroySchedules);
-
}
}
\ No newline at end of file
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java
index 2df51fe3..c3be5116 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java
@@ -3,7 +3,7 @@ package net.lab1024.sa.admin.module.business.category.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import net.lab1024.sa.common.common.enumeration.BaseEnum;
+import net.lab1024.sa.base.common.enumeration.BaseEnum;
/**
* 分类类型 枚举
@@ -12,7 +12,7 @@ import net.lab1024.sa.common.common.enumeration.BaseEnum;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@AllArgsConstructor
@Getter
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java
index 5fff565a..460bd1fe 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java
@@ -1,8 +1,8 @@
package net.lab1024.sa.admin.module.business.category.controller;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import net.lab1024.sa.admin.common.AdminBaseController;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.business.category.domain.form.CategoryAddForm;
import net.lab1024.sa.admin.module.business.category.domain.form.CategoryTreeQueryForm;
@@ -10,11 +10,10 @@ import net.lab1024.sa.admin.module.business.category.domain.form.CategoryUpdateF
import net.lab1024.sa.admin.module.business.category.domain.vo.CategoryTreeVO;
import net.lab1024.sa.admin.module.business.category.domain.vo.CategoryVO;
import net.lab1024.sa.admin.module.business.category.service.CategoryService;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.module.support.operatelog.annoation.OperateLog;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@@ -25,42 +24,45 @@ import java.util.List;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
-@OperateLog
@RestController
-@Api(tags = AdminSwaggerTagConst.Business.MANAGER_CATEGORY)
-public class CategoryController extends AdminBaseController {
+@Tag(name = AdminSwaggerTagConst.Business.MANAGER_CATEGORY)
+public class CategoryController {
- @Autowired
+ @Resource
private CategoryService categoryService;
- @ApiOperation("添加类目 @author 胡克")
+ @Operation(summary = "添加类目 @author 胡克")
@PostMapping("/category/add")
+ @SaCheckPermission("category:add")
public ResponseDTO add(@RequestBody @Valid CategoryAddForm addForm) {
return categoryService.add(addForm);
}
- @ApiOperation("更新类目 @author 胡克")
+ @Operation(summary = "更新类目 @author 胡克")
@PostMapping("/category/update")
+ @SaCheckPermission("category:update")
public ResponseDTO update(@RequestBody @Valid CategoryUpdateForm updateForm) {
return categoryService.update(updateForm);
}
- @ApiOperation("查询类目详情 @author 胡克")
+ @Operation(summary = "查询类目详情 @author 胡克")
@GetMapping("/category/{categoryId}")
public ResponseDTO queryDetail(@PathVariable Long categoryId) {
return categoryService.queryDetail(categoryId);
}
- @ApiOperation("查询类目层级树 @author 胡克")
+ @Operation(summary = "查询类目层级树 @author 胡克")
@PostMapping("/category/tree")
+ @SaCheckPermission("category:tree")
public ResponseDTO> queryTree(@RequestBody @Valid CategoryTreeQueryForm queryForm) {
return categoryService.queryTree(queryForm);
}
- @ApiOperation("删除类目 @author 胡克")
+ @Operation(summary = "删除类目 @author 胡克")
@GetMapping("/category/delete/{categoryId}")
+ @SaCheckPermission("category:delete")
public ResponseDTO delete(@PathVariable Long categoryId) {
return categoryService.delete(categoryId);
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java
index c9ac00fd..fbed2e96 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java
@@ -16,7 +16,7 @@ import java.util.List;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Component
@Mapper
@@ -25,9 +25,9 @@ public interface CategoryDao extends BaseMapper {
/**
* 根据父级id 类型 查询子类
*
- * @param parentIdList
- * @param deletedFlag
- * @return
+ * @param parentIdList 父级id集合
+ * @param deletedFlag 删除标识
+ * @return 列表
*/
List queryByParentId(@Param("parentIdList") List parentIdList,
@Param("deletedFlag") Boolean deletedFlag);
@@ -35,10 +35,10 @@ public interface CategoryDao extends BaseMapper {
/**
* 根据父级id 类型 查询子类
*
- * @param parentIdList
+ * @param parentIdList 父级id集合
* @param categoryType {@link CategoryTypeEnum}
- * @param deletedFlag
- * @return
+ * @param deletedFlag 删除标识
+ * @return 列表
*/
List queryByParentIdAndType(@Param("parentIdList") List parentIdList,
@Param("categoryType") Integer categoryType,
@@ -46,26 +46,17 @@ public interface CategoryDao extends BaseMapper {
/**
* 某个类型的所有
- * @param categoryType
- * @param deletedFlag
- * @return
*/
List queryByType(@Param("categoryType") Integer categoryType,
@Param("deletedFlag") Boolean deletedFlag);
/**
* 根据类型和id查询
- * @param categoryType
- * @param categoryId
- * @return
*/
CategoryEntity selectByTypeAndId(@Param("categoryType") Integer categoryType, @Param("categoryId") Long categoryId);
/**
* 查看类目 具体条件 看sql
- *
- * @param entity
- * @return
*/
CategoryEntity selectOne(CategoryEntity entity);
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java
index 5381ab9c..f62dba24 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java
@@ -1,10 +1,10 @@
package net.lab1024.sa.admin.module.business.category.domain.dto;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
-import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
+import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
@@ -19,26 +19,26 @@ import javax.validation.constraints.NotNull;
@Data
public class CategoryBaseDTO {
- @ApiModelProperty(value = "类目名称", required = true)
+ @Schema(description = "类目名称", required = true)
@NotBlank(message = "类目名称不能为空")
@Length(max = 20, message = "类目名称最多20字符")
private String categoryName;
- @ApiModelPropertyEnum(desc = "分类类型", value = CategoryTypeEnum.class)
+ @SchemaEnum(desc = "分类类型", value = CategoryTypeEnum.class)
@CheckEnum(value = CategoryTypeEnum.class, required = true, message = "分类错误")
private Integer categoryType;
- @ApiModelProperty("父级类目id|可选")
+ @Schema(description = "父级类目id|可选")
private Long parentId;
- @ApiModelProperty("排序|可选")
+ @Schema(description = "排序|可选")
private Integer sort;
- @ApiModelProperty("备注|可选")
+ @Schema(description = "备注|可选")
@Length(max = 200, message = "备注最多200字符")
private String remark;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
@NotNull(message = "禁用状态不能为空")
private Boolean disabledFlag;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java
index 7f25e7b2..97d03100 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.category.domain.dto;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@@ -12,15 +12,15 @@ import lombok.Data;
@Data
public class CategorySimpleDTO {
- @ApiModelProperty("类目id")
+ @Schema(description = "类目id")
private Long categoryId;
- @ApiModelProperty("类目名称")
+ @Schema(description = "类目名称")
private String categoryName;
- @ApiModelProperty("类目层级全称")
+ @Schema(description = "类目层级全称")
private String categoryFullName;
- @ApiModelProperty("父级id")
+ @Schema(description = "父级id")
private Long parentId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java
index f8ee74af..83933a1d 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java
@@ -15,7 +15,7 @@ import java.time.LocalDateTime;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_category")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java
index 29a37810..4f8f2105 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java
@@ -1,11 +1,10 @@
package net.lab1024.sa.admin.module.business.category.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum;
-import net.lab1024.sa.admin.module.business.category.domain.dto.CategoryBaseDTO;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
-import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
+import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
@@ -18,31 +17,31 @@ import javax.validation.constraints.NotNull;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class CategoryAddForm {
- @ApiModelProperty(value = "类目名称", required = true)
+ @Schema(description = "类目名称", required = true)
@NotBlank(message = "类目名称不能为空")
@Length(max = 20, message = "类目名称最多20字符")
private String categoryName;
- @ApiModelPropertyEnum(desc = "分类类型", value = CategoryTypeEnum.class)
+ @SchemaEnum(desc = "分类类型", value = CategoryTypeEnum.class)
@CheckEnum(value = CategoryTypeEnum.class, required = true, message = "分类错误")
private Integer categoryType;
- @ApiModelProperty("父级类目id|可选")
+ @Schema(description = "父级类目id|可选")
private Long parentId;
- @ApiModelProperty("排序|可选")
+ @Schema(description = "排序|可选")
private Integer sort;
- @ApiModelProperty("备注|可选")
+ @Schema(description = "备注|可选")
@Length(max = 200, message = "备注最多200字符")
private String remark;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
@NotNull(message = "禁用状态不能为空")
private Boolean disabledFlag;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java
index 907bca77..87bf072f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java
@@ -1,9 +1,9 @@
package net.lab1024.sa.admin.module.business.category.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
/**
* 类目 层级树查询
@@ -12,14 +12,14 @@ import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class CategoryTreeQueryForm {
- @ApiModelPropertyEnum(desc = "分类类型|可选", value = CategoryTypeEnum.class)
+ @SchemaEnum(desc = "分类类型|可选", value = CategoryTypeEnum.class)
private Integer categoryType;
- @ApiModelProperty("父级类目id|可选")
+ @Schema(description = "父级类目id|可选")
private Long parentId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java
index 959c7027..8f12dd2f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.category.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.category.domain.dto.CategoryBaseDTO;
@@ -13,12 +13,12 @@ import javax.validation.constraints.NotNull;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class CategoryUpdateForm extends CategoryAddForm {
- @ApiModelProperty("类目id")
+ @Schema(description = "类目id")
@NotNull(message = "类目id不能为空")
private Long categoryId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java
index db3ecda3..3c55b658 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.category.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@@ -12,29 +12,29 @@ import java.util.List;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class CategoryTreeVO {
- @ApiModelProperty("类目id")
+ @Schema(description = "类目id")
private Long categoryId;
- @ApiModelProperty("类目名称")
+ @Schema(description = "类目名称")
private String categoryName;
- @ApiModelProperty("类目层级全称")
+ @Schema(description = "类目层级全称")
private String categoryFullName;
- @ApiModelProperty("父级id")
+ @Schema(description = "父级id")
private Long parentId;
- @ApiModelProperty("类目id")
+ @Schema(description = "类目id")
private Long value;
- @ApiModelProperty("类目名称")
+ @Schema(description = "类目名称")
private String label;
- @ApiModelProperty("子类")
+ @Schema(description = "子类")
private List children;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java
index 23b71962..14369582 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java
@@ -1,15 +1,10 @@
package net.lab1024.sa.admin.module.business.category.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum;
-import net.lab1024.sa.admin.module.business.category.domain.dto.CategoryBaseDTO;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
-import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
-import org.hibernate.validator.constraints.Length;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
@@ -19,30 +14,30 @@ import java.time.LocalDateTime;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class CategoryVO {
- @ApiModelProperty(value = "类目名称", required = true)
+ @Schema(description = "类目名称", required = true)
private String categoryName;
- @ApiModelPropertyEnum(desc = "分类类型", value = CategoryTypeEnum.class)
+ @SchemaEnum(desc = "分类类型", value = CategoryTypeEnum.class)
private Integer categoryType;
- @ApiModelProperty("父级类目id|可选")
+ @Schema(description = "父级类目id|可选")
private Long parentId;
- @ApiModelProperty("排序|可选")
+ @Schema(description = "排序|可选")
private Integer sort;
- @ApiModelProperty("备注|可选")
+ @Schema(description = "备注|可选")
private String remark;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
private Boolean disabledFlag;
- @ApiModelProperty("类目id")
+ @Schema(description = "类目id")
private Long categoryId;
private LocalDateTime updateTime;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java
index 819d99dc..b320bad5 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java
@@ -6,14 +6,14 @@ import net.lab1024.sa.admin.constant.AdminCacheConst;
import net.lab1024.sa.admin.module.business.category.dao.CategoryDao;
import net.lab1024.sa.admin.module.business.category.domain.entity.CategoryEntity;
import net.lab1024.sa.admin.module.business.category.domain.vo.CategoryTreeVO;
-import net.lab1024.sa.common.common.constant.StringConst;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.constant.StringConst;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -25,21 +25,21 @@ import java.util.stream.Collectors;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
@Slf4j
public class CategoryCacheManager {
- @Autowired
+ @Resource
private CategoryDao categoryDao;
/**
* 根据类目id 移除缓存
*/
- @CacheEvict(value = {AdminCacheConst.CATEGORY.CATEGORY_ENTITY, AdminCacheConst.CATEGORY.CATEGORY_SUB, AdminCacheConst.CATEGORY.CATEGORY_TREE}, allEntries = true)
+ @CacheEvict(value = {AdminCacheConst.Category.CATEGORY_ENTITY, AdminCacheConst.Category.CATEGORY_SUB, AdminCacheConst.Category.CATEGORY_TREE}, allEntries = true)
public void removeCache() {
log.info("clear CATEGORY ,CATEGORY_SUB ,CATEGORY_TREE");
}
@@ -47,10 +47,8 @@ public class CategoryCacheManager {
/**
* 查詢类目
*
- * @param categoryId
- * @return
*/
- @Cacheable(AdminCacheConst.CATEGORY.CATEGORY_ENTITY)
+ @Cacheable(AdminCacheConst.Category.CATEGORY_ENTITY)
public CategoryEntity queryCategory(Long categoryId) {
return categoryDao.selectById(categoryId);
}
@@ -58,10 +56,8 @@ public class CategoryCacheManager {
/**
* 查询类目 子级
*
- * @param categoryId
- * @return
*/
- @Cacheable(AdminCacheConst.CATEGORY.CATEGORY_SUB)
+ @Cacheable(AdminCacheConst.Category.CATEGORY_SUB)
public List querySubCategory(Long categoryId) {
return categoryDao.queryByParentId(Lists.newArrayList(categoryId), false);
}
@@ -70,10 +66,8 @@ public class CategoryCacheManager {
/**
* 查询类目 层级树
* 优先查询缓存
- *
- * @return
*/
- @Cacheable(AdminCacheConst.CATEGORY.CATEGORY_TREE)
+ @Cacheable(AdminCacheConst.Category.CATEGORY_TREE)
public List queryCategoryTree(Long parentId, Integer categoryType) {
List allCategoryEntityList = categoryDao.queryByType(categoryType, false);
@@ -93,7 +87,6 @@ public class CategoryCacheManager {
* 递归查询设置类目子类
* 从缓存查询子类
*
- * @param treeList
*/
private void queryAndSetSubCategory(List treeList, List allCategoryEntityList) {
if (CollectionUtils.isEmpty(treeList)) {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java
index 4f643e66..a04c2ea8 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java
@@ -4,15 +4,14 @@ import cn.hutool.core.util.StrUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
-import net.lab1024.sa.admin.module.business.category.dao.CategoryDao;
-import net.lab1024.sa.admin.module.business.category.domain.entity.CategoryEntity;
import net.lab1024.sa.admin.module.business.category.domain.dto.CategorySimpleDTO;
+import net.lab1024.sa.admin.module.business.category.domain.entity.CategoryEntity;
import net.lab1024.sa.admin.module.business.category.manager.CategoryCacheManager;
-import net.lab1024.sa.common.common.constant.StringConst;
+import net.lab1024.sa.base.common.constant.StringConst;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -24,7 +23,7 @@ import java.util.stream.Collectors;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
@Slf4j
@@ -32,10 +31,7 @@ public class CategoryQueryService {
private static final Long DEFAULT_CATEGORY_PARENT_ID = 0L;
- @Autowired
- private CategoryDao categoryDao;
-
- @Autowired
+ @Resource
private CategoryCacheManager categoryCacheManager;
/**
@@ -58,9 +54,6 @@ public class CategoryQueryService {
/**
* 根据 类目id集合 查询未删除的类目集合
- *
- * @param categoryIdList
- * @return
*/
public Map queryCategoryList(List categoryIdList) {
if (CollectionUtils.isEmpty(categoryIdList)) {
@@ -70,7 +63,7 @@ public class CategoryQueryService {
Map categoryEntityMap = Maps.newHashMap();
for (Long categoryId : categoryIdList) {
CategoryEntity categoryEntity = categoryCacheManager.queryCategory(categoryId);
- if(categoryEntity != null){
+ if (categoryEntity != null) {
categoryEntityMap.put(categoryId, categoryEntity);
}
}
@@ -82,8 +75,6 @@ public class CategoryQueryService {
* 根据类目id 递归查询该id的所有子类id 递归查询
* 同时存入缓存
* 注意:查询出来的集合 不包含传递的父类参数
- *
- * @param categoryIdList
*/
public List queryCategorySubId(List categoryIdList) {
if (CollectionUtils.isEmpty(categoryIdList)) {
@@ -107,8 +98,6 @@ public class CategoryQueryService {
/**
* 处理类目名称
- *
- * @param categoryIdList
*/
public List queryCategoryName(List categoryIdList) {
if (CollectionUtils.isEmpty(categoryIdList)) {
@@ -127,9 +116,6 @@ public class CategoryQueryService {
/**
* 根据类目id 查询类目名称
- *
- * @param categoryId
- * @return
*/
public String queryCategoryName(Long categoryId) {
CategoryEntity categoryEntity = categoryCacheManager.queryCategory(categoryId);
@@ -141,9 +127,6 @@ public class CategoryQueryService {
/**
* 根据类目id 查询类目详情 包含类目全称 如:医考/医师资格/临床执业
- *
- * @param categoryId
- * @return
*/
public CategorySimpleDTO queryCategoryInfo(Long categoryId) {
CategoryEntity categoryEntity = categoryCacheManager.queryCategory(categoryId);
@@ -163,9 +146,6 @@ public class CategoryQueryService {
/**
* 递归查询分类和所有父级类目
* ps:特别注意返回的集合中 包含自己
- *
- * @param categoryId
- * @return
*/
public List queryCategoryAndParent(Long categoryId) {
List parentCategoryList = Lists.newArrayList();
@@ -186,9 +166,6 @@ public class CategoryQueryService {
/**
* 查询 分类全称 如:医考/医师资格/临床执业
- *
- * @param categoryId
- * @return
*/
public String queryFullName(Long categoryId) {
List parentCategoryList = this.queryCategoryAndParent(categoryId);
@@ -199,13 +176,10 @@ public class CategoryQueryService {
/**
* 查询 分类全称 如:医考/医师资格/临床执业
- *
- * @param categoryIdList
- * @return
*/
public Map queryFullName(List categoryIdList) {
if (CollectionUtils.isEmpty(categoryIdList)) {
- return Collections.EMPTY_MAP;
+ return Maps.newHashMap();
}
// 循环内查询的缓存 还ok
return categoryIdList.stream().collect(Collectors.toMap(Function.identity(), this::queryFullName));
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java
index 2dd1ae44..0ee628f0 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java
@@ -9,14 +9,14 @@ import net.lab1024.sa.admin.module.business.category.domain.form.CategoryUpdateF
import net.lab1024.sa.admin.module.business.category.domain.vo.CategoryTreeVO;
import net.lab1024.sa.admin.module.business.category.domain.vo.CategoryVO;
import net.lab1024.sa.admin.module.business.category.manager.CategoryCacheManager;
-import net.lab1024.sa.common.common.code.UserErrorCode;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.code.UserErrorCode;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.math.NumberUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -28,25 +28,22 @@ import java.util.Optional;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
public class CategoryService {
- @Autowired
+ @Resource
private CategoryDao categoryDao;
- @Autowired
+ @Resource
private CategoryQueryService categoryQueryService;
- @Autowired
+ @Resource
private CategoryCacheManager categoryCacheManager;
/**
* 添加类目
- *
- * @author 胡克
- * @date 2021/1/20 17:17
*/
public ResponseDTO add(CategoryAddForm addForm) {
// 校验类目
@@ -73,8 +70,6 @@ public class CategoryService {
* 更新类目
* 不能更新父级类目
*
- * @author 胡克
- * @date 2021/1/20 17:17
*/
public ResponseDTO update(CategoryUpdateForm updateForm) {
// 校验类目
@@ -85,9 +80,9 @@ public class CategoryService {
}
CategoryEntity categoryEntity = SmartBeanUtil.copy(updateForm, CategoryEntity.class);
- /**
- * 不更新类目类型
- * 不更新父类id
+ /*
+ 不更新类目类型
+ 不更新父类id
*/
Integer categoryType = optional.get().getCategoryType();
categoryEntity.setCategoryType(categoryType);
@@ -107,9 +102,6 @@ public class CategoryService {
/**
* 新增/更新 类目时的 校验
*
- * @param categoryEntity
- * @param isUpdate
- * @return
*/
private ResponseDTO checkCategory(CategoryEntity categoryEntity, boolean isUpdate) {
// 校验父级是否存在
@@ -158,8 +150,6 @@ public class CategoryService {
/**
* 查询 类目详情
*
- * @param categoryId
- * @return
*/
public ResponseDTO queryDetail(Long categoryId) {
Optional optional = categoryQueryService.queryCategory(categoryId);
@@ -174,8 +164,6 @@ public class CategoryService {
* 根据父级id 查询所有子类 返回层级树
* 如果父类id 为空 返回所有类目层级
*
- * @param queryForm
- * @return
*/
public ResponseDTO> queryTree(CategoryTreeQueryForm queryForm) {
if (null == queryForm.getParentId()) {
@@ -192,8 +180,6 @@ public class CategoryService {
* 删除类目
* 如果有未删除的子类 则无法删除
*
- * @param categoryId
- * @return
*/
public ResponseDTO delete(Long categoryId) {
Optional optional = categoryQueryService.queryCategory(categoryId);
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java
index 8638da70..95d37d55 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java
@@ -3,7 +3,7 @@ package net.lab1024.sa.admin.module.business.goods.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import net.lab1024.sa.common.common.enumeration.BaseEnum;
+import net.lab1024.sa.base.common.enumeration.BaseEnum;
/**
* 商品状态
@@ -12,7 +12,7 @@ import net.lab1024.sa.common.common.enumeration.BaseEnum;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@AllArgsConstructor
@Getter
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java
index 7fa863c2..e9b938a4 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java
@@ -1,23 +1,28 @@
package net.lab1024.sa.admin.module.business.goods.controller;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import net.lab1024.sa.admin.common.AdminBaseController;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.alibaba.excel.EasyExcel;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.business.goods.domain.form.GoodsAddForm;
import net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm;
import net.lab1024.sa.admin.module.business.goods.domain.form.GoodsUpdateForm;
+import net.lab1024.sa.admin.module.business.goods.domain.vo.GoodsExcelVO;
import net.lab1024.sa.admin.module.business.goods.domain.vo.GoodsVO;
import net.lab1024.sa.admin.module.business.goods.service.GoodsService;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.domain.ValidateList;
-import net.lab1024.sa.common.module.support.operatelog.annoation.OperateLog;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.domain.ValidateList;
+import net.lab1024.sa.base.common.util.SmartResponseUtil;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
/**
* 商品业务
@@ -26,50 +31,74 @@ import javax.validation.Valid;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
-@OperateLog
@RestController
-@Api(tags = AdminSwaggerTagConst.Business.MANAGER_GOODS)
-public class GoodsController extends AdminBaseController {
+@Tag(name = AdminSwaggerTagConst.Business.MANAGER_GOODS)
+public class GoodsController {
- @Autowired
+ @Resource
private GoodsService goodsService;
- @ApiOperation("分页查询 @author 胡克")
+ @Operation(summary = "分页查询 @author 胡克")
@PostMapping("/goods/query")
- @PreAuthorize("@saAuth.checkPermission('goods:query')")
+ @SaCheckPermission("goods:query")
public ResponseDTO> query(@RequestBody @Valid GoodsQueryForm queryForm) {
return goodsService.query(queryForm);
}
- @ApiOperation("添加商品 @author 胡克")
+ @Operation(summary = "添加商品 @author 胡克")
@PostMapping("/goods/add")
- @PreAuthorize("@saAuth.checkPermission('goods:add')")
+ @SaCheckPermission("goods:add")
public ResponseDTO add(@RequestBody @Valid GoodsAddForm addForm) {
return goodsService.add(addForm);
}
- @ApiOperation("更新商品 @author 胡克")
+ @Operation(summary = "更新商品 @author 胡克")
@PostMapping("/goods/update")
- @PreAuthorize("@saAuth.checkPermission('goods:update')")
+ @SaCheckPermission("goods:update")
public ResponseDTO update(@RequestBody @Valid GoodsUpdateForm updateForm) {
return goodsService.update(updateForm);
}
- @ApiOperation("删除 @author 卓大")
+ @Operation(summary = "删除 @author 卓大")
@GetMapping("/goods/delete/{goodsId}")
- @PreAuthorize("@saAuth.checkPermission('goods:delete')")
+ @SaCheckPermission("goods:delete")
public ResponseDTO delete(@PathVariable Long goodsId) {
return goodsService.delete(goodsId);
}
- @ApiOperation("批量 @author 卓大")
+ @Operation(summary = "批量 @author 卓大")
@PostMapping("/goods/batchDelete")
- @PreAuthorize("@saAuth.checkPermission('goods:batchDelete')")
+ @SaCheckPermission("goods:batchDelete")
public ResponseDTO batchDelete(@RequestBody @Valid ValidateList idList) {
return goodsService.batchDelete(idList);
}
+ // --------------- 导出和导入 -------------------
+
+ @Operation(summary = "导入 @author 卓大")
+ @PostMapping("/goods/importGoods")
+ @SaCheckPermission("goods:importGoods")
+ public ResponseDTO importGoods(@RequestParam MultipartFile file) {
+ return goodsService.importGoods(file);
+ }
+
+ @Operation(summary = "导出 @author 卓大")
+ @GetMapping("/goods/exportGoods")
+ @SaCheckPermission("goods:exportGoods")
+ public void exportGoods(HttpServletResponse response) throws IOException {
+
+ List goodsList = goodsService.getAllGoods();
+
+ // 设置下载消息头
+ SmartResponseUtil.setDownloadFileHeader(response, "商品列表.xls", null);
+
+ // 下载
+ EasyExcel.write(response.getOutputStream(), GoodsExcelVO.class)
+ .autoCloseStream(Boolean.FALSE)
+ .sheet("商品")
+ .doWrite(goodsList);
+ }
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java
index 0493f2e3..148a685d 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java
@@ -18,7 +18,7 @@ import java.util.List;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Mapper
@Component
@@ -27,9 +27,6 @@ public interface GoodsDao extends BaseMapper {
/**
* 分页 查询商品
*
- * @param page
- * @param query
- * @return
*/
List query(Page page, @Param("query") GoodsQueryForm query);
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java
index a2878a66..775074f2 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java
@@ -4,10 +4,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
-import net.lab1024.sa.admin.module.business.category.dao.CategoryDao;
-import net.lab1024.sa.common.module.support.datatracer.annoation.DataTracerFieldBigDecimal;
-import net.lab1024.sa.common.module.support.datatracer.annoation.DataTracerFieldLabel;
-import net.lab1024.sa.common.module.support.datatracer.annoation.DataTracerFieldSql;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@@ -19,7 +15,7 @@ import java.time.LocalDateTime;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_goods")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java
index 27474272..cea581f1 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java
@@ -1,13 +1,12 @@
package net.lab1024.sa.admin.module.business.goods.domain.form;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
-import net.lab1024.sa.common.common.json.deserializer.DictValueVoDeserializer;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
-import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
-import org.hibernate.validator.constraints.Length;
+import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
+import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
@@ -21,37 +20,37 @@ import java.math.BigDecimal;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class GoodsAddForm {
- @ApiModelProperty("商品分类")
+ @Schema(description = "商品分类")
@NotNull(message = "商品分类不能为空")
private Long categoryId;
- @ApiModelProperty("商品名称")
+ @Schema(description = "商品名称")
@NotBlank(message = "商品名称不能为空")
private String goodsName;
- @ApiModelPropertyEnum(GoodsStatusEnum.class)
+ @SchemaEnum(GoodsStatusEnum.class)
@CheckEnum(message = "商品状态错误", value = GoodsStatusEnum.class, required = true)
private Integer goodsStatus;
- @ApiModelProperty("产地")
+ @Schema(description = "产地")
@NotBlank(message = "产地 不能为空 ")
@JsonDeserialize(using = DictValueVoDeserializer.class)
private String place;
- @ApiModelProperty("商品价格")
+ @Schema(description = "商品价格")
@NotNull(message = "商品价格不能为空")
@DecimalMin(value = "0", message = "商品价格最低0")
private BigDecimal price;
- @ApiModelProperty("上架状态")
+ @Schema(description = "上架状态")
@NotNull(message = "上架状态不能为空")
private Boolean shelvesFlag;
- @ApiModelProperty("备注|可选")
+ @Schema(description = "备注|可选")
private String remark;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsImportForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsImportForm.java
new file mode 100644
index 00000000..4b832166
--- /dev/null
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsImportForm.java
@@ -0,0 +1,37 @@
+package net.lab1024.sa.admin.module.business.goods.domain.form;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 商品 导入表单
+ *
+ * @Author 1024创新实验室: 胡克
+ * @Date 2021-10-25 20:26:54
+ * @Wechat zhuoda1024
+ * @Email lab1024@163.com
+ * @Copyright 1024创新实验室
+ */
+@Data
+public class GoodsImportForm {
+
+ @ExcelProperty("商品分类")
+ private String categoryName;
+
+ @ExcelProperty("商品名称")
+ private String goodsName;
+
+ @ExcelProperty("商品状态错误")
+ private String goodsStatus;
+
+ @ExcelProperty("产地")
+ private String place;
+
+ @ExcelProperty("商品价格")
+ private BigDecimal price;
+
+ @ExcelProperty("备注")
+ private String remark;
+}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java
index e25e3520..128939f8 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java
@@ -1,17 +1,13 @@
package net.lab1024.sa.admin.module.business.goods.domain.form;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
-import net.lab1024.sa.common.common.domain.PageParam;
-import net.lab1024.sa.common.common.json.deserializer.DictValueVoDeserializer;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
-import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
+import net.lab1024.sa.base.common.domain.PageParam;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
+import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.NotBlank;
-
/**
* 商品 分页查询
*
@@ -19,28 +15,28 @@ import javax.validation.constraints.NotBlank;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class GoodsQueryForm extends PageParam {
- @ApiModelProperty("商品分类")
+ @Schema(description = "商品分类")
private Integer categoryId;
- @ApiModelProperty("搜索词")
+ @Schema(description = "搜索词")
@Length(max = 30, message = "搜索词最多30字符")
private String searchWord;
- @ApiModelPropertyEnum(GoodsStatusEnum.class)
+ @SchemaEnum(GoodsStatusEnum.class)
@CheckEnum(message = "商品状态错误", value = GoodsStatusEnum.class, required = false)
private Integer goodsStatus;
- @ApiModelProperty("产地")
+ @Schema(description = "产地")
private String place;
- @ApiModelProperty("上架状态")
+ @Schema(description = "上架状态")
private Boolean shelvesFlag;
- @ApiModelProperty(hidden = true)
+ @Schema(hidden = true)
private Boolean deletedFlag;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java
index f72656ec..600a22ae 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.goods.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,12 +12,12 @@ import javax.validation.constraints.NotNull;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class GoodsUpdateForm extends GoodsAddForm {
- @ApiModelProperty("商品id")
+ @Schema(description = "商品id")
@NotNull(message = "商品id不能为空")
private Long goodsId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsExcelVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsExcelVO.java
new file mode 100644
index 00000000..fc7c8d8a
--- /dev/null
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsExcelVO.java
@@ -0,0 +1,43 @@
+package net.lab1024.sa.admin.module.business.goods.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * excel商品
+ *
+ * @Author 1024创新实验室: 胡克
+ * @Date 2021-10-25 20:26:54
+ * @Wechat zhuoda1024
+ * @Email lab1024@163.com
+ * @Copyright 1024创新实验室
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class GoodsExcelVO {
+
+ @ExcelProperty("商品分类")
+ private String categoryName;
+
+ @ExcelProperty("商品名称")
+ private String goodsName;
+
+ @ExcelProperty("商品状态错误")
+ private String goodsStatus;
+
+ @ExcelProperty("产地")
+ private String place;
+
+ @ExcelProperty("商品价格")
+ private BigDecimal price;
+
+ @ExcelProperty("备注")
+ private String remark;
+}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java
index fe7eaaf6..686b8e55 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java
@@ -1,11 +1,11 @@
package net.lab1024.sa.admin.module.business.goods.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
-import net.lab1024.sa.common.common.json.serializer.DictValueVoSerializer;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
+import net.lab1024.sa.base.common.json.serializer.DictValueVoSerializer;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@@ -17,37 +17,37 @@ import java.time.LocalDateTime;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class GoodsVO {
- @ApiModelProperty("商品分类")
+ @Schema(description = "商品分类")
private Long categoryId;
- @ApiModelProperty("商品名称")
+ @Schema(description = "商品名称")
private String goodsName;
- @ApiModelPropertyEnum(GoodsStatusEnum.class)
+ @SchemaEnum(GoodsStatusEnum.class)
private Integer goodsStatus;
- @ApiModelProperty("产地")
+ @Schema(description = "产地")
@JsonSerialize(using = DictValueVoSerializer.class)
private String place;
- @ApiModelProperty("商品价格")
+ @Schema(description = "商品价格")
private BigDecimal price;
- @ApiModelProperty("上架状态")
+ @Schema(description = "上架状态")
private Boolean shelvesFlag;
- @ApiModelProperty("备注|可选")
+ @Schema(description = "备注|可选")
private String remark;
- @ApiModelProperty("商品id")
+ @Schema(description = "商品id")
private Long goodsId;
- @ApiModelProperty("商品分类")
+ @Schema(description = "商品分类")
private String categoryName;
private LocalDateTime updateTime;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java
deleted file mode 100644
index 898b6aab..00000000
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package net.lab1024.sa.admin.module.business.goods.manager;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import net.lab1024.sa.admin.module.business.goods.dao.GoodsDao;
-import net.lab1024.sa.admin.module.business.goods.domain.entity.GoodsEntity;
-import org.springframework.stereotype.Service;
-
-/**
- * 商品 manager
- *
- * @Author 1024创新实验室: 胡克
- * @Date 2021-10-25 20:26:54
- * @Wechat zhuoda1024
- * @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
- */
-@Service
-public class GoodsManager extends ServiceImpl {
-
-}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java
index dfbdd03b..8b7b2d34 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java
@@ -1,6 +1,9 @@
package net.lab1024.sa.admin.module.business.goods.service;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum;
import net.lab1024.sa.admin.module.business.category.domain.entity.CategoryEntity;
import net.lab1024.sa.admin.module.business.category.service.CategoryQueryService;
@@ -8,26 +11,30 @@ import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
import net.lab1024.sa.admin.module.business.goods.dao.GoodsDao;
import net.lab1024.sa.admin.module.business.goods.domain.entity.GoodsEntity;
import net.lab1024.sa.admin.module.business.goods.domain.form.GoodsAddForm;
+import net.lab1024.sa.admin.module.business.goods.domain.form.GoodsImportForm;
import net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm;
import net.lab1024.sa.admin.module.business.goods.domain.form.GoodsUpdateForm;
+import net.lab1024.sa.admin.module.business.goods.domain.vo.GoodsExcelVO;
import net.lab1024.sa.admin.module.business.goods.domain.vo.GoodsVO;
-import net.lab1024.sa.admin.module.business.goods.manager.GoodsManager;
-import net.lab1024.sa.common.common.code.UserErrorCode;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
-import net.lab1024.sa.common.common.util.SmartPageUtil;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerTypeEnum;
-import net.lab1024.sa.common.module.support.datatracer.service.DataTracerService;
+import net.lab1024.sa.base.common.code.UserErrorCode;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.exception.BusinessException;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.util.SmartEnumUtil;
+import net.lab1024.sa.base.common.util.SmartPageUtil;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum;
+import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService;
+import net.lab1024.sa.base.module.support.dict.service.DictCacheService;
+import net.lab1024.sa.base.module.support.dict.service.DictService;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -37,29 +44,31 @@ import java.util.stream.Collectors;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
+@Slf4j
public class GoodsService {
- @Autowired
+
+ @Resource
private GoodsDao goodsDao;
- @Autowired
+ @Resource
private CategoryQueryService categoryQueryService;
- @Autowired
+ @Resource
private DataTracerService dataTracerService;
+ @Resource
+ private DictCacheService dictCacheService;
+
/**
* 添加商品
- *
- * @param addForm
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO add(GoodsAddForm addForm) {
// 商品校验
- ResponseDTO res = this.checkGoods(addForm, null);
+ ResponseDTO res = this.checkGoods(addForm);
if (!res.getOk()) {
return res;
}
@@ -72,14 +81,11 @@ public class GoodsService {
/**
* 更新商品
- *
- * @param updateForm
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO update(GoodsUpdateForm updateForm) {
// 商品校验
- ResponseDTO res = this.checkGoods(updateForm, updateForm.getGoodsId());
+ ResponseDTO res = this.checkGoods(updateForm);
if (!res.getOk()) {
return res;
}
@@ -92,12 +98,8 @@ public class GoodsService {
/**
* 添加/更新 商品校验
- *
- * @param addForm
- * @param goodsId 不为空 代表更新商品
- * @return
*/
- private ResponseDTO checkGoods(GoodsAddForm addForm, Long goodsId) {
+ private ResponseDTO checkGoods(GoodsAddForm addForm) {
// 校验类目id
Long categoryId = addForm.getCategoryId();
Optional optional = categoryQueryService.queryCategory(categoryId);
@@ -122,8 +124,8 @@ public class GoodsService {
return ResponseDTO.userErrorParam("只有售罄的商品才可以删除");
}
- batchDelete(Arrays.asList(goodsId));
- dataTracerService.batchDelete(Arrays.asList(goodsId), DataTracerTypeEnum.GOODS);
+ batchDelete(Collections.singletonList(goodsId));
+ dataTracerService.batchDelete(Collections.singletonList(goodsId), DataTracerTypeEnum.GOODS);
return ResponseDTO.ok();
}
@@ -142,9 +144,6 @@ public class GoodsService {
/**
* 分页查询
- *
- * @param queryForm
- * @return
*/
public ResponseDTO> query(GoodsQueryForm queryForm) {
queryForm.setDeletedFlag(false);
@@ -165,4 +164,48 @@ public class GoodsService {
});
return ResponseDTO.ok(pageResult);
}
+
+ /**
+ * 商品导入
+ *
+ * @param file 上传文件
+ * @return 结果
+ */
+ public ResponseDTO importGoods(MultipartFile file) {
+ List dataList;
+ try {
+ dataList = EasyExcel.read(file.getInputStream()).head(GoodsImportForm.class)
+ .sheet()
+ .doReadSync();
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ throw new BusinessException("数据格式存在问题,无法读取");
+ }
+
+ if (CollectionUtils.isEmpty(dataList)) {
+ return ResponseDTO.userErrorParam("数据为空");
+ }
+
+ return ResponseDTO.okMsg("成功导入" + dataList.size() + "条,具体数据为:" + JSON.toJSONString(dataList));
+ }
+
+ /**
+ * 商品导出
+ */
+ public List getAllGoods() {
+ List goodsEntityList = goodsDao.selectList(null);
+ return goodsEntityList.stream()
+ .map(e ->
+ GoodsExcelVO.builder()
+ .goodsStatus(SmartEnumUtil.getEnumDescByValue(e.getGoodsStatus(), GoodsStatusEnum.class))
+ .categoryName(categoryQueryService.queryCategoryName(e.getCategoryId()))
+ .place(dictCacheService.selectValueNameByValueCode(e.getPlace()))
+ .price(e.getPrice())
+ .goodsName(e.getGoodsName())
+ .remark(e.getRemark())
+ .build()
+ )
+ .collect(Collectors.toList());
+
+ }
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java
index 96fbea31..6e1f8ed7 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java
@@ -1,19 +1,19 @@
package net.lab1024.sa.admin.module.business.oa.bank;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.business.oa.bank.domain.BankCreateForm;
import net.lab1024.sa.admin.module.business.oa.bank.domain.BankQueryForm;
import net.lab1024.sa.admin.module.business.oa.bank.domain.BankUpdateForm;
import net.lab1024.sa.admin.module.business.oa.bank.domain.BankVO;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.RequestUser;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartRequestUtil;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.RequestUser;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartRequestUtil;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@@ -24,34 +24,34 @@ import java.util.List;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@RestController
-@Api(tags = {AdminSwaggerTagConst.Business.OA_BANK})
+@Tag(name = AdminSwaggerTagConst.Business.OA_BANK)
public class BankController {
- @Autowired
+ @Resource
private BankService bankService;
- @ApiOperation(value = "分页查询银行信息 @author 善逸")
+ @Operation(summary = "分页查询银行信息 @author 善逸")
@PostMapping("/oa/bank/page/query")
- public ResponseDTO> queryByPage(@RequestBody @Valid BankQueryForm queryDTO) {
- return bankService.queryByPage(queryDTO);
+ public ResponseDTO> queryByPage(@RequestBody @Valid BankQueryForm queryForm) {
+ return bankService.queryByPage(queryForm);
}
- @ApiOperation(value = "根据企业ID查询银行信息列表 @author 善逸")
+ @Operation(summary = "根据企业ID查询银行信息列表 @author 善逸")
@GetMapping("/oa/bank/query/list/{enterpriseId}")
public ResponseDTO> queryList(@PathVariable Long enterpriseId) {
return bankService.queryList(enterpriseId);
}
- @ApiOperation(value = "查询银行信息详情 @author 善逸")
+ @Operation(summary = "查询银行信息详情 @author 善逸")
@GetMapping("/oa/bank/get/{bankId}")
public ResponseDTO getDetail(@PathVariable Long bankId) {
return bankService.getDetail(bankId);
}
- @ApiOperation(value = "新建银行信息 @author 善逸")
+ @Operation(summary = "新建银行信息 @author 善逸")
@PostMapping("/oa/bank/create")
public ResponseDTO createBank(@RequestBody @Valid BankCreateForm createVO) {
RequestUser requestUser = SmartRequestUtil.getRequestUser();
@@ -60,13 +60,13 @@ public class BankController {
return bankService.createBank(createVO);
}
- @ApiOperation(value = "编辑银行信息 @author 善逸")
+ @Operation(summary = "编辑银行信息 @author 善逸")
@PostMapping("/oa/bank/update")
public ResponseDTO updateBank(@RequestBody @Valid BankUpdateForm updateVO) {
return bankService.updateBank(updateVO);
}
- @ApiOperation(value = "删除银行信息 @author 善逸")
+ @Operation(summary = "删除银行信息 @author 善逸")
@GetMapping("/oa/bank/delete/{bankId}")
public ResponseDTO deleteBank(@PathVariable Long bankId) {
return bankService.deleteBank(bankId);
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
index a45d406a..bc508070 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
@@ -18,7 +18,7 @@ import java.util.List;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Mapper
@Component
@@ -26,36 +26,23 @@ public interface BankDao extends BaseMapper {
/**
* 根据账号查询
- * @param enterpriseId
- * @param accountNumber
- * @param excludeBankId
- * @param deletedFlag
- * @return
*/
BankEntity queryByAccountNumber(@Param("enterpriseId") Long enterpriseId, @Param("accountNumber") String accountNumber, @Param("excludeBankId") Long excludeBankId, @Param("deletedFlag") Boolean deletedFlag);
/**
* 删除银行信息
*
- * @param bankId
- * @param deletedFlag
*/
void deleteBank(@Param("bankId") Long bankId, @Param("deletedFlag") Boolean deletedFlag);
/**
* 银行信息分页查询
*
- * @param page
- * @param queryForm
- * @return
*/
List queryPage(Page page, @Param("queryForm") BankQueryForm queryForm);
/**
* 查询银行信息详情
- * @param bankId
- * @param deletedFlag
- * @return
*/
BankVO getDetail(@Param("bankId") Long bankId, @Param("deletedFlag") Boolean deletedFlag);
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java
index 48c120bc..72d51457 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java
@@ -5,17 +5,17 @@ import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.module.business.oa.bank.domain.*;
import net.lab1024.sa.admin.module.business.oa.enterprise.dao.EnterpriseDao;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.entity.EnterpriseEntity;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
-import net.lab1024.sa.common.common.util.SmartPageUtil;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerConst;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerTypeEnum;
-import net.lab1024.sa.common.module.support.datatracer.service.DataTracerService;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.util.SmartPageUtil;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerConst;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum;
+import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
@@ -26,53 +26,45 @@ import java.util.Objects;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
@Slf4j
public class BankService {
- @Autowired
+ @Resource
private BankDao bankDao;
- @Autowired
+
+ @Resource
private EnterpriseDao enterpriseDao;
- @Autowired
+ @Resource
private DataTracerService dataTracerService;
/**
* 分页查询银行信息
- *
- * @param queryDTO
- * @return
*/
- public ResponseDTO> queryByPage(BankQueryForm queryDTO) {
- queryDTO.setDeletedFlag(Boolean.FALSE);
- Page> page = SmartPageUtil.convert2PageQuery(queryDTO);
- List bankVOS = bankDao.queryPage(page, queryDTO);
- PageResult pageResult = SmartPageUtil.convert2PageResult(page, bankVOS);
+ public ResponseDTO> queryByPage(BankQueryForm queryForm) {
+ queryForm.setDeletedFlag(Boolean.FALSE);
+ Page> page = SmartPageUtil.convert2PageQuery(queryForm);
+ List bankList = bankDao.queryPage(page, queryForm);
+ PageResult pageResult = SmartPageUtil.convert2PageResult(page, bankList);
return ResponseDTO.ok(pageResult);
}
/**
* 根据企业ID查询不分页的银行列表
- *
- * @param enterpriseId
- * @return
*/
public ResponseDTO> queryList(Long enterpriseId) {
- BankQueryForm queryDTO = new BankQueryForm();
- queryDTO.setEnterpriseId(enterpriseId);
- queryDTO.setDeletedFlag(Boolean.FALSE);
- List bankVOS = bankDao.queryPage(null, queryDTO);
- return ResponseDTO.ok(bankVOS);
+ BankQueryForm queryForm = new BankQueryForm();
+ queryForm.setEnterpriseId(enterpriseId);
+ queryForm.setDeletedFlag(Boolean.FALSE);
+ List bankList = bankDao.queryPage(null, queryForm);
+ return ResponseDTO.ok(bankList);
}
/**
* 查询银行信息详情
- *
- * @param bankId
- * @return
*/
public ResponseDTO getDetail(Long bankId) {
// 校验银行信息是否存在
@@ -85,9 +77,6 @@ public class BankService {
/**
* 新建银行信息
- *
- * @param createVO
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO createBank(BankCreateForm createVO) {
@@ -111,9 +100,6 @@ public class BankService {
/**
* 编辑银行信息
- *
- * @param updateVO
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO updateBank(BankUpdateForm updateVO) {
@@ -144,9 +130,6 @@ public class BankService {
/**
* 删除银行信息
- *
- * @param bankId
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO deleteBank(Long bankId) {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java
index 031ceb75..eaa7b987 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.bank.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -14,45 +14,45 @@ import javax.validation.constraints.NotNull;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class BankCreateForm {
- @ApiModelProperty("开户银行")
+ @Schema(description = "开户银行")
@NotBlank(message = "开户银行不能为空")
@Length(max = 200, message = "开户银行最多200字符")
private String bankName;
- @ApiModelProperty("账户名称")
+ @Schema(description = "账户名称")
@NotBlank(message = "账户名称不能为空")
@Length(max = 200, message = "账户名称最多200字符")
private String accountName;
- @ApiModelProperty("账号")
+ @Schema(description = "账号")
@NotBlank(message = "账号不能为空")
@Length(max = 200, message = "账号最多200字符")
private String accountNumber;
- @ApiModelProperty("备注")
+ @Schema(description = "备注")
@Length(max = 500, message = "备注最多500字符")
private String remark;
- @ApiModelProperty("是否对公")
+ @Schema(description = "是否对公")
@NotNull(message = "是否对公不能为空")
private Boolean businessFlag;
- @ApiModelProperty("企业")
+ @Schema(description = "企业")
@NotNull(message = "企业不能为空")
private Long enterpriseId;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
@NotNull(message = "禁用状态不能为空")
private Boolean disabledFlag;
- @ApiModelProperty(value = "创建人", hidden = true)
+ @Schema(hidden = true)
private Long createUserId;
- @ApiModelProperty(value = "创建人", hidden = true)
+ @Schema(hidden = true)
private String createUserName;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java
index 0b3ec08d..a9f0a060 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
-import net.lab1024.sa.common.module.support.datatracer.annoation.DataTracerFieldLabel;
+import net.lab1024.sa.base.module.support.datatracer.annoation.DataTracerFieldLabel;
import java.time.LocalDateTime;
@@ -15,7 +15,7 @@ import java.time.LocalDateTime;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_oa_bank")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java
index 839b02f6..53a405c0 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java
@@ -1,8 +1,8 @@
package net.lab1024.sa.admin.module.business.oa.bank.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.domain.PageParam;
+import net.lab1024.sa.base.common.domain.PageParam;
import org.hibernate.validator.constraints.Length;
import java.time.LocalDate;
@@ -14,27 +14,27 @@ import java.time.LocalDate;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class BankQueryForm extends PageParam {
- @ApiModelProperty("企业ID")
+ @Schema(description = "企业ID")
private Long enterpriseId;
- @ApiModelProperty("关键字")
+ @Schema(description = "关键字")
@Length(max = 200, message = "关键字最多200字符")
private String keywords;
- @ApiModelProperty("开始时间")
+ @Schema(description = "开始时间")
private LocalDate startTime;
- @ApiModelProperty("结束时间")
+ @Schema(description = "结束时间")
private LocalDate endTime;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
private Boolean disabledFlag;
- @ApiModelProperty(value = "删除状态", hidden = true)
+ @Schema(description = "删除状态", hidden = true)
private Boolean deletedFlag;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java
index db8a2c71..74dca2a7 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.bank.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,12 +12,12 @@ import javax.validation.constraints.NotNull;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class BankUpdateForm extends BankCreateForm {
- @ApiModelProperty("银行信息ID")
+ @Schema(description = "银行信息ID")
@NotNull(message = "银行信息ID不能为空")
private Long bankId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java
index 5cfcb5b6..d263f38c 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.bank.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@@ -12,47 +12,47 @@ import java.time.LocalDateTime;
* @Date 2022/6/23 21:59:22
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class BankVO {
- @ApiModelProperty("银行信息ID")
+ @Schema(description = "银行信息ID")
private Long bankId;
- @ApiModelProperty("开户银行")
+ @Schema(description = "开户银行")
private String bankName;
- @ApiModelProperty("账户名称")
+ @Schema(description = "账户名称")
private String accountName;
- @ApiModelProperty("账号")
+ @Schema(description = "账号")
private String accountNumber;
- @ApiModelProperty("备注")
+ @Schema(description = "备注")
private String remark;
- @ApiModelProperty("是否对公")
+ @Schema(description = "是否对公")
private Boolean businessFlag;
- @ApiModelProperty("企业ID")
+ @Schema(description = "企业ID")
private Long enterpriseId;
- @ApiModelProperty("企业名称")
+ @Schema(description = "企业名称")
private String enterpriseName;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
private Boolean disabledFlag;
- @ApiModelProperty("创建人ID")
+ @Schema(description = "创建人ID")
private Long createUserId;
- @ApiModelProperty("创建人名称")
+ @Schema(description = "创建人名称")
private String createUserName;
- @ApiModelProperty("创建时间")
+ @Schema(description = "创建时间")
private LocalDateTime createTime;
- @ApiModelProperty("更新时间")
+ @Schema(description = "更新时间")
private LocalDateTime updateTime;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java
index efc0143b..7b3d3f4a 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java
@@ -1,23 +1,29 @@
package net.lab1024.sa.admin.module.business.oa.enterprise;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.alibaba.excel.EasyExcel;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.form.*;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseEmployeeVO;
+import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseExcelVO;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseListVO;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseVO;
-import net.lab1024.sa.common.common.annoation.SaAuth;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.RequestUser;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartRequestUtil;
-import net.lab1024.sa.common.module.support.operatelog.annoation.OperateLog;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.RequestUser;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartRequestUtil;
+import net.lab1024.sa.base.common.util.SmartResponseUtil;
+import net.lab1024.sa.base.module.support.operatelog.annotation.OperateLog;
+import org.apache.commons.collections.CollectionUtils;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.io.IOException;
import java.util.List;
/**
@@ -27,34 +33,53 @@ import java.util.List;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Slf4j
@RestController
+@Tag(name = AdminSwaggerTagConst.Business.OA_ENTERPRISE)
@OperateLog
-@Api(tags = {AdminSwaggerTagConst.Business.OA_ENTERPRISE})
public class EnterpriseController {
- @Autowired
+ @Resource
private EnterpriseService enterpriseService;
- @ApiOperation(value = "分页查询企业模块 @author 开云")
+ @Operation(summary = "分页查询企业模块 @author 开云")
@PostMapping("/oa/enterprise/page/query")
- @SaAuth
- public ResponseDTO> queryByPage(@RequestBody @Valid EnterpriseQueryForm queryDTO) {
- return enterpriseService.queryByPage(queryDTO);
+ @SaCheckPermission("oa:enterprise:query")
+ public ResponseDTO> queryByPage(@RequestBody @Valid EnterpriseQueryForm queryForm) {
+ return enterpriseService.queryByPage(queryForm);
}
- @ApiOperation(value = "查询企业详情 @author 开云")
+ @Operation(summary = "导出企业信息 @author 卓大")
+ @PostMapping("/oa/enterprise/exportExcel")
+ public void exportExcel(@RequestBody @Valid EnterpriseQueryForm queryForm, HttpServletResponse response) throws IOException {
+ List data = enterpriseService.getExcelExportData(queryForm);
+ if (CollectionUtils.isEmpty(data)) {
+ SmartResponseUtil.write(response, ResponseDTO.userErrorParam("暂无数据"));
+ return;
+ }
+
+ // 设置下载消息头
+ SmartResponseUtil.setDownloadFileHeader(response, "企业基本信息.xls", null);
+
+ // 下载
+ EasyExcel.write(response.getOutputStream(), EnterpriseExcelVO.class)
+ .autoCloseStream(Boolean.FALSE)
+ .sheet("企业信息")
+ .doWrite(data);
+ }
+
+ @Operation(summary = "查询企业详情 @author 开云")
@GetMapping("/oa/enterprise/get/{enterpriseId}")
- @SaAuth
+ @SaCheckPermission("oa:enterprise:detail")
public ResponseDTO getDetail(@PathVariable Long enterpriseId) {
return ResponseDTO.ok(enterpriseService.getDetail(enterpriseId));
}
- @ApiOperation(value = "新建企业 @author 开云")
+ @Operation(summary = "新建企业 @author 开云")
@PostMapping("/oa/enterprise/create")
- @SaAuth
+ @SaCheckPermission("oa:enterprise:add")
public ResponseDTO createEnterprise(@RequestBody @Valid EnterpriseCreateForm createVO) {
RequestUser requestUser = SmartRequestUtil.getRequestUser();
createVO.setCreateUserId(requestUser.getUserId());
@@ -62,53 +87,50 @@ public class EnterpriseController {
return enterpriseService.createEnterprise(createVO);
}
- @ApiOperation(value = "编辑企业 @author 开云")
+ @Operation(summary = "编辑企业 @author 开云")
@PostMapping("/oa/enterprise/update")
- @SaAuth
+ @SaCheckPermission("oa:enterprise:update")
public ResponseDTO updateEnterprise(@RequestBody @Valid EnterpriseUpdateForm updateVO) {
return enterpriseService.updateEnterprise(updateVO);
}
- @ApiOperation(value = "删除企业 @author 开云")
+ @Operation(summary = "删除企业 @author 开云")
@GetMapping("/oa/enterprise/delete/{enterpriseId}")
- @SaAuth
+ @SaCheckPermission("oa:enterprise:delete")
public ResponseDTO deleteEnterprise(@PathVariable Long enterpriseId) {
return enterpriseService.deleteEnterprise(enterpriseId);
}
- @ApiOperation(value = "企业列表查询 @author 开云")
+ @Operation(summary = "按照类型查询企业 @author 开云")
@GetMapping("/oa/enterprise/query/list")
- @SaAuth
public ResponseDTO> queryList(@RequestParam(value = "type", required = false) Integer type) {
return enterpriseService.queryList(type);
}
- @ApiOperation(value = "企业添加员工 @author 罗伊")
+ @Operation(summary = "企业添加员工 @author 罗伊")
@PostMapping("/oa/enterprise/employee/add")
- @SaAuth
+ @SaCheckPermission("oa:enterprise:addEmployee")
public ResponseDTO addEmployee(@RequestBody @Valid EnterpriseEmployeeForm enterpriseEmployeeForm) {
return enterpriseService.addEmployee(enterpriseEmployeeForm);
}
- @ApiOperation(value = "查询企业全部员工 @author 罗伊")
+ @Operation(summary = "查询企业全部员工 @author 罗伊")
@PostMapping("/oa/enterprise/employee/list")
- @SaAuth
public ResponseDTO> employeeList(@RequestBody @Valid List enterpriseIdList) {
return ResponseDTO.ok(enterpriseService.employeeList(enterpriseIdList));
}
- @ApiOperation(value = "分页查询企业员工 @author 卓大")
+ @Operation(summary = "分页查询企业员工 @author 卓大")
@PostMapping("/oa/enterprise/employee/queryPage")
- @SaAuth
public ResponseDTO> queryPageEmployeeList(@RequestBody @Valid EnterpriseEmployeeQueryForm queryForm) {
return ResponseDTO.ok(enterpriseService.queryPageEmployeeList(queryForm));
}
- @ApiOperation(value = "企业删除员工 @author 罗伊")
+ @Operation(summary = "企业删除员工 @author 罗伊")
@PostMapping("/oa/enterprise/employee/delete")
- @SaAuth
+ @SaCheckPermission("oa:enterprise:deleteEmployee")
public ResponseDTO deleteEmployee(@RequestBody @Valid EnterpriseEmployeeForm enterpriseEmployeeForm) {
return enterpriseService.deleteEmployee(enterpriseEmployeeForm);
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java
index 1ac3fd5e..f90b21ac 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java
@@ -12,7 +12,7 @@ import org.springframework.stereotype.Service;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
public class EnterpriseEmployeeManager extends ServiceImpl {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java
index b065d3b8..04954b07 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java
@@ -1,6 +1,5 @@
package net.lab1024.sa.admin.module.business.oa.enterprise;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
@@ -10,22 +9,23 @@ import net.lab1024.sa.admin.module.business.oa.enterprise.domain.entity.Enterpri
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.entity.EnterpriseEntity;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.form.*;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseEmployeeVO;
+import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseExcelVO;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseListVO;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseVO;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
-import net.lab1024.sa.common.common.code.UserErrorCode;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
-import net.lab1024.sa.common.common.util.SmartPageUtil;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerTypeEnum;
-import net.lab1024.sa.common.module.support.datatracer.domain.form.DataTracerForm;
-import net.lab1024.sa.common.module.support.datatracer.service.DataTracerService;
+import net.lab1024.sa.base.common.code.UserErrorCode;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.util.SmartPageUtil;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum;
+import net.lab1024.sa.base.module.support.datatracer.domain.form.DataTracerForm;
+import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -37,57 +37,58 @@ import java.util.stream.Collectors;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
@Slf4j
public class EnterpriseService {
- @Autowired
+ @Resource
private EnterpriseDao enterpriseDao;
- @Autowired
+ @Resource
private EnterpriseEmployeeDao enterpriseEmployeeDao;
- @Autowired
+ @Resource
private EnterpriseEmployeeManager enterpriseEmployeeManager;
- @Autowired
+ @Resource
private DataTracerService dataTracerService;
- @Autowired
+ @Resource
private DepartmentService departmentService;
/**
* 分页查询企业模块
*
- * @param queryDTO
- * @return
*/
- public ResponseDTO> queryByPage(EnterpriseQueryForm queryDTO) {
- queryDTO.setDeletedFlag(Boolean.FALSE);
- Page> page = SmartPageUtil.convert2PageQuery(queryDTO);
- List enterpriseVOS = enterpriseDao.queryPage(page, queryDTO);
- PageResult pageResult = SmartPageUtil.convert2PageResult(page, enterpriseVOS);
+ public ResponseDTO> queryByPage(EnterpriseQueryForm queryForm) {
+ queryForm.setDeletedFlag(Boolean.FALSE);
+ Page> page = SmartPageUtil.convert2PageQuery(queryForm);
+ List enterpriseList = enterpriseDao.queryPage(page, queryForm);
+ PageResult pageResult = SmartPageUtil.convert2PageResult(page, enterpriseList);
return ResponseDTO.ok(pageResult);
}
+ /**
+ * 获取导出数据
+ */
+ public List getExcelExportData(EnterpriseQueryForm queryForm) {
+ queryForm.setDeletedFlag(false);
+ return enterpriseDao.selectExcelExportData(queryForm);
+ }
+
/**
* 查询企业详情
*
- * @param enterpriseId
- * @return
*/
public EnterpriseVO getDetail(Long enterpriseId) {
- EnterpriseVO enterpriseDetail = enterpriseDao.getDetail(enterpriseId, Boolean.FALSE);
- return enterpriseDetail;
+ return enterpriseDao.getDetail(enterpriseId, Boolean.FALSE);
}
/**
* 新建企业
*
- * @param createVO
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO createEnterprise(EnterpriseCreateForm createVO) {
@@ -106,8 +107,6 @@ public class EnterpriseService {
/**
* 编辑企业
*
- * @param updateVO
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO updateEnterprise(EnterpriseUpdateForm updateVO) {
@@ -144,8 +143,6 @@ public class EnterpriseService {
/**
* 删除企业
*
- * @param enterpriseId
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO deleteEnterprise(Long enterpriseId) {
@@ -161,12 +158,10 @@ public class EnterpriseService {
/**
* 企业列表查询
- *
- * @return
*/
public ResponseDTO> queryList(Integer type) {
- List enterpriseListVOS = enterpriseDao.queryList(type, Boolean.FALSE, Boolean.FALSE);
- return ResponseDTO.ok(enterpriseListVOS);
+ List enterpriseList = enterpriseDao.queryList(type, Boolean.FALSE, Boolean.FALSE);
+ return ResponseDTO.ok(enterpriseList);
}
//----------------------------------------- 以下为员工相关--------------------------------------------
@@ -174,8 +169,6 @@ public class EnterpriseService {
/**
* 企业添加员工
*
- * @param enterpriseEmployeeForm
- * @return
*/
public synchronized ResponseDTO addEmployee(EnterpriseEmployeeForm enterpriseEmployeeForm) {
Long enterpriseId = enterpriseEmployeeForm.getEnterpriseId();
@@ -207,8 +200,6 @@ public class EnterpriseService {
/**
* 企业删除员工
*
- * @param enterpriseEmployeeForm
- * @return
*/
public synchronized ResponseDTO deleteEmployee(EnterpriseEmployeeForm enterpriseEmployeeForm) {
Long enterpriseId = enterpriseEmployeeForm.getEnterpriseId();
@@ -224,22 +215,17 @@ public class EnterpriseService {
/**
* 企业下员工列表
*
- * @param enterpriseIdList
- * @return
*/
public List employeeList(List enterpriseIdList) {
if (CollectionUtils.isEmpty(enterpriseIdList)) {
return Lists.newArrayList();
}
- List enterpriseEmployeeVOList = enterpriseEmployeeDao.selectByEnterpriseIdList(enterpriseIdList);
- return enterpriseEmployeeVOList;
+ return enterpriseEmployeeDao.selectByEnterpriseIdList(enterpriseIdList);
}
/**
* 分页查询企业员工
*
- * @param queryForm
- * @return
*/
public PageResult queryPageEmployeeList(EnterpriseEmployeeQueryForm queryForm) {
Page> page = SmartPageUtil.convert2PageQuery(queryForm);
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java
index ddbf5f79..96033550 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java
@@ -1,7 +1,7 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.constant;
-import net.lab1024.sa.common.common.enumeration.BaseEnum;
+import net.lab1024.sa.base.common.enumeration.BaseEnum;
/**
* 企业类型
@@ -10,12 +10,18 @@ import net.lab1024.sa.common.common.enumeration.BaseEnum;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
public enum EnterpriseTypeEnum implements BaseEnum {
+ /**
+ * 有限企业
+ */
NORMAL(1, "有限企业"),
+ /**
+ * 外资企业
+ */
FOREIGN(2, "外资企业"),
;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java
index 5b58609a..ee358cb3 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.entity.EnterpriseEntity;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.form.EnterpriseQueryForm;
+import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseExcelVO;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseListVO;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseVO;
import org.apache.ibatis.annotations.Mapper;
@@ -19,7 +20,7 @@ import java.util.List;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Mapper
@Component
@@ -28,45 +29,37 @@ public interface EnterpriseDao extends BaseMapper {
/**
* 根据企业名称查询
*
- * @param enterpriseName
- * @param excludeEnterpriseId
- * @param deletedFlag
- * @return
*/
EnterpriseEntity queryByEnterpriseName(@Param("enterpriseName") String enterpriseName, @Param("excludeEnterpriseId") Long excludeEnterpriseId, @Param("deletedFlag") Boolean deletedFlag);
/**
* 删除企业
- *
- * @param enterpriseId
- * @param deletedFlag
*/
void deleteEnterprise(@Param("enterpriseId") Long enterpriseId, @Param("deletedFlag") Boolean deletedFlag);
/**
* 企业分页查询
*
- * @param page
- * @param queryForm
- * @return
*/
List queryPage(Page page, @Param("queryForm") EnterpriseQueryForm queryForm);
+ /**
+ * 查询导出的数据
+ *
+ */
+ List selectExcelExportData(@Param("queryForm") EnterpriseQueryForm queryForm);
+
/**
* 查询企业详情
*
- * @param enterpriseId
- * @return
*/
EnterpriseVO getDetail(@Param("enterpriseId") Long enterpriseId, @Param("deletedFlag") Boolean deletedFlag);
/**
* 查询列表
*
- * @param type
- * @param disabledFlag
- * @param deletedFlag
- * @return
*/
List queryList(@Param("type") Integer type, @Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag);
+
+
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java
index 93808710..d27d392d 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java
@@ -19,7 +19,7 @@ import java.util.List;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Mapper
@Component
@@ -28,61 +28,43 @@ public interface EnterpriseEmployeeDao extends BaseMapper selectByEmployeeIdList(@Param("employeeIdList")Collection employeeIdList);
/**
* 查询员工关联的企业
- * @param employeeId
- * @return
*/
List selectEnterpriseIdByEmployeeId(@Param("employeeId")Long employeeId);
/**
* 根据企业查询
- * @param enterpriseIdList
- * @return
*/
List selectByEnterpriseIdList(@Param("enterpriseIdList")Collection enterpriseIdList);
/**
* 根据企业查询
- * @param enterpriseId
- * @return
*/
List selectByEnterpriseId(@Param("enterpriseId")Long enterpriseId);
/**
* 查询企业下的所有员工id
- * @param enterpriseIdList
- * @return
*/
List selectEmployeeIdByEnterpriseIdList(@Param("enterpriseIdList")Collection enterpriseIdList);
/**
* 根据员工删除
- * @param enterpriseId
- * @param employeeIdList
*/
void deleteByEnterpriseAndEmployeeIdList(@Param("enterpriseId")Long enterpriseId, @Param("employeeIdList")Collection employeeIdList);
/**
* 根据员工查询
- * @param enterpriseId
- * @param employeeIdList
*/
List selectByEnterpriseAndEmployeeIdList(@Param("enterpriseId")Long enterpriseId, @Param("employeeIdList")Collection employeeIdList);
/**
* 删除某员工关联的所有企业
- * @param employeeId
*/
void deleteByEmployeeId(@Param("employeeId")Long employeeId);
/**
* 分页查询企业员工
- * @param page
- * @param queryForm
- * @return
*/
List queryPageEmployeeList(Page> page,@Param("queryForm") EnterpriseEmployeeQueryForm queryForm);
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java
index a4c9b8ea..a252e66a 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java
@@ -15,7 +15,7 @@ import java.time.LocalDateTime;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_oa_enterprise_employee")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java
index 67b4c48e..6bbbf675 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import net.lab1024.sa.admin.module.business.oa.enterprise.constant.EnterpriseTypeEnum;
-import net.lab1024.sa.common.module.support.datatracer.annoation.DataTracerFieldEnum;
-import net.lab1024.sa.common.module.support.datatracer.annoation.DataTracerFieldLabel;
+import net.lab1024.sa.base.module.support.datatracer.annoation.DataTracerFieldEnum;
+import net.lab1024.sa.base.module.support.datatracer.annoation.DataTracerFieldLabel;
import java.time.LocalDateTime;
@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_oa_enterprise")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java
index 4db85d21..b1451e21 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java
@@ -2,14 +2,14 @@ package net.lab1024.sa.admin.module.business.oa.enterprise.domain.form;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.oa.enterprise.constant.EnterpriseTypeEnum;
-import net.lab1024.sa.common.common.json.deserializer.FileKeyVoDeserializer;
-import net.lab1024.sa.common.common.json.serializer.FileKeyVoSerializer;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
-import net.lab1024.sa.common.common.util.SmartVerificationUtil;
-import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
+import net.lab1024.sa.base.common.json.deserializer.FileKeyVoDeserializer;
+import net.lab1024.sa.base.common.json.serializer.FileKeyVoSerializer;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
+import net.lab1024.sa.base.common.util.SmartVerificationUtil;
+import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
@@ -23,79 +23,79 @@ import javax.validation.constraints.Pattern;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class EnterpriseCreateForm {
- @ApiModelProperty("企业名称")
+ @Schema(description = "企业名称")
@NotBlank(message = "企业名称不能为空")
@Length(max = 200, message = "企业名称最多200字符")
private String enterpriseName;
- @ApiModelProperty("企业logo")
+ @Schema(description = "企业logo")
@JsonSerialize(using = FileKeyVoSerializer.class)
@JsonDeserialize(using = FileKeyVoDeserializer.class)
private String enterpriseLogo;
- @ApiModelProperty("统一社会信用代码")
+ @Schema(description = "统一社会信用代码")
@NotBlank(message = "统一社会信用代码不能为空")
@Length(max = 200, message = "统一社会信用代码最多200字符")
private String unifiedSocialCreditCode;
- @ApiModelProperty("联系人")
+ @Schema(description = "联系人")
@NotBlank(message = "联系人不能为空")
@Length(max = 100, message = "联系人最多100字符")
private String contact;
- @ApiModelProperty("联系人电话")
+ @Schema(description = "联系人电话")
@NotBlank(message = "联系人电话不能为空")
@Pattern(regexp = SmartVerificationUtil.PHONE_REGEXP, message = "手机号格式不正确")
private String contactPhone;
- @ApiModelPropertyEnum(desc = "类型", value = EnterpriseTypeEnum.class)
+ @SchemaEnum(desc = "类型", value = EnterpriseTypeEnum.class)
@CheckEnum(message = "类型不正确", value = EnterpriseTypeEnum.class)
private Integer type;
- @ApiModelProperty("邮箱")
+ @Schema(description = "邮箱")
@Pattern(regexp = SmartVerificationUtil.EMAIL, message = "邮箱格式不正确")
private String email;
- @ApiModelProperty("省份")
+ @Schema(description = "省份")
private Integer province;
- @ApiModelProperty("省份名称")
+ @Schema(description = "省份名称")
private String provinceName;
- @ApiModelProperty("城市")
+ @Schema(description = "城市")
private Integer city;
- @ApiModelProperty("城市名称")
+ @Schema(description = "城市名称")
private String cityName;
- @ApiModelProperty("区县")
+ @Schema(description = "区县")
private Integer district;
- @ApiModelProperty("区县名称")
+ @Schema(description = "区县名称")
private String districtName;
- @ApiModelProperty("详细地址")
+ @Schema(description = "详细地址")
@Length(max = 500, message = "详细地址最多500字符")
private String address;
- @ApiModelProperty("营业执照")
+ @Schema(description = "营业执照")
@JsonSerialize(using = FileKeyVoSerializer.class)
@JsonDeserialize(using = FileKeyVoDeserializer.class)
private String businessLicense;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
@NotNull(message = "禁用状态不能为空")
private Boolean disabledFlag;
- @ApiModelProperty(value = "创建人", hidden = true)
+ @Schema(description = "创建人", hidden = true)
private Long createUserId;
- @ApiModelProperty(value = "创建人", hidden = true)
+ @Schema(description = "创建人", hidden = true)
private String createUserName;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java
index 84897956..a9d3ed00 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@@ -14,16 +14,16 @@ import java.util.List;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class EnterpriseEmployeeForm {
- @ApiModelProperty("企业id")
+ @Schema(description = "企业id")
@NotNull(message = "企业id不能为空")
private Long enterpriseId;
- @ApiModelProperty("员工信息id")
+ @Schema(description = "员工信息id")
@NotEmpty(message = "员工信息id不能为空")
private List employeeIdList;
}
\ No newline at end of file
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java
index 33b6a738..880b2ae4 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java
@@ -1,13 +1,11 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.domain.PageParam;
+import net.lab1024.sa.base.common.domain.PageParam;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import java.util.List;
/**
* 查询企业员工
@@ -16,20 +14,20 @@ import java.util.List;
* @Date 2021-12-20 21:06:49
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class EnterpriseEmployeeQueryForm extends PageParam {
- @ApiModelProperty("搜索词")
+ @Schema(description = "搜索词")
@Length(max = 20, message = "搜索词最多20字符")
private String keyword;
- @ApiModelProperty("公司Id")
+ @Schema(description = "公司Id")
@NotNull(message = "公司id 不能为空")
private Long enterpriseId;
- @ApiModelProperty(value = "删除标识", hidden = true)
+ @Schema(description = "删除标识", hidden = true)
private Boolean deletedFlag;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java
index 06fd5783..78915083 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java
@@ -1,8 +1,8 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.domain.PageParam;
+import net.lab1024.sa.base.common.domain.PageParam;
import org.hibernate.validator.constraints.Length;
import java.time.LocalDate;
@@ -14,25 +14,25 @@ import java.time.LocalDate;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class EnterpriseQueryForm extends PageParam {
- @ApiModelProperty("关键字")
+ @Schema(description = "关键字")
@Length(max = 200, message = "关键字最多200字符")
private String keywords;
- @ApiModelProperty("开始时间")
+ @Schema(description = "开始时间")
private LocalDate startTime;
- @ApiModelProperty("结束时间")
+ @Schema(description = "结束时间")
private LocalDate endTime;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
private Boolean disabledFlag;
- @ApiModelProperty(value = "删除状态", hidden = true)
+ @Schema(description = "删除状态", hidden = true)
private Boolean deletedFlag;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java
index 200e15e7..1aa980ff 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,12 +12,12 @@ import javax.validation.constraints.NotNull;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class EnterpriseUpdateForm extends EnterpriseCreateForm {
- @ApiModelProperty("企业ID")
+ @Schema(description = "企业ID")
@NotNull(message = "企业ID不能为空")
private Long enterpriseId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java
index 0e37ee59..18aa2051 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@@ -10,38 +10,38 @@ import lombok.Data;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class EnterpriseEmployeeVO {
private Long enterpriseEmployeeId;
- @ApiModelProperty("企业ID")
+ @Schema(description = "企业ID")
private Long enterpriseId;
- @ApiModelProperty("企业名称")
+ @Schema(description = "企业名称")
private String enterpriseName;
- @ApiModelProperty("员工")
+ @Schema(description = "员工")
private Long employeeId;
- @ApiModelProperty("登录账号")
+ @Schema(description = "登录账号")
private String loginName;
- @ApiModelProperty("员工名称")
+ @Schema(description = "员工名称")
private String actualName;
- @ApiModelProperty("手机号码")
+ @Schema(description = "手机号码")
private String phone;
- @ApiModelProperty("部门id")
+ @Schema(description = "部门id")
private Long departmentId;
- @ApiModelProperty("是否被禁用")
+ @Schema(description = "是否被禁用")
private Boolean disabledFlag;
- @ApiModelProperty("部门名称")
+ @Schema(description = "部门名称")
private String departmentName;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseExcelVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseExcelVO.java
new file mode 100644
index 00000000..023f1b67
--- /dev/null
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseExcelVO.java
@@ -0,0 +1,48 @@
+package net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * 企业信息
+ *
+ * @Author 1024创新实验室: 开云
+ * @Date 2022/7/28 20:37:15
+ * @Wechat zhuoda1024
+ * @Email lab1024@163.com
+ * @Copyright 1024创新实验室
+ */
+@Data
+public class EnterpriseExcelVO {
+
+ @ExcelProperty("企业名称")
+ private String enterpriseName;
+
+ @ExcelProperty("统一社会信用代码")
+ private String unifiedSocialCreditCode;
+
+ @ExcelProperty("企业类型")
+ private String typeName;
+
+ @ExcelProperty("联系人")
+ private String contact;
+
+ @ExcelProperty("联系人电话")
+ private String contactPhone;
+
+ @ExcelProperty("邮箱")
+ private String email;
+
+ @ExcelProperty("省份名称")
+ private String provinceName;
+
+ @ExcelProperty("城市名称")
+ private String cityName;
+
+ @ExcelProperty("区县名称")
+ private String districtName;
+
+ @ExcelProperty("详细地址")
+ private String address;
+
+}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java
index 806ff89d..1320292f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@@ -12,9 +12,9 @@ import lombok.Data;
@Data
public class EnterpriseListVO {
- @ApiModelProperty("企业ID")
+ @Schema(description = "企业ID")
private Long enterpriseId;
- @ApiModelProperty("企业名称")
+ @Schema(description = "企业名称")
private String enterpriseName;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java
index 828424e5..54d9b476 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java
@@ -1,11 +1,11 @@
package net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.oa.enterprise.constant.EnterpriseTypeEnum;
-import net.lab1024.sa.common.common.json.serializer.FileKeyVoSerializer;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
+import net.lab1024.sa.base.common.json.serializer.FileKeyVoSerializer;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
import java.time.LocalDateTime;
@@ -16,74 +16,74 @@ import java.time.LocalDateTime;
* @Date 2022/7/28 20:37:15
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class EnterpriseVO {
- @ApiModelProperty("企业ID")
+ @Schema(description = "企业ID")
private Long enterpriseId;
- @ApiModelProperty("企业名称")
+ @Schema(description = "企业名称")
private String enterpriseName;
- @ApiModelProperty("企业logo")
+ @Schema(description = "企业logo")
@JsonSerialize(using = FileKeyVoSerializer.class)
private String enterpriseLogo;
- @ApiModelProperty("统一社会信用代码")
+ @Schema(description = "统一社会信用代码")
private String unifiedSocialCreditCode;
- @ApiModelPropertyEnum(desc = "类型", value = EnterpriseTypeEnum.class)
+ @SchemaEnum(desc = "类型", value = EnterpriseTypeEnum.class)
private Integer type;
- @ApiModelProperty("联系人")
+ @Schema(description = "联系人")
private String contact;
- @ApiModelProperty("联系人电话")
+ @Schema(description = "联系人电话")
private String contactPhone;
- @ApiModelProperty("邮箱")
+ @Schema(description = "邮箱")
private String email;
- @ApiModelProperty("省份")
+ @Schema(description = "省份")
private Integer province;
- @ApiModelProperty("省份名称")
+ @Schema(description = "省份名称")
private String provinceName;
- @ApiModelProperty("城市")
+ @Schema(description = "城市")
private Integer city;
- @ApiModelProperty("城市名称")
+ @Schema(description = "城市名称")
private String cityName;
- @ApiModelProperty("区县")
+ @Schema(description = "区县")
private Integer district;
- @ApiModelProperty("区县名称")
+ @Schema(description = "区县名称")
private String districtName;
- @ApiModelProperty("详细地址")
+ @Schema(description = "详细地址")
private String address;
- @ApiModelProperty("营业执照")
+ @Schema(description = "营业执照")
@JsonSerialize(using = FileKeyVoSerializer.class)
private String businessLicense;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
private Boolean disabledFlag;
- @ApiModelProperty("创建人ID")
+ @Schema(description = "创建人ID")
private Long createUserId;
- @ApiModelProperty("创建人名称")
+ @Schema(description = "创建人名称")
private String createUserName;
- @ApiModelProperty("创建时间")
+ @Schema(description = "创建时间")
private LocalDateTime createTime;
- @ApiModelProperty("更新时间")
+ @Schema(description = "更新时间")
private LocalDateTime updateTime;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java
index 40909dc9..6b481897 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java
@@ -1,21 +1,21 @@
package net.lab1024.sa.admin.module.business.oa.invoice;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceAddForm;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceQueryForm;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceUpdateForm;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceVO;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.RequestUser;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartRequestUtil;
-import net.lab1024.sa.common.module.support.operatelog.annoation.OperateLog;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.RequestUser;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartRequestUtil;
+import net.lab1024.sa.base.module.support.operatelog.annotation.OperateLog;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@@ -26,30 +26,29 @@ import java.util.List;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Slf4j
@RestController
-@OperateLog
-@Api(tags = {AdminSwaggerTagConst.Business.OA_INVOICE})
+@Tag(name = AdminSwaggerTagConst.Business.OA_INVOICE)
public class InvoiceController {
- @Autowired
+ @Resource
private InvoiceService invoiceService;
- @ApiOperation(value = "分页查询发票信息 @author 善逸")
+ @Operation(summary = "分页查询发票信息 @author 善逸")
@PostMapping("/oa/invoice/page/query")
- public ResponseDTO> queryByPage(@RequestBody @Valid InvoiceQueryForm queryDTO) {
- return invoiceService.queryByPage(queryDTO);
+ public ResponseDTO> queryByPage(@RequestBody @Valid InvoiceQueryForm queryForm) {
+ return invoiceService.queryByPage(queryForm);
}
- @ApiOperation(value = "查询发票信息详情 @author 善逸")
+ @Operation(summary = "查询发票信息详情 @author 善逸")
@GetMapping("/oa/invoice/get/{invoiceId}")
public ResponseDTO getDetail(@PathVariable Long invoiceId) {
return invoiceService.getDetail(invoiceId);
}
- @ApiOperation(value = "新建发票信息 @author 善逸")
+ @Operation(summary = "新建发票信息 @author 善逸")
@PostMapping("/oa/invoice/create")
public ResponseDTO createInvoice(@RequestBody @Valid InvoiceAddForm createVO) {
RequestUser requestUser = SmartRequestUtil.getRequestUser();
@@ -58,19 +57,20 @@ public class InvoiceController {
return invoiceService.createInvoice(createVO);
}
- @ApiOperation(value = "编辑发票信息 @author 善逸")
+ @Operation(summary = "编辑发票信息 @author 善逸")
@PostMapping("/oa/invoice/update")
+ @OperateLog
public ResponseDTO updateInvoice(@RequestBody @Valid InvoiceUpdateForm updateVO) {
return invoiceService.updateInvoice(updateVO);
}
- @ApiOperation(value = "删除发票信息 @author 善逸")
+ @Operation(summary = "删除发票信息 @author 善逸")
@GetMapping("/invoice/delete/{invoiceId}")
public ResponseDTO deleteInvoice(@PathVariable Long invoiceId) {
return invoiceService.deleteInvoice(invoiceId);
}
- @ApiOperation(value = "查询列表 @author lidoudou")
+ @Operation(summary = "查询列表 @author lidoudou")
@GetMapping("/oa/invoice/query/list/{enterpriseId}")
public ResponseDTO> queryList(@PathVariable Long enterpriseId) {
return invoiceService.queryList(enterpriseId);
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
index 371a4edb..1336fe5f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
@@ -18,7 +18,7 @@ import java.util.List;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Mapper
@Component
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java
index 70afe51d..ce62b2a3 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java
@@ -5,17 +5,17 @@ import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseVO;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.*;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
-import net.lab1024.sa.common.common.util.SmartPageUtil;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerConst;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerTypeEnum;
-import net.lab1024.sa.common.module.support.datatracer.service.DataTracerService;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.util.SmartPageUtil;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerConst;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum;
+import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
@@ -26,32 +26,29 @@ import java.util.Objects;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
@Slf4j
public class InvoiceService {
- @Autowired
+ @Resource
private InvoiceDao invoiceDao;
- @Autowired
+ @Resource
private EnterpriseService enterpriseService;
- @Autowired
+ @Resource
private DataTracerService dataTracerService;
/**
* 分页查询发票信息
- *
- * @param queryDTO
- * @return
*/
- public ResponseDTO> queryByPage(InvoiceQueryForm queryDTO) {
- queryDTO.setDeletedFlag(Boolean.FALSE);
- Page> page = SmartPageUtil.convert2PageQuery(queryDTO);
- List invoiceVOS = invoiceDao.queryPage(page, queryDTO);
- PageResult pageResult = SmartPageUtil.convert2PageResult(page, invoiceVOS);
+ public ResponseDTO> queryByPage(InvoiceQueryForm queryForm) {
+ queryForm.setDeletedFlag(Boolean.FALSE);
+ Page> page = SmartPageUtil.convert2PageQuery(queryForm);
+ List invoiceList = invoiceDao.queryPage(page, queryForm);
+ PageResult pageResult = SmartPageUtil.convert2PageResult(page, invoiceList);
return ResponseDTO.ok(pageResult);
}
@@ -66,9 +63,6 @@ public class InvoiceService {
/**
* 查询发票信息详情
- *
- * @param invoiceId
- * @return
*/
public ResponseDTO getDetail(Long invoiceId) {
// 校验发票信息是否存在
@@ -81,9 +75,6 @@ public class InvoiceService {
/**
* 新建发票信息
- *
- * @param createVO
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO createInvoice(InvoiceAddForm createVO) {
@@ -107,9 +98,6 @@ public class InvoiceService {
/**
* 编辑发票信息
- *
- * @param updateVO
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO updateInvoice(InvoiceUpdateForm updateVO) {
@@ -140,9 +128,6 @@ public class InvoiceService {
/**
* 删除发票信息
-
- * @param invoiceId
- * @return
*/
@Transactional(rollbackFor = Exception.class)
public ResponseDTO deleteInvoice(Long invoiceId) {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java
index 0a87edee..3dd670c1 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.invoice.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -14,46 +14,46 @@ import javax.validation.constraints.NotNull;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class InvoiceAddForm {
- @ApiModelProperty("开票抬头")
+ @Schema(description = "开票抬头")
@NotBlank(message = "开票抬头不能为空")
@Length(max = 200, message = "开票抬头最多200字符")
private String invoiceHeads;
- @ApiModelProperty("纳税人识别号")
+ @Schema(description = "纳税人识别号")
@NotBlank(message = "纳税人识别号不能为空")
@Length(max = 200, message = "纳税人识别号最多200字符")
private String taxpayerIdentificationNumber;
- @ApiModelProperty("银行账户")
+ @Schema(description = "银行账户")
@NotBlank(message = "银行账户不能为空")
@Length(max = 200, message = "银行账户最多200字符")
private String accountNumber;
- @ApiModelProperty("开户行")
+ @Schema(description = "开户行")
@NotBlank(message = "开户行不能为空")
@Length(max = 200, message = "开户行最多200字符")
private String bankName;
- @ApiModelProperty("启用状态")
+ @Schema(description = "启用状态")
@NotNull(message = "启用状态不能为空")
private Boolean disabledFlag;
- @ApiModelProperty("备注")
+ @Schema(description = "备注")
@Length(max = 500, message = "备注最多500字符")
private String remark;
- @ApiModelProperty("企业")
+ @Schema(description = "企业")
@NotNull(message = "企业不能为空")
private Long enterpriseId;
- @ApiModelProperty(value = "创建人", hidden = true)
+ @Schema(description = "创建人", hidden = true)
private Long createUserId;
- @ApiModelProperty(value = "创建人名称", hidden = true)
+ @Schema(description = "创建人名称", hidden = true)
private String createUserName;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java
index bc7d563a..3fcde0f9 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
-import net.lab1024.sa.common.module.support.datatracer.annoation.DataTracerFieldLabel;
+import net.lab1024.sa.base.module.support.datatracer.annoation.DataTracerFieldLabel;
import java.time.LocalDateTime;
@@ -15,7 +15,7 @@ import java.time.LocalDateTime;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_oa_invoice")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java
index 0883bd3f..497778fb 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java
@@ -1,8 +1,8 @@
package net.lab1024.sa.admin.module.business.oa.invoice.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.domain.PageParam;
+import net.lab1024.sa.base.common.domain.PageParam;
import org.hibernate.validator.constraints.Length;
import java.time.LocalDate;
@@ -14,27 +14,27 @@ import java.time.LocalDate;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class InvoiceQueryForm extends PageParam {
- @ApiModelProperty("企业ID")
+ @Schema(description = "企业ID")
private Long enterpriseId;
- @ApiModelProperty("关键字")
+ @Schema(description = "关键字")
@Length(max = 200, message = "关键字最多200字符")
private String keywords;
- @ApiModelProperty("开始时间")
+ @Schema(description = "开始时间")
private LocalDate startTime;
- @ApiModelProperty("结束时间")
+ @Schema(description = "结束时间")
private LocalDate endTime;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
private Boolean disabledFlag;
- @ApiModelProperty(value = "删除状态", hidden = true)
+ @Schema(description = "删除状态", hidden = true)
private Boolean deletedFlag;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java
index 053d4934..3a84a640 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.invoice.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,12 +12,12 @@ import javax.validation.constraints.NotNull;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class InvoiceUpdateForm extends InvoiceAddForm {
- @ApiModelProperty("发票信息ID")
+ @Schema(description = "发票信息ID")
@NotNull(message = "发票信息ID不能为空")
private Long invoiceId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java
index 2c8fb0e9..2e9e6452 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.invoice.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@@ -12,47 +12,47 @@ import java.time.LocalDateTime;
* @Date 2022-06-23 19:32:59
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class InvoiceVO {
- @ApiModelProperty("发票信息ID")
+ @Schema(description = "发票信息ID")
private Long invoiceId;
- @ApiModelProperty("开票抬头")
+ @Schema(description = "开票抬头")
private String invoiceHeads;
- @ApiModelProperty("纳税人识别号")
+ @Schema(description = "纳税人识别号")
private String taxpayerIdentificationNumber;
- @ApiModelProperty("银行账户")
+ @Schema(description = "银行账户")
private String accountNumber;
- @ApiModelProperty("开户行")
+ @Schema(description = "开户行")
private String bankName;
- @ApiModelProperty("备注")
+ @Schema(description = "备注")
private String remark;
- @ApiModelProperty("企业")
+ @Schema(description = "企业")
private Long enterpriseId;
- @ApiModelProperty("企业名称")
+ @Schema(description = "企业名称")
private String enterpriseName;
- @ApiModelProperty("禁用状态")
+ @Schema(description = "禁用状态")
private Boolean disabledFlag;
- @ApiModelProperty("创建人ID")
+ @Schema(description = "创建人ID")
private Long createUserId;
- @ApiModelProperty("创建人名称")
+ @Schema(description = "创建人名称")
private String createUserName;
- @ApiModelProperty("创建时间")
+ @Schema(description = "创建时间")
private LocalDateTime createTime;
- @ApiModelProperty("更新时间")
+ @Schema(description = "更新时间")
private LocalDateTime updateTime;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java
index 27f4d163..eb4784f8 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java
@@ -3,7 +3,7 @@ package net.lab1024.sa.admin.module.business.oa.notice.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import net.lab1024.sa.common.common.enumeration.BaseEnum;
+import net.lab1024.sa.base.common.enumeration.BaseEnum;
/**
* 公告、通知 可见范围类型
@@ -12,14 +12,20 @@ import net.lab1024.sa.common.common.enumeration.BaseEnum;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Getter
@AllArgsConstructor
public enum NoticeVisibleRangeDataTypeEnum implements BaseEnum {
+ /**
+ * 员工
+ */
EMPLOYEE(1, "员工"),
+ /**
+ * 部门
+ */
DEPARTMENT(2, "部门"),
;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java
index 8ac0f311..d54b60cb 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java
@@ -1,22 +1,23 @@
package net.lab1024.sa.admin.module.business.oa.notice.controller;
+import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.extra.servlet.ServletUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.business.oa.notice.domain.form.*;
import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.*;
import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeEmployeeService;
import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeService;
import net.lab1024.sa.admin.module.business.oa.notice.service.NoticeTypeService;
-import net.lab1024.sa.common.common.annoation.SaAuth;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartRequestUtil;
-import net.lab1024.sa.common.module.support.repeatsubmit.annoation.RepeatSubmit;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartRequestUtil;
+import net.lab1024.sa.base.module.support.operatelog.annotation.OperateLog;
+import net.lab1024.sa.base.module.support.repeatsubmit.annoation.RepeatSubmit;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.List;
@@ -28,42 +29,43 @@ import java.util.List;
* @Date 2022-08-12 21:40:39
* @Wechat 卓大1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
-@Api(tags = AdminSwaggerTagConst.Business.OA_NOTICE)
+@Tag(name = AdminSwaggerTagConst.Business.OA_NOTICE)
@RestController
+@OperateLog
public class NoticeController {
- @Autowired
+ @Resource
private NoticeService noticeService;
- @Autowired
+ @Resource
private NoticeTypeService noticeTypeService;
- @Autowired
+ @Resource
private NoticeEmployeeService noticeEmployeeService;
// --------------------- 通知公告类型 -------------------------
- @ApiOperation("通知公告类型-获取全部 @author 卓大")
+ @Operation(summary = "通知公告类型-获取全部 @author 卓大")
@GetMapping("/oa/noticeType/getAll")
public ResponseDTO> getAll() {
return ResponseDTO.ok(noticeTypeService.getAll());
}
- @ApiOperation("通知公告类型-添加 @author 卓大")
+ @Operation(summary = "通知公告类型-添加 @author 卓大")
@GetMapping("/oa/noticeType/add/{name}")
public ResponseDTO add(@PathVariable String name) {
return noticeTypeService.add(name);
}
- @ApiOperation("通知公告类型-修改 @author 卓大")
+ @Operation(summary = "通知公告类型-修改 @author 卓大")
@GetMapping("/oa/noticeType/update/{noticeTypeId}/{name}")
public ResponseDTO update(@PathVariable Long noticeTypeId, @PathVariable String name) {
return noticeTypeService.update(noticeTypeId, name);
}
- @ApiOperation("通知公告类型-删除 @author 卓大")
+ @Operation(summary = "通知公告类型-删除 @author 卓大")
@GetMapping("/oa/noticeType/delete/{noticeTypeId}")
public ResponseDTO deleteNoticeType(@PathVariable Long noticeTypeId) {
return noticeTypeService.delete(noticeTypeId);
@@ -71,46 +73,49 @@ public class NoticeController {
// --------------------- 【管理】通知公告-------------------------
- @ApiOperation("【管理】通知公告-分页查询 @author 卓大")
+
+ @Operation(summary = "【管理】通知公告-分页查询 @author 卓大")
@PostMapping("/oa/notice/query")
- @SaAuth
+ @SaCheckPermission("oa:notice:query")
public ResponseDTO> query(@RequestBody @Valid NoticeQueryForm queryForm) {
return ResponseDTO.ok(noticeService.query(queryForm));
}
- @ApiOperation("【管理】通知公告-添加 @author 卓大")
+ @Operation(summary = "【管理】通知公告-添加 @author 卓大")
@PostMapping("/oa/notice/add")
@RepeatSubmit
- @SaAuth
+ @SaCheckPermission("oa:notice:add")
public ResponseDTO add(@RequestBody @Valid NoticeAddForm addForm) {
addForm.setCreateUserId(SmartRequestUtil.getRequestUserId());
return noticeService.add(addForm);
}
- @ApiOperation("【管理】通知公告-更新 @author 卓大")
+ @Operation(summary = "【管理】通知公告-更新 @author 卓大")
@PostMapping("/oa/notice/update")
@RepeatSubmit
- @SaAuth
+ @SaCheckPermission("oa:notice:update")
public ResponseDTO update(@RequestBody @Valid NoticeUpdateForm updateForm) {
return noticeService.update(updateForm);
}
- @ApiOperation("【管理】通知公告-更新详情 @author 卓大")
+ @Operation(summary = "【管理】通知公告-更新详情 @author 卓大")
@GetMapping("/oa/notice/getUpdateVO/{noticeId}")
- @SaAuth
+ @SaCheckPermission("oa:notice:update")
public ResponseDTO getUpdateFormVO(@PathVariable Long noticeId) {
return ResponseDTO.ok(noticeService.getUpdateFormVO(noticeId));
}
- @ApiOperation("【管理】通知公告-删除 @author 卓大")
+ @Operation(summary = "【管理】通知公告-删除 @author 卓大")
@GetMapping("/oa/notice/delete/{noticeId}")
- @SaAuth
+ @SaCheckPermission("oa:notice:delete")
public ResponseDTO delete(@PathVariable Long noticeId) {
return noticeService.delete(noticeId);
}
// --------------------- 【员工】查看 通知公告 -------------------------
- @ApiOperation("【员工】通知公告-查看详情 @author 卓大")
+
+
+ @Operation(summary = "【员工】通知公告-查看详情 @author 卓大")
@GetMapping("/oa/notice/employee/view/{noticeId}")
public ResponseDTO view(@PathVariable Long noticeId, HttpServletRequest request) {
return noticeEmployeeService.view(
@@ -121,13 +126,13 @@ public class NoticeController {
);
}
- @ApiOperation("【员工】通知公告-查询全部 @author 卓大")
+ @Operation(summary = "【员工】通知公告-查询全部 @author 卓大")
@PostMapping("/oa/notice/employee/query")
public ResponseDTO> queryEmployeeNotice(@RequestBody @Valid NoticeEmployeeQueryForm noticeEmployeeQueryForm) {
return noticeEmployeeService.queryList(SmartRequestUtil.getRequestUserId(), noticeEmployeeQueryForm);
}
- @ApiOperation("【员工】通知公告-查询 查看记录 @author 卓大")
+ @Operation(summary = "【员工】通知公告-查询 查看记录 @author 卓大")
@PostMapping("/oa/notice/employee/queryViewRecord")
public ResponseDTO> queryViewRecord(@RequestBody @Valid NoticeViewRecordQueryForm noticeViewRecordQueryForm) {
return ResponseDTO.ok(noticeEmployeeService.queryViewRecord(noticeViewRecordQueryForm));
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java
index aba10192..d6654a43 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java
@@ -24,7 +24,7 @@ import java.util.List;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Mapper
@Component
@@ -35,22 +35,18 @@ public interface NoticeDao extends BaseMapper {
/**
* 保存可见范围
*
- * @param noticeId
- * @param visibleRangeFormList
*/
void insertVisibleRange(@Param("noticeId") Long noticeId, @Param("visibleRangeFormList") List visibleRangeFormList);
/**
* 删除可见范围
*
- * @param noticeId
*/
void deleteVisibleRange(@Param("noticeId") Long noticeId);
/**
* 相关可见范围
*
- * @param noticeId
*/
List queryVisibleRange(@Param("noticeId") Long noticeId);
@@ -59,9 +55,6 @@ public interface NoticeDao extends BaseMapper {
/**
* 后管分页查询资讯
*
- * @param page
- * @param queryForm
- * @return
*/
List query(Page> page, @Param("query") NoticeQueryForm queryForm);
@@ -69,7 +62,6 @@ public interface NoticeDao extends BaseMapper {
/**
* 更新删除状态
*
- * @param noticeId
*/
void updateDeletedFlag(@Param("noticeId") Long noticeId);
@@ -78,10 +70,6 @@ public interface NoticeDao extends BaseMapper {
/**
* 查询 员工 查看到的通知公告
*
- * @param page
- * @param requestEmployeeId
- * @param noticeEmployeeQueryForm
- * @return
*/
List queryEmployeeNotice(Page> page,
@Param("requestEmployeeId") Long requestEmployeeId,
@@ -97,10 +85,6 @@ public interface NoticeDao extends BaseMapper {
/**
* 查询 员工 未读的通知公告
*
- * @param page
- * @param requestEmployeeId
- * @param noticeEmployeeQueryForm
- * @return
*/
List queryEmployeeNotViewNotice(Page> page,
@Param("requestEmployeeId") Long requestEmployeeId,
@@ -117,27 +101,16 @@ public interface NoticeDao extends BaseMapper {
/**
* 查询通知、公告的 查看记录
- * @param page
- * @param noticeViewRecordQueryForm
- * @return
*/
List queryNoticeViewRecordList(Page page,@Param("queryForm") NoticeViewRecordQueryForm noticeViewRecordQueryForm);
/**
* 保存查看记录
- * @param noticeId
- * @param employeeId
- * @param ip
- * @param userAgent
*/
void insertViewRecord(@Param("noticeId") Long noticeId, @Param("employeeId") Long employeeId, @Param("ip") String ip, @Param("userAgent") String userAgent,@Param("pageViewCount") Integer pageViewCount);
/**
* 更新查看记录
- * @param noticeId
- * @param requestEmployeeId
- * @param ip
- * @param userAgent
*/
void updateViewRecord(@Param("noticeId")Long noticeId, @Param("employeeId")Long requestEmployeeId,@Param("ip") String ip, @Param("userAgent")String userAgent);
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java
index 456fe4dd..b08e5289 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java
@@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Mapper
@Component
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java
index 7dfaa513..af7433be 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java
@@ -14,7 +14,7 @@ import java.time.LocalDateTime;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_notice")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java
index c749dced..48c1c8fb 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java
@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_notice_type")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java
index b83ba79a..cf117797 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java
@@ -1,9 +1,9 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.form;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.json.deserializer.FileKeyVoDeserializer;
+import net.lab1024.sa.base.common.json.deserializer.FileKeyVoDeserializer;
import org.hibernate.validator.constraints.Length;
import javax.validation.Valid;
@@ -19,60 +19,60 @@ import java.util.List;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeAddForm {
- @ApiModelProperty("标题")
+ @Schema(description = "标题")
@NotBlank(message = "标题不能为空")
@Length(max = 200, message = "标题最多200字符")
private String title;
- @ApiModelProperty("分类")
+ @Schema(description = "分类")
@NotNull(message = "分类不能为空")
private Long noticeTypeId;
- @ApiModelProperty("是否全部可见")
+ @Schema(description = "是否全部可见")
@NotNull(message = "是否全部可见不能为空")
private Boolean allVisibleFlag;
- @ApiModelProperty("是否定时发布")
+ @Schema(description = "是否定时发布")
@NotNull(message = "是否定时发布不能为空")
private Boolean scheduledPublishFlag;
- @ApiModelProperty("发布时间")
+ @Schema(description = "发布时间")
@NotNull(message = "发布时间不能为空")
private LocalDateTime publishTime;
- @ApiModelProperty("纯文本内容")
+ @Schema(description = "纯文本内容")
@NotNull(message = "文本内容不能为空")
private String contentText;
- @ApiModelProperty("html内容")
+ @Schema(description = "html内容")
@NotNull(message = "html内容不能为空")
private String contentHtml;
- @ApiModelProperty("附件,多个英文逗号分隔|可选")
+ @Schema(description = "附件,多个英文逗号分隔|可选")
@Length(max = 1000, message = "最多1000字符")
@JsonDeserialize(using = FileKeyVoDeserializer.class)
private String attachment;
- @ApiModelProperty("作者")
+ @Schema(description = "作者")
@NotBlank(message = "作者不能为空")
private String author;
- @ApiModelProperty("来源")
+ @Schema(description = "来源")
@NotBlank(message = "标题不能为空")
private String source;
- @ApiModelProperty("文号")
+ @Schema(description = "文号")
private String documentNumber;
- @ApiModelProperty(hidden = true)
+ @Schema(hidden = true)
private Long createUserId;
- @ApiModelProperty("可见范围设置|可选")
+ @Schema(description = "可见范围设置|可选")
@Valid
private List visibleRangeList;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java
index 0374861c..3f3d90b4 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java
@@ -1,8 +1,8 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.domain.PageParam;
+import net.lab1024.sa.base.common.domain.PageParam;
import java.time.LocalDate;
@@ -13,23 +13,23 @@ import java.time.LocalDate;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeEmployeeQueryForm extends PageParam {
- @ApiModelProperty("标题、作者、来源、文号")
+ @Schema(description = "标题、作者、来源、文号")
private String keywords;
- @ApiModelProperty("分类")
+ @Schema(description = "分类")
private Long noticeTypeId;
- @ApiModelProperty("发布-开始时间")
+ @Schema(description = "发布-开始时间")
private LocalDate publishTimeBegin;
- @ApiModelProperty("未读标识")
+ @Schema(description = "未读标识")
private Boolean notViewFlag;
- @ApiModelProperty("发布-截止时间")
+ @Schema(description = "发布-截止时间")
private LocalDate publishTimeEnd;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java
index c319b2b6..fb78500d 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java
@@ -1,8 +1,8 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.domain.PageParam;
+import net.lab1024.sa.base.common.domain.PageParam;
import java.time.LocalDate;
@@ -13,36 +13,36 @@ import java.time.LocalDate;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeQueryForm extends PageParam {
- @ApiModelProperty("分类")
+ @Schema(description = "分类")
private Long noticeTypeId;
- @ApiModelProperty("标题、作者、来源")
+ @Schema(description = "标题、作者、来源")
private String keywords;
- @ApiModelProperty("文号")
+ @Schema(description = "文号")
private String documentNumber;
- @ApiModelProperty("创建人")
+ @Schema(description = "创建人")
private Long createUserId;
- @ApiModelProperty("删除标识")
+ @Schema(description = "删除标识")
private Boolean deletedFlag;
- @ApiModelProperty("创建-开始时间")
+ @Schema(description = "创建-开始时间")
private LocalDate createTimeBegin;
- @ApiModelProperty("创建-截止时间")
+ @Schema(description = "创建-截止时间")
private LocalDate createTimeEnd;
- @ApiModelProperty("发布-开始时间")
+ @Schema(description = "发布-开始时间")
private LocalDate publishTimeBegin;
- @ApiModelProperty("发布-截止时间")
+ @Schema(description = "发布-截止时间")
private LocalDate publishTimeEnd;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java
index c2ecb57d..93f812b3 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,12 +12,12 @@ import javax.validation.constraints.NotNull;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeUpdateForm extends NoticeAddForm {
- @ApiModelProperty("id")
+ @Schema(description = "id")
@NotNull(message = "通知id不能为空")
private Long noticeId;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java
index 7ac41f27..25363569 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java
@@ -1,8 +1,8 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.domain.PageParam;
+import net.lab1024.sa.base.common.domain.PageParam;
import javax.validation.constraints.NotNull;
@@ -13,19 +13,19 @@ import javax.validation.constraints.NotNull;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeViewRecordQueryForm extends PageParam {
- @ApiModelProperty("通知公告id")
+ @Schema(description = "通知公告id")
@NotNull(message = "通知公告id不能为空")
private Long noticeId;
- @ApiModelProperty("部门id")
+ @Schema(description = "部门id")
private Long departmentId;
- @ApiModelProperty("关键字")
+ @Schema(description = "关键字")
private String keywords;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java
index 7a3b061b..7cf9a50f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java
@@ -1,12 +1,12 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.lab1024.sa.admin.module.business.oa.notice.constant.NoticeVisibleRangeDataTypeEnum;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
-import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
+import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
import javax.validation.constraints.NotNull;
@@ -17,18 +17,18 @@ import javax.validation.constraints.NotNull;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class NoticeVisibleRangeForm {
- @ApiModelPropertyEnum(NoticeVisibleRangeDataTypeEnum.class)
+ @SchemaEnum(NoticeVisibleRangeDataTypeEnum.class)
@CheckEnum(value = NoticeVisibleRangeDataTypeEnum.class, required = true, message = "数据类型错误")
private Integer dataType;
- @ApiModelProperty("员工/部门id")
+ @Schema(description = "员工/部门id")
@NotNull(message = "员工/部门id不能为空")
private Long dataId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java
index 72927bee..cecbbcf1 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java
@@ -1,9 +1,9 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.json.serializer.FileKeyVoSerializer;
+import net.lab1024.sa.base.common.json.serializer.FileKeyVoSerializer;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@@ -16,69 +16,69 @@ import java.time.LocalDateTime;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeDetailVO {
- @ApiModelProperty("id")
+ @Schema(description = "id")
private Long noticeId;
- @ApiModelProperty("标题")
+ @Schema(description = "标题")
private String title;
- @ApiModelProperty("分类")
+ @Schema(description = "分类")
private Long noticeTypeId;
- @ApiModelProperty("分类名称")
+ @Schema(description = "分类名称")
private Long noticeTypeName;
- @ApiModelProperty("是否全部可见")
+ @Schema(description = "是否全部可见")
@NotNull(message = "是否全部可见不能为空")
private Boolean allVisibleFlag;
- @ApiModelProperty("是否定时发布")
+ @Schema(description = "是否定时发布")
@NotNull(message = "是否定时发布不能为空")
private Boolean scheduledPublishFlag;
- @ApiModelProperty("纯文本内容")
+ @Schema(description = "纯文本内容")
private String contentText;
- @ApiModelProperty("html内容")
+ @Schema(description = "html内容")
private String contentHtml;
- @ApiModelProperty("附件")
+ @Schema(description = "附件")
@JsonSerialize(using = FileKeyVoSerializer.class)
private String attachment;
- @ApiModelProperty("发布时间")
+ @Schema(description = "发布时间")
@NotNull(message = "发布时间不能为空")
private LocalDateTime publishTime;
- @ApiModelProperty("作者")
+ @Schema(description = "作者")
@NotBlank(message = "作者不能为空")
private String author;
- @ApiModelProperty("来源")
+ @Schema(description = "来源")
@NotBlank(message = "标题不能为空")
private String source;
- @ApiModelProperty("文号")
+ @Schema(description = "文号")
private String documentNumber;
- @ApiModelProperty("页面浏览量")
+ @Schema(description = "页面浏览量")
private Integer pageViewCount;
- @ApiModelProperty("用户浏览量")
+ @Schema(description = "用户浏览量")
private Integer userViewCount;
- @ApiModelProperty("创建人名称")
+ @Schema(description = "创建人名称")
private Long createUserName;
- @ApiModelProperty("创建时间")
+ @Schema(description = "创建时间")
private LocalDateTime createTime;
- @ApiModelProperty("更新时间")
+ @Schema(description = "更新时间")
private LocalDateTime updateTime;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java
index b86044a1..759ba6c7 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
@@ -12,15 +12,15 @@ import java.time.LocalDate;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeEmployeeVO extends NoticeVO {
- @ApiModelProperty("是否查看")
+ @Schema(description = "是否查看")
private Boolean viewFlag;
- @ApiModelProperty("发布日期")
+ @Schema(description = "发布日期")
private LocalDate publishDate;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java
index 6aa9ee15..26609593 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@@ -10,15 +10,15 @@ import lombok.Data;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeTypeVO {
- @ApiModelProperty("通知类型id")
+ @Schema(description = "通知类型id")
private Long noticeTypeId;
- @ApiModelProperty("通知类型-名称")
+ @Schema(description = "通知类型-名称")
private String noticeTypeName;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java
index 2d82624b..13025599 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java
@@ -1,9 +1,9 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import net.lab1024.sa.common.common.json.serializer.FileKeyVoSerializer;
+import net.lab1024.sa.base.common.json.serializer.FileKeyVoSerializer;
import java.util.List;
@@ -14,22 +14,22 @@ import java.util.List;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeUpdateFormVO extends NoticeVO {
- @ApiModelProperty("纯文本内容")
+ @Schema(description = "纯文本内容")
private String contentText;
- @ApiModelProperty("html内容")
+ @Schema(description = "html内容")
private String contentHtml;
- @ApiModelProperty("附件")
+ @Schema(description = "附件")
@JsonSerialize(using = FileKeyVoSerializer.class)
private String attachment;
- @ApiModelProperty("可见范围")
+ @Schema(description = "可见范围")
private List visibleRangeList;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java
index 570fa925..459454fd 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -14,62 +14,62 @@ import java.time.LocalDateTime;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeVO {
- @ApiModelProperty("id")
+ @Schema(description = "id")
private Long noticeId;
- @ApiModelProperty("标题")
+ @Schema(description = "标题")
private String title;
- @ApiModelProperty("分类")
+ @Schema(description = "分类")
private Long noticeTypeId;
- @ApiModelProperty("分类名称")
+ @Schema(description = "分类名称")
private String noticeTypeName;
- @ApiModelProperty("是否全部可见")
+ @Schema(description = "是否全部可见")
private Boolean allVisibleFlag;
- @ApiModelProperty("是否定时发布")
+ @Schema(description = "是否定时发布")
private Boolean scheduledPublishFlag;
- @ApiModelProperty("发布状态")
+ @Schema(description = "发布状态")
private Boolean publishFlag;
- @ApiModelProperty("发布时间")
+ @Schema(description = "发布时间")
private LocalDateTime publishTime;
- @ApiModelProperty("作者")
+ @Schema(description = "作者")
@NotBlank(message = "作者不能为空")
private String author;
- @ApiModelProperty("来源")
+ @Schema(description = "来源")
@NotBlank(message = "标题不能为空")
private String source;
- @ApiModelProperty("文号")
+ @Schema(description = "文号")
private String documentNumber;
- @ApiModelProperty("页面浏览量")
+ @Schema(description = "页面浏览量")
private Integer pageViewCount;
- @ApiModelProperty("用户浏览量")
+ @Schema(description = "用户浏览量")
private Integer userViewCount;
- @ApiModelProperty("删除标识")
+ @Schema(description = "删除标识")
private Boolean deletedFlag;
- @ApiModelProperty("创建人名称")
+ @Schema(description = "创建人名称")
private String createUserName;
- @ApiModelProperty("创建时间")
+ @Schema(description = "创建时间")
private LocalDateTime createTime;
- @ApiModelProperty("更新时间")
+ @Schema(description = "更新时间")
private LocalDateTime updateTime;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java
index 5b761259..23b1adc9 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@@ -12,38 +12,38 @@ import java.time.LocalDateTime;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeViewRecordVO {
- @ApiModelProperty("员工ID")
+ @Schema(description = "员工ID")
private Long employeeId;
- @ApiModelProperty("员工姓名")
+ @Schema(description = "员工姓名")
private String employeeName;
- @ApiModelProperty("员工部门名称")
+ @Schema(description = "员工部门名称")
private String departmentName;
- @ApiModelProperty("查看次数")
+ @Schema(description = "查看次数")
private Integer pageViewCount;
- @ApiModelProperty("首次ip")
+ @Schema(description = "首次ip")
private String firstIp;
- @ApiModelProperty("首次用户设备等标识")
+ @Schema(description = "首次用户设备等标识")
private String firstUserAgent;
- @ApiModelProperty("首次查看时间")
+ @Schema(description = "首次查看时间")
private LocalDateTime createTime;
- @ApiModelProperty("最后一次 ip")
+ @Schema(description = "最后一次 ip")
private String lastIp;
- @ApiModelProperty("最后一次 用户设备等标识")
+ @Schema(description = "最后一次 用户设备等标识")
private String lastUserAgent;
- @ApiModelProperty("最后一次查看时间")
+ @Schema(description = "最后一次查看时间")
private LocalDateTime updateTime;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java
index cd3ad235..0206cada 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java
@@ -1,9 +1,9 @@
package net.lab1024.sa.admin.module.business.oa.notice.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.oa.notice.constant.NoticeVisibleRangeDataTypeEnum;
-import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
+import net.lab1024.sa.base.common.swagger.SchemaEnum;
/**
* 新闻、公告 可见范围数据 VO
@@ -12,18 +12,18 @@ import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Data
public class NoticeVisibleRangeVO {
- @ApiModelPropertyEnum(NoticeVisibleRangeDataTypeEnum.class)
+ @SchemaEnum(NoticeVisibleRangeDataTypeEnum.class)
private Integer dataType;
- @ApiModelProperty("员工/部门id")
+ @Schema(description = "员工/部门id")
private Long dataId;
- @ApiModelProperty("员工/部门 名称")
+ @Schema(description = "员工/部门 名称")
private String dataName;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java
index 662dca05..2a480cb6 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java
@@ -3,13 +3,13 @@ package net.lab1024.sa.admin.module.business.oa.notice.manager;
import net.lab1024.sa.admin.module.business.oa.notice.dao.NoticeDao;
import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity;
import net.lab1024.sa.admin.module.business.oa.notice.domain.form.NoticeVisibleRangeForm;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerTypeEnum;
-import net.lab1024.sa.common.module.support.datatracer.service.DataTracerService;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum;
+import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.List;
/**
@@ -19,22 +19,19 @@ import java.util.List;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
public class NoticeManager {
- @Autowired
+ @Resource
private NoticeDao noticeDao;
- @Autowired
+ @Resource
private DataTracerService dataTracerService;
/**
* 保存
- *
- * @param noticeEntity
- * @param visibleRangeFormList
*/
@Transactional(rollbackFor = Throwable.class)
public void save(NoticeEntity noticeEntity, List visibleRangeFormList) {
@@ -50,8 +47,6 @@ public class NoticeManager {
/**
* 更新
*
- * @param noticeEntity
- * @param visibleRangeList
*/
@Transactional(rollbackFor = Throwable.class)
public void update(NoticeEntity old, NoticeEntity noticeEntity, List visibleRangeList) {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java
index f3c90196..5ac0f389 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java
@@ -10,13 +10,13 @@ import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.*;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity;
import net.lab1024.sa.admin.module.system.employee.service.EmployeeService;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
-import net.lab1024.sa.common.common.util.SmartPageUtil;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.util.SmartPageUtil;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -29,27 +29,25 @@ import java.util.stream.Collectors;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
public class NoticeEmployeeService {
- @Autowired
+ @Resource
private NoticeDao noticeDao;
- @Autowired
+ @Resource
private NoticeService noticeService;
- @Autowired
+ @Resource
private DepartmentService departmentService;
- @Autowired
+ @Resource
private EmployeeService employeeService;
/**
* 查询我的 通知、公告清单
- *
- * @return
*/
public ResponseDTO> queryList(Long requestEmployeeId, NoticeEmployeeQueryForm noticeEmployeeQueryForm) {
Page> page = SmartPageUtil.convert2PageQuery(noticeEmployeeQueryForm);
@@ -92,8 +90,6 @@ public class NoticeEmployeeService {
/**
* 查询我的 待查看的 通知、公告清单
- *
- * @return
*/
public ResponseDTO view(Long requestEmployeeId, Long noticeId, String ip, String userAgent) {
NoticeUpdateFormVO updateFormVO = noticeService.getUpdateFormVO(noticeId);
@@ -120,10 +116,6 @@ public class NoticeEmployeeService {
/**
* 校验是否有查看权限的范围
*
- * @param visibleRangeList
- * @param employeeId
- * @param departmentId
- * @return
*/
public boolean checkVisibleRange(List visibleRangeList, Long employeeId, Long departmentId) {
// 员工范围
@@ -147,13 +139,10 @@ public class NoticeEmployeeService {
/**
* 分页查询 查看记录
- *
- * @param noticeViewRecordQueryForm
- * @return
*/
public PageResult queryViewRecord(NoticeViewRecordQueryForm noticeViewRecordQueryForm) {
Page> page = SmartPageUtil.convert2PageQuery(noticeViewRecordQueryForm);
- List noticeViewRecordVOS = noticeDao.queryNoticeViewRecordList(page, noticeViewRecordQueryForm);
- return SmartPageUtil.convert2PageResult(page, noticeViewRecordVOS);
+ List noticeViewRecordList = noticeDao.queryNoticeViewRecordList(page, noticeViewRecordQueryForm);
+ return SmartPageUtil.convert2PageResult(page, noticeViewRecordList);
}
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java
index dbe3b311..85d31eb4 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java
@@ -1,6 +1,7 @@
package net.lab1024.sa.admin.module.business.oa.notice.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Maps;
import net.lab1024.sa.admin.module.business.oa.notice.constant.NoticeVisibleRangeDataTypeEnum;
import net.lab1024.sa.admin.module.business.oa.notice.dao.NoticeDao;
import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeEntity;
@@ -19,20 +20,19 @@ import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
import net.lab1024.sa.admin.module.system.employee.dao.EmployeeDao;
import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity;
-import net.lab1024.sa.common.common.constant.StringConst;
-import net.lab1024.sa.common.common.domain.PageResult;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
-import net.lab1024.sa.common.common.util.SmartPageUtil;
-import net.lab1024.sa.common.module.support.datatracer.constant.DataTracerTypeEnum;
-import net.lab1024.sa.common.module.support.datatracer.service.DataTracerService;
+import net.lab1024.sa.base.common.constant.StringConst;
+import net.lab1024.sa.base.common.domain.PageResult;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.util.SmartPageUtil;
+import net.lab1024.sa.base.module.support.datatracer.constant.DataTracerTypeEnum;
+import net.lab1024.sa.base.module.support.datatracer.service.DataTracerService;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
@@ -45,37 +45,35 @@ import java.util.stream.Collectors;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
public class NoticeService {
- @Autowired
+ @Resource
private NoticeDao noticeDao;
- @Autowired
+ @Resource
private NoticeManager noticeManager;
- @Autowired
+ @Resource
private EmployeeDao employeeDao;
- @Autowired
+ @Resource
private DepartmentDao departmentDao;
- @Autowired
+ @Resource
private DepartmentService departmentService;
- @Autowired
+ @Resource
private NoticeTypeService noticeTypeService;
- @Autowired
+ @Resource
private DataTracerService dataTracerService;
/**
* 查询 通知、公告
*
- * @param queryForm
- * @return
*/
public PageResult query(NoticeQueryForm queryForm) {
Page> page = SmartPageUtil.convert2PageQuery(queryForm);
@@ -87,9 +85,6 @@ public class NoticeService {
/**
* 添加
- *
- * @param addForm
- * @return
*/
public ResponseDTO add(NoticeAddForm addForm) {
// 校验并获取可见范围
@@ -112,8 +107,6 @@ public class NoticeService {
/**
* 校验并返回可见范围
*
- * @param form
- * @return
*/
private ResponseDTO checkAndBuildVisibleRange(NoticeAddForm form) {
// 校验资讯分类
@@ -126,7 +119,7 @@ public class NoticeService {
return ResponseDTO.ok();
}
- /**
+ /*
* 校验可见范围
* 非全部可见时 校验选择的员工|部门
*/
@@ -144,7 +137,7 @@ public class NoticeService {
employeeIdList = employeeIdList.stream().distinct().collect(Collectors.toList());
List dbEmployeeIdList = employeeDao.selectBatchIds(employeeIdList).stream().map(EmployeeEntity::getEmployeeId).collect(Collectors.toList());
Collection subtract = CollectionUtils.subtract(employeeIdList, dbEmployeeIdList);
- if (subtract.size() > 0) {
+ if (!subtract.isEmpty()) {
return ResponseDTO.userErrorParam("员工id不存在:" + subtract);
}
}
@@ -158,7 +151,7 @@ public class NoticeService {
deptIdList = deptIdList.stream().distinct().collect(Collectors.toList());
List dbDeptIdList = departmentDao.selectBatchIds(deptIdList).stream().map(DepartmentEntity::getDepartmentId).collect(Collectors.toList());
Collection subtract = CollectionUtils.subtract(deptIdList, dbDeptIdList);
- if (subtract.size() > 0) {
+ if (!subtract.isEmpty()) {
return ResponseDTO.userErrorParam("部门id不存在:" + subtract);
}
}
@@ -169,8 +162,6 @@ public class NoticeService {
/**
* 更新
*
- * @param updateForm
- * @return
*/
public ResponseDTO update(NoticeUpdateForm updateForm) {
@@ -195,8 +186,6 @@ public class NoticeService {
/**
* 删除
*
- * @param noticeId
- * @return
*/
public ResponseDTO delete(Long noticeId) {
NoticeEntity noticeEntity = noticeDao.selectById(noticeId);
@@ -211,9 +200,6 @@ public class NoticeService {
/**
* 获取更新表单用的详情
- *
- * @param noticeId
- * @return
*/
public NoticeUpdateFormVO getUpdateFormVO(Long noticeId) {
NoticeEntity noticeEntity = noticeDao.selectById(noticeId);
@@ -232,7 +218,7 @@ public class NoticeService {
if (CollectionUtils.isNotEmpty(employeeIdList)) {
employeeMap = employeeDao.selectBatchIds(employeeIdList).stream().collect(Collectors.toMap(EmployeeEntity::getEmployeeId, Function.identity()));
} else {
- employeeMap = new HashMap<>();
+ employeeMap = Maps.newHashMap();
}
for (NoticeVisibleRangeVO noticeVisibleRange : noticeVisibleRangeList) {
if (noticeVisibleRange.getDataType().equals(NoticeVisibleRangeDataTypeEnum.EMPLOYEE.getValue())) {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java
index 23da7364..4485370f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java
@@ -4,12 +4,12 @@ import cn.hutool.core.util.StrUtil;
import net.lab1024.sa.admin.module.business.oa.notice.dao.NoticeTypeDao;
import net.lab1024.sa.admin.module.business.oa.notice.domain.entity.NoticeTypeEntity;
import net.lab1024.sa.admin.module.business.oa.notice.domain.vo.NoticeTypeVO;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -21,12 +21,12 @@ import java.util.stream.Collectors;
* @Date 2022-08-12 21:40:39
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022
+ * @Copyright 1024创新实验室
*/
@Service
public class NoticeTypeService {
- @Autowired
+ @Resource
private NoticeTypeDao noticeTypeDao;
/**
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java
index 7ba28705..3f7307d5 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java
@@ -3,7 +3,7 @@ package net.lab1024.sa.admin.module.system.datascope;
import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeTypeEnum;
import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeWhereInTypeEnum;
-import net.lab1024.sa.admin.module.system.datascope.strategy.DataScopePowerStrategy;
+import net.lab1024.sa.admin.module.system.datascope.strategy.AbstractDataScopeStrategy;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -17,7 +17,7 @@ import java.lang.annotation.Target;
* @Date 2022-03-18 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@@ -29,25 +29,21 @@ public @interface DataScope {
/**
* DataScopeWhereInTypeEnum.CUSTOM_STRATEGY类型 才可使用joinSqlImplClazz属性
- * @return
*/
- Class extends DataScopePowerStrategy> joinSqlImplClazz() default DataScopePowerStrategy.class;
+ Class extends AbstractDataScopeStrategy> joinSqlImplClazz() default AbstractDataScopeStrategy.class;
/**
* 多个参数已逗号分隔,本属性主要用于joinSqlImplClazz 实现类跟进参数进行不同的范围控制,如不使用CUSTOM_STRATEGY,可不做配置
- * @return
*/
String paramName() default "";
/**
*
* 第几个where 条件 从0开始
- * @return
*/
int whereIndex() default 0;
/**
* DataScopeWhereInTypeEnum为CUSTOM_STRATEGY类型时,此属性无效
- * @return
*/
String joinSql() default "";
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java
index 4e143889..348a215b 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java
@@ -1,17 +1,15 @@
package net.lab1024.sa.admin.module.system.datascope;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import net.lab1024.sa.admin.common.AdminBaseController;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.system.datascope.domain.DataScopeAndViewTypeVO;
import net.lab1024.sa.admin.module.system.datascope.service.DataScopeService;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.module.support.operatelog.annoation.OperateLog;
-import org.springframework.beans.factory.annotation.Autowired;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
import java.util.List;
/**
@@ -21,17 +19,16 @@ import java.util.List;
* @Date 2022-03-18 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
-@OperateLog
@RestController
-@Api(tags = {AdminSwaggerTagConst.System.SYSTEM_DATA_SCOPE})
-public class DataScopeController extends AdminBaseController {
+@Tag(name = AdminSwaggerTagConst.System.SYSTEM_DATA_SCOPE)
+public class DataScopeController {
- @Autowired
+ @Resource
private DataScopeService dataScopeService;
- @ApiOperation(value = "获取当前系统所配置的所有数据范围 @author 罗伊")
+ @Operation(summary = "获取当前系统所配置的所有数据范围 @author 罗伊")
@GetMapping("/dataScope/list")
public ResponseDTO> dataScopeList() {
return dataScopeService.dataScopeList();
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java
index 2c2f39d1..bddadfd9 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java
@@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil;
import com.google.common.collect.Maps;
import net.lab1024.sa.admin.module.system.datascope.domain.DataScopeSqlConfig;
import net.lab1024.sa.admin.module.system.datascope.service.DataScopeSqlConfigService;
-import net.lab1024.sa.common.common.domain.DataScopePlugin;
+import net.lab1024.sa.base.common.domain.DataScopePlugin;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.plugin.Intercepts;
@@ -13,10 +13,10 @@ import org.apache.ibatis.plugin.Plugin;
import org.apache.ibatis.plugin.Signature;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -28,13 +28,13 @@ import java.util.Properties;
* @Date 2022-03-18 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Intercepts({@Signature(type = org.apache.ibatis.executor.Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class})})
@Component
public class MyBatisPlugin extends DataScopePlugin {
- @Autowired
+ @Resource
private ApplicationContext applicationContext;
@Override
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java
index 9130631a..130d8178 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.datascope.constant;
-import net.lab1024.sa.common.common.enumeration.BaseEnum;
+import net.lab1024.sa.base.common.enumeration.BaseEnum;
/**
* 数据范围 类型
@@ -9,7 +9,7 @@ import net.lab1024.sa.common.common.enumeration.BaseEnum;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
public enum DataScopeTypeEnum implements BaseEnum {
@@ -19,13 +19,13 @@ public enum DataScopeTypeEnum implements BaseEnum {
NOTICE(1, 20, "系统通知", "系统通知数据范围"),
;
- private Integer value;
+ private final Integer value;
- private Integer sort;
+ private final Integer sort;
- private String name;
+ private final String name;
- private String desc;
+ private final String desc;
DataScopeTypeEnum(Integer value, Integer sort, String name, String desc) {
this.value = value;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java
index 1ef69302..c6ce9e20 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java
@@ -1,7 +1,7 @@
package net.lab1024.sa.admin.module.system.datascope.constant;
-import net.lab1024.sa.common.common.enumeration.BaseEnum;
+import net.lab1024.sa.base.common.enumeration.BaseEnum;
/**
@@ -11,23 +11,35 @@ import net.lab1024.sa.common.common.enumeration.BaseEnum;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
public enum DataScopeViewTypeEnum implements BaseEnum {
+ /**
+ * 本人
+ */
ME(0, 0, "本人"),
+ /**
+ * 部门
+ */
DEPARTMENT(1, 5, "本部门"),
+ /**
+ * 本部门及下属子部门
+ */
DEPARTMENT_AND_SUB(2, 10, "本部门及下属子部门"),
+ /**
+ * 全部
+ */
ALL(10, 100, "全部");
- private Integer value;
- private Integer level;
- private String desc;
+ private final Integer value;
+ private final Integer level;
+ private final String desc;
DataScopeViewTypeEnum(Integer value, Integer level, String desc) {
this.value = value;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java
index dd9293d5..9692a4ab 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java
@@ -1,7 +1,7 @@
package net.lab1024.sa.admin.module.system.datascope.constant;
-import net.lab1024.sa.common.common.enumeration.BaseEnum;
+import net.lab1024.sa.base.common.enumeration.BaseEnum;
/**
* 数据范围 sql where
@@ -10,18 +10,27 @@ import net.lab1024.sa.common.common.enumeration.BaseEnum;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
public enum DataScopeWhereInTypeEnum implements BaseEnum {
+ /**
+ * 以员工IN
+ */
EMPLOYEE(0, "以员工IN"),
+ /**
+ * 以部门IN
+ */
DEPARTMENT(1, "以部门IN"),
+ /**
+ * 自定义策略
+ */
CUSTOM_STRATEGY(2, "自定义策略");
- private Integer value;
- private String desc;
+ private final Integer value;
+ private final String desc;
DataScopeWhereInTypeEnum(Integer value, String desc) {
this.value = value;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java
index 51bd3f57..5787f79a 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.datascope.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@@ -12,24 +12,24 @@ import java.util.List;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class DataScopeAndViewTypeVO {
- @ApiModelProperty("数据范围类型")
+ @Schema(description = "数据范围类型")
private Integer dataScopeType;
- @ApiModelProperty("数据范围名称")
+ @Schema(description = "数据范围名称")
private String dataScopeTypeName;
- @ApiModelProperty("描述")
+ @Schema(description = "描述")
private String dataScopeTypeDesc;
- @ApiModelProperty("顺序")
+ @Schema(description = "顺序")
private Integer dataScopeTypeSort;
- @ApiModelProperty("可见范围列表")
+ @Schema(description = "可见范围列表")
private List viewTypeList;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java
index 01919e95..b0c7ad9f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.datascope.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
@@ -11,22 +11,22 @@ import lombok.Data;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
@Builder
public class DataScopeDTO {
- @ApiModelProperty("数据范围类型")
+ @Schema(description = "数据范围类型")
private Integer dataScopeType;
- @ApiModelProperty("数据范围名称")
+ @Schema(description = "数据范围名称")
private String dataScopeTypeName;
- @ApiModelProperty("描述")
+ @Schema(description = "描述")
private String dataScopeTypeDesc;
- @ApiModelProperty("顺序")
+ @Schema(description = "顺序")
private Integer dataScopeTypeSort;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java
index 63686b3b..65995c74 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java
@@ -11,7 +11,7 @@ import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeWhereInTyp
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class DataScopeSqlConfig {
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java
index 22231d22..17b55fa8 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.datascope.domain;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
@@ -11,18 +11,18 @@ import lombok.Data;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
@Builder
public class DataScopeViewTypeVO {
- @ApiModelProperty("可见范围")
+ @Schema(description = "可见范围")
private Integer viewType;
- @ApiModelProperty("可见范围名称")
+ @Schema(description = "可见范围名称")
private String viewTypeName;
- @ApiModelProperty("级别,用于表示范围大小")
+ @Schema(description = "级别,用于表示范围大小")
private Integer viewTypeLevel;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java
index 7353706e..dbad387e 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java
@@ -6,8 +6,8 @@ import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeViewTypeEn
import net.lab1024.sa.admin.module.system.datascope.domain.DataScopeAndViewTypeVO;
import net.lab1024.sa.admin.module.system.datascope.domain.DataScopeDTO;
import net.lab1024.sa.admin.module.system.datascope.domain.DataScopeViewTypeVO;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
import org.springframework.stereotype.Service;
import java.util.Comparator;
@@ -20,15 +20,13 @@ import java.util.List;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Service
public class DataScopeService {
/**
* 获取所有可以进行数据范围配置的信息
- *
- * @return
*/
public ResponseDTO> dataScopeList() {
List dataScopeList = this.getDataScopeType();
@@ -42,8 +40,6 @@ public class DataScopeService {
/**
* 获取当前系统存在的数据可见范围
- *
- * @return
*/
public List getViewType() {
List viewTypeList = Lists.newArrayList();
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java
index fc98e24b..b28b5c79 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java
@@ -1,25 +1,25 @@
package net.lab1024.sa.admin.module.system.datascope.service;
import lombok.extern.slf4j.Slf4j;
+import net.lab1024.sa.admin.AdminApplication;
+import net.lab1024.sa.admin.module.system.datascope.DataScope;
import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeTypeEnum;
import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeViewTypeEnum;
import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeWhereInTypeEnum;
import net.lab1024.sa.admin.module.system.datascope.domain.DataScopeSqlConfig;
-import net.lab1024.sa.admin.module.system.datascope.DataScope;
-import net.lab1024.sa.admin.module.system.datascope.strategy.DataScopePowerStrategy;
-import net.lab1024.sa.common.common.util.SmartRequestUtil;
+import net.lab1024.sa.admin.module.system.datascope.strategy.AbstractDataScopeStrategy;
+import net.lab1024.sa.base.common.util.SmartRequestUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.reflections.Reflections;
import org.reflections.scanners.MethodAnnotationsScanner;
import org.reflections.util.ClasspathHelper;
import org.reflections.util.ConfigurationBuilder;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;
@@ -33,7 +33,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Slf4j
@Service
@@ -46,16 +46,12 @@ public class DataScopeSqlConfigService {
private static final String DEPARTMENT_PARAM = "#departmentIds";
- private ConcurrentHashMap dataScopeMethodMap = new ConcurrentHashMap<>();
+ private final ConcurrentHashMap dataScopeMethodMap = new ConcurrentHashMap<>();
- @Autowired
+ @Resource
private DataScopeViewService dataScopeViewService;
- @Value("${swagger.package}")
- private String scanPackage;
-
-
- @Autowired
+ @Resource
private ApplicationContext applicationContext;
@@ -66,11 +62,9 @@ public class DataScopeSqlConfigService {
/**
* 刷新 所有添加数据范围注解的接口方法配置>
- *
- * @return
*/
private Map refreshDataScopeMethodMap() {
- Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage(scanPackage)).setScanners(new MethodAnnotationsScanner()));
+ Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage(AdminApplication.COMPONENT_SCAN)).setScanners(new MethodAnnotationsScanner()));
Set methods = reflections.getMethodsAnnotatedWith(DataScope.class);
for (Method method : methods) {
DataScope dataScopeAnnotation = method.getAnnotation(DataScope.class);
@@ -91,19 +85,13 @@ public class DataScopeSqlConfigService {
/**
* 根据调用的方法获取,此方法的配置信息
*
- * @param method
- * @return
*/
public DataScopeSqlConfig getSqlConfig(String method) {
- DataScopeSqlConfig sqlConfigDTO = this.dataScopeMethodMap.get(method);
- return sqlConfigDTO;
+ return this.dataScopeMethodMap.get(method);
}
/**
* 组装需要拼接的sql
- * @param paramMap
- * @param sqlConfigDTO
- * @return
*/
public String getJoinSql(Map paramMap, DataScopeSqlConfig sqlConfigDTO) {
DataScopeTypeEnum dataScopeTypeEnum = sqlConfigDTO.getDataScopeType();
@@ -118,7 +106,7 @@ public class DataScopeSqlConfigService {
log.warn("data scope custom strategy class is null");
return "";
}
- DataScopePowerStrategy powerStrategy = (DataScopePowerStrategy) applicationContext.getBean(sqlConfigDTO.getJoinSqlImplClazz());
+ AbstractDataScopeStrategy powerStrategy = (AbstractDataScopeStrategy) applicationContext.getBean(sqlConfigDTO.getJoinSqlImplClazz());
if (powerStrategy == null) {
log.warn("data scope custom strategy class:{} ,bean is null", sqlConfigDTO.getJoinSqlImplClazz());
return "";
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java
index 6ec1c408..f478c608 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java
@@ -2,18 +2,18 @@ package net.lab1024.sa.admin.module.system.datascope.service;
import com.google.common.collect.Lists;
import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeTypeEnum;
+import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeViewTypeEnum;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
import net.lab1024.sa.admin.module.system.employee.dao.EmployeeDao;
import net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity;
import net.lab1024.sa.admin.module.system.role.dao.RoleDataScopeDao;
import net.lab1024.sa.admin.module.system.role.dao.RoleEmployeeDao;
import net.lab1024.sa.admin.module.system.role.domain.entity.RoleDataScopeEntity;
-import net.lab1024.sa.admin.module.system.datascope.constant.DataScopeViewTypeEnum;
-import net.lab1024.sa.common.common.util.SmartEnumUtil;
+import net.lab1024.sa.base.common.util.SmartEnumUtil;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
@@ -26,29 +26,25 @@ import java.util.stream.Collectors;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Service
public class DataScopeViewService {
- @Autowired
+ @Resource
private RoleEmployeeDao roleEmployeeDao;
- @Autowired
+ @Resource
private RoleDataScopeDao roleDataScopeDao;
- @Autowired
+ @Resource
private EmployeeDao employeeDao;
- @Autowired
+ @Resource
private DepartmentService departmentService;
/**
* 获取某人可以查看的所有人员信息
- *
- * @param dataScopeTypeEnum
- * @param employeeId
- * @return
*/
public List getCanViewEmployeeId(DataScopeTypeEnum dataScopeTypeEnum, Long employeeId) {
DataScopeViewTypeEnum viewType = this.getEmployeeDataScopeViewType(dataScopeTypeEnum, employeeId);
@@ -66,10 +62,6 @@ public class DataScopeViewService {
/**
* 获取某人可以查看的所有部门信息
- *
- * @param dataScopeTypeEnum
- * @param employeeId
- * @return
*/
public List getCanViewDepartmentId(DataScopeTypeEnum dataScopeTypeEnum, Long employeeId) {
DataScopeViewTypeEnum viewType = this.getEmployeeDataScopeViewType(dataScopeTypeEnum, employeeId);
@@ -92,15 +84,11 @@ public class DataScopeViewService {
public List getDepartmentAndSubIdList(Long employeeId) {
EmployeeEntity employeeEntity = employeeDao.selectById(employeeId);
- List allDepartmentIds = departmentService.selfAndChildrenIdList(employeeEntity.getDepartmentId());
- return allDepartmentIds;
+ return departmentService.selfAndChildrenIdList(employeeEntity.getDepartmentId());
}
/**
* 根据员工id 获取各数据范围最大的可见范围 map>
- *
- * @param employeeId
- * @return
*/
public DataScopeViewTypeEnum getEmployeeDataScopeViewType(DataScopeTypeEnum dataScopeTypeEnum, Long employeeId) {
if (employeeId == null) {
@@ -128,9 +116,6 @@ public class DataScopeViewService {
/**
* 获取本人相关 可查看员工id
- *
- * @param employeeId
- * @return
*/
private List getMeEmployeeIdList(Long employeeId) {
return Lists.newArrayList(employeeId);
@@ -138,25 +123,17 @@ public class DataScopeViewService {
/**
* 获取本部门相关 可查看员工id
- *
- * @param employeeId
- * @return
*/
private List getDepartmentEmployeeIdList(Long employeeId) {
EmployeeEntity employeeEntity = employeeDao.selectById(employeeId);
- List employeeIdList = employeeDao.getEmployeeIdByDepartmentId(employeeEntity.getDepartmentId(), false);
- return employeeIdList;
+ return employeeDao.getEmployeeIdByDepartmentId(employeeEntity.getDepartmentId(), false);
}
/**
* 获取本部门及下属子部门相关 可查看员工id
- *
- * @param employeeId
- * @return
*/
private List getDepartmentAndSubEmployeeIdList(Long employeeId) {
List allDepartmentIds = getDepartmentAndSubIdList(employeeId);
- List employeeIdList = employeeDao.getEmployeeIdByDepartmentIdList(allDepartmentIds, false);
- return employeeIdList;
+ return employeeDao.getEmployeeIdByDepartmentIdList(allDepartmentIds, false);
}
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/AbstractDataScopeStrategy.java
similarity index 77%
rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java
rename to smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/AbstractDataScopeStrategy.java
index 4611fd57..152bb1ed 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/AbstractDataScopeStrategy.java
@@ -12,16 +12,12 @@ import java.util.Map;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
-public abstract class DataScopePowerStrategy {
+public abstract class AbstractDataScopeStrategy {
/**
* 获取joinsql 字符串
- * @param viewTypeEnum
- * @param paramMap
- * @param sqlConfigDTO
- * @return
*/
public abstract String getCondition(DataScopeViewTypeEnum viewTypeEnum, Map paramMap, DataScopeSqlConfig sqlConfigDTO);
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java
index 62e2fe33..bb61a4e2 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java
@@ -1,20 +1,18 @@
package net.lab1024.sa.admin.module.system.department.controller;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import net.lab1024.sa.admin.common.AdminBaseController;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.module.system.department.domain.form.DepartmentAddForm;
import net.lab1024.sa.admin.module.system.department.domain.form.DepartmentUpdateForm;
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentTreeVO;
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
-import net.lab1024.sa.common.common.domain.ResponseDTO;
-import net.lab1024.sa.common.module.support.operatelog.annoation.OperateLog;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@@ -25,44 +23,43 @@ import java.util.List;
* @Date 2022-01-12 20:37:48
* @Wechat 卓大1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
-@OperateLog
@RestController
-@Api(tags = {AdminSwaggerTagConst.System.SYSTEM_DEPARTMENT})
-public class DepartmentController extends AdminBaseController {
+@Tag(name = AdminSwaggerTagConst.System.SYSTEM_DEPARTMENT)
+public class DepartmentController {
- @Autowired
+ @Resource
private DepartmentService departmentService;
- @ApiOperation(value = "查询部门树形列表 @author 卓大")
+ @Operation(summary = "查询部门树形列表 @author 卓大")
@GetMapping("/department/treeList")
public ResponseDTO> departmentTree() {
return departmentService.departmentTree();
}
- @ApiOperation(value = "添加部门 @author 卓大")
+ @Operation(summary = "添加部门 @author 卓大")
@PostMapping("/department/add")
- @PreAuthorize("@saAuth.checkPermission('system:department:add')")
+ @SaCheckPermission("system:department:add")
public ResponseDTO addDepartment(@Valid @RequestBody DepartmentAddForm createDTO) {
return departmentService.addDepartment(createDTO);
}
- @ApiOperation(value = "更新部门 @author 卓大")
+ @Operation(summary = "更新部门 @author 卓大")
@PostMapping("/department/update")
- @PreAuthorize("@saAuth.checkPermission('system:department:update')")
+ @SaCheckPermission("system:department:update")
public ResponseDTO updateDepartment(@Valid @RequestBody DepartmentUpdateForm updateDTO) {
return departmentService.updateDepartment(updateDTO);
}
- @ApiOperation(value = "删除部门 @author 卓大")
+ @Operation(summary = "删除部门 @author 卓大")
@GetMapping("/department/delete/{departmentId}")
- @PreAuthorize("@saAuth.checkPermission('system:department:delete')")
+ @SaCheckPermission("system:department:delete")
public ResponseDTO deleteDepartment(@PathVariable Long departmentId) {
return departmentService.deleteDepartment(departmentId);
}
- @ApiOperation(value = "查询部门列表 @author 卓大")
+ @Operation(summary = "查询部门列表 @author 卓大")
@GetMapping("/department/listAll")
public ResponseDTO> listAll() {
return ResponseDTO.ok(departmentService.listAll());
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
index 25c395ca..3103af3f 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
@@ -16,7 +16,7 @@ import java.util.List;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Component
@Mapper
@@ -25,15 +25,11 @@ public interface DepartmentDao extends BaseMapper {
/**
* 根据部门id,查询此部门直接子部门的数量
*
- * @param departmentId
- * @return int 子部门的数量
*/
Integer countSubDepartment(@Param("departmentId") Long departmentId);
/**
* 获取全部部门列表
- *
- * @return
*/
List listAll();
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java
index 28f9431b..52882f8d 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java
@@ -14,7 +14,7 @@ import java.time.LocalDateTime;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
@TableName(value = "t_department")
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java
index 4a10c4c5..25ecc447 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.department.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -13,24 +13,24 @@ import javax.validation.constraints.NotNull;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class DepartmentAddForm {
- @ApiModelProperty("部门名称")
+ @Schema(description = "部门名称")
@Length(min = 1, max = 50, message = "请输入正确的部门名称(1-50个字符)")
@NotNull(message = "请输入正确的部门名称(1-50个字符)")
private String name;
- @ApiModelProperty("排序")
+ @Schema(description = "排序")
@NotNull(message = "排序值")
private Integer sort;
- @ApiModelProperty("部门负责人id")
+ @Schema(description = "部门负责人id")
private Long managerId;
- @ApiModelProperty("上级部门id (可选)")
+ @Schema(description = "上级部门id (可选)")
private Long parentId;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java
index a9516819..6a249198 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.department.domain.form;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,12 +12,12 @@ import javax.validation.constraints.NotNull;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class DepartmentUpdateForm extends DepartmentAddForm {
- @ApiModelProperty("部门id")
+ @Schema(description = "部门id")
@NotNull(message = "部门id不能为空")
private Long departmentId;
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java
index aba7b263..94bfb713 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.department.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO;
@@ -13,15 +13,15 @@ import java.util.List;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class DepartmentEmployeeTreeVO extends DepartmentVO {
- @ApiModelProperty("部门员工列表")
+ @Schema(description = "部门员工列表")
private List employees;
- @ApiModelProperty("子部门")
+ @Schema(description = "子部门")
private List children;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java
index 4efef78d..7728f22e 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.department.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@@ -12,21 +12,21 @@ import java.util.List;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class DepartmentTreeVO extends DepartmentVO {
- @ApiModelProperty("同级上一个元素id")
+ @Schema(description = "同级上一个元素id")
private Long preId;
- @ApiModelProperty("同级下一个元素id")
+ @Schema(description = "同级下一个元素id")
private Long nextId;
- @ApiModelProperty("子部门")
+ @Schema(description = "子部门")
private List children;
- @ApiModelProperty("自己和所有递归子部门的id集合")
+ @Schema(description = "自己和所有递归子部门的id集合")
private List selfAndAllChildrenIdList;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java
index 5f546fc9..f52e28b5 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.admin.module.system.department.domain.vo;
-import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@@ -10,27 +10,27 @@ import lombok.Data;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Data
public class DepartmentVO {
- @ApiModelProperty("部门id")
+ @Schema(description = "部门id")
private Long departmentId;
- @ApiModelProperty("部门名称")
+ @Schema(description = "部门名称")
private String name;
- @ApiModelProperty("部门负责人姓名")
+ @Schema(description = "部门负责人姓名")
private String managerName;
- @ApiModelProperty("部门负责人id")
+ @Schema(description = "部门负责人id")
private Long managerId;
- @ApiModelProperty("父级部门id")
+ @Schema(description = "父级部门id")
private Long parentId;
- @ApiModelProperty("排序")
+ @Schema(description = "排序")
private Integer sort;
}
diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
index f1fc0930..3ed6f350 100644
--- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
+++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
@@ -7,7 +7,7 @@ import net.lab1024.sa.admin.constant.AdminCacheConst;
import net.lab1024.sa.admin.module.system.department.dao.DepartmentDao;
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentTreeVO;
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
-import net.lab1024.sa.common.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +15,7 @@ import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -29,42 +30,36 @@ import java.util.stream.Collectors;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室 ( https://1024lab.net )
+ * @Copyright 1024创新实验室
*/
@Slf4j
@Service
public class DepartmentCacheManager {
- @Autowired
+ @Resource
private DepartmentDao departmentDao;
private void logClearInfo(String cache) {
log.info("clear " + cache);
}
- // ----------------------- 清空缓存 -----------------------
@CacheEvict(value = {AdminCacheConst.Department.DEPARTMENT_LIST_CACHE, AdminCacheConst.Department.DEPARTMENT_MAP_CACHE, AdminCacheConst.Department.DEPARTMENT_SELF_CHILDREN_CACHE, AdminCacheConst.Department.DEPARTMENT_TREE_CACHE, AdminCacheConst.Department.DEPARTMENT_PATH_CACHE,}, allEntries = true)
public void clearCache() {
logClearInfo(AdminCacheConst.Department.DEPARTMENT_LIST_CACHE);
}
- // ----------------------- 查询 -----------------------
/**
* 部门列表
- *
- * @return
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_LIST_CACHE)
public List getDepartmentList() {
- List departmentVOList = departmentDao.listAll();
- return departmentVOList;
+ return departmentDao.listAll();
}
/**
* 部门map
*
- * @return
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_MAP_CACHE)
public Map getDepartmentMap() {
@@ -75,7 +70,6 @@ public class DepartmentCacheManager {
/**
* 缓存部门树结构
*
- * @return
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_TREE_CACHE)
public List getDepartmentTree() {
@@ -86,21 +80,17 @@ public class DepartmentCacheManager {
/**
* 缓存某个部门的下级id列表
*
- * @param departmentId
- * @return
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_SELF_CHILDREN_CACHE)
public List getDepartmentSelfAndChildren(Long departmentId) {
List departmentVOList = departmentDao.listAll();
- List idList = this.selfAndChildrenIdList(departmentId, departmentVOList);
- return idList;
+ return this.selfAndChildrenIdList(departmentId, departmentVOList);
}
/**
* 部门的路径名称
*
- * @return
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_PATH_CACHE)
public Map getDepartmentPathMap() {
@@ -118,9 +108,6 @@ public class DepartmentCacheManager {
/**
* 构建父级考点路径
- *
- * @param departmentVO
- * @param departmentMap
*/
private String buildDepartmentPath(DepartmentVO departmentVO, Map departmentMap) {
if (Objects.equals(departmentVO.getParentId(), NumberUtils.LONG_ZERO)) {
@@ -140,8 +127,6 @@ public class DepartmentCacheManager {
/**
* 构建部门树结构
*
- * @param voList
- * @return
*/
public List buildTree(List voList) {
if (CollectionUtils.isEmpty(voList)) {
@@ -159,8 +144,6 @@ public class DepartmentCacheManager {
/**
* 构建所有根节点的下级树形结构
*
- * @param nodeList
- * @param
*/
private void recursiveBuildTree(List nodeList, List allDepartmentList) {
int nodeSize = nodeList.size();
@@ -191,9 +174,6 @@ public class DepartmentCacheManager {
/**
* 获取子元素
*
- * @param departmentId
- * @param voList
- * @return
*/
private List getChildren(Long departmentId, List voList) {
List childrenEntityList = voList.stream().filter(e -> departmentId.equals(e.getParentId())).collect(Collectors.toList());
@@ -207,8 +187,6 @@ public class DepartmentCacheManager {
/**
* 通过部门id,获取当前以及下属部门
*
- * @param departmentId
- * @param voList
*/
public List selfAndChildrenIdList(Long departmentId, List voList) {
List selfAndChildrenIdList = Lists.newArrayList();
@@ -230,10 +208,6 @@ public class DepartmentCacheManager {
/**
* 递归查询
- *
- * @param selfAndChildrenIdList
- * @param departmentId
- * @param voList
*/
public void selfAndChildrenRecursion(List