diff --git a/smart-admin-api-java17-springboot3/pom.xml b/smart-admin-api-java17-springboot3/pom.xml
index 60d8a91..9f0e263 100644
--- a/smart-admin-api-java17-springboot3/pom.xml
+++ b/smart-admin-api-java17-springboot3/pom.xml
@@ -48,7 +48,7 @@
0.9.1
0.9.0
3.1
- 1.37.0
+ 1.41.0
2.7.0
1.80
2.13.4
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java
index 28cd551..5bf8c73 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java
@@ -2,9 +2,8 @@ package net.lab1024.sa.admin.interceptor;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.dev33.satoken.exception.SaTokenException;
-import cn.dev33.satoken.strategy.SaStrategy;
import cn.dev33.satoken.stp.StpUtil;
-import cn.hutool.core.util.StrUtil;
+import cn.dev33.satoken.strategy.SaAnnotationStrategy;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@@ -84,7 +83,7 @@ public class AdminInterceptor implements HandlerInterceptor {
// --------------- 第三步: 校验 权限 ---------------
SmartRequestUtil.setRequestUser(requestEmployee);
- if (SaStrategy.instance.isAnnotationPresent.apply(method, SaIgnore.class)) {
+ if (SaAnnotationStrategy.instance.isAnnotationPresent.apply(method, SaIgnore.class)) {
return true;
}
@@ -93,7 +92,7 @@ public class AdminInterceptor implements HandlerInterceptor {
return true;
}
- SaStrategy.instance.checkMethodAnnotation.accept(method);
+ SaAnnotationStrategy.instance.checkMethodAnnotation.accept(method);
} catch (SaTokenException e) {
/*
@@ -126,7 +125,6 @@ public class AdminInterceptor implements HandlerInterceptor {
* 检测:token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结
*/
private void checkActiveTimeout(RequestEmployee requestEmployee) {
-
// 用户不在线,也不用检测
if (requestEmployee == null) {
return;
@@ -137,12 +135,9 @@ public class AdminInterceptor implements HandlerInterceptor {
}
-
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// 清除上下文
SmartRequestUtil.remove();
}
-
-
}
\ No newline at end of file
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java
deleted file mode 100644
index 959045d..0000000
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.lab1024.sa.admin.listener;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.stereotype.Component;
-
-/**
- * admin 应用启动加载
- *
- * @Author 1024创新实验室-主任:卓大
- * @Date 2021-08-26 18:46:32
- * @Wechat zhuoda1024
- * @Email lab1024@163.com
- * @Copyright 1024创新实验室
- */
-@Slf4j
-@Component
-public class AdminStartupRunner implements CommandLineRunner {
-
-
- @Override
- public void run(String... args) {
- }
-}
\ No newline at end of file
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java
index fbed2e9..c107b26 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java
@@ -18,7 +18,6 @@ import java.util.List;
* @Email lab1024@163.com
* @Copyright 1024创新实验室
*/
-@Component
@Mapper
public interface CategoryDao extends BaseMapper {
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java
index 83933a1..b8d0a77 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum;
+import java.io.Serializable;
import java.time.LocalDateTime;
/**
@@ -15,11 +16,13 @@ import java.time.LocalDateTime;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Data
@TableName("t_category")
-public class CategoryEntity {
+public class CategoryEntity implements Serializable {
+
+ private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Long categoryId;
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java
index 3c55b65..f847b40 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java
@@ -3,6 +3,7 @@ package net.lab1024.sa.admin.module.business.category.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
+import java.io.Serializable;
import java.util.List;
/**
@@ -12,10 +13,12 @@ import java.util.List;
* @Date 2021/08/05 21:26:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Data
-public class CategoryTreeVO {
+public class CategoryTreeVO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
@Schema(description = "类目id")
private Long categoryId;
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java
index 148a685..932f480 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java
@@ -21,7 +21,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface GoodsDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java
index 02d2702..c13620c 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java
@@ -7,7 +7,7 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
-import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
+import net.lab1024.sa.base.common.json.deserializer.DictDataDeserializer;
import net.lab1024.sa.base.common.swagger.SchemaEnum;
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
@@ -39,7 +39,7 @@ public class GoodsAddForm {
@Schema(description = "产地")
@NotBlank(message = "产地 不能为空 ")
- @JsonDeserialize(using = DictValueVoDeserializer.class)
+ @JsonDeserialize(using = DictDataDeserializer.class)
private String place;
@Schema(description = "商品价格")
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java
index 6f61e10..d726a9a 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java
@@ -5,7 +5,7 @@ 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.base.common.domain.PageParam;
-import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
+import net.lab1024.sa.base.common.json.deserializer.DictDataDeserializer;
import net.lab1024.sa.base.common.swagger.SchemaEnum;
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
import org.hibernate.validator.constraints.Length;
@@ -17,7 +17,7 @@ import org.hibernate.validator.constraints.Length;
* @Date 2021-10-25 20:26:54
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Data
public class GoodsQueryForm extends PageParam {
@@ -34,7 +34,7 @@ public class GoodsQueryForm extends PageParam {
private Integer goodsStatus;
@Schema(description = "产地")
- @JsonDeserialize(using = DictValueVoDeserializer.class)
+ @JsonDeserialize(using = DictDataDeserializer.class)
private String place;
@Schema(description = "上架状态")
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java
index f6b41bd..e4d59fb 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java
@@ -26,7 +26,6 @@ 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.stereotype.Service;
@@ -60,7 +59,7 @@ public class GoodsService {
private DataTracerService dataTracerService;
@Resource
- private DictCacheService dictCacheService;
+ private DictService dictService;
/**
* 添加商品
@@ -194,13 +193,13 @@ public class GoodsService {
*/
public List getAllGoods() {
List goodsEntityList = goodsDao.selectList(null);
- String keyCode="GODOS_PLACE";
+ String dictCode = "GOODS_PLACE";
return goodsEntityList.stream()
.map(e ->
GoodsExcelVO.builder()
.goodsStatus(SmartEnumUtil.getEnumDescByValue(e.getGoodsStatus(), GoodsStatusEnum.class))
.categoryName(categoryQueryService.queryCategoryName(e.getCategoryId()))
- .place(Arrays.stream(e.getPlace().split(",")).map(code -> dictCacheService.selectValueNameByValueCode(keyCode,code)).collect(Collectors.joining(",")))
+ .place(Arrays.stream(e.getPlace().split(",")).map(code -> dictService.getDictDataLabel(dictCode, code)).collect(Collectors.joining(",")))
.price(e.getPrice())
.goodsName(e.getGoodsName())
.remark(e.getRemark())
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
index bc50807..f553221 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
@@ -21,7 +21,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface BankDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java
index ee358cb..bde9499 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java
@@ -23,7 +23,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface EnterpriseDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java
index d27d392..e73a493 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java
@@ -22,7 +22,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface EnterpriseEmployeeDao extends BaseMapper {
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
index 1336fe5..68c8d9a 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
@@ -21,7 +21,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface InvoiceDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java
index f6c5060..c3609d6 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java
@@ -27,7 +27,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface NoticeDao extends BaseMapper {
// ================================= 数据范围相关 【子表】 =================================
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java
index b08e528..7f7ee5c 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java
@@ -15,7 +15,6 @@ import org.springframework.stereotype.Component;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface NoticeTypeDao extends BaseMapper {
}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java
index b706391..493d3b1 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java
@@ -33,7 +33,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @Date 2020/11/28 20:59:17
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Slf4j
@Service
@@ -89,7 +89,6 @@ public class DataScopeSqlConfigService {
/**
* 根据调用的方法获取,此方法的配置信息
- *
*/
public DataScopeSqlConfig getSqlConfig(String method) {
return this.dataScopeMethodMap.get(method);
@@ -125,7 +124,7 @@ public class DataScopeSqlConfigService {
log.warn("data scope custom strategy class:{} ,bean is null", sqlConfigDTO.getJoinSqlImplClazz());
return "";
}
- return powerStrategy.getCondition(viewTypeEnum,paramMap, sqlConfigDTO);
+ return powerStrategy.getCondition(viewTypeEnum, paramMap, sqlConfigDTO);
}
if (DataScopeWhereInTypeEnum.EMPLOYEE == sqlConfigDTO.getDataScopeWhereInType()) {
List canViewEmployeeIds = dataScopeViewService.getCanViewEmployeeId(viewTypeEnum, employeeId);
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java
index b48134e..1558573 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java
@@ -56,6 +56,7 @@ public class DataScopeViewService {
if (DataScopeViewTypeEnum.DEPARTMENT_AND_SUB == viewType) {
return this.getDepartmentAndSubEmployeeIdList(employeeId);
}
+ // 可以查看所有员工数据
return Lists.newArrayList();
}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
index 3103af3..4924d5a 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
@@ -18,7 +18,6 @@ import java.util.List;
* @Email lab1024@163.com
* @Copyright 1024创新实验室
*/
-@Component
@Mapper
public interface DepartmentDao extends BaseMapper {
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java
index 3887b47..a76ea7e 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java
@@ -36,7 +36,7 @@ public class DepartmentEntity {
/**
* 负责人员工 id
*/
- @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
private Long managerId;
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java
index 3566f87..c973a95 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java
@@ -3,6 +3,7 @@ package net.lab1024.sa.admin.module.system.department.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
+import java.io.Serializable;
import java.time.LocalDateTime;
/**
@@ -12,10 +13,12 @@ import java.time.LocalDateTime;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Data
-public class DepartmentVO {
+public class DepartmentVO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
@Schema(description = "部门id")
private Long departmentId;
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java
index b86f63e..2d11e03 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java
@@ -117,7 +117,7 @@ public class EmployeeController {
@Operation(summary = "查询员工-根据部门id @author 卓大")
@GetMapping("/employee/getAllEmployeeByDepartmentId/{departmentId}")
public ResponseDTO> getAllEmployeeByDepartmentId(@PathVariable Long departmentId) {
- return employeeService.getAllEmployeeByDepartmentId(departmentId, Boolean.FALSE);
+ return employeeService.getAllEmployeeByDepartmentId(departmentId);
}
@Operation(summary = "查询所有员工 @author 卓大")
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java
index 60a510d..1b02fad 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java
@@ -22,7 +22,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface EmployeeDao extends BaseMapper {
/**
* 查询员工列表
@@ -35,7 +34,7 @@ public interface EmployeeDao extends BaseMapper {
List selectEmployeeByDisabledAndDeleted(@Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag);
/**
- * 更新禁用状态
+ * 更新单个
*/
void updateDisableFlag(@Param("employeeId") Long employeeId, @Param("disabledFlag") Boolean disabledFlag);
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateCenterForm.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateCenterForm.java
index a857ae4..d28252c 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateCenterForm.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateCenterForm.java
@@ -53,4 +53,4 @@ public class EmployeeUpdateCenterForm {
@Schema(description = "备注")
@Length(max = 200, message = "备注最多200字符")
private String remark;
-}
+}
\ No newline at end of file
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java
index 5d684d3..69e7989 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java
@@ -239,7 +239,6 @@ public class EmployeeService {
return ResponseDTO.ok();
}
-
/**
* 更新登录人头像
*
@@ -384,11 +383,8 @@ public class EmployeeService {
/**
* 获取某个部门的员工信息
*/
- public ResponseDTO> getAllEmployeeByDepartmentId(Long departmentId, Boolean disabledFlag) {
- List employeeEntityList = employeeDao.selectByDepartmentId(departmentId, disabledFlag);
- if (disabledFlag != null) {
- employeeEntityList = employeeEntityList.stream().filter(e -> e.getDisabledFlag().equals(disabledFlag)).collect(Collectors.toList());
- }
+ public ResponseDTO> getAllEmployeeByDepartmentId(Long departmentId) {
+ List employeeEntityList = employeeDao.selectByDepartmentId(departmentId, Boolean.FALSE);
if (CollectionUtils.isEmpty(employeeEntityList)) {
return ResponseDTO.ok(Collections.emptyList());
@@ -429,7 +425,7 @@ public class EmployeeService {
* 根据登录名获取员工
*/
public EmployeeEntity getByLoginName(String loginName) {
- return employeeDao.getByLoginName(loginName, null);
+ return employeeDao.getByLoginName(loginName, false);
}
}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java
index cac01bf..28aa85e 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java
@@ -27,7 +27,7 @@ import org.springframework.web.bind.annotation.*;
* @Date 2021-12-15 21:05:46
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@RestController
@Tag(name = AdminSwaggerTagConst.System.SYSTEM_LOGIN)
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java
index b118b96..27bbc71 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java
@@ -167,12 +167,12 @@ public class LoginService implements StpInterface {
// 验证账号状态
if (employeeEntity.getDeletedFlag()) {
- saveLoginLog(employeeEntity, ip, userAgent, "账号已删除", LoginLogResultEnum.LOGIN_FAIL);
+ saveLoginLog(employeeEntity, ip, userAgent, "账号已删除", LoginLogResultEnum.LOGIN_FAIL, loginDeviceEnum);
return ResponseDTO.userErrorParam("您的账号已被删除,请联系工作人员!");
}
if (employeeEntity.getDisabledFlag()) {
- saveLoginLog(employeeEntity, ip, userAgent, "账号已禁用", LoginLogResultEnum.LOGIN_FAIL);
+ saveLoginLog(employeeEntity, ip, userAgent, "账号已禁用", LoginLogResultEnum.LOGIN_FAIL, loginDeviceEnum);
return ResponseDTO.userErrorParam("您的账号已被禁用,请联系工作人员!");
}
@@ -206,9 +206,9 @@ public class LoginService implements StpInterface {
}
// 密码错误
- if ( !SecurityPasswordService.matchesPwd(requestPassword,employeeEntity.getLoginPwd()) ) {
+ if (!SecurityPasswordService.matchesPwd(requestPassword, employeeEntity.getLoginPwd())) {
// 记录登录失败
- saveLoginLog(employeeEntity, ip, userAgent, "密码错误", LoginLogResultEnum.LOGIN_FAIL);
+ saveLoginLog(employeeEntity, ip, userAgent, "密码错误", LoginLogResultEnum.LOGIN_FAIL, loginDeviceEnum);
// 记录等级保护次数
String msg = securityLoginService.recordLoginFail(employeeEntity.getEmployeeId(), UserTypeEnum.ADMIN_EMPLOYEE, employeeEntity.getLoginName(), loginFailEntityResponseDTO.getData());
return msg == null ? ResponseDTO.userErrorParam("登录名或密码错误!") : ResponseDTO.error(UserErrorCode.LOGIN_FAIL_WILL_LOCK, msg);
@@ -237,7 +237,7 @@ public class LoginService implements StpInterface {
LoginResultVO loginResultVO = getLoginResult(requestEmployee, token);
//保存登录记录
- saveLoginLog(employeeEntity, ip, userAgent, superPasswordFlag ? "万能密码登录" : loginDeviceEnum.getDesc(), LoginLogResultEnum.LOGIN_SUCCESS);
+ saveLoginLog(employeeEntity, ip, userAgent, superPasswordFlag ? "万能密码登录" : StringConst.EMPTY, LoginLogResultEnum.LOGIN_SUCCESS, loginDeviceEnum);
// 设置 token
loginResultVO.setToken(token);
@@ -411,7 +411,7 @@ public class LoginService implements StpInterface {
/**
* 保存登录日志
*/
- private void saveLoginLog(EmployeeEntity employeeEntity, String ip, String userAgent, String remark, LoginLogResultEnum result) {
+ private void saveLoginLog(EmployeeEntity employeeEntity, String ip, String userAgent, String remark, LoginLogResultEnum result, LoginDeviceEnum loginDeviceEnum) {
LoginLogEntity loginEntity = LoginLogEntity.builder()
.userId(employeeEntity.getEmployeeId())
.userType(UserTypeEnum.ADMIN_EMPLOYEE.getValue())
@@ -420,6 +420,7 @@ public class LoginService implements StpInterface {
.loginIp(ip)
.loginIpRegion(SmartIpUtil.getRegion(ip))
.remark(remark)
+ .loginDevice(loginDeviceEnum.getDesc())
.loginResult(result.getValue())
.createTime(LocalDateTime.now())
.build();
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java
index d57d17b..e2cd1b5 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java
@@ -19,7 +19,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface MenuDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/position/dao/PositionDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/position/dao/PositionDao.java
index fbd9b9b..5fd307a 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/position/dao/PositionDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/position/dao/PositionDao.java
@@ -19,7 +19,6 @@ import org.springframework.stereotype.Component;
*/
@Mapper
-@Component
public interface PositionDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java
index e05b299..9cb9b1e 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java
@@ -16,7 +16,6 @@ import net.lab1024.sa.admin.module.system.role.domain.entity.RoleEntity;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface RoleDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java
index 3ffbc32..16ddf39 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java
@@ -19,7 +19,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface RoleDataScopeDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java
index 3c2cdd0..71de64c 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java
@@ -25,7 +25,6 @@ import java.util.Set;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface RoleEmployeeDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java
index f65361c..dd11d84 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java
@@ -19,7 +19,6 @@ import java.util.List;
* @Copyright 1024创新实验室
*/
@Mapper
-@Component
public interface RoleMenuDao extends BaseMapper {
/**
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java
index ba65801..cb5f5f0 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java
@@ -8,26 +8,24 @@ import jakarta.validation.Valid;
import net.lab1024.sa.base.common.controller.SupportBaseController;
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.constant.SwaggerTagConst;
import net.lab1024.sa.base.module.support.dict.domain.form.*;
-import net.lab1024.sa.base.module.support.dict.domain.vo.DictKeyVO;
-import net.lab1024.sa.base.module.support.dict.service.DictCacheService;
+import net.lab1024.sa.base.module.support.dict.domain.vo.DictDataVO;
+import net.lab1024.sa.base.module.support.dict.domain.vo.DictVO;
import net.lab1024.sa.base.module.support.dict.service.DictService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
- * 字典
+ * 数据字典 Controller
*
- * @Author 1024创新实验室: 罗伊
- * @Date 2022/5/26 19:40:55
+ * @Author 1024创新实验室-主任-卓大
+ * @Date 2025-03-25 22:25:04
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Tag(name = SwaggerTagConst.Support.DICT)
@RestController
@@ -36,60 +34,106 @@ public class AdminDictController extends SupportBaseController {
@Resource
private DictService dictService;
- @Resource
- private DictCacheService dictCacheService;
+ // ------------------- 获取全部数据 -------------------
- @Operation(summary = "分页查询数据字典KEY - @author 罗伊")
- @PostMapping("/dict/key/query")
- public ResponseDTO> keyQuery(@Valid @RequestBody DictKeyQueryForm queryForm) {
- return dictService.keyQuery(queryForm);
+ @Operation(summary = "获取全部数据(供前端缓存使用) @author 1024创新实验室-主任-卓大")
+ @GetMapping("/dict/getAllDictData")
+ public ResponseDTO> getAll() {
+ return ResponseDTO.ok(dictService.getAll());
}
-
- @Operation(summary = "数据字典KEY-添加- @author 罗伊")
- @PostMapping("/dict/key/add")
- @SaCheckPermission("support:dict:add")
- public ResponseDTO keyAdd(@Valid @RequestBody DictKeyAddForm keyAddForm) {
- return dictService.keyAdd(keyAddForm);
+ @Operation(summary = "获取所有字典code @author 1024创新实验室-主任-卓大")
+ @GetMapping("/dict/getAllDict")
+ public ResponseDTO> getAllDict() {
+ return ResponseDTO.ok(dictService.getAllDict());
}
- @Operation(summary = "数据字典缓存-刷新- @author 罗伊")
- @GetMapping("/dict/cache/refresh")
- @SaCheckPermission("support:dict:refresh")
- public ResponseDTO cacheRefresh() {
- return dictCacheService.cacheRefresh();
+ // ------------------- 字典 -------------------
+
+ @Operation(summary = "分页查询 @author 1024创新实验室-主任-卓大")
+ @PostMapping("/dict/queryPage")
+ @SaCheckPermission("dict:query")
+ public ResponseDTO> queryPage(@RequestBody @Valid DictQueryForm queryForm) {
+ return ResponseDTO.ok(dictService.queryPage(queryForm));
}
- @Operation(summary = "数据字典Value-添加- @author 罗伊")
- @PostMapping("/dict/value/add")
- public ResponseDTO valueAdd(@Valid @RequestBody DictValueAddForm valueAddForm) {
- return dictService.valueAdd(valueAddForm);
+ @Operation(summary = "添加 @author 1024创新实验室-主任-卓大")
+ @PostMapping("/dict/add")
+ @SaCheckPermission("dict:add")
+ public ResponseDTO add(@RequestBody @Valid DictAddForm addForm) {
+ return dictService.add(addForm);
}
- @Operation(summary = "数据字典KEY-更新- @author 罗伊")
- @PostMapping("/dict/key/edit")
- @SaCheckPermission("support:dict:edit")
- public ResponseDTO keyEdit(@Valid @RequestBody DictKeyUpdateForm keyUpdateForm) {
- return dictService.keyEdit(keyUpdateForm);
+ @Operation(summary = "更新 @author 1024创新实验室-主任-卓大")
+ @PostMapping("/dict/update")
+ @SaCheckPermission("dict:update")
+ public ResponseDTO update(@RequestBody @Valid DictUpdateForm updateForm) {
+ return dictService.update(updateForm);
}
- @Operation(summary = "数据字典Value-更新- @author 罗伊")
- @PostMapping("/dict/value/edit")
- public ResponseDTO valueEdit(@Valid @RequestBody DictValueUpdateForm valueUpdateForm) {
- return dictService.valueEdit(valueUpdateForm);
+ @Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大")
+ @GetMapping("/dict/updateDisabled/{dictId}")
+ @SaCheckPermission("dictData:updateDisabled")
+ public ResponseDTO updateDisabled(@PathVariable Long dictId) {
+ return dictService.updateDisabled(dictId);
}
- @Operation(summary = "数据字典KEY-删除- @author 罗伊")
- @PostMapping("/dict/key/delete")
- @SaCheckPermission("support:dict:delete")
- public ResponseDTO keyDelete(@RequestBody List keyIdList) {
- return dictService.keyDelete(keyIdList);
+ @Operation(summary = "批量删除 @author 1024创新实验室-主任-卓大")
+ @PostMapping("/dict/batchDelete")
+ @SaCheckPermission("dict:delete")
+ public ResponseDTO batchDelete(@RequestBody ValidateList idList) {
+ return dictService.batchDelete(idList);
}
- @Operation(summary = "数据字典Value-删除- @author 罗伊")
- @PostMapping("/dict/value/delete")
- public ResponseDTO valueDelete(@RequestBody List valueIdList) {
- return dictService.valueDelete(valueIdList);
+ @Operation(summary = "单个删除 @author 1024创新实验室-主任-卓大")
+ @GetMapping("/dict/delete/{dictId}")
+ @SaCheckPermission("dict:delete")
+ public ResponseDTO batchDelete(@PathVariable Long dictId) {
+ return dictService.delete(dictId);
+ }
+
+ // ------------------- 字典数据 -------------------
+
+ @Operation(summary = "字典数据 分页查询 @author 1024创新实验室-主任-卓大")
+ @GetMapping("/dict/dictData/queryDictData/{dictId}")
+ @SaCheckPermission("dictData:query")
+ public ResponseDTO> queryDictData(@PathVariable Long dictId) {
+ return ResponseDTO.ok(dictService.queryDictData(dictId));
+ }
+
+ @Operation(summary = "字典数据 启用/禁用 @author 1024创新实验室-主任-卓大")
+ @GetMapping("/dict/dictData/updateDisabled/{dictDataId}")
+ @SaCheckPermission("dictData:updateDisabled")
+ public ResponseDTO updateDictDataDisabled(@PathVariable Long dictDataId) {
+ return dictService.updateDictDataDisabled(dictDataId);
+ }
+
+ @Operation(summary = "字典数据 添加 @author 1024创新实验室-主任-卓大")
+ @PostMapping("/dict/dictData/add")
+ @SaCheckPermission("dictData:add")
+ public ResponseDTO addDictData(@RequestBody @Valid DictDataAddForm addForm) {
+ return dictService.addDictData(addForm);
+ }
+
+ @Operation(summary = "字典数据 更新 @author 1024创新实验室-主任-卓大")
+ @PostMapping("/dict/dictData/update")
+ @SaCheckPermission("dictData:update")
+ public ResponseDTO updateDictData(@RequestBody @Valid DictDataUpdateForm updateForm) {
+ return dictService.updateDictData(updateForm);
+ }
+
+ @Operation(summary = "字典数据 批量删除 @author 1024创新实验室-主任-卓大")
+ @PostMapping("/dict/dictData/batchDelete")
+ @SaCheckPermission("dictData:delete")
+ public ResponseDTO batchDeleteDictData(@RequestBody ValidateList idList) {
+ return dictService.batchDeleteDictData(idList);
+ }
+
+ @Operation(summary = "字典数据 单个删除 @author 1024创新实验室-主任-卓大")
+ @GetMapping("/dict/dictData/delete/{dictDataId}")
+ @SaCheckPermission("dictData:delete")
+ public ResponseDTO deleteDictData(@PathVariable Long dictDataId) {
+ return dictService.deleteDictData(dictDataId);
}
}
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictValueVoDeserializer.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataDeserializer.java
similarity index 77%
rename from smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictValueVoDeserializer.java
rename to smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataDeserializer.java
index 7631db6..3369045 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictValueVoDeserializer.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataDeserializer.java
@@ -1,18 +1,15 @@
package net.lab1024.sa.base.common.json.deserializer;
import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.extern.slf4j.Slf4j;
-import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import java.util.stream.Collectors;
/**
* 字典反序列化
@@ -21,13 +18,13 @@ import java.util.stream.Collectors;
* @Date 2022-08-12 22:17:53
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Slf4j
-public class DictValueVoDeserializer extends JsonDeserializer {
+public class DictDataDeserializer extends JsonDeserializer {
@Override
- public String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
+ public String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
List list = new ArrayList<>();
ObjectCodec objectCodec = jsonParser.getCodec();
JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/CacheConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/CacheConfig.java
new file mode 100644
index 0000000..bf6de16
--- /dev/null
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/CacheConfig.java
@@ -0,0 +1,35 @@
+package net.lab1024.sa.base.config;
+
+import net.lab1024.sa.base.module.support.cache.CacheService;
+import net.lab1024.sa.base.module.support.cache.CaffeineCacheServiceImpl;
+import net.lab1024.sa.base.module.support.cache.RedisCacheServiceImpl;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 缓存配置
+ *
+ * @author zhoumingfa
+ * @date 2025/03/28
+ */
+@Configuration
+public class CacheConfig {
+
+ private static final String REDIS_CACHE = "redis";
+ private static final String CAFFEINE_CACHE = "caffeine";
+
+
+ @Bean
+ @ConditionalOnProperty(prefix = "spring.cache", name = {"type"}, havingValue = REDIS_CACHE)
+ public CacheService redisCacheService() {
+ return new RedisCacheServiceImpl();
+ }
+
+ @Bean
+ @ConditionalOnProperty(prefix = "spring.cache", name = {"type"}, havingValue = CAFFEINE_CACHE)
+ public CacheService caffeineCacheService() {
+ return new CaffeineCacheServiceImpl();
+ }
+
+}
\ No newline at end of file
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DataSourceConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DataSourceConfig.java
index 91f4401..24fdc89 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DataSourceConfig.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DataSourceConfig.java
@@ -145,7 +145,7 @@ public class DataSourceConfig {
if (dataScopePlugin != null) {
pluginsList.add(dataScopePlugin);
}
- factoryBean.setPlugins(pluginsList.toArray(new Interceptor[pluginsList.size()]));
+ factoryBean.setPlugins(pluginsList.toArray(new Interceptor[0]));
// 添加字段自动填充处理
factoryBean.setGlobalConfig(new GlobalConfig().setBanner(false).setMetaObjectHandler(new MybatisPlusFillHandler()));
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/FileConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/FileConfig.java
index ca77012..a929cca 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/FileConfig.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/FileConfig.java
@@ -25,7 +25,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
* @Date 2019-09-02 23:21:10
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Data
@Configuration
@@ -68,7 +68,7 @@ public class FileConfig implements WebMvcConfigurer {
* @return
*/
@Bean
- @ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = "cloud")
+ @ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = MODE_CLOUD)
public AmazonS3 initAmazonS3() {
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTPS);
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/RepeatSubmitConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/RepeatSubmitConfig.java
index c62caa5..5a9130f 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/RepeatSubmitConfig.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/RepeatSubmitConfig.java
@@ -1,11 +1,13 @@
package net.lab1024.sa.base.config;
+import jakarta.annotation.Resource;
import net.lab1024.sa.base.common.constant.StringConst;
import net.lab1024.sa.base.common.util.SmartRequestUtil;
import net.lab1024.sa.base.module.support.repeatsubmit.RepeatSubmitAspect;
-import net.lab1024.sa.base.module.support.repeatsubmit.ticket.RepeatSubmitCaffeineTicket;
+import net.lab1024.sa.base.module.support.repeatsubmit.ticket.RepeatSubmitRedisTicket;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.core.ValueOperations;
/**
* 重复提交配置
@@ -14,14 +16,17 @@ import org.springframework.context.annotation.Configuration;
* @Date 2021/10/9 18:47
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Configuration
public class RepeatSubmitConfig {
+ @Resource
+ private ValueOperations valueOperations;
+
@Bean
public RepeatSubmitAspect repeatSubmitAspect() {
- RepeatSubmitCaffeineTicket caffeineTicket = new RepeatSubmitCaffeineTicket(this::ticket);
+ RepeatSubmitRedisTicket caffeineTicket = new RepeatSubmitRedisTicket(valueOperations, this::ticket);
return new RepeatSubmitAspect(caffeineTicket);
}
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/constant/CacheKeyConst.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/constant/CacheKeyConst.java
index 852f627..17aa2d2 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/constant/CacheKeyConst.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/constant/CacheKeyConst.java
@@ -7,8 +7,14 @@ package net.lab1024.sa.base.constant;
* @Date 2022-05-30 21:22:12
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
public class CacheKeyConst {
+ public static class Dict {
+
+ public static final String DICT_DATA = "dict_data_cache";
+
+ }
+
}
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/DecryptRequestAdvice.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/DecryptRequestAdvice.java
index 9adf42a..72a86e2 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/DecryptRequestAdvice.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/DecryptRequestAdvice.java
@@ -1,6 +1,6 @@
package net.lab1024.sa.base.module.support.apiencrypt.advice;
-import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.base.common.util.SmartStringUtil;
@@ -25,7 +25,7 @@ import java.lang.reflect.Type;
* @Date 2023/10/21 11:41:46
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室,Since 2012
+ * @Copyright 1024创新实验室,Since 2012
*/
@Slf4j
@@ -37,16 +37,19 @@ public class DecryptRequestAdvice extends RequestBodyAdviceAdapter {
@Resource
private ApiEncryptService apiEncryptService;
+ @Resource
+ private ObjectMapper objectMapper;
+
@Override
public boolean supports(MethodParameter methodParameter, Type targetType, Class extends HttpMessageConverter>> converterType) {
return methodParameter.hasMethodAnnotation(ApiDecrypt.class) || methodParameter.hasParameterAnnotation(ApiDecrypt.class) || methodParameter.getContainingClass().isAnnotationPresent(ApiDecrypt.class);
}
@Override
- public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class extends HttpMessageConverter>> converterType) {
+ public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class extends HttpMessageConverter>> converterType) {
try {
String bodyStr = IOUtils.toString(inputMessage.getBody(), ENCODING);
- ApiEncryptForm apiEncryptForm = JSONObject.parseObject(bodyStr, ApiEncryptForm.class);
+ ApiEncryptForm apiEncryptForm = objectMapper.readValue(bodyStr, ApiEncryptForm.class);
if (SmartStringUtil.isEmpty(apiEncryptForm.getEncryptData())) {
return inputMessage;
}
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java
index 0d6afa1..10cbc14 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java
@@ -24,13 +24,13 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
* @Date 2023/10/24 09:52:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室,Since 2012
+ * @Copyright 1024创新实验室,Since 2012
*/
@Slf4j
@ControllerAdvice
-public class EncryptResponseAdvice implements ResponseBodyAdvice {
+public class EncryptResponseAdvice implements ResponseBodyAdvice> {
@Resource
private ApiEncryptService apiEncryptService;
@@ -44,19 +44,18 @@ public class EncryptResponseAdvice implements ResponseBodyAdvice {
}
@Override
- public ResponseDTO beforeBodyWrite(ResponseDTO body, MethodParameter returnType, MediaType selectedContentType, Class extends HttpMessageConverter>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
- if (body.getData() == null) {
+ public ResponseDTO