Browse Source

角色修改功能

feature/yujt_vim
yujt 5 years ago
parent
commit
501f4dbfdb
  1. 24
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/v2/SysRoleV2Controller.java
  2. 3
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java
  3. 50
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java

24
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/v2/SysRoleV2Controller.java

@ -9,11 +9,17 @@
package com.elink.esua.epdc.controller.v2;
import com.elink.esua.epdc.commons.api.version.ApiVersion;
import com.elink.esua.epdc.commons.tools.annotation.LogOperation;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.SysRoleDTO;
import com.elink.esua.epdc.enums.AppMenuCategoryEnum;
import com.elink.esua.epdc.service.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -69,4 +75,22 @@ public class SysRoleV2Controller {
}
@PostMapping
public Result save(@RequestBody SysRoleDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
sysRoleService.saveV2(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody SysRoleDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysRoleService.updateV2(dto);
return new Result();
}
}

3
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java

@ -31,12 +31,15 @@ public interface SysRoleService extends BaseService<SysRoleEntity> {
SysRoleDTO get(Long id);
void save(SysRoleDTO dto);
void saveV2(SysRoleDTO dto);
void update(SysRoleDTO dto);
void updateV2(SysRoleDTO dto);
void delete(Long[] ids);
List<String> getCategoryIdList(Long id);
List<Long> getWhistleDeptIdList(Long id);
}

50
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java

@ -44,6 +44,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 角色管理
@ -133,10 +135,23 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//保存角色数据权限关系
sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList());
handleEpdcUserRole(dto, entity);
handleEpdcUserRole(dto, entity, false);
}
@Override
public void saveV2(SysRoleDTO dto) {
SysRoleEntity entity = ConvertUtils.sourceToTarget(dto, SysRoleEntity.class);
//保存角色
insert(entity);
//保存角色菜单关系
sysRoleMenuService.saveOrUpdate(entity.getId(), dto.getMenuIdList());
//保存角色数据权限关系
sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList());
handleEpdcUserRole(dto, entity, true);
}
/**
* 党群相关权限集中处理 包括工作端数据端吹哨权限
*
@ -146,12 +161,15 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
* @author work@yujt.net.cn
* @date 2020/5/13 19:42
*/
private void handleEpdcUserRole(SysRoleDTO dto, SysRoleEntity entity) {
//保存角色与工作端菜单关系
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
//更新角色与数据端菜单关系
sysAnalysisRoleMenuService.saveOrUpdate(entity.getId(), dto.getAnalysisMenuIdList());
private void handleEpdcUserRole(SysRoleDTO dto, SysRoleEntity entity, boolean v2) {
if (v2) {
// 同时保存数据端与工作端权限
appRoleMenuService.saveOrUpdate(entity.getId(), Stream.concat(dto.getAppMenuIdList().stream(), dto.getAnalysisMenuIdList().stream()).collect(Collectors.toList()));
} else {
// 分别保存数据端与工作端权限
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
sysAnalysisRoleMenuService.saveOrUpdate(entity.getId(), dto.getAnalysisMenuIdList());
}
//保存角色与项目处理类型关系
List<String> categoryIdList = dto.getCategoryIdList();
@ -219,8 +237,24 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//更新角色数据权限关系
sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList());
handleEpdcUserRole(dto, entity);
handleEpdcUserRole(dto, entity, false);
}
@Override
public void updateV2(SysRoleDTO dto) {
SysRoleEntity entity = ConvertUtils.sourceToTarget(dto, SysRoleEntity.class);
//更新角色
updateById(entity);
//更新角色菜单关系
sysRoleMenuService.saveOrUpdate(entity.getId(), dto.getMenuIdList());
//更新角色数据权限关系
sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList());
handleEpdcUserRole(dto, entity, true);
}
@Override

Loading…
Cancel
Save