通用权限点保存
This commit is contained in:
parent
7d5e63be73
commit
3c8c6179c7
@ -4,11 +4,13 @@ import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -43,4 +45,6 @@ public interface SaasPermissionGroupApi {
|
||||
@PostMapping("/api/saasPermissionGoup/delete")
|
||||
ApiResult delete(@RequestBody List<Long> id);
|
||||
|
||||
@PostMapping("/api/saasPermissionGoup/savePermissionPoints")
|
||||
ApiResult<Void> savePermissionPoints(@RequestBody@Valid SavePermissionGroupPPVO save);
|
||||
}
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.model.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SavePermissionGroupPPVO {
|
||||
|
||||
/**
|
||||
* 权限集id
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@NotNull
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 选中的权限id
|
||||
*/
|
||||
private List<Long> selectedPPIds;
|
||||
|
||||
}
|
||||
@ -8,6 +8,7 @@ import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.feign.SaasPermissionGroupApi;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupDao;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupScopeDao;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao;
|
||||
@ -62,4 +63,10 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<Void> savePermissionPoints(SavePermissionGroupPPVO save) {
|
||||
permissionGroupService.savePermissionPoints(save);
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package cn.axzo.tyr.server.service;
|
||||
import cn.axzo.framework.domain.page.PageResp;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -22,4 +23,6 @@ public interface PermissionGroupService {
|
||||
|
||||
PageResp<SaasPermissionGroupVO> page(QuerySaasPermissionGroupReq req);
|
||||
|
||||
void savePermissionPoints(SavePermissionGroupPPVO save);
|
||||
|
||||
}
|
||||
|
||||
@ -3,12 +3,16 @@ package cn.axzo.tyr.server.service.impl;
|
||||
import cn.axzo.basics.common.BeanMapper;
|
||||
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.framework.domain.page.PageResp;
|
||||
import cn.axzo.framework.domain.web.BizException;
|
||||
import cn.axzo.framework.domain.web.code.BaseCode;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import cn.axzo.tyr.client.model.enums.PermissionGroupType;
|
||||
import cn.axzo.tyr.client.model.enums.PermissionScopeType;
|
||||
import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SaasRolePermissionScopeVO;
|
||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation;
|
||||
@ -19,6 +23,7 @@ import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPgroupRoleRelationDao;
|
||||
import cn.axzo.tyr.server.service.PermissionGroupService;
|
||||
import cn.axzo.tyr.server.service.PermissionPointService;
|
||||
import cn.axzo.tyr.server.service.SaasPgroupPermissionRelationService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -26,9 +31,12 @@ import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -53,6 +61,8 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
||||
PermissionPointService featureService;
|
||||
@Autowired
|
||||
SaasPermissionGroupScopeDao saasPermissionGroupScopeDao;
|
||||
@Autowired
|
||||
SaasPgroupPermissionRelationService saasPgroupPermissionRelationService;
|
||||
|
||||
@Override
|
||||
public List<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req) {
|
||||
@ -222,4 +232,28 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
||||
).collect(Collectors.toList());
|
||||
return PageResp.list(iPage.getCurrent(), iPage.getSize(), iPage.getTotal(), pageList);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void savePermissionPoints(SavePermissionGroupPPVO save) {
|
||||
List<SaasPermissionGroup> groups = permissionGroupDao.lambdaQuery()
|
||||
.eq(SaasPermissionGroup::getId, save.getId())
|
||||
.eq(SaasPermissionGroup::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||
if (CollectionUtils.isEmpty(groups)) {
|
||||
throw new BizException(BaseCode.BAD_REQUEST, "权限集不存在");
|
||||
}
|
||||
SaasPermissionGroup saasPermissionGroup = groups.get(0);
|
||||
if (!Objects.equals(saasPermissionGroup.getIsCommon(), PermissionGroupType.COMMON.getCode())) {
|
||||
throw new BizException(BaseCode.BAD_REQUEST, "权限集不是通用权限集");
|
||||
}
|
||||
List<SaasPgroupPermissionRelation> pgpRelations = Optional.ofNullable(save.getSelectedPPIds()).orElse(new ArrayList<>()).stream().map(ppId -> {
|
||||
SaasPgroupPermissionRelation target = new SaasPgroupPermissionRelation();
|
||||
target.setGroupId(saasPermissionGroup.getId());
|
||||
target.setFeatureId(ppId);
|
||||
target.setCreateBy(save.getOperatorId());
|
||||
target.setUpdateBy(save.getOperatorId());
|
||||
return target;
|
||||
}).collect(Collectors.toList());
|
||||
saasPgroupPermissionRelationService.saveOrUpdate(pgpRelations);
|
||||
}
|
||||
}
|
||||
|
||||
@ -252,7 +252,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
target.setUpdateBy(saveOrUpdateRole.getOperatorId());
|
||||
return target;
|
||||
}).collect(Collectors.toList());
|
||||
saasPgroupPermissionRelationService.saveOrUpdate(pgpRelations);
|
||||
saasPgroupPermissionRelationService.saveOrUpdate(pgpRelations);
|
||||
return saasRole.getId();
|
||||
}
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -20,6 +21,7 @@ public class SaasPgroupPermissionRelationServiceImpl implements SaasPgroupPermis
|
||||
private final SaasPgroupPermissionRelationDao saasPgroupPermissionRelationDao;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveOrUpdate(List<SaasPgroupPermissionRelation> relations) {
|
||||
if (CollectionUtils.isNotEmpty(relations)) {
|
||||
return;
|
||||
|
||||
@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@ -25,6 +26,7 @@ public class SaasPgroupRoleRelationServiceImpl implements SaasPgroupRoleRelation
|
||||
private final SaasPermissionGroupDao saasPermissionGroupDao;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveOrUpdateCommon(SaasPgroupRoleRelation commonRelation) {
|
||||
List<SaasPgroupRoleRelation> relations = saasPgroupRoleRelationDao.lambdaQuery().eq(SaasPgroupRoleRelation::getRoleId, commonRelation.getRoleId())
|
||||
.eq(SaasPgroupRoleRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||
|
||||
@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -19,6 +20,7 @@ import java.util.stream.Collectors;
|
||||
public class SaasRoleGroupRelationServiceImpl implements SaasRoleGroupRelationService {
|
||||
private final SaasRoleGroupRelationDao saasRoleGroupRelationDao;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveOrUpdate(List<SaasRoleGroupRelation> relations) {
|
||||
if (CollectionUtils.isEmpty(relations)) {
|
||||
return;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user