mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-14 14:19:08 +08:00
♻️ Refactoring code. 数据权限 DataScope.java 增加链式操作方便使用
This commit is contained in:
1 parent
73c6fa415d
commit
c5f291943e
7 files changed
+36
-14
No files matched your search
+27
@@ -56,4 +56,31 @@ public class DataScope extends HashMap {
|
|||||||
*/
|
*/
|
||||||
private DataScopeFuncEnum func = DataScopeFuncEnum.ALL;
|
private DataScopeFuncEnum func = DataScopeFuncEnum.ALL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* of 获取实例
|
||||||
|
*/
|
||||||
|
public static DataScope of() {
|
||||||
|
return new DataScope();
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataScope scopeName(String scopeName) {
|
||||||
|
this.scopeName = scopeName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataScope deptIds(List<Long> deptIds) {
|
||||||
|
this.deptIds = deptIds;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataScope only(boolean isOnly) {
|
||||||
|
this.isOnly = isOnly;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataScope func(DataScopeFuncEnum func) {
|
||||||
|
this.func = func;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+1
-1
@@ -27,7 +27,7 @@ public class SelectCountByScope extends AbstractMethod {
|
|||||||
this.sqlComment());
|
this.sqlComment());
|
||||||
SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);
|
SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);
|
||||||
|
|
||||||
return this.addSelectMappedStatementForOther(mapperClass, sqlSource, Integer.class);
|
return this.addSelectMappedStatementForOther(mapperClass, sqlSource, Long.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+1
-1
@@ -36,7 +36,7 @@ public class FileProperties {
|
|||||||
/**
|
/**
|
||||||
* 默认的存储桶名称
|
* 默认的存储桶名称
|
||||||
*/
|
*/
|
||||||
private String bucketName = "payerp";
|
private String bucketName = "local";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 本地文件配置信息
|
* 本地文件配置信息
|
||||||
|
|||||||
+3
-8
@@ -22,6 +22,7 @@ import com.pig4cloud.pigx.admin.api.entity.SysUser;
|
|||||||
import com.pig4cloud.pigx.common.core.constant.CommonConstants;
|
import com.pig4cloud.pigx.common.core.constant.CommonConstants;
|
||||||
import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
|
import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
|
||||||
import com.pig4cloud.pigx.common.core.util.R;
|
import com.pig4cloud.pigx.common.core.util.R;
|
||||||
|
import com.pig4cloud.pigx.common.core.util.RetOps;
|
||||||
import org.springframework.core.Ordered;
|
import org.springframework.core.Ordered;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
import org.springframework.security.core.authority.AuthorityUtils;
|
import org.springframework.security.core.authority.AuthorityUtils;
|
||||||
@@ -29,10 +30,7 @@ import org.springframework.security.core.userdetails.UserDetails;
|
|||||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.*;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lengleng
|
* @author lengleng
|
||||||
@@ -64,11 +62,8 @@ public interface PigxUserDetailsService extends UserDetailsService, Ordered {
|
|||||||
* @return UserDetails
|
* @return UserDetails
|
||||||
*/
|
*/
|
||||||
default UserDetails getUserDetails(R<UserInfo> result) {
|
default UserDetails getUserDetails(R<UserInfo> result) {
|
||||||
if (result == null || result.getData() == null) {
|
UserInfo info = RetOps.of(result).getData().orElseThrow(() -> new UsernameNotFoundException("用户不存在"));
|
||||||
throw new UsernameNotFoundException("用户不存在");
|
|
||||||
}
|
|
||||||
|
|
||||||
UserInfo info = result.getData();
|
|
||||||
Set<String> dbAuthsSet = new HashSet<>();
|
Set<String> dbAuthsSet = new HashSet<>();
|
||||||
if (ArrayUtil.isNotEmpty(info.getRoles())) {
|
if (ArrayUtil.isNotEmpty(info.getRoles())) {
|
||||||
// 获取角色
|
// 获取角色
|
||||||
|
|||||||
+1
-1
@@ -127,7 +127,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|||||||
// 查询数据权限内部门
|
// 查询数据权限内部门
|
||||||
List<Long> deptOwnIdList = deptMapper.selectListByScope(
|
List<Long> deptOwnIdList = deptMapper.selectListByScope(
|
||||||
Wrappers.<SysDept>lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName),
|
Wrappers.<SysDept>lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName),
|
||||||
new DataScope()).stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
DataScope.of()).stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
||||||
|
|
||||||
// 权限内部门
|
// 权限内部门
|
||||||
List<TreeNode<Long>> collect = deptAllList.stream()
|
List<TreeNode<Long>> collect = deptAllList.stream()
|
||||||
|
|||||||
+2
-2
@@ -153,7 +153,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IPage getUsersWithRolePage(Page page, UserDTO userDTO) {
|
public IPage getUsersWithRolePage(Page page, UserDTO userDTO) {
|
||||||
return baseMapper.getUserVosPage(page, userDTO, new DataScope());
|
return baseMapper.getUserVosPage(page, userDTO, DataScope.of());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -258,7 +258,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
public List<UserExcelVO> listUser(UserDTO userDTO) {
|
public List<UserExcelVO> listUser(UserDTO userDTO) {
|
||||||
// 根据数据权限查询全部的用户信息
|
// 根据数据权限查询全部的用户信息
|
||||||
List<UserVO> voList = baseMapper.selectVoListByScope(userDTO, new DataScope());
|
List<UserVO> voList = baseMapper.selectVoListByScope(userDTO, DataScope.of());
|
||||||
// 转换成execl 对象输出
|
// 转换成execl 对象输出
|
||||||
List<UserExcelVO> userExcelVOList = voList.stream().map(userVO -> {
|
List<UserExcelVO> userExcelVOList = voList.stream().map(userVO -> {
|
||||||
UserExcelVO excelVO = new UserExcelVO();
|
UserExcelVO excelVO = new UserExcelVO();
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
<maven.compiler.target>1.8</maven.compiler.target>
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
<maven.compiler.version>3.8.1</maven.compiler.version>
|
<maven.compiler.version>3.8.1</maven.compiler.version>
|
||||||
<spring.checkstyle.version>0.0.31</spring.checkstyle.version>
|
<spring.checkstyle.version>0.0.29</spring.checkstyle.version>
|
||||||
<git.commit.version>2.2.5</git.commit.version>
|
<git.commit.version>2.2.5</git.commit.version>
|
||||||
<spring-boot-admin.version>2.6.7</spring-boot-admin.version>
|
<spring-boot-admin.version>2.6.7</spring-boot-admin.version>
|
||||||
<captcha.version>1.2.7</captcha.version>
|
<captcha.version>1.2.7</captcha.version>
|
||||||
|
|||||||
Reference in new issue
Block a user