|
@@ -3,6 +3,7 @@ package com.qmth.distributed.print.business.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.distributed.print.business.bean.dto.DataPermissionInfo;
|
|
import com.qmth.distributed.print.business.bean.dto.DataPermissionInfo;
|
|
|
|
+import com.qmth.distributed.print.business.bean.dto.DataPermissionQuery;
|
|
import com.qmth.distributed.print.business.entity.BasicRoleDataPermission;
|
|
import com.qmth.distributed.print.business.entity.BasicRoleDataPermission;
|
|
import com.qmth.distributed.print.business.mapper.BasicRoleDataPermissionMapper;
|
|
import com.qmth.distributed.print.business.mapper.BasicRoleDataPermissionMapper;
|
|
import com.qmth.distributed.print.business.service.BasicRoleDataPermissionService;
|
|
import com.qmth.distributed.print.business.service.BasicRoleDataPermissionService;
|
|
@@ -12,6 +13,7 @@ import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.PrivilegeEnum;
|
|
import com.qmth.teachcloud.common.enums.PrivilegeEnum;
|
|
import com.qmth.teachcloud.common.service.SysPrivilegeService;
|
|
import com.qmth.teachcloud.common.service.SysPrivilegeService;
|
|
|
|
+import com.qmth.teachcloud.common.service.SysRoleService;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -30,6 +32,8 @@ import java.util.stream.Stream;
|
|
public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDataPermissionMapper, BasicRoleDataPermission> implements BasicRoleDataPermissionService {
|
|
public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDataPermissionMapper, BasicRoleDataPermission> implements BasicRoleDataPermissionService {
|
|
@Resource
|
|
@Resource
|
|
SysPrivilegeService sysPrivilegeService;
|
|
SysPrivilegeService sysPrivilegeService;
|
|
|
|
+ @Resource
|
|
|
|
+ SysRoleService sysRoleService;
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
@@ -38,7 +42,7 @@ public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDat
|
|
Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
|
|
Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
|
|
|
|
|
|
List<Long> privilegeIdList = dataPermissionInfoList.stream()
|
|
List<Long> privilegeIdList = dataPermissionInfoList.stream()
|
|
- .map(DataPermissionInfo::getId)
|
|
|
|
|
|
+ .map(DataPermissionInfo::getPrivilegeId)
|
|
.distinct()
|
|
.distinct()
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
@@ -52,7 +56,7 @@ public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDat
|
|
throw ExceptionResultEnum.ERROR.exception("角色数据权限要绑在菜单级权限上");
|
|
throw ExceptionResultEnum.ERROR.exception("角色数据权限要绑在菜单级权限上");
|
|
}
|
|
}
|
|
this.remove(new QueryWrapper<BasicRoleDataPermission>().lambda()
|
|
this.remove(new QueryWrapper<BasicRoleDataPermission>().lambda()
|
|
- .eq(BasicRoleDataPermission::getSchoolId, requestUser.getSchoolId())
|
|
|
|
|
|
+ .eq(BasicRoleDataPermission::getSchoolId, schoolId)
|
|
.eq(BasicRoleDataPermission::getRoleId, roleId));
|
|
.eq(BasicRoleDataPermission::getRoleId, roleId));
|
|
|
|
|
|
List<BasicRoleDataPermission> basicRoleDataPermissionList = dataPermissionInfoList.stream().flatMap(e -> {
|
|
List<BasicRoleDataPermission> basicRoleDataPermissionList = dataPermissionInfoList.stream().flatMap(e -> {
|
|
@@ -60,7 +64,7 @@ public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDat
|
|
basicRoleDataPermission.insertInfo(requestUser.getId());
|
|
basicRoleDataPermission.insertInfo(requestUser.getId());
|
|
basicRoleDataPermission.setSchoolId(schoolId);
|
|
basicRoleDataPermission.setSchoolId(schoolId);
|
|
basicRoleDataPermission.setRoleId(roleId);
|
|
basicRoleDataPermission.setRoleId(roleId);
|
|
- basicRoleDataPermission.setPrivilegeId(e.getId());
|
|
|
|
|
|
+ basicRoleDataPermission.setPrivilegeId(e.getPrivilegeId());
|
|
basicRoleDataPermission.setDataPermissionType(e.getDataPermissionType());
|
|
basicRoleDataPermission.setDataPermissionType(e.getDataPermissionType());
|
|
return Stream.of(basicRoleDataPermission);
|
|
return Stream.of(basicRoleDataPermission);
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
@@ -68,4 +72,29 @@ public class BasicRoleDataPermissionServiceImpl extends ServiceImpl<BasicRoleDat
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<DataPermissionInfo> findRoleDataPermissionInfo(Long roleId) {
|
|
|
|
+ return this.list(new QueryWrapper<BasicRoleDataPermission>().lambda()
|
|
|
|
+ .eq(BasicRoleDataPermission::getRoleId, roleId))
|
|
|
|
+ .stream()
|
|
|
|
+ .flatMap(e -> {
|
|
|
|
+ DataPermissionInfo dataPermissionInfo = new DataPermissionInfo();
|
|
|
|
+ dataPermissionInfo.setPrivilegeId(e.getPrivilegeId());
|
|
|
|
+ dataPermissionInfo.setDataPermissionType(e.getDataPermissionType());
|
|
|
|
+ return Stream.of(dataPermissionInfo);
|
|
|
|
+ })
|
|
|
|
+ .distinct()
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public DataPermissionQuery findDataPermission(Long schoolId, Long requestUserId, String url) {
|
|
|
|
+ // 角色集合
|
|
|
|
+ List<Long> roleList = sysRoleService.getUserRoles(requestUserId);
|
|
|
|
+
|
|
|
|
+ SysPrivilege sysPrivilege = sysPrivilegeService.getOne(new QueryWrapper<SysPrivilege>().lambda().eq(SysPrivilege::getUrl, url).eq(SysPrivilege::getType, PrivilegeEnum.URL));
|
|
|
|
+// sysPrivilege.get
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
}
|
|
}
|