|
@@ -13,8 +13,10 @@ import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Sets;
|
|
|
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
|
|
|
+import cn.com.qmth.examcloud.core.basic.dao.PrivilegeGroupRepo;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.PrivilegeRepo;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.RolePrivilegeRelationRepo;
|
|
|
+import cn.com.qmth.examcloud.core.basic.dao.entity.PrivilegeEntity;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.RolePrivilegeRelationEntity;
|
|
|
import cn.com.qmth.examcloud.core.basic.service.RolePrivilegeService;
|
|
|
|
|
@@ -38,14 +40,23 @@ public class RolePrivilegeServiceImpl implements RolePrivilegeService {
|
|
|
@Autowired
|
|
|
RolePrivilegeRelationRepo rolePrivilegeRelationRepo;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ PrivilegeGroupRepo privilegeGroupRepo;
|
|
|
+
|
|
|
@Autowired
|
|
|
RolePrivilegeService rolePrivilegeService;
|
|
|
|
|
|
@Override
|
|
|
- public void updateRolePrivilegeRelations(Long rootOrgId, Long roleId,
|
|
|
+ public void updateRolePrivilegeRelations(Long rootOrgId, Long roleId, Long privilegeGroupId,
|
|
|
Set<Long> privilegeIdSet) {
|
|
|
|
|
|
- rolePrivilegeRelationRepo.deleteByRoleIdAndRootOrgId(roleId, rootOrgId);
|
|
|
+ List<PrivilegeEntity> privilegeList = privilegeRepo
|
|
|
+ .findAllByGroupIdOrderByWeightDesc(privilegeGroupId);
|
|
|
+
|
|
|
+ for (PrivilegeEntity cur : privilegeList) {
|
|
|
+ rolePrivilegeRelationRepo.deleteByRoleIdAndRootOrgIdAndPrivilegeId(roleId, rootOrgId,
|
|
|
+ cur.getId());
|
|
|
+ }
|
|
|
|
|
|
if (CollectionUtils.isEmpty(privilegeIdSet)) {
|
|
|
return;
|