|
@@ -5,12 +5,10 @@ import java.util.Set;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
|
|
|
|
-import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
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;
|
|
@@ -18,6 +16,7 @@ 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.dao.entity.RolePrivilegeRelationPK;
|
|
|
import cn.com.qmth.examcloud.core.basic.service.RolePrivilegeService;
|
|
|
|
|
|
/**
|
|
@@ -53,33 +52,23 @@ public class RolePrivilegeServiceImpl implements RolePrivilegeService {
|
|
|
List<PrivilegeEntity> privilegeList = privilegeRepo
|
|
|
.findAllByGroupIdOrderByWeightDesc(privilegeGroupId);
|
|
|
|
|
|
- for (PrivilegeEntity cur : privilegeList) {
|
|
|
- rolePrivilegeRelationRepo.deleteByRoleIdAndRootOrgIdAndPrivilegeId(roleId, rootOrgId,
|
|
|
- cur.getId());
|
|
|
- }
|
|
|
-
|
|
|
- if (CollectionUtils.isEmpty(privilegeIdSet)) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- Set<String> temp = Sets.newHashSet();
|
|
|
-
|
|
|
List<RolePrivilegeRelationEntity> list = Lists.newArrayList();
|
|
|
- for (Long cur : privilegeIdSet) {
|
|
|
- if (0 > cur) {
|
|
|
- continue;
|
|
|
- }
|
|
|
|
|
|
- if (temp.contains(String.valueOf(cur))) {
|
|
|
- continue;
|
|
|
+ for (PrivilegeEntity cur : privilegeList) {
|
|
|
+ Long id = cur.getId();
|
|
|
+ if (privilegeIdSet.contains(id)) {
|
|
|
+ RolePrivilegeRelationEntity bean = new RolePrivilegeRelationEntity();
|
|
|
+ bean.setRoleId(roleId);
|
|
|
+ bean.setRootOrgId(rootOrgId);
|
|
|
+ bean.setPrivilegeId(id);
|
|
|
+ list.add(bean);
|
|
|
}
|
|
|
- temp.add(String.valueOf(cur));
|
|
|
- RolePrivilegeRelationEntity bean = new RolePrivilegeRelationEntity();
|
|
|
- bean.setRoleId(roleId);
|
|
|
- bean.setRootOrgId(rootOrgId);
|
|
|
- bean.setPrivilegeId(cur);
|
|
|
|
|
|
- list.add(bean);
|
|
|
+ RolePrivilegeRelationPK pk = new RolePrivilegeRelationPK(roleId, id, rootOrgId);
|
|
|
+ if (rolePrivilegeRelationRepo.exists(pk)) {
|
|
|
+ rolePrivilegeRelationRepo
|
|
|
+ .delete(new RolePrivilegeRelationPK(roleId, id, rootOrgId));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
rolePrivilegeRelationRepo.save(list);
|