Commit a9681a84 authored by chenyuxi's avatar chenyuxi

feat: 获取用户在当前项目下的权限

parent ec90fbba
......@@ -26,8 +26,11 @@ import com.yifu.cloud.plus.v1.yifu.admin.service.SysUserDeptPermissionService;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.UserPermissionVo;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
......@@ -51,7 +54,7 @@ public class UserDeptPermissionController {
private final SysUserDeptPermissionService sysUserDeptPermissionService;
/**
* 客户服务平台——获取用户权限
* 客户服务平台——获取项目下用户的部门,数据权限配置信息
* @param sysUserDeptPermission 实体
* @return success/false
*/
......@@ -117,4 +120,35 @@ public class UserDeptPermissionController {
return sysUserDeptPermissionService.relationUser(sysUserDeptPermission);
}
/**
* 客户服务平台——获取指定项目下用户的数据权限
* @param sysUserDeptPermission 实体
* @return success/false
*/
@GetMapping("/permissionByProject")
public R<UserPermissionVo> getUserPermissionByProject(SysUserDeptPermission sysUserDeptPermission) {
if(Common.isEmpty(sysUserDeptPermission.getProjectNo())){
return R.failed("项目编码不能为空");
}
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
}
List<UserPermissionVo> cspPermList = user.getCspPermMap();
if(Common.isEmpty(cspPermList)){
return R.failed("获取用户权限失败!");
}
// 获取用户在当前项目下的权限
UserPermissionVo authority = null;
for (UserPermissionVo userPermissionVo : cspPermList) {
if(sysUserDeptPermission.getProjectNo().equals(userPermissionVo.getProjectNo())){
authority = userPermissionVo;
}
}
if(Common.isEmpty(authority)){
return R.failed("获取用户在当前项目下的权限失败!");
}
return R.ok(authority);
}
}
......@@ -36,11 +36,11 @@ public interface SysUserDeptPermissionService extends IService<SysUserDeptPermis
/**
* 项目下用户数据权限
* 获取项目下用户的部门,数据权限配置信息
* @param projectNo 项目编号
* @param userId 用户ID
*
* @return UserPermissionVo 用户在指定项目下的权限
* @return SysUserDeptPermission
*/
SysUserDeptPermission getInfo(String projectNo, String userId);
......
......@@ -65,6 +65,13 @@ public class SysUserDeptPermissionServiceImpl extends ServiceImpl<SysUserDeptPer
private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder();
/**
* 项目下用户的部门,数据权限配置信息
* @param projectNo 项目编号
* @param userId 用户ID
*
* @return UserPermissionVo 用户在指定项目下的权限
*/
@Override
public SysUserDeptPermission getInfo(String projectNo, String userId) {
LambdaQueryWrapper<SysUserDeptPermission> permissionQuery = Wrappers.<SysUserDeptPermission>lambdaQuery()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment