diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
index aa4378ca..de077e9a 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
@@ -20,11 +20,6 @@ public class AdminCacheConst extends CacheKeyConst {
*/
public static final String DEPARTMENT_LIST_CACHE = "department_list_cache";
- /**
- * 部门map
- */
- public static final String DEPARTMENT_MAP_CACHE = "department_map_cache";
-
/**
* 部门树
*/
@@ -54,4 +49,20 @@ public class AdminCacheConst extends CacheKeyConst {
public static final String CATEGORY_TREE = "category_tree_cache";
}
+ /**
+ * 登录相关
+ */
+ public static class Login {
+
+ /**
+ * 请求用户信息
+ */
+ public static final String REQUEST_EMPLOYEE = "login_request_employee";
+
+ /**
+ * 请求用户信息权限
+ */
+ public static final String USER_PERMISSION = "login_user_permission";
+ }
+
}
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 d726a9a5..7f9cc0e9 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
@@ -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 {
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java
index 24f07738..191965f9 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java
@@ -1,6 +1,5 @@
package net.lab1024.sa.admin.module.business.goods.domain.vo;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/controller/BankController.java
similarity index 95%
rename from smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java
rename to smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/controller/BankController.java
index e165817e..73216433 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/controller/BankController.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.bank;
+package net.lab1024.sa.admin.module.business.oa.bank.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.Operation;
@@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
+import net.lab1024.sa.admin.module.business.oa.bank.service.BankService;
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;
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/dao/BankDao.java
similarity index 93%
rename from smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
rename to smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/dao/BankDao.java
index f553221c..0a058d17 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/dao/BankDao.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.bank;
+package net.lab1024.sa.admin.module.business.oa.bank.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +7,6 @@ import net.lab1024.sa.admin.module.business.oa.bank.domain.BankQueryForm;
import net.lab1024.sa.admin.module.business.oa.bank.domain.BankVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Component;
import java.util.List;
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/service/BankService.java
similarity index 97%
rename from smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java
rename to smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/service/BankService.java
index 177c50d3..5b32bf62 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/service/BankService.java
@@ -1,8 +1,9 @@
-package net.lab1024.sa.admin.module.business.oa.bank;
+package net.lab1024.sa.admin.module.business.oa.bank.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
+import net.lab1024.sa.admin.module.business.oa.bank.dao.BankDao;
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;
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/controller/InvoiceController.java
similarity index 95%
rename from smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java
rename to smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/controller/InvoiceController.java
index 13d3b98f..380be168 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/controller/InvoiceController.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.invoice;
+package net.lab1024.sa.admin.module.business.oa.invoice.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.Operation;
@@ -7,6 +7,7 @@ import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
+import net.lab1024.sa.admin.module.business.oa.invoice.service.InvoiceService;
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;
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/dao/InvoiceDao.java
similarity index 94%
rename from smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
rename to smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/dao/InvoiceDao.java
index 68c8d9a9..5afcebbc 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/dao/InvoiceDao.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.invoice;
+package net.lab1024.sa.admin.module.business.oa.invoice.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +7,6 @@ import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceQueryForm;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Component;
import java.util.List;
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/service/InvoiceService.java
similarity index 97%
rename from smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java
rename to smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/service/InvoiceService.java
index dda73c3a..bfa87e09 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/service/InvoiceService.java
@@ -1,10 +1,11 @@
-package net.lab1024.sa.admin.module.business.oa.invoice;
+package net.lab1024.sa.admin.module.business.oa.invoice.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.annotation.Resource;
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.dao.InvoiceDao;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.*;
import net.lab1024.sa.base.common.domain.PageResult;
import net.lab1024.sa.base.common.domain.ResponseDTO;
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 4924d5a5..011f0168 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
@@ -5,7 +5,6 @@ import net.lab1024.sa.admin.module.system.department.domain.entity.DepartmentEnt
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Component;
import java.util.List;
@@ -32,4 +31,5 @@ public interface DepartmentDao extends BaseMapper {
*/
List listAll();
+ DepartmentVO selectDepartmentVO(@Param("departmentId")Long departmentId);
}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
index a53a74e3..d829d355 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Slf4j
@Service
@@ -42,7 +42,7 @@ public class DepartmentCacheManager {
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)
+ @CacheEvict(value = {AdminCacheConst.Department.DEPARTMENT_LIST_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);
}
@@ -56,19 +56,8 @@ public class DepartmentCacheManager {
return departmentDao.listAll();
}
- /**
- * 部门map
- *
- */
- @Cacheable(AdminCacheConst.Department.DEPARTMENT_MAP_CACHE)
- public Map getDepartmentMap() {
- return departmentDao.listAll().stream().collect(Collectors.toMap(DepartmentVO::getDepartmentId, Function.identity()));
- }
-
-
/**
* 缓存部门树结构
- *
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_TREE_CACHE)
public List getDepartmentTree() {
@@ -78,7 +67,6 @@ public class DepartmentCacheManager {
/**
* 缓存某个部门的下级id列表
- *
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_SELF_CHILDREN_CACHE)
public List getDepartmentSelfAndChildren(Long departmentId) {
@@ -89,7 +77,6 @@ public class DepartmentCacheManager {
/**
* 部门的路径名称
- *
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_PATH_CACHE)
public Map getDepartmentPathMap() {
@@ -125,7 +112,6 @@ public class DepartmentCacheManager {
/**
* 构建部门树结构
- *
*/
public List buildTree(List voList) {
if (CollectionUtils.isEmpty(voList)) {
@@ -140,7 +126,7 @@ public class DepartmentCacheManager {
return treeVOList;
}
- /**
+ /**
* 构建所有根节点的下级树形结构
* 返回值为层序遍历结果
* [由于departmentDao中listAll给出数据根据Sort降序 所以同一层中Sort值较大的优先遍历]
@@ -148,7 +134,7 @@ public class DepartmentCacheManager {
private List recursiveBuildTree(List nodeList, List allDepartmentList) {
int nodeSize = nodeList.size();
List childIdList = new ArrayList<>();
- for(int i = 0; i < nodeSize; i++) {
+ for (int i = 0; i < nodeSize; i++) {
int preIndex = i - 1;
int nextIndex = i + 1;
DepartmentTreeVO node = nodeList.get(i);
@@ -167,14 +153,14 @@ public class DepartmentCacheManager {
tempChildIdList = this.recursiveBuildTree(children, allDepartmentList);
}
- if(CollectionUtils.isEmpty(node.getSelfAndAllChildrenIdList())) {
+ if (CollectionUtils.isEmpty(node.getSelfAndAllChildrenIdList())) {
node.setSelfAndAllChildrenIdList(
new ArrayList<>()
);
}
node.getSelfAndAllChildrenIdList().add(node.getDepartmentId());
- if(CollectionUtils.isNotEmpty(tempChildIdList)) {
+ if (CollectionUtils.isNotEmpty(tempChildIdList)) {
node.getSelfAndAllChildrenIdList().addAll(tempChildIdList);
childIdList.addAll(tempChildIdList);
}
@@ -182,7 +168,7 @@ public class DepartmentCacheManager {
}
// 保证本层遍历顺序
- for(int i = nodeSize - 1; i >= 0; i--) {
+ for (int i = nodeSize - 1; i >= 0; i--) {
childIdList.add(0, nodeList.get(i).getDepartmentId());
}
@@ -192,7 +178,6 @@ public class DepartmentCacheManager {
/**
* 获取子元素
- *
*/
private List getChildren(Long departmentId, List voList) {
List childrenEntityList = voList.stream().filter(e -> departmentId.equals(e.getParentId())).collect(Collectors.toList());
@@ -205,7 +190,6 @@ public class DepartmentCacheManager {
/**
* 通过部门id,获取当前以及下属部门
- *
*/
public List selfAndChildrenIdList(Long departmentId, List voList) {
List selfAndChildrenIdList = Lists.newArrayList();
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java
index 5f7d1520..3c38e705 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java
@@ -26,7 +26,7 @@ import java.util.Map;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Service
public class DepartmentService {
@@ -44,7 +44,6 @@ public class DepartmentService {
/**
* 新增添加部门
- *
*/
public ResponseDTO addDepartment(DepartmentAddForm departmentAddForm) {
@@ -57,7 +56,6 @@ public class DepartmentService {
/**
* 更新部门信息
- *
*/
public ResponseDTO updateDepartment(DepartmentUpdateForm updateDTO) {
if (updateDTO.getParentId() == null) {
@@ -78,7 +76,6 @@ public class DepartmentService {
* 根据id删除部门
* 1、需要判断当前部门是否有子部门,有子部门则不允许删除
* 2、需要判断当前部门是否有员工,有员工则不能删除
- *
*/
public ResponseDTO deleteDepartment(Long departmentId) {
DepartmentEntity departmentEntity = departmentDao.selectById(departmentId);
@@ -122,7 +119,6 @@ public class DepartmentService {
/**
* 自身以及所有下级的部门id列表
- *
*/
public List selfAndChildrenIdList(Long departmentId) {
return departmentCacheManager.getDepartmentSelfAndChildren(departmentId);
@@ -131,7 +127,6 @@ public class DepartmentService {
/**
* 获取所有部门
- *
*/
public List listAll() {
return departmentCacheManager.getDepartmentList();
@@ -140,10 +135,9 @@ public class DepartmentService {
/**
* 获取部门
- *
*/
public DepartmentVO getDepartmentById(Long departmentId) {
- return departmentCacheManager.getDepartmentMap().get(departmentId);
+ return departmentDao.selectDepartmentVO(departmentId);
}
/**
@@ -153,38 +147,4 @@ public class DepartmentService {
return departmentCacheManager.getDepartmentPathMap().get(departmentId);
}
- /**
- * 查询全部父级部门(不包含自己)
- *
- */
- public List queryAllParentDepartment(Long departmentId) {
- List list = new ArrayList<>();
-
- Map departmentMap = departmentCacheManager.getDepartmentMap();
- DepartmentVO departmentVO = departmentMap.get(departmentId);
- while (departmentVO != null) {
- list.add(departmentVO);
- departmentVO = departmentMap.get(departmentVO.getParentId());
- }
- Collections.reverse(list);
- return list;
- }
-
- /**
- * 查询全部父级部门(不包含自己)
- *
- */
- public List queryAllParentDepartmentIdList(Long departmentId) {
- List list = new ArrayList<>();
-
- Map departmentMap = departmentCacheManager.getDepartmentMap();
- DepartmentVO departmentVO = departmentMap.get(departmentId);
- while (departmentVO != null) {
- list.add(departmentVO.getDepartmentId());
- departmentVO = departmentMap.get(departmentVO.getParentId());
- }
- Collections.reverse(list);
- return list;
- }
-
}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java
index f3d96baf..07202e26 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java
@@ -2,9 +2,7 @@ package net.lab1024.sa.admin.module.system.employee.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.Pattern;
import lombok.Data;
-import net.lab1024.sa.base.common.util.SmartVerificationUtil;
/**
* 修改密码所需参数
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/manager/LoginManager.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/manager/LoginManager.java
new file mode 100644
index 00000000..8fdc9a1d
--- /dev/null
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/manager/LoginManager.java
@@ -0,0 +1,162 @@
+package net.lab1024.sa.admin.module.system.login.manager;
+
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import net.lab1024.sa.admin.constant.AdminCacheConst;
+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.domain.entity.EmployeeEntity;
+import net.lab1024.sa.admin.module.system.employee.service.EmployeeService;
+import net.lab1024.sa.admin.module.system.login.domain.RequestEmployee;
+import net.lab1024.sa.admin.module.system.menu.domain.vo.MenuVO;
+import net.lab1024.sa.admin.module.system.role.domain.vo.RoleVO;
+import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService;
+import net.lab1024.sa.admin.module.system.role.service.RoleMenuService;
+import net.lab1024.sa.base.common.constant.StringConst;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.domain.UserPermission;
+import net.lab1024.sa.base.common.enumeration.UserTypeEnum;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.module.support.file.service.IFileStorageService;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.CachePut;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 登录Manager
+ *
+ * @Author 1024创新实验室: 卓大
+ * @Date 2025-05-03 22:56:34
+ * @Wechat zhuoda1024
+ * @Email lab1024@163.com
+ * @Copyright 1024创新实验室
+ */
+@Slf4j
+@Service
+public class LoginManager {
+
+ @Resource
+ private DepartmentService departmentService;
+
+ @Resource
+ private IFileStorageService fileStorageService;
+
+ @Resource
+ private EmployeeService employeeService;
+
+ @Resource
+ private RoleEmployeeService roleEmployeeService;
+
+ @Resource
+ private RoleMenuService roleMenuService;
+
+
+ /**
+ * 获取请求用户信息
+ */
+ @Cacheable(AdminCacheConst.Login.REQUEST_EMPLOYEE)
+ public RequestEmployee getRequestEmployee(Long requestEmployeeId ) {
+ if (requestEmployeeId == null) {
+ return null;
+ }
+ // 员工基本信息
+ EmployeeEntity employeeEntity = employeeService.getById(requestEmployeeId);
+ if (employeeEntity == null) {
+ return null;
+ }
+
+ return this.loadLoginInfo(employeeEntity);
+ }
+
+ /**
+ * 获取登录的用户信息
+ */
+ @CachePut(value = AdminCacheConst.Login.REQUEST_EMPLOYEE, key = "#employeeEntity.employeeId")
+ public RequestEmployee loadLoginInfo(EmployeeEntity employeeEntity) {
+ // 基础信息
+ RequestEmployee requestEmployee = SmartBeanUtil.copy(employeeEntity, RequestEmployee.class);
+ requestEmployee.setUserType(UserTypeEnum.ADMIN_EMPLOYEE);
+
+ // 部门信息
+ DepartmentVO department = departmentService.getDepartmentById(employeeEntity.getDepartmentId());
+ requestEmployee.setDepartmentName(null == department ? StringConst.EMPTY : department.getName());
+
+ // 头像信息
+ String avatar = employeeEntity.getAvatar();
+ if (StringUtils.isNotBlank(avatar)) {
+ ResponseDTO getFileUrl = fileStorageService.getFileUrl(avatar);
+ if (BooleanUtils.isTrue(getFileUrl.getOk())) {
+ requestEmployee.setAvatar(getFileUrl.getData());
+ }
+ }
+ return requestEmployee;
+ }
+
+
+ /**
+ * 获取用户的权限(包含 角色列表、权限列表)
+ */
+ @Cacheable(AdminCacheConst.Login.USER_PERMISSION)
+ public UserPermission getUserPermission(Long employeeId) {
+ if(null == employeeId){
+ return null;
+ }
+
+ return this.loadUserPermission(employeeId);
+ }
+
+ /**
+ * 获取用户的权限(包含 角色列表、权限列表)
+ */
+ @CachePut(AdminCacheConst.Login.USER_PERMISSION)
+ public UserPermission loadUserPermission(Long employeeId) {
+ UserPermission userPermission = new UserPermission();
+ userPermission.setPermissionList(new ArrayList<>());
+ userPermission.setRoleList(new ArrayList<>());
+
+ // 角色列表
+ List roleList = roleEmployeeService.getRoleIdList(employeeId);
+ userPermission.getRoleList().addAll(roleList.stream().map(RoleVO::getRoleCode).collect(Collectors.toSet()));
+
+ // 前端菜单和功能点清单
+ EmployeeEntity employeeEntity = employeeService.getById(employeeId);
+
+ List menuAndPointsList = roleMenuService.getMenuList(roleList.stream().map(RoleVO::getRoleId).collect(Collectors.toList()), employeeEntity.getAdministratorFlag());
+
+ // 权限列表
+ HashSet permissionSet = new HashSet<>();
+ for (MenuVO menu : menuAndPointsList) {
+ if (menu.getPermsType() == null) {
+ continue;
+ }
+
+ String perms = menu.getApiPerms();
+ if (StringUtils.isEmpty(perms)) {
+ continue;
+ }
+ //接口权限
+ String[] split = perms.split(",");
+ permissionSet.addAll(Arrays.asList(split));
+ }
+ userPermission.getPermissionList().addAll(permissionSet);
+
+ return userPermission;
+ }
+
+
+ @CacheEvict(value = {AdminCacheConst.Login.USER_PERMISSION, AdminCacheConst.Login.REQUEST_EMPLOYEE}, allEntries = true)
+ public void clear(){
+
+ }
+
+
+}
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 27bbc71b..c5fa8c7d 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
@@ -6,17 +6,16 @@ import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.extra.servlet.JakartaServletUtil;
-import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
-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.domain.entity.EmployeeEntity;
import net.lab1024.sa.admin.module.system.employee.service.EmployeeService;
import net.lab1024.sa.admin.module.system.login.domain.LoginForm;
import net.lab1024.sa.admin.module.system.login.domain.LoginResultVO;
import net.lab1024.sa.admin.module.system.login.domain.RequestEmployee;
+import net.lab1024.sa.admin.module.system.login.manager.LoginManager;
import net.lab1024.sa.admin.module.system.menu.domain.vo.MenuVO;
import net.lab1024.sa.admin.module.system.role.domain.vo.RoleVO;
import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService;
@@ -48,21 +47,22 @@ import net.lab1024.sa.base.module.support.mail.MailService;
import net.lab1024.sa.base.module.support.mail.constant.MailTemplateCodeEnum;
import net.lab1024.sa.base.module.support.redis.RedisService;
import net.lab1024.sa.base.module.support.securityprotect.domain.LoginFailEntity;
-import net.lab1024.sa.base.module.support.securityprotect.service.*;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
+import net.lab1024.sa.base.module.support.securityprotect.service.Level3ProtectConfigService;
+import net.lab1024.sa.base.module.support.securityprotect.service.SecurityLoginService;
+import net.lab1024.sa.base.module.support.securityprotect.service.SecurityPasswordService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
-import java.util.*;
-import java.util.concurrent.ConcurrentMap;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
import java.util.stream.Collectors;
/**
* 登录
*
- * @Author 1024创新实验室: 开云
- * @Date 2021-12-01 22:56:34
+ * @Author 1024创新实验室: 卓大
+ * @Date 2025-05-03 22:56:34
* @Wechat zhuoda1024
* @Email lab1024@163.com
* @Copyright 1024创新实验室
@@ -76,22 +76,6 @@ public class LoginService implements StpInterface {
*/
private static final String SUPER_PASSWORD_LOGIN_ID_PREFIX = "S";
- /**
- * 最大在线缓存人数
- */
- private static final long CACHE_MAX_ONLINE_PERSON_COUNT = 1000L;
-
- /**
- * 登录信息二级缓存
- */
- private final ConcurrentMap loginEmployeeCache = new ConcurrentLinkedHashMap.Builder().maximumWeightedCapacity(CACHE_MAX_ONLINE_PERSON_COUNT).build();
-
-
- /**
- * 权限 缓存
- */
- private final ConcurrentMap permissionCache = new ConcurrentLinkedHashMap.Builder().maximumWeightedCapacity(CACHE_MAX_ONLINE_PERSON_COUNT).build();
-
@Resource
private EmployeeService employeeService;
@@ -134,6 +118,9 @@ public class LoginService implements StpInterface {
@Resource
private RedisService redisService;
+ @Resource
+ private LoginManager loginManager;
+
/**
* 获取验证码
*/
@@ -224,10 +211,7 @@ public class LoginService implements StpInterface {
}
// 获取员工信息
- RequestEmployee requestEmployee = loadLoginInfo(employeeEntity);
-
- // 放入缓存
- loginEmployeeCache.put(employeeEntity.getEmployeeId(), requestEmployee);
+ RequestEmployee requestEmployee = loginManager.loadLoginInfo(employeeEntity);
// 移除登录失败
securityLoginService.removeLoginFail(employeeEntity.getEmployeeId(), UserTypeEnum.ADMIN_EMPLOYEE);
@@ -242,8 +226,8 @@ public class LoginService implements StpInterface {
// 设置 token
loginResultVO.setToken(token);
- // 清除权限缓存
- permissionCache.remove(employeeEntity.getEmployeeId());
+ // 更新用户权限
+ loginManager.loadUserPermission(employeeEntity.getEmployeeId());
return ResponseDTO.ok(loginResultVO);
}
@@ -262,10 +246,6 @@ public class LoginService implements StpInterface {
List menuAndPointsList = roleMenuService.getMenuList(roleList.stream().map(RoleVO::getRoleId).collect(Collectors.toList()), requestEmployee.getAdministratorFlag());
loginResultVO.setMenuList(menuAndPointsList);
- // 更新下后端权限缓存
- UserPermission userPermission = getUserPermission(requestEmployee.getUserId());
- permissionCache.put(requestEmployee.getUserId(), userPermission);
-
// 上次登录信息
LoginLogVO loginLogVO = loginLogService.queryLastByUserId(requestEmployee.getEmployeeId(), UserTypeEnum.ADMIN_EMPLOYEE, LoginLogResultEnum.LOGIN_SUCCESS);
if (loginLogVO != null) {
@@ -289,32 +269,6 @@ public class LoginService implements StpInterface {
}
- /**
- * 获取登录的用户信息
- */
- private RequestEmployee loadLoginInfo(EmployeeEntity employeeEntity) {
-
- // 基础信息
- RequestEmployee requestEmployee = SmartBeanUtil.copy(employeeEntity, RequestEmployee.class);
- requestEmployee.setUserType(UserTypeEnum.ADMIN_EMPLOYEE);
-
- // 部门信息
- DepartmentVO department = departmentService.getDepartmentById(employeeEntity.getDepartmentId());
- requestEmployee.setDepartmentName(null == department ? StringConst.EMPTY : department.getName());
-
- // 头像信息
- String avatar = employeeEntity.getAvatar();
- if (StringUtils.isNotBlank(avatar)) {
- ResponseDTO getFileUrl = fileStorageService.getFileUrl(avatar);
- if (BooleanUtils.isTrue(getFileUrl.getOk())) {
- requestEmployee.setAvatar(getFileUrl.getData());
- }
- }
-
- return requestEmployee;
- }
-
-
/**
* 根据登陆token 获取员请求工信息
*/
@@ -328,17 +282,7 @@ public class LoginService implements StpInterface {
return null;
}
- RequestEmployee requestEmployee = loginEmployeeCache.get(requestEmployeeId);
- if (requestEmployee == null) {
- // 员工基本信息
- EmployeeEntity employeeEntity = employeeService.getById(requestEmployeeId);
- if (employeeEntity == null) {
- return null;
- }
-
- requestEmployee = this.loadLoginInfo(employeeEntity);
- loginEmployeeCache.put(requestEmployeeId, requestEmployee);
- }
+ RequestEmployee requestEmployee = loginManager.getRequestEmployee(requestEmployeeId);
// 更新请求ip和user agent
requestEmployee.setUserAgent(JakartaServletUtil.getHeaderIgnoreCase(request, RequestHeaderConst.USER_AGENT));
@@ -382,7 +326,7 @@ public class LoginService implements StpInterface {
StpUtil.logout();
// 清空登录信息缓存
- loginEmployeeCache.remove(requestUser.getUserId());
+ loginManager.clear();
//保存登出日志
LoginLogEntity loginEntity = LoginLogEntity.builder()
@@ -400,14 +344,6 @@ public class LoginService implements StpInterface {
return ResponseDTO.ok();
}
- /**
- * 清除员工登录缓存
- */
- public void clearLoginEmployeeCache(Long employeeId) {
- // 清空登录信息缓存
- loginEmployeeCache.remove(employeeId);
- }
-
/**
* 保存登录日志
*/
@@ -435,12 +371,7 @@ public class LoginService implements StpInterface {
return Collections.emptyList();
}
- UserPermission userPermission = permissionCache.get(employeeId);
- if (userPermission == null) {
- userPermission = getUserPermission(employeeId);
- permissionCache.put(employeeId, userPermission);
- }
-
+ UserPermission userPermission = loginManager.getUserPermission(employeeId);
return userPermission.getPermissionList();
}
@@ -451,51 +382,10 @@ public class LoginService implements StpInterface {
return Collections.emptyList();
}
- UserPermission userPermission = permissionCache.get(employeeId);
- if (userPermission == null) {
- userPermission = getUserPermission(employeeId);
- permissionCache.put(employeeId, userPermission);
- }
+ UserPermission userPermission = loginManager.getUserPermission(employeeId);
return userPermission.getRoleList();
}
- /**
- * 获取用户的权限(包含 角色列表、权限列表)
- */
- private UserPermission getUserPermission(Long employeeId) {
-
- UserPermission userPermission = new UserPermission();
- userPermission.setPermissionList(new ArrayList<>());
- userPermission.setRoleList(new ArrayList<>());
-
- // 角色列表
- List roleList = roleEmployeeService.getRoleIdList(employeeId);
- userPermission.getRoleList().addAll(roleList.stream().map(RoleVO::getRoleCode).collect(Collectors.toSet()));
-
- // 前端菜单和功能点清单
- EmployeeEntity employeeEntity = employeeService.getById(employeeId);
-
- List menuAndPointsList = roleMenuService.getMenuList(roleList.stream().map(RoleVO::getRoleId).collect(Collectors.toList()), employeeEntity.getAdministratorFlag());
-
- // 权限列表
- HashSet permissionSet = new HashSet<>();
- for (MenuVO menu : menuAndPointsList) {
- if (menu.getPermsType() == null) {
- continue;
- }
-
- String perms = menu.getApiPerms();
- if (StringUtils.isEmpty(perms)) {
- continue;
- }
- //接口权限
- String[] split = perms.split(",");
- permissionSet.addAll(Arrays.asList(split));
- }
- userPermission.getPermissionList().addAll(permissionSet);
-
- return userPermission;
- }
/**
* 发送 邮箱 验证码
@@ -590,4 +480,8 @@ public class LoginService implements StpInterface {
String redisVerificationCodeKey = redisService.generateRedisKey(RedisKeyConst.Support.LOGIN_VERIFICATION_CODE, UserTypeEnum.ADMIN_EMPLOYEE.getValue() + RedisKeyConst.SEPARATOR + employeeId);
redisService.delete(redisVerificationCodeKey);
}
+
+ public void clearLoginEmployeeCache(Long employeeId) {
+ loginManager.clear();
+ }
}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java
index 6e2d9751..ba33dfd2 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java
@@ -3,11 +3,7 @@ package net.lab1024.sa.admin.module.system.role.manager;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import net.lab1024.sa.admin.module.system.role.dao.RoleEmployeeDao;
import net.lab1024.sa.admin.module.system.role.domain.entity.RoleEmployeeEntity;
-import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
/**
* 角色员工 manager
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml
index 79b505db..c742cc76 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml
@@ -1,6 +1,6 @@
-
+
UPDATE t_oa_bank
SET deleted_flag = #{deletedFlag}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml
index 0001d92f..afbc0469 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml
@@ -1,6 +1,6 @@
-
+
UPDATE t_oa_invoice
SET deleted_flag = #{deletedFlag}
diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml
index 326d94f5..8ee2974d 100644
--- a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml
+++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml
@@ -19,5 +19,16 @@
WHERE parent_id = #{departmentId}
+
+
\ No newline at end of file
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java
index c10897d0..355b9482 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java
@@ -2,6 +2,7 @@ package net.lab1024.sa.base.common.domain;
import lombok.Data;
+import java.io.Serializable;
import java.util.List;
/**
@@ -15,7 +16,7 @@ import java.util.List;
*/
@Data
-public class UserPermission {
+public class UserPermission implements Serializable {
/**
* 权限列表
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
index bf6de16a..356b082c 100644
--- 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
@@ -1,11 +1,14 @@
package net.lab1024.sa.base.config;
+import com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer;
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;
+import org.springframework.data.redis.cache.RedisCacheConfiguration;
+import org.springframework.data.redis.serializer.RedisSerializationContext;
/**
* 缓存配置
@@ -19,6 +22,14 @@ 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 RedisCacheConfiguration redisCacheConfiguration() {
+ return RedisCacheConfiguration.defaultCacheConfig()
+ .disableCachingNullValues()
+ .computePrefixWith(name -> "cache:" + name + ":")
+ .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericFastJsonRedisSerializer()));
+ }
@Bean
@ConditionalOnProperty(prefix = "spring.cache", name = {"type"}, havingValue = REDIS_CACHE)
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/cache/CacheService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/cache/CacheService.java
index 9b5d07bc..ef6255c7 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/cache/CacheService.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/cache/CacheService.java
@@ -1,17 +1,8 @@
package net.lab1024.sa.base.module.support.cache;
-import com.google.common.collect.Lists;
-import jakarta.annotation.Resource;
-import net.lab1024.sa.base.constant.ReloadConst;
-import net.lab1024.sa.base.module.support.reload.core.annoation.SmartReload;
-import org.springframework.cache.caffeine.CaffeineCache;
-import org.springframework.cache.caffeine.CaffeineCacheManager;
import org.springframework.stereotype.Service;
-import java.util.Collection;
import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
/**
* 缓存服务
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java
index efd88d9a..68b77e45 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java
@@ -3,10 +3,8 @@ package net.lab1024.sa.base.module.support.codegenerator.service.variable.backen
import cn.hutool.core.bean.BeanUtil;
import net.lab1024.sa.base.module.support.codegenerator.constant.CodeQueryFieldQueryTypeEnum;
import net.lab1024.sa.base.module.support.codegenerator.domain.form.CodeGeneratorConfigForm;
-import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeInsertAndUpdateField;
import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeQueryField;
import net.lab1024.sa.base.module.support.codegenerator.service.variable.CodeGenerateBaseVariableService;
-import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java
index 81619de5..dc5e6358 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java
@@ -47,7 +47,8 @@ public class ListVariableService extends CodeGenerateBaseVariableService {
CodeField codeField = getCodeFieldByColumnName(queryField.getColumnNameList().get(0), form);
if (CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())) {
- objectMap.put("frontEnumName", codeField.getEnumName());
+ String upperUnderscoreEnum = CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, codeField.getEnumName());
+ objectMap.put("frontEnumName", upperUnderscoreEnum);
frontImportSet.add("import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';");
}
@@ -76,6 +77,12 @@ public class ListVariableService extends CodeGenerateBaseVariableService {
continue;
}
+ // 是否存在枚举
+ if (SmartStringUtil.isNotBlank(codeField.getEnumName())) {
+ String upperUnderscoreEnum = CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, codeField.getEnumName());
+ objectMap.put("frontEnumPlugin", "$smartEnumPlugin.getDescByValue('" + upperUnderscoreEnum + "', text)");
+ }
+
// 是否存在字典
if (SmartStringUtil.isNotBlank(codeField.getDict())) {
objectMap.put("dict", codeField.getDict());
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/job/api/domain/SmartJobUpdateForm.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/job/api/domain/SmartJobUpdateForm.java
index 860b4a92..c9f73a5d 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/job/api/domain/SmartJobUpdateForm.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/job/api/domain/SmartJobUpdateForm.java
@@ -1,13 +1,8 @@
package net.lab1024.sa.base.module.support.job.api.domain;
import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import net.lab1024.sa.base.common.swagger.SchemaEnum;
-import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
-import net.lab1024.sa.base.module.support.job.constant.SmartJobTriggerTypeEnum;
-import org.hibernate.validator.constraints.Length;
/**
* 定时任务 更新
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java
index ac5255d6..d000d243 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java
@@ -33,7 +33,7 @@ import java.util.Map;
/**
*
- * 发生邮件:
+ * 发送邮件:
* 1、支持直接发送
* 2、支持使用邮件模板发送
*
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java
index 9f70ac69..5bb7236e 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/message/domain/MessageTemplateSendForm.java
@@ -1,10 +1,13 @@
package net.lab1024.sa.base.module.support.message.domain;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import net.lab1024.sa.base.common.enumeration.UserTypeEnum;
import net.lab1024.sa.base.module.support.message.constant.MessageTemplateEnum;
+import java.util.List;
import java.util.Map;
/**
@@ -25,6 +28,10 @@ public class MessageTemplateSendForm {
@NotNull(message = "接收者id不能为空")
private Long receiverUserId;
+ @Schema(description = "接收者id")
+ @NotEmpty(message = "接收者id不能为空")
+ private List receiverUserIdList;
+
/**
* 相关业务id | 可选
* 用于跳转具体业务
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/SmartReloadManager.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/SmartReloadManager.java
index 98773e18..f28116d8 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/SmartReloadManager.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/SmartReloadManager.java
@@ -11,9 +11,6 @@ import net.lab1024.sa.base.module.support.reload.core.thread.SmartReloadRunnable
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationListener;
-import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Service;
import org.springframework.util.ReflectionUtils;
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/thread/SmartReloadRunnable.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/thread/SmartReloadRunnable.java
index 88cb1a40..0e656c07 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/thread/SmartReloadRunnable.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/reload/core/thread/SmartReloadRunnable.java
@@ -2,7 +2,6 @@ package net.lab1024.sa.base.module.support.reload.core.thread;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.base.module.support.reload.core.AbstractSmartReloadCommand;
-import net.lab1024.sa.base.module.support.reload.core.SmartReloadManager;
import net.lab1024.sa.base.module.support.reload.core.domain.SmartReloadItem;
import net.lab1024.sa.base.module.support.reload.core.domain.SmartReloadObject;
import net.lab1024.sa.base.module.support.reload.core.domain.SmartReloadResult;
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/annoation/RepeatSubmit.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/annoation/RepeatSubmit.java
index 7469ba68..371f7b95 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/annoation/RepeatSubmit.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/annoation/RepeatSubmit.java
@@ -13,7 +13,7 @@ import java.lang.annotation.Target;
* @Date 2020-11-25 20:56:58
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java
index a2070a34..c18cc038 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java
@@ -2,7 +2,6 @@ package net.lab1024.sa.base.module.support.repeatsubmit.ticket;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
-import net.lab1024.sa.base.module.support.repeatsubmit.annoation.RepeatSubmit;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java
index cb1404df..f940fdbb 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java
@@ -1,9 +1,7 @@
package net.lab1024.sa.base.module.support.repeatsubmit.ticket;
-import net.lab1024.sa.base.module.support.repeatsubmit.annoation.RepeatSubmit;
import org.springframework.data.redis.core.ValueOperations;
-import java.util.concurrent.TimeUnit;
import java.util.function.Function;
/**
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm
index 04230b36..146f9be6 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm
@@ -18,7 +18,7 @@ public class ${name.upperCamel}Entity {
#foreach ($field in $fields)
/**
- * $field.label
+ * $field.columnComment
*/
#if($field.primaryKeyFlag && $field.autoIncreaseFlag)
@TableId(type = IdType.AUTO)
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm
index e336227b..e90d74d2 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm
@@ -89,6 +89,7 @@
#end
#end
+ #foreach ($field in $listFields)
+ #if($field.frontEnumPlugin)
+
+ {{ $!{field.frontEnumPlugin} }}
+
+ #end
+ #end
#foreach ($field in $listFields)
#if($field.dict)
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml
index eac78946..2836bad0 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml
@@ -67,7 +67,7 @@ spring:
# 缓存实现类型
cache:
- type: caffeine
+ type: redis
# tomcat 配置,主要用于 配置 访问日志(便于将来排查错误)
server:
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml
index ab70b8f9..4cef6a5e 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml
@@ -66,7 +66,7 @@ spring:
# 缓存实现类型
cache:
- type: caffeine
+ type: redis
# tomcat 配置,主要用于 配置 访问日志(便于将来排查错误)
server:
diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml
index eac78946..2836bad0 100644
--- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml
+++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml
@@ -67,7 +67,7 @@ spring:
# 缓存实现类型
cache:
- type: caffeine
+ type: redis
# tomcat 配置,主要用于 配置 访问日志(便于将来排查错误)
server:
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
index aa4378ca..de077e9a 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java
@@ -20,11 +20,6 @@ public class AdminCacheConst extends CacheKeyConst {
*/
public static final String DEPARTMENT_LIST_CACHE = "department_list_cache";
- /**
- * 部门map
- */
- public static final String DEPARTMENT_MAP_CACHE = "department_map_cache";
-
/**
* 部门树
*/
@@ -54,4 +49,20 @@ public class AdminCacheConst extends CacheKeyConst {
public static final String CATEGORY_TREE = "category_tree_cache";
}
+ /**
+ * 登录相关
+ */
+ public static class Login {
+
+ /**
+ * 请求用户信息
+ */
+ public static final String REQUEST_EMPLOYEE = "login_request_employee";
+
+ /**
+ * 请求用户信息权限
+ */
+ public static final String USER_PERMISSION = "login_user_permission";
+ }
+
}
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/controller/BankController.java
similarity index 95%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/controller/BankController.java
index 51a7c4c7..6b5b7a96 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/controller/BankController.java
@@ -1,9 +1,10 @@
-package net.lab1024.sa.admin.module.business.oa.bank;
+package net.lab1024.sa.admin.module.business.oa.bank.controller;
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.oa.bank.service.BankService;
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;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/dao/BankDao.java
similarity index 93%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/dao/BankDao.java
index f553221c..0a058d17 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/dao/BankDao.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.bank;
+package net.lab1024.sa.admin.module.business.oa.bank.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +7,6 @@ import net.lab1024.sa.admin.module.business.oa.bank.domain.BankQueryForm;
import net.lab1024.sa.admin.module.business.oa.bank.domain.BankVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Component;
import java.util.List;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/service/BankService.java
similarity index 97%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/service/BankService.java
index 72d51457..bf688dd3 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/service/BankService.java
@@ -1,7 +1,8 @@
-package net.lab1024.sa.admin.module.business.oa.bank;
+package net.lab1024.sa.admin.module.business.oa.bank.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
+import net.lab1024.sa.admin.module.business.oa.bank.dao.BankDao;
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;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/controller/EnterpriseController.java
similarity index 97%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/controller/EnterpriseController.java
index 8ef807fa..0b2d199e 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/controller/EnterpriseController.java
@@ -1,10 +1,11 @@
-package net.lab1024.sa.admin.module.business.oa.enterprise;
+package net.lab1024.sa.admin.module.business.oa.enterprise.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
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.service.EnterpriseService;
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;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/manager/EnterpriseEmployeeManager.java
similarity index 90%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/manager/EnterpriseEmployeeManager.java
index f90b21ac..a3c21d84 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/manager/EnterpriseEmployeeManager.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.enterprise;
+package net.lab1024.sa.admin.module.business.oa.enterprise.manager;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import net.lab1024.sa.admin.module.business.oa.enterprise.dao.EnterpriseEmployeeDao;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/service/EnterpriseService.java
similarity index 98%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/service/EnterpriseService.java
index 04954b07..2b97a6bb 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/service/EnterpriseService.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.enterprise;
+package net.lab1024.sa.admin.module.business.oa.enterprise.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
@@ -12,6 +12,7 @@ import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseEm
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.business.oa.enterprise.manager.EnterpriseEmployeeManager;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
import net.lab1024.sa.base.common.code.UserErrorCode;
import net.lab1024.sa.base.common.domain.PageResult;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/controller/InvoiceController.java
similarity index 95%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/controller/InvoiceController.java
index fb3270ef..1515697e 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/controller/InvoiceController.java
@@ -1,10 +1,11 @@
-package net.lab1024.sa.admin.module.business.oa.invoice;
+package net.lab1024.sa.admin.module.business.oa.invoice.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
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.service.InvoiceService;
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;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/dao/InvoiceDao.java
similarity index 94%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/dao/InvoiceDao.java
index 68c8d9a9..5afcebbc 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/dao/InvoiceDao.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.business.oa.invoice;
+package net.lab1024.sa.admin.module.business.oa.invoice.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +7,6 @@ import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceQueryForm;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.InvoiceVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Component;
import java.util.List;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/service/InvoiceService.java
similarity index 96%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/service/InvoiceService.java
index ce62b2a3..479bccba 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/service/InvoiceService.java
@@ -1,9 +1,10 @@
-package net.lab1024.sa.admin.module.business.oa.invoice;
+package net.lab1024.sa.admin.module.business.oa.invoice.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
-import net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService;
+import net.lab1024.sa.admin.module.business.oa.enterprise.service.EnterpriseService;
import net.lab1024.sa.admin.module.business.oa.enterprise.domain.vo.EnterpriseVO;
+import net.lab1024.sa.admin.module.business.oa.invoice.dao.InvoiceDao;
import net.lab1024.sa.admin.module.business.oa.invoice.domain.*;
import net.lab1024.sa.base.common.domain.PageResult;
import net.lab1024.sa.base.common.domain.ResponseDTO;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/controller/DataScopeController.java
similarity index 94%
rename from smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java
rename to smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/controller/DataScopeController.java
index 348a215b..4e7d731d 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/controller/DataScopeController.java
@@ -1,4 +1,4 @@
-package net.lab1024.sa.admin.module.system.datascope;
+package net.lab1024.sa.admin.module.system.datascope.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
index 4924d5a5..011f0168 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java
@@ -5,7 +5,6 @@ import net.lab1024.sa.admin.module.system.department.domain.entity.DepartmentEnt
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Component;
import java.util.List;
@@ -32,4 +31,5 @@ public interface DepartmentDao extends BaseMapper {
*/
List listAll();
+ DepartmentVO selectDepartmentVO(@Param("departmentId")Long departmentId);
}
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
index 5a4ecc4d..cf2bcb15 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java
@@ -10,7 +10,6 @@ import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
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.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@@ -30,7 +29,7 @@ import java.util.stream.Collectors;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Slf4j
@Service
@@ -43,7 +42,7 @@ public class DepartmentCacheManager {
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)
+ @CacheEvict(value = {AdminCacheConst.Department.DEPARTMENT_LIST_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);
}
@@ -57,19 +56,8 @@ public class DepartmentCacheManager {
return departmentDao.listAll();
}
- /**
- * 部门map
- *
- */
- @Cacheable(AdminCacheConst.Department.DEPARTMENT_MAP_CACHE)
- public Map getDepartmentMap() {
- return departmentDao.listAll().stream().collect(Collectors.toMap(DepartmentVO::getDepartmentId, Function.identity()));
- }
-
-
/**
* 缓存部门树结构
- *
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_TREE_CACHE)
public List getDepartmentTree() {
@@ -79,7 +67,6 @@ public class DepartmentCacheManager {
/**
* 缓存某个部门的下级id列表
- *
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_SELF_CHILDREN_CACHE)
public List getDepartmentSelfAndChildren(Long departmentId) {
@@ -90,7 +77,6 @@ public class DepartmentCacheManager {
/**
* 部门的路径名称
- *
*/
@Cacheable(AdminCacheConst.Department.DEPARTMENT_PATH_CACHE)
public Map getDepartmentPathMap() {
@@ -126,7 +112,6 @@ public class DepartmentCacheManager {
/**
* 构建部门树结构
- *
*/
public List buildTree(List voList) {
if (CollectionUtils.isEmpty(voList)) {
@@ -141,15 +126,15 @@ public class DepartmentCacheManager {
return treeVOList;
}
- /**
+ /**
* 构建所有根节点的下级树形结构
- * 返回值为层序遍历结果
+ * 返回值为层序遍历结果
* [由于departmentDao中listAll给出数据根据Sort降序 所以同一层中Sort值较大的优先遍历]
*/
private List recursiveBuildTree(List nodeList, List allDepartmentList) {
int nodeSize = nodeList.size();
List childIdList = new ArrayList<>();
- for(int i = 0; i < nodeSize; i++) {
+ for (int i = 0; i < nodeSize; i++) {
int preIndex = i - 1;
int nextIndex = i + 1;
DepartmentTreeVO node = nodeList.get(i);
@@ -161,39 +146,38 @@ public class DepartmentCacheManager {
}
List children = getChildren(node.getDepartmentId(), allDepartmentList);
-
+
List tempChildIdList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(children)) {
node.setChildren(children);
tempChildIdList = this.recursiveBuildTree(children, allDepartmentList);
}
- if(CollectionUtils.isEmpty(node.getSelfAndAllChildrenIdList())) {
+ if (CollectionUtils.isEmpty(node.getSelfAndAllChildrenIdList())) {
node.setSelfAndAllChildrenIdList(
new ArrayList<>()
);
}
node.getSelfAndAllChildrenIdList().add(node.getDepartmentId());
-
- if(CollectionUtils.isNotEmpty(tempChildIdList)) {
+
+ if (CollectionUtils.isNotEmpty(tempChildIdList)) {
node.getSelfAndAllChildrenIdList().addAll(tempChildIdList);
childIdList.addAll(tempChildIdList);
}
-
+
}
-
+
// 保证本层遍历顺序
- for(int i = nodeSize - 1; i >= 0; i--) {
+ for (int i = nodeSize - 1; i >= 0; i--) {
childIdList.add(0, nodeList.get(i).getDepartmentId());
}
-
+
return childIdList;
}
/**
* 获取子元素
- *
*/
private List getChildren(Long departmentId, List voList) {
List childrenEntityList = voList.stream().filter(e -> departmentId.equals(e.getParentId())).collect(Collectors.toList());
@@ -206,7 +190,6 @@ public class DepartmentCacheManager {
/**
* 通过部门id,获取当前以及下属部门
- *
*/
public List selfAndChildrenIdList(Long departmentId, List voList) {
List selfAndChildrenIdList = Lists.newArrayList();
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java
index dade9aaa..faa955a9 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java
@@ -14,10 +14,7 @@ import net.lab1024.sa.base.common.util.SmartBeanUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import java.util.Map;
/**
* 部门 service
@@ -26,7 +23,7 @@ import java.util.Map;
* @Date 2022-01-12 20:37:48
* @Wechat zhuoda1024
* @Email lab1024@163.com
- * @Copyright 1024创新实验室
+ * @Copyright 1024创新实验室
*/
@Service
public class DepartmentService {
@@ -44,7 +41,6 @@ public class DepartmentService {
/**
* 新增添加部门
- *
*/
public ResponseDTO addDepartment(DepartmentAddForm departmentAddForm) {
@@ -57,7 +53,6 @@ public class DepartmentService {
/**
* 更新部门信息
- *
*/
public ResponseDTO updateDepartment(DepartmentUpdateForm updateDTO) {
if (updateDTO.getParentId() == null) {
@@ -78,7 +73,6 @@ public class DepartmentService {
* 根据id删除部门
* 1、需要判断当前部门是否有子部门,有子部门则不允许删除
* 2、需要判断当前部门是否有员工,有员工则不能删除
- *
*/
public ResponseDTO deleteDepartment(Long departmentId) {
DepartmentEntity departmentEntity = departmentDao.selectById(departmentId);
@@ -122,7 +116,6 @@ public class DepartmentService {
/**
* 自身以及所有下级的部门id列表
- *
*/
public List selfAndChildrenIdList(Long departmentId) {
return departmentCacheManager.getDepartmentSelfAndChildren(departmentId);
@@ -131,7 +124,6 @@ public class DepartmentService {
/**
* 获取所有部门
- *
*/
public List listAll() {
return departmentCacheManager.getDepartmentList();
@@ -140,10 +132,9 @@ public class DepartmentService {
/**
* 获取部门
- *
*/
public DepartmentVO getDepartmentById(Long departmentId) {
- return departmentCacheManager.getDepartmentMap().get(departmentId);
+ return departmentDao.selectDepartmentVO(departmentId);
}
/**
@@ -153,38 +144,4 @@ public class DepartmentService {
return departmentCacheManager.getDepartmentPathMap().get(departmentId);
}
- /**
- * 查询全部父级部门(不包含自己)
- *
- */
- public List queryAllParentDepartment(Long departmentId) {
- List list = new ArrayList<>();
-
- Map departmentMap = departmentCacheManager.getDepartmentMap();
- DepartmentVO departmentVO = departmentMap.get(departmentId);
- while (departmentVO != null) {
- list.add(departmentVO);
- departmentVO = departmentMap.get(departmentVO.getParentId());
- }
- Collections.reverse(list);
- return list;
- }
-
- /**
- * 查询全部父级部门(不包含自己)
- *
- */
- public List queryAllParentDepartmentIdList(Long departmentId) {
- List list = new ArrayList<>();
-
- Map departmentMap = departmentCacheManager.getDepartmentMap();
- DepartmentVO departmentVO = departmentMap.get(departmentId);
- while (departmentVO != null) {
- list.add(departmentVO.getDepartmentId());
- departmentVO = departmentMap.get(departmentVO.getParentId());
- }
- Collections.reverse(list);
- return list;
- }
-
}
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/RequestEmployee.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/RequestEmployee.java
index 0b61e3d2..783ae444 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/RequestEmployee.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/RequestEmployee.java
@@ -7,6 +7,8 @@ import net.lab1024.sa.base.common.enumeration.GenderEnum;
import net.lab1024.sa.base.common.enumeration.UserTypeEnum;
import net.lab1024.sa.base.common.swagger.SchemaEnum;
+import java.io.Serializable;
+
/**
* 请求员工登录信息
*
@@ -17,7 +19,7 @@ import net.lab1024.sa.base.common.swagger.SchemaEnum;
* @Copyright 1024创新实验室
*/
@Data
-public class RequestEmployee implements RequestUser {
+public class RequestEmployee implements RequestUser, Serializable {
@Schema(description = "员工id")
private Long employeeId;
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/manager/LoginManager.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/manager/LoginManager.java
new file mode 100644
index 00000000..e3b0c607
--- /dev/null
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/manager/LoginManager.java
@@ -0,0 +1,162 @@
+package net.lab1024.sa.admin.module.system.login.manager;
+
+import lombok.extern.slf4j.Slf4j;
+import net.lab1024.sa.admin.constant.AdminCacheConst;
+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.domain.entity.EmployeeEntity;
+import net.lab1024.sa.admin.module.system.employee.service.EmployeeService;
+import net.lab1024.sa.admin.module.system.login.domain.RequestEmployee;
+import net.lab1024.sa.admin.module.system.menu.domain.vo.MenuVO;
+import net.lab1024.sa.admin.module.system.role.domain.vo.RoleVO;
+import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService;
+import net.lab1024.sa.admin.module.system.role.service.RoleMenuService;
+import net.lab1024.sa.base.common.constant.StringConst;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import net.lab1024.sa.base.common.domain.UserPermission;
+import net.lab1024.sa.base.common.enumeration.UserTypeEnum;
+import net.lab1024.sa.base.common.util.SmartBeanUtil;
+import net.lab1024.sa.base.module.support.file.service.IFileStorageService;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.CachePut;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 登录Manager
+ *
+ * @Author 1024创新实验室: 卓大
+ * @Date 2025-05-03 22:56:34
+ * @Wechat zhuoda1024
+ * @Email lab1024@163.com
+ * @Copyright 1024创新实验室
+ */
+@Slf4j
+@Service
+public class LoginManager {
+
+ @Resource
+ private DepartmentService departmentService;
+
+ @Resource
+ private IFileStorageService fileStorageService;
+
+ @Resource
+ private EmployeeService employeeService;
+
+ @Resource
+ private RoleEmployeeService roleEmployeeService;
+
+ @Resource
+ private RoleMenuService roleMenuService;
+
+
+ /**
+ * 获取请求用户信息
+ */
+ @Cacheable(AdminCacheConst.Login.REQUEST_EMPLOYEE)
+ public RequestEmployee getRequestEmployee(Long requestEmployeeId ) {
+ if (requestEmployeeId == null) {
+ return null;
+ }
+ // 员工基本信息
+ EmployeeEntity employeeEntity = employeeService.getById(requestEmployeeId);
+ if (employeeEntity == null) {
+ return null;
+ }
+
+ return this.loadLoginInfo(employeeEntity);
+ }
+
+ /**
+ * 获取登录的用户信息
+ */
+ @CachePut(value = AdminCacheConst.Login.REQUEST_EMPLOYEE, key = "#employeeEntity.employeeId")
+ public RequestEmployee loadLoginInfo(EmployeeEntity employeeEntity) {
+ // 基础信息
+ RequestEmployee requestEmployee = SmartBeanUtil.copy(employeeEntity, RequestEmployee.class);
+ requestEmployee.setUserType(UserTypeEnum.ADMIN_EMPLOYEE);
+
+ // 部门信息
+ DepartmentVO department = departmentService.getDepartmentById(employeeEntity.getDepartmentId());
+ requestEmployee.setDepartmentName(null == department ? StringConst.EMPTY : department.getName());
+
+ // 头像信息
+ String avatar = employeeEntity.getAvatar();
+ if (StringUtils.isNotBlank(avatar)) {
+ ResponseDTO getFileUrl = fileStorageService.getFileUrl(avatar);
+ if (BooleanUtils.isTrue(getFileUrl.getOk())) {
+ requestEmployee.setAvatar(getFileUrl.getData());
+ }
+ }
+ return requestEmployee;
+ }
+
+
+ /**
+ * 获取用户的权限(包含 角色列表、权限列表)
+ */
+ @Cacheable(AdminCacheConst.Login.USER_PERMISSION)
+ public UserPermission getUserPermission(Long employeeId) {
+ if(null == employeeId){
+ return null;
+ }
+
+ return this.loadUserPermission(employeeId);
+ }
+
+ /**
+ * 获取用户的权限(包含 角色列表、权限列表)
+ */
+ @CachePut(AdminCacheConst.Login.USER_PERMISSION)
+ public UserPermission loadUserPermission(Long employeeId) {
+ UserPermission userPermission = new UserPermission();
+ userPermission.setPermissionList(new ArrayList<>());
+ userPermission.setRoleList(new ArrayList<>());
+
+ // 角色列表
+ List roleList = roleEmployeeService.getRoleIdList(employeeId);
+ userPermission.getRoleList().addAll(roleList.stream().map(RoleVO::getRoleCode).collect(Collectors.toSet()));
+
+ // 前端菜单和功能点清单
+ EmployeeEntity employeeEntity = employeeService.getById(employeeId);
+
+ List menuAndPointsList = roleMenuService.getMenuList(roleList.stream().map(RoleVO::getRoleId).collect(Collectors.toList()), employeeEntity.getAdministratorFlag());
+
+ // 权限列表
+ HashSet permissionSet = new HashSet<>();
+ for (MenuVO menu : menuAndPointsList) {
+ if (menu.getPermsType() == null) {
+ continue;
+ }
+
+ String perms = menu.getApiPerms();
+ if (StringUtils.isEmpty(perms)) {
+ continue;
+ }
+ //接口权限
+ String[] split = perms.split(",");
+ permissionSet.addAll(Arrays.asList(split));
+ }
+ userPermission.getPermissionList().addAll(permissionSet);
+
+ return userPermission;
+ }
+
+
+ @CacheEvict(value = {AdminCacheConst.Login.USER_PERMISSION, AdminCacheConst.Login.REQUEST_EMPLOYEE}, allEntries = true)
+ public void clear(){
+
+ }
+
+
+}
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java
index 9193530e..21f62753 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java
@@ -6,7 +6,6 @@ import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.extra.servlet.ServletUtil;
-import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
import net.lab1024.sa.admin.module.system.department.service.DepartmentService;
@@ -15,6 +14,7 @@ import net.lab1024.sa.admin.module.system.employee.service.EmployeeService;
import net.lab1024.sa.admin.module.system.login.domain.LoginForm;
import net.lab1024.sa.admin.module.system.login.domain.LoginResultVO;
import net.lab1024.sa.admin.module.system.login.domain.RequestEmployee;
+import net.lab1024.sa.admin.module.system.login.manager.LoginManager;
import net.lab1024.sa.admin.module.system.menu.domain.vo.MenuVO;
import net.lab1024.sa.admin.module.system.role.domain.vo.RoleVO;
import net.lab1024.sa.admin.module.system.role.service.RoleEmployeeService;
@@ -56,15 +56,16 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
-import java.util.*;
-import java.util.concurrent.ConcurrentMap;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
import java.util.stream.Collectors;
/**
* 登录
*
- * @Author 1024创新实验室: 开云
- * @Date 2021-12-01 22:56:34
+ * @Author 1024创新实验室: 卓大
+ * @Date 2025-05-03 22:56:34
* @Wechat zhuoda1024
* @Email lab1024@163.com
* @Copyright 1024创新实验室
@@ -78,22 +79,6 @@ public class LoginService implements StpInterface {
*/
private static final String SUPER_PASSWORD_LOGIN_ID_PREFIX = "S";
- /**
- * 最大在线缓存人数
- */
- private static final long CACHE_MAX_ONLINE_PERSON_COUNT = 1000L;
-
- /**
- * 登录信息二级缓存
- */
- private final ConcurrentMap loginEmployeeCache = new ConcurrentLinkedHashMap.Builder().maximumWeightedCapacity(CACHE_MAX_ONLINE_PERSON_COUNT).build();
-
-
- /**
- * 权限 缓存
- */
- private final ConcurrentMap permissionCache = new ConcurrentLinkedHashMap.Builder().maximumWeightedCapacity(CACHE_MAX_ONLINE_PERSON_COUNT).build();
-
@Resource
private EmployeeService employeeService;
@@ -136,6 +121,9 @@ public class LoginService implements StpInterface {
@Resource
private RedisService redisService;
+ @Resource
+ private LoginManager loginManager;
+
/**
* 获取验证码
*/
@@ -226,10 +214,7 @@ public class LoginService implements StpInterface {
}
// 获取员工信息
- RequestEmployee requestEmployee = loadLoginInfo(employeeEntity);
-
- // 放入缓存
- loginEmployeeCache.put(employeeEntity.getEmployeeId(), requestEmployee);
+ RequestEmployee requestEmployee = loginManager.loadLoginInfo(employeeEntity);
// 移除登录失败
securityLoginService.removeLoginFail(employeeEntity.getEmployeeId(), UserTypeEnum.ADMIN_EMPLOYEE);
@@ -244,8 +229,8 @@ public class LoginService implements StpInterface {
// 设置 token
loginResultVO.setToken(token);
- // 清除权限缓存
- permissionCache.remove(employeeEntity.getEmployeeId());
+ // 更新用户权限
+ loginManager.loadUserPermission(employeeEntity.getEmployeeId());
return ResponseDTO.ok(loginResultVO);
}
@@ -264,10 +249,6 @@ public class LoginService implements StpInterface {
List menuAndPointsList = roleMenuService.getMenuList(roleList.stream().map(RoleVO::getRoleId).collect(Collectors.toList()), requestEmployee.getAdministratorFlag());
loginResultVO.setMenuList(menuAndPointsList);
- // 更新下后端权限缓存
- UserPermission userPermission = getUserPermission(requestEmployee.getUserId());
- permissionCache.put(requestEmployee.getUserId(), userPermission);
-
// 上次登录信息
LoginLogVO loginLogVO = loginLogService.queryLastByUserId(requestEmployee.getEmployeeId(), UserTypeEnum.ADMIN_EMPLOYEE, LoginLogResultEnum.LOGIN_SUCCESS);
if (loginLogVO != null) {
@@ -291,32 +272,6 @@ public class LoginService implements StpInterface {
}
- /**
- * 获取登录的用户信息
- */
- private RequestEmployee loadLoginInfo(EmployeeEntity employeeEntity) {
-
- // 基础信息
- RequestEmployee requestEmployee = SmartBeanUtil.copy(employeeEntity, RequestEmployee.class);
- requestEmployee.setUserType(UserTypeEnum.ADMIN_EMPLOYEE);
-
- // 部门信息
- DepartmentVO department = departmentService.getDepartmentById(employeeEntity.getDepartmentId());
- requestEmployee.setDepartmentName(null == department ? StringConst.EMPTY : department.getName());
-
- // 头像信息
- String avatar = employeeEntity.getAvatar();
- if (StringUtils.isNotBlank(avatar)) {
- ResponseDTO getFileUrl = fileStorageService.getFileUrl(avatar);
- if (BooleanUtils.isTrue(getFileUrl.getOk())) {
- requestEmployee.setAvatar(getFileUrl.getData());
- }
- }
-
- return requestEmployee;
- }
-
-
/**
* 根据登陆token 获取员请求工信息
*/
@@ -330,17 +285,7 @@ public class LoginService implements StpInterface {
return null;
}
- RequestEmployee requestEmployee = loginEmployeeCache.get(requestEmployeeId);
- if (requestEmployee == null) {
- // 员工基本信息
- EmployeeEntity employeeEntity = employeeService.getById(requestEmployeeId);
- if (employeeEntity == null) {
- return null;
- }
-
- requestEmployee = this.loadLoginInfo(employeeEntity);
- loginEmployeeCache.put(requestEmployeeId, requestEmployee);
- }
+ RequestEmployee requestEmployee = loginManager.getRequestEmployee(requestEmployeeId);
// 更新请求ip和user agent
requestEmployee.setUserAgent(ServletUtil.getHeaderIgnoreCase(request, RequestHeaderConst.USER_AGENT));
@@ -384,7 +329,7 @@ public class LoginService implements StpInterface {
StpUtil.logout();
// 清空登录信息缓存
- loginEmployeeCache.remove(requestUser.getUserId());
+ loginManager.clear();
//保存登出日志
LoginLogEntity loginEntity = LoginLogEntity.builder()
@@ -402,14 +347,6 @@ public class LoginService implements StpInterface {
return ResponseDTO.ok();
}
- /**
- * 清除员工登录缓存
- */
- public void clearLoginEmployeeCache(Long employeeId) {
- // 清空登录信息缓存
- loginEmployeeCache.remove(employeeId);
- }
-
/**
* 保存登录日志
*/
@@ -437,12 +374,7 @@ public class LoginService implements StpInterface {
return Collections.emptyList();
}
- UserPermission userPermission = permissionCache.get(employeeId);
- if (userPermission == null) {
- userPermission = getUserPermission(employeeId);
- permissionCache.put(employeeId, userPermission);
- }
-
+ UserPermission userPermission = loginManager.getUserPermission(employeeId);
return userPermission.getPermissionList();
}
@@ -453,51 +385,10 @@ public class LoginService implements StpInterface {
return Collections.emptyList();
}
- UserPermission userPermission = permissionCache.get(employeeId);
- if (userPermission == null) {
- userPermission = getUserPermission(employeeId);
- permissionCache.put(employeeId, userPermission);
- }
+ UserPermission userPermission = loginManager.getUserPermission(employeeId);
return userPermission.getRoleList();
}
- /**
- * 获取用户的权限(包含 角色列表、权限列表)
- */
- private UserPermission getUserPermission(Long employeeId) {
-
- UserPermission userPermission = new UserPermission();
- userPermission.setPermissionList(new ArrayList<>());
- userPermission.setRoleList(new ArrayList<>());
-
- // 角色列表
- List roleList = roleEmployeeService.getRoleIdList(employeeId);
- userPermission.getRoleList().addAll(roleList.stream().map(RoleVO::getRoleCode).collect(Collectors.toSet()));
-
- // 前端菜单和功能点清单
- EmployeeEntity employeeEntity = employeeService.getById(employeeId);
-
- List menuAndPointsList = roleMenuService.getMenuList(roleList.stream().map(RoleVO::getRoleId).collect(Collectors.toList()), employeeEntity.getAdministratorFlag());
-
- // 权限列表
- HashSet permissionSet = new HashSet<>();
- for (MenuVO menu : menuAndPointsList) {
- if (menu.getPermsType() == null) {
- continue;
- }
-
- String perms = menu.getApiPerms();
- if (StringUtils.isEmpty(perms)) {
- continue;
- }
- //接口权限
- String[] split = perms.split(",");
- permissionSet.addAll(Arrays.asList(split));
- }
- userPermission.getPermissionList().addAll(permissionSet);
-
- return userPermission;
- }
/**
* 发送 邮箱 验证码
@@ -592,4 +483,8 @@ public class LoginService implements StpInterface {
String redisVerificationCodeKey = redisService.generateRedisKey(RedisKeyConst.Support.LOGIN_VERIFICATION_CODE, UserTypeEnum.ADMIN_EMPLOYEE.getValue() + RedisKeyConst.SEPARATOR + employeeId);
redisService.delete(redisVerificationCodeKey);
}
+
+ public void clearLoginEmployeeCache(Long employeeId) {
+ loginManager.clear();
+ }
}
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml b/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml
index 79b505db..c742cc76 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml
@@ -1,6 +1,6 @@
-
+
UPDATE t_oa_bank
SET deleted_flag = #{deletedFlag}
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml b/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml
index 0001d92f..afbc0469 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml
@@ -1,6 +1,6 @@
-
+
UPDATE t_oa_invoice
SET deleted_flag = #{deletedFlag}
diff --git a/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml b/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml
index 326d94f5..8ee2974d 100644
--- a/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml
+++ b/smart-admin-api-java8-springboot2/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml
@@ -19,5 +19,16 @@
WHERE parent_id = #{departmentId}
+
+
\ No newline at end of file
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java
index c10897d0..355b9482 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/common/domain/UserPermission.java
@@ -2,6 +2,7 @@ package net.lab1024.sa.base.common.domain;
import lombok.Data;
+import java.io.Serializable;
import java.util.List;
/**
@@ -15,7 +16,7 @@ import java.util.List;
*/
@Data
-public class UserPermission {
+public class UserPermission implements Serializable {
/**
* 权限列表
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/config/CacheConfig.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/config/CacheConfig.java
index bf6de16a..5beb7413 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/config/CacheConfig.java
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/config/CacheConfig.java
@@ -1,11 +1,17 @@
package net.lab1024.sa.base.config;
+import com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer;
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;
+import org.springframework.data.redis.cache.RedisCacheConfiguration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.serializer.RedisSerializationContext;
+
+import javax.annotation.Resource;
/**
* 缓存配置
@@ -20,6 +26,18 @@ public class CacheConfig {
private static final String CAFFEINE_CACHE = "caffeine";
+ @Resource
+ private RedisConnectionFactory factory;
+
+ @Bean
+ @ConditionalOnProperty(prefix = "spring.cache", name = {"type"}, havingValue = REDIS_CACHE)
+ public RedisCacheConfiguration redisCacheConfiguration() {
+ return RedisCacheConfiguration.defaultCacheConfig()
+ .disableCachingNullValues()
+ .computePrefixWith(name -> "cache:" + name + ":")
+ .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericFastJsonRedisSerializer()));
+ }
+
@Bean
@ConditionalOnProperty(prefix = "spring.cache", name = {"type"}, havingValue = REDIS_CACHE)
public CacheService redisCacheService() {
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java
index 6170e8dd..4bce8e19 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java
@@ -48,7 +48,8 @@ public class ListVariableService extends CodeGenerateBaseVariableService {
CodeField codeField = getCodeFieldByColumnName(queryField.getColumnNameList().get(0), form);
if (CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())) {
- objectMap.put("frontEnumName", codeField.getEnumName());
+ String upperUnderscoreEnum = CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, codeField.getEnumName());
+ objectMap.put("frontEnumName", upperUnderscoreEnum);
frontImportSet.add("import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';");
}
@@ -77,6 +78,12 @@ public class ListVariableService extends CodeGenerateBaseVariableService {
continue;
}
+ // 是否存在枚举
+ if (SmartStringUtil.isNotBlank(codeField.getEnumName())) {
+ String upperUnderscoreEnum = CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, codeField.getEnumName());
+ objectMap.put("frontEnumPlugin", "$smartEnumPlugin.getDescByValue('" + upperUnderscoreEnum + "', text)");
+ }
+
// 是否存在字典
if (SmartStringUtil.isNotBlank(codeField.getDict())) {
objectMap.put("dict", codeField.getDict());
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java
index 3e2f533e..ae3840ae 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/mail/MailService.java
@@ -33,7 +33,7 @@ import java.util.Map;
/**
*
- * 发生邮件:
+ * 发送邮件:
* 1、支持直接发送
* 2、支持使用邮件模板发送
*
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm
index 04230b36..146f9be6 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm
@@ -18,7 +18,7 @@ public class ${name.upperCamel}Entity {
#foreach ($field in $fields)
/**
- * $field.label
+ * $field.columnComment
*/
#if($field.primaryKeyFlag && $field.autoIncreaseFlag)
@TableId(type = IdType.AUTO)
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm
index e336227b..e90d74d2 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm
@@ -89,6 +89,7 @@
#end
#end
+ #foreach ($field in $listFields)
+ #if($field.frontEnumPlugin)
+
+ {{ $!{field.frontEnumPlugin} }}
+
+ #end
+ #end
#foreach ($field in $listFields)
#if($field.dict)
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml
index 640cf540..fbc5185e 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/dev/sa-base.yaml
@@ -66,7 +66,7 @@ spring:
# 缓存实现类型
cache:
- type: caffeine
+ type: redis
# tomcat 配置,主要用于 配置 访问日志(便于将来排查错误)
server:
@@ -88,8 +88,8 @@ file:
region: oss-cn-hangzhou
endpoint: oss-cn-hangzhou.aliyuncs.com
bucket-name: 1024lab-smart-admin
- access-key:
- secret-key:
+ access-key:
+ secret-key:
url-prefix: https://${file.storage.cloud.bucket-name}.${file.storage.cloud.endpoint}/
private-url-expire-seconds: 3600
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/pre/sa-base.yaml b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/pre/sa-base.yaml
index df370a8f..ca25d856 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/pre/sa-base.yaml
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/pre/sa-base.yaml
@@ -66,7 +66,7 @@ spring:
# 缓存实现类型
cache:
- type: caffeine
+ type: redis
# tomcat 配置,主要用于 配置 访问日志(便于将来排查错误)
server:
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml
index 4d47b216..d00ad41d 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/prod/sa-base.yaml
@@ -65,7 +65,7 @@ spring:
# 缓存实现类型
cache:
- type: caffeine
+ type: redis
# tomcat 配置,主要用于 配置 访问日志(便于将来排查错误)
server:
diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/test/sa-base.yaml b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/test/sa-base.yaml
index df370a8f..ca25d856 100644
--- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/test/sa-base.yaml
+++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/test/sa-base.yaml
@@ -66,7 +66,7 @@ spring:
# 缓存实现类型
cache:
- type: caffeine
+ type: redis
# tomcat 配置,主要用于 配置 访问日志(便于将来排查错误)
server:
diff --git a/smart-admin-web-javascript/README.en.md b/smart-admin-web-javascript/README.en.md
deleted file mode 100644
index e69de29b..00000000
diff --git a/smart-admin-web-javascript/README.md b/smart-admin-web-javascript/README.md
deleted file mode 100644
index e69de29b..00000000
diff --git a/smart-admin-web-javascript/src/assets/images/login/login-min.gif b/smart-admin-web-javascript/src/assets/images/login/login-min.gif
new file mode 100644
index 00000000..2a7608bf
Binary files /dev/null and b/smart-admin-web-javascript/src/assets/images/login/login-min.gif differ
diff --git a/smart-admin-web-javascript/src/components/support/dict-label/index.vue b/smart-admin-web-javascript/src/components/support/dict-label/index.vue
index 1f5d3f03..0a5b2490 100644
--- a/smart-admin-web-javascript/src/components/support/dict-label/index.vue
+++ b/smart-admin-web-javascript/src/components/support/dict-label/index.vue
@@ -8,7 +8,7 @@
const props = defineProps({
dictCode: String,
- dataValue: String,
+ dataValue: [String, Number],
});
const dataLabels = computed(() => {
return useDictStore().getDataLabels(props.dictCode, props.dataValue);
diff --git a/smart-admin-web-javascript/src/store/modules/system/dict.js b/smart-admin-web-javascript/src/store/modules/system/dict.js
index 02afa1dc..3540c4d4 100644
--- a/smart-admin-web-javascript/src/store/modules/system/dict.js
+++ b/smart-admin-web-javascript/src/store/modules/system/dict.js
@@ -1,6 +1,4 @@
import { defineStore } from 'pinia';
-import { dictApi } from '/@/api/support/dict-api';
-import { smartSentry } from '/@/lib/smart-sentry';
import { DICT_SPLIT } from '/@/constants/support/dict-const.js';
import _ from 'lodash';
@@ -23,14 +21,21 @@ export const useDictStore = defineStore({
// 获取字典的值名称
getDataLabels(dictCode, dataValue) {
- if (!dataValue) {
+ if (_.isNil(dataValue) || _.isNaN(dataValue)) {
return '';
}
+
let dict = this.getDictData(dictCode);
if (dict.length === 0) {
return '';
}
+ // 是数字的话,需要特殊处理
+ if(_.isNumber(dataValue)){
+ let target = _.find(dict, { dataValue: dataValue });
+ return target ? target.dataLabel : '';
+ }
+
let valueArray = dataValue.split(DICT_SPLIT);
let result = [];
for (let item of valueArray) {
@@ -42,7 +47,7 @@ export const useDictStore = defineStore({
return result.join(DICT_SPLIT);
},
// 初始化字典
- initData(dictDataList){
+ initData(dictDataList) {
this.dictMap.clear();
for (let data of dictDataList) {
let dataArray = this.dictMap.get(data.dictCode);
diff --git a/smart-admin-web-javascript/src/views/support/code-generator/code-generator-list.vue b/smart-admin-web-javascript/src/views/support/code-generator/code-generator-list.vue
index 83bdb9f0..80e96c75 100644
--- a/smart-admin-web-javascript/src/views/support/code-generator/code-generator-list.vue
+++ b/smart-admin-web-javascript/src/views/support/code-generator/code-generator-list.vue
@@ -41,7 +41,7 @@
-
+
@@ -56,11 +56,9 @@