Commit 7d1b62ad by zzrdark

2.角色模块增删改查

parent c216ee36
...@@ -20,5 +20,9 @@ public interface SysRoleDeptDao extends BaseMapper<SysRoleDeptEntity> { ...@@ -20,5 +20,9 @@ public interface SysRoleDeptDao extends BaseMapper<SysRoleDeptEntity> {
* 根据角色ID,获取部门ID列表 * 根据角色ID,获取部门ID列表
*/ */
List<Long> queryDeptIdList(Long[] roleIds); List<Long> queryDeptIdList(Long[] roleIds);
/**
* 根据角色ID数组,批量删除
*/
int deleteBatch(Long[] roleIds);
} }
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mx.cneeds.server.entity.SysRoleFuncEntity; import com.mx.cneeds.server.entity.SysRoleFuncEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 功能与角色映射表 * 功能与角色映射表
* *
...@@ -13,5 +15,14 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -13,5 +15,14 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface SysRoleFuncDao extends BaseMapper<SysRoleFuncEntity> { public interface SysRoleFuncDao extends BaseMapper<SysRoleFuncEntity> {
/**
* 根据角色ID数组,批量删除
*/
int deleteBatch(Long[] roleIds);
/**
* 根据角色ID,获取菜单ID列表
*/
List<Long> queryMenuIdList(Long roleId);
} }
...@@ -21,5 +21,8 @@ public interface SysUserRoleDao extends BaseMapper<SysUserRoleEntity> { ...@@ -21,5 +21,8 @@ public interface SysUserRoleDao extends BaseMapper<SysUserRoleEntity> {
*/ */
List<Long> queryRoleIdList(Long userId); List<Long> queryRoleIdList(Long userId);
/**
* 根据角色ID数组,批量删除
*/
int deleteBatch(Long[] roleIds);
} }
package com.mx.cneeds.server.entity; package com.mx.cneeds.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
...@@ -8,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -8,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.beans.Transient; import java.beans.Transient;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 角色表 * 角色表
...@@ -45,4 +47,7 @@ public class SysRoleEntity implements Serializable { ...@@ -45,4 +47,7 @@ public class SysRoleEntity implements Serializable {
} }
...@@ -18,4 +18,11 @@ ...@@ -18,4 +18,11 @@
</foreach> </foreach>
</select> </select>
<delete id="deleteBatch">
delete from sys_role_dept where role_id in
<foreach item="roleId" collection="array" open="(" separator="," close=")">
#{roleId}
</foreach>
</delete>
</mapper> </mapper>
\ No newline at end of file
...@@ -11,4 +11,14 @@ ...@@ -11,4 +11,14 @@
</resultMap> </resultMap>
<delete id="deleteBatch">
delete from sys_role_func where role_id in
<foreach item="roleId" collection="array" open="(" separator="," close=")">
#{roleId}
</foreach>
</delete>
<select id="queryMenuIdList" resultType="long">
select func_id from sys_role_func where role_id = #{value}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -15,5 +15,11 @@ ...@@ -15,5 +15,11 @@
</select> </select>
<delete id="deleteBatch">
delete from sys_user_role where role_id in
<foreach item="roleId" collection="array" open="(" separator="," close=")">
#{roleId}
</foreach>
</delete>
</mapper> </mapper>
\ No newline at end of file
...@@ -4,6 +4,7 @@ import lombok.Data; ...@@ -4,6 +4,7 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @ClassName DeptDtp * @ClassName DeptDtp
...@@ -39,4 +40,8 @@ public class RoleDto implements Serializable { ...@@ -39,4 +40,8 @@ public class RoleDto implements Serializable {
* 部门名称 * 部门名称
*/ */
private String deptName; private String deptName;
private List<Long> funcIdList;
private List<Long> deptIdList;
} }
package com.mx.cneeds.common.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @ClassName DeptDtp
* @Author zzrdark
* @Date 2020-03-10 16:00
* @Description TODO
**/
@Data
public class RoleVo implements Serializable {
/**
*
*/
private Long roleId;
/**
* 角色名称
*/
private String roleName;
/**
* 备注
*/
private String remark;
/**
* 部门Id
*/
private Long deptId;
/**
* 创建时间
*/
private Date createTime;
/**
* 部门名称
*/
private String deptName;
private List<Long> funcIdList;
private List<Long> deptIdList;
}
...@@ -75,7 +75,17 @@ public interface UserClient { ...@@ -75,7 +75,17 @@ public interface UserClient {
@RequestParam("sidx") String orderField, @RequestParam("sidx") String orderField,
@RequestParam("order") String order); @RequestParam("order") String order);
@PostMapping("/sys/role/info")
RoleDto infoRole(@RequestParam Long roleId);
@PostMapping("/sys/role/save")
void addRole(@RequestBody RoleDto dto);
@PostMapping("/sys/role/update")
void updateRole(@RequestBody RoleDto dto);
@PostMapping("/sys/role/delete")
void deleteRole(@RequestBody List<Long> ids);
/** /**
* *
* @param page * @param page
......
...@@ -2,15 +2,13 @@ package com.mx.cneeds.server.datashow.web.system; ...@@ -2,15 +2,13 @@ package com.mx.cneeds.server.datashow.web.system;
import com.mx.cneeds.common.UserUtils; import com.mx.cneeds.common.UserUtils;
import com.mx.cneeds.common.converter.RequestParamterConverter; import com.mx.cneeds.common.converter.RequestParamterConverter;
import com.mx.cneeds.common.dto.DepartmentDto; import com.mx.cneeds.common.dto.*;
import com.mx.cneeds.common.dto.FuncDto;
import com.mx.cneeds.common.dto.PageDto;
import com.mx.cneeds.common.dto.UserDto;
import com.mx.cneeds.common.generate.CascaderToolUtils; import com.mx.cneeds.common.generate.CascaderToolUtils;
import com.mx.cneeds.common.generate.TreeToolUtils; import com.mx.cneeds.common.generate.TreeToolUtils;
import com.mx.cneeds.common.result.R; import com.mx.cneeds.common.result.R;
import com.mx.cneeds.common.vo.CascaderVo; import com.mx.cneeds.common.vo.CascaderVo;
import com.mx.cneeds.common.vo.DepartmentVo; import com.mx.cneeds.common.vo.DepartmentVo;
import com.mx.cneeds.common.vo.RoleVo;
import com.mx.cneeds.common.vo.TreeVo; import com.mx.cneeds.common.vo.TreeVo;
import com.mx.cneeds.server.datashow.client.UserClient; import com.mx.cneeds.server.datashow.client.UserClient;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -67,72 +65,29 @@ public class SystemController { ...@@ -67,72 +65,29 @@ public class SystemController {
return new R().put("data",pageDto); return new R().put("data",pageDto);
} }
@PostMapping("/dept/list") @PostMapping("/func/listAll")
public R deptList(@RequestParam(required = false) Integer page, public R selectTreeFunc(){
@RequestParam(required = false) Integer pageSize, List<FuncDto> dtos = userClient.funcListAll();
@RequestParam(required = false) String sort){ List<TreeVo> rootList = new ArrayList<>();
List<TreeVo> bodyList = new ArrayList<>();
String orderField = null; dtos.forEach(dto -> {
String order = null; TreeVo vo = new TreeVo(
dto.getFuncId(),
if (page==null || page==0){ dto.getName(),
page = new Integer(1); dto.getParentId());
} if (dto.getParentId() == 0L){
if (pageSize==null || pageSize==0){ rootList.add(vo);
pageSize = new Integer(10); } else {
} bodyList.add(vo);
if (StringUtils.isNotEmpty(sort) && StringUtils.isNotBlank(sort.trim())){
if (sort.contains("+")){
order = new String("asc");
}
if (sort.contains("-")){
order = new String("desc");
}
orderField = sort.substring(1);
orderField = RequestParamterConverter.toLine(orderField);
}
PageDto pageDto = userClient.deptList(page,pageSize,orderField,order);
return new R().put("data",pageDto);
}
@PostMapping("/role/list")
public R roleList(@RequestParam(required = false) Integer page,
@RequestParam(required = false) Integer pageSize,
@RequestParam(required = false) String sort){
String orderField = null;
String order = null;
if (page==null || page==0){
page = new Integer(1);
}
if (pageSize==null || pageSize==0){
pageSize = new Integer(10);
}
if (StringUtils.isNotEmpty(sort) && StringUtils.isNotBlank(sort.trim())){
if (sort.contains("+")){
order = new String("asc");
}
if (sort.contains("-")){
order = new String("desc");
} }
orderField = sort.substring(1); });
orderField = RequestParamterConverter.toLine(orderField); TreeToolUtils utils = new TreeToolUtils(rootList,bodyList);
} List<TreeVo> result = utils.getTree();
return new R().put("data",result);
PageDto pageDto = userClient.roleList(page,pageSize,orderField,order);
return new R().put("data",pageDto);
} }
@PostMapping("/user/list") @PostMapping("/dept/list")
public R userList(@RequestParam(required = false) Integer page, public R deptList(@RequestParam(required = false) Integer page,
@RequestParam(required = false) Integer pageSize, @RequestParam(required = false) Integer pageSize,
@RequestParam(required = false) String sort){ @RequestParam(required = false) String sort){
...@@ -158,7 +113,7 @@ public class SystemController { ...@@ -158,7 +113,7 @@ public class SystemController {
} }
PageDto pageDto = userClient.userList(page,pageSize,orderField,order); PageDto pageDto = userClient.deptList(page,pageSize,orderField,order);
return new R().put("data",pageDto); return new R().put("data",pageDto);
} }
...@@ -197,16 +152,18 @@ public class SystemController { ...@@ -197,16 +152,18 @@ public class SystemController {
List<DepartmentDto> dtos = userClient.deptListAll(); List<DepartmentDto> dtos = userClient.deptListAll();
List<CascaderVo> rootList = new ArrayList<>(); List<CascaderVo> rootList = new ArrayList<>();
List<CascaderVo> bodyList = new ArrayList<>(); List<CascaderVo> bodyList = new ArrayList<>();
if (userDto.getDeptId()==0){ /*if (userDto.getDeptId()==0){
CascaderVo voRoot = new CascaderVo(0L,"根",0L); CascaderVo voRoot = new CascaderVo(0L,"根",0L);
rootList.add(voRoot); rootList.add(voRoot);
} }*/
dtos.forEach(dto -> { dtos.forEach(dto -> {
CascaderVo vo = new CascaderVo( CascaderVo vo = new CascaderVo(
dto.getDeptId(), dto.getDeptId(),
dto.getName(), dto.getName(),
dto.getParentId()); dto.getParentId());
if (dto.getParentId().equals(userDto.getDeptId())){ if (dto.getParentId()==null){
rootList.add(vo);
}else if (rootList.size() == 0 && dto.getParentId().equals(userDto.getDeptId())){
rootList.add(vo); rootList.add(vo);
} else { } else {
bodyList.add(vo); bodyList.add(vo);
...@@ -228,35 +185,113 @@ public class SystemController { ...@@ -228,35 +185,113 @@ public class SystemController {
dto.getDeptId(), dto.getDeptId(),
dto.getName(), dto.getName(),
dto.getParentId()); dto.getParentId());
if (dto.getParentId().equals(userDto.getDeptId())){ if (dto.getParentId()==null){
rootList.add(vo);
}else if (rootList.size() == 0 && dto.getParentId().equals(userDto.getDeptId())){
rootList.add(vo); rootList.add(vo);
} else { } else {
bodyList.add(vo); bodyList.add(vo);
} }
}); });
TreeToolUtils utils = new TreeToolUtils(rootList,bodyList); TreeToolUtils utils = new TreeToolUtils(rootList,bodyList);
List<TreeVo> result = utils.getTree(); List<TreeVo> result = utils.getTree();
return new R().put("data",result); return new R().put("data",result);
} }
@PostMapping("/func/listAll") @PostMapping("/role/list")
public R selectTreeFunc(){ public R roleList(@RequestParam(required = false) Integer page,
List<FuncDto> dtos = userClient.funcListAll(); @RequestParam(required = false) Integer pageSize,
List<TreeVo> rootList = new ArrayList<>(); @RequestParam(required = false) String sort){
List<TreeVo> bodyList = new ArrayList<>();
dtos.forEach(dto -> {
TreeVo vo = new TreeVo( String orderField = null;
dto.getFuncId(), String order = null;
dto.getName(),
dto.getParentId()); if (page==null || page==0){
if (dto.getParentId() == 0L){ page = new Integer(1);
rootList.add(vo); }
} else { if (pageSize==null || pageSize==0){
bodyList.add(vo); pageSize = new Integer(10);
}
if (StringUtils.isNotEmpty(sort) && StringUtils.isNotBlank(sort.trim())){
if (sort.contains("+")){
order = new String("asc");
} }
}); if (sort.contains("-")){
TreeToolUtils utils = new TreeToolUtils(rootList,bodyList); order = new String("desc");
List<TreeVo> result = utils.getTree(); }
return new R().put("data",result); orderField = sort.substring(1);
orderField = RequestParamterConverter.toLine(orderField);
}
PageDto pageDto = userClient.roleList(page,pageSize,orderField,order);
return new R().put("data",pageDto);
} }
@RequestMapping("/role/info")
public R infoRole(Long roleId){
RoleDto dto = userClient.infoRole(roleId);
return R.ok().put("data",dto);
}
@RequestMapping("/role/add")
public R roleAdd(RoleVo vo){
RoleDto dto = new RoleDto();
BeanUtils.copyProperties(vo,dto);
userClient.addRole(dto);
return R.ok();
}
@PostMapping("/role/edit")
public R editRole(RoleVo vo){
RoleDto dto = new RoleDto();
BeanUtils.copyProperties(vo,dto);
userClient.updateRole(dto);
return R.ok();
}
@PostMapping("/role/delete")
public R deleteRole(@RequestParam(value = "ids",required = false) List<Long> ids){
userClient.deleteRole(ids);
return R.ok();
}
@PostMapping("/user/list")
public R userList(@RequestParam(required = false) Integer page,
@RequestParam(required = false) Integer pageSize,
@RequestParam(required = false) String sort){
String orderField = null;
String order = null;
if (page==null || page==0){
page = new Integer(1);
}
if (pageSize==null || pageSize==0){
pageSize = new Integer(10);
}
if (StringUtils.isNotEmpty(sort) && StringUtils.isNotBlank(sort.trim())){
if (sort.contains("+")){
order = new String("asc");
}
if (sort.contains("-")){
order = new String("desc");
}
orderField = sort.substring(1);
orderField = RequestParamterConverter.toLine(orderField);
}
PageDto pageDto = userClient.userList(page,pageSize,orderField,order);
return new R().put("data",pageDto);
}
} }
...@@ -7,6 +7,7 @@ import com.mx.cneeds.server.entity.SysDeptEntity; ...@@ -7,6 +7,7 @@ import com.mx.cneeds.server.entity.SysDeptEntity;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* 部门表 * 部门表
...@@ -31,7 +32,7 @@ public interface SysDeptService extends IService<SysDeptEntity> { ...@@ -31,7 +32,7 @@ public interface SysDeptService extends IService<SysDeptEntity> {
List<Long> queryDetpIdList(Long parentId); List<Long> queryDetpIdList(Long parentId);
List<SysDeptEntity> queryDeptIdsBydeptName(List<Long> Ids); List<SysDeptEntity> queryDeptIdsBydeptName(Set<Long> Ids);
Long queryDeptCount(Map<String, Object> params); Long queryDeptCount(Map<String, Object> params);
......
...@@ -3,6 +3,7 @@ package com.mx.cneeds.server.user.service; ...@@ -3,6 +3,7 @@ package com.mx.cneeds.server.user.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.mx.cneeds.common.pager.PageUtils; import com.mx.cneeds.common.pager.PageUtils;
import com.mx.cneeds.server.entity.SysRoleDeptEntity; import com.mx.cneeds.server.entity.SysRoleDeptEntity;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -22,5 +23,9 @@ public interface SysRoleDeptService extends IService<SysRoleDeptEntity> { ...@@ -22,5 +23,9 @@ public interface SysRoleDeptService extends IService<SysRoleDeptEntity> {
* 根据角色ID,获取部门ID列表 * 根据角色ID,获取部门ID列表
*/ */
List<Long> queryDeptIdList(Long[] roleIds) ; List<Long> queryDeptIdList(Long[] roleIds) ;
void saveOrUpdate(Long roleId, List<Long> deptIdList);
int deleteBatch(Long[] roleIds);
} }
...@@ -3,7 +3,9 @@ package com.mx.cneeds.server.user.service; ...@@ -3,7 +3,9 @@ package com.mx.cneeds.server.user.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.mx.cneeds.common.pager.PageUtils; import com.mx.cneeds.common.pager.PageUtils;
import com.mx.cneeds.server.entity.SysRoleFuncEntity; import com.mx.cneeds.server.entity.SysRoleFuncEntity;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -15,6 +17,12 @@ import java.util.Map; ...@@ -15,6 +17,12 @@ import java.util.Map;
*/ */
public interface SysRoleFuncService extends IService<SysRoleFuncEntity> { public interface SysRoleFuncService extends IService<SysRoleFuncEntity> {
void saveOrUpdate(Long roleId, List<Long> menuIdList);
PageUtils queryPage(Map<String, Object> params); PageUtils queryPage(Map<String, Object> params);
int deleteBatch(Long[] roleIds);
List<Long> queryMenuIdList(Long roleId);
} }
...@@ -3,7 +3,9 @@ package com.mx.cneeds.server.user.service; ...@@ -3,7 +3,9 @@ package com.mx.cneeds.server.user.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.mx.cneeds.common.pager.PageUtils; import com.mx.cneeds.common.pager.PageUtils;
import com.mx.cneeds.server.entity.SysRoleEntity; import com.mx.cneeds.server.entity.SysRoleEntity;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -16,5 +18,9 @@ import java.util.Map; ...@@ -16,5 +18,9 @@ import java.util.Map;
public interface SysRoleService extends IService<SysRoleEntity> { public interface SysRoleService extends IService<SysRoleEntity> {
PageUtils queryPage(Map<String, Object> params); PageUtils queryPage(Map<String, Object> params);
void saveRole(SysRoleEntity role, List<Long> funcIdList, List<Long> deptIdList);
void deleteBatch(Long[] roleIds);
} }
...@@ -24,5 +24,6 @@ public interface SysUserRoleService extends IService<SysUserRoleEntity> { ...@@ -24,5 +24,6 @@ public interface SysUserRoleService extends IService<SysUserRoleEntity> {
*/ */
List<Long> queryRoleIdList(Long userId); List<Long> queryRoleIdList(Long userId);
int deleteBatch(Long[] roleIds);
} }
...@@ -12,6 +12,8 @@ import org.springframework.stereotype.Service; ...@@ -12,6 +12,8 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -86,7 +88,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptDao, SysDeptEntity> i ...@@ -86,7 +88,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptDao, SysDeptEntity> i
@Override @Override
// @Transactional // @Transactional
public List<SysDeptEntity> queryDeptIdsBydeptName(List<Long> Ids) { public List<SysDeptEntity> queryDeptIdsBydeptName(Set<Long> Ids) {
return baseMapper.selectList(new QueryWrapper<SysDeptEntity>() return baseMapper.selectList(new QueryWrapper<SysDeptEntity>()
.select("dept_id","name").in("dept_id",Ids)); .select("dept_id","name").in("dept_id",Ids));
} }
......
...@@ -12,6 +12,7 @@ import java.util.Map; ...@@ -12,6 +12,7 @@ import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
@Service("sysRoleDeptService") @Service("sysRoleDeptService")
...@@ -32,4 +33,29 @@ public class SysRoleDeptServiceImpl extends ServiceImpl<SysRoleDeptDao, SysRoleD ...@@ -32,4 +33,29 @@ public class SysRoleDeptServiceImpl extends ServiceImpl<SysRoleDeptDao, SysRoleD
return baseMapper.queryDeptIdList(roleIds); return baseMapper.queryDeptIdList(roleIds);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void saveOrUpdate(Long roleId, List<Long> deptIdList) {
//先删除角色与部门关系
deleteBatch(new Long[]{roleId});
if(deptIdList.size() == 0){
return ;
}
//保存角色与菜单关系
for(Long deptId : deptIdList){
SysRoleDeptEntity sysRoleDeptEntity = new SysRoleDeptEntity();
sysRoleDeptEntity.setDeptId(deptId);
sysRoleDeptEntity.setRoleId(roleId);
this.save(sysRoleDeptEntity);
}
}
@Override
public int deleteBatch(Long[] roleIds){
return baseMapper.deleteBatch(roleIds);
}
} }
...@@ -6,16 +6,39 @@ import com.mx.cneeds.server.dao.SysRoleFuncDao; ...@@ -6,16 +6,39 @@ import com.mx.cneeds.server.dao.SysRoleFuncDao;
import com.mx.cneeds.server.entity.SysRoleFuncEntity; import com.mx.cneeds.server.entity.SysRoleFuncEntity;
import com.mx.cneeds.server.user.service.SysRoleFuncService; import com.mx.cneeds.server.user.service.SysRoleFuncService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map; import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
@Service("sysRoleFuncService") @Service("sysRoleFuncService")
public class SysRoleFuncServiceImpl extends ServiceImpl<SysRoleFuncDao, SysRoleFuncEntity> implements SysRoleFuncService { public class SysRoleFuncServiceImpl extends ServiceImpl<SysRoleFuncDao, SysRoleFuncEntity> implements SysRoleFuncService {
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void saveOrUpdate(Long roleId, List<Long> menuIdList) {
//先删除角色与菜单关系
deleteBatch(new Long[]{roleId});
if(menuIdList.size() == 0){
return ;
}
//保存角色与菜单关系
for(Long funcId : menuIdList){
SysRoleFuncEntity sysRoleFuncEntity = new SysRoleFuncEntity();
sysRoleFuncEntity.setFuncId(funcId);
sysRoleFuncEntity.setRoleId(roleId);
this.save(sysRoleFuncEntity);
}
}
@Override
public PageUtils queryPage(Map<String, Object> params) { public PageUtils queryPage(Map<String, Object> params) {
IPage<SysRoleFuncEntity> page = this.page( IPage<SysRoleFuncEntity> page = this.page(
new Query<SysRoleFuncEntity>().getPage(params), new Query<SysRoleFuncEntity>().getPage(params),
...@@ -25,4 +48,14 @@ public class SysRoleFuncServiceImpl extends ServiceImpl<SysRoleFuncDao, SysRoleF ...@@ -25,4 +48,14 @@ public class SysRoleFuncServiceImpl extends ServiceImpl<SysRoleFuncDao, SysRoleF
return new PageUtils(page); return new PageUtils(page);
} }
@Override
public int deleteBatch(Long[] roleIds){
return baseMapper.deleteBatch(roleIds);
}
@Override
public List<Long> queryMenuIdList(Long roleId) {
return baseMapper.queryMenuIdList(roleId);
}
} }
...@@ -5,22 +5,27 @@ import com.mx.cneeds.common.pager.Query; ...@@ -5,22 +5,27 @@ import com.mx.cneeds.common.pager.Query;
import com.mx.cneeds.server.dao.SysRoleDao; import com.mx.cneeds.server.dao.SysRoleDao;
import com.mx.cneeds.server.entity.SysDeptEntity; import com.mx.cneeds.server.entity.SysDeptEntity;
import com.mx.cneeds.server.entity.SysRoleEntity; import com.mx.cneeds.server.entity.SysRoleEntity;
import com.mx.cneeds.server.user.service.SysDeptService; import com.mx.cneeds.server.user.service.*;
import com.mx.cneeds.server.user.service.SysRoleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
@Service("sysRoleService") @Service("sysRoleService")
public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> implements SysRoleService { public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> implements SysRoleService {
@Autowired
private SysRoleFuncService sysRoleFuncService;
@Autowired
private SysRoleDeptService sysRoleDeptService;
@Autowired
private SysUserRoleService sysUserRoleService;
@Override @Override
...@@ -33,4 +38,34 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> i ...@@ -33,4 +38,34 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> i
return new PageUtils(page); return new PageUtils(page);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void saveRole(SysRoleEntity role, List<Long> funcIdList, List<Long> deptIdList) {
role.setCreateTime(new Date());
this.save(role);
//保存角色与菜单关系
sysRoleFuncService.saveOrUpdate(role.getRoleId(), funcIdList);
//保存角色与部门关系
sysRoleDeptService.saveOrUpdate(role.getRoleId(), deptIdList);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteBatch(Long[] roleIds) {
//删除角色
this.removeByIds(Arrays.asList(roleIds));
//删除角色与菜单关联
sysRoleFuncService.deleteBatch(roleIds);
//删除角色与部门关联
sysRoleDeptService.deleteBatch(roleIds);
//删除角色与用户关联
sysUserRoleService.deleteBatch(roleIds);
}
} }
...@@ -32,5 +32,8 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleDao, SysUserR ...@@ -32,5 +32,8 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleDao, SysUserR
return baseMapper.queryRoleIdList(userId); return baseMapper.queryRoleIdList(userId);
} }
@Override
public int deleteBatch(Long[] roleIds){
return baseMapper.deleteBatch(roleIds);
}
} }
...@@ -7,15 +7,14 @@ import com.mx.cneeds.common.validator.ValidatorUtils; ...@@ -7,15 +7,14 @@ import com.mx.cneeds.common.validator.ValidatorUtils;
import com.mx.cneeds.server.entity.SysDeptEntity; import com.mx.cneeds.server.entity.SysDeptEntity;
import com.mx.cneeds.server.entity.SysRoleEntity; import com.mx.cneeds.server.entity.SysRoleEntity;
import com.mx.cneeds.server.user.service.SysDeptService; import com.mx.cneeds.server.user.service.SysDeptService;
import com.mx.cneeds.server.user.service.SysRoleDeptService;
import com.mx.cneeds.server.user.service.SysRoleFuncService;
import com.mx.cneeds.server.user.service.SysRoleService; import com.mx.cneeds.server.user.service.SysRoleService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
//import org.apache.shiro.authz.annotation.RequiresPermissions; //import org.apache.shiro.authz.annotation.RequiresPermissions;
...@@ -35,6 +34,12 @@ public class SysRoleController { ...@@ -35,6 +34,12 @@ public class SysRoleController {
@Autowired @Autowired
private SysDeptService sysDeptService; private SysDeptService sysDeptService;
@Autowired
private SysRoleFuncService sysRoleFuncService;
@Autowired
private SysRoleDeptService sysRoleDeptService;
/** /**
* 列表 * 列表
*/ */
...@@ -43,14 +48,14 @@ public class SysRoleController { ...@@ -43,14 +48,14 @@ public class SysRoleController {
public PageUtils list(@RequestParam Map<String, Object> params){ public PageUtils list(@RequestParam Map<String, Object> params){
PageUtils page = sysRoleService.queryPage(params); PageUtils page = sysRoleService.queryPage(params);
List<Long> list = new ArrayList<>(); Set<Long> set = new HashSet<>();
page.getList().forEach(e -> { page.getList().forEach(e -> {
SysRoleEntity entity = (SysRoleEntity) e; SysRoleEntity entity = (SysRoleEntity) e;
list.add(entity.getDeptId()); set.add(entity.getDeptId());
}); });
List<SysDeptEntity> sysDeptEntityList = sysDeptService.queryDeptIdsBydeptName(list); List<SysDeptEntity> sysDeptEntityList = sysDeptService.queryDeptIdsBydeptName(set);
List<RoleDto> roleDtos = new ArrayList<>(); List<RoleDto> roleDtos = new ArrayList<>();
page.getList().forEach(e -> { page.getList().forEach(e -> {
...@@ -72,21 +77,34 @@ public class SysRoleController { ...@@ -72,21 +77,34 @@ public class SysRoleController {
/** /**
* 信息 * 信息
*/ */
@RequestMapping("/info/{roleId}") @RequestMapping("/info")
// @RequiresPermissions("sys:sysrole:info") public RoleDto info(Long roleId){
public R info(@PathVariable("roleId") Long roleId){ SysRoleEntity role = sysRoleService.getById(roleId);
SysRoleEntity sysRole = sysRoleService.getById(roleId);
RoleDto roleDto = new RoleDto();
BeanUtils.copyProperties(role,roleDto);
//查询角色对应的菜单
List<Long> funcIdList = sysRoleFuncService.queryMenuIdList(roleId);
roleDto.setFuncIdList(funcIdList);
//查询角色对应的部门
List<Long> deptIdList = sysRoleDeptService.queryDeptIdList(new Long[]{roleId});
roleDto.setDeptIdList(deptIdList);
return R.ok().put("sysRole", sysRole); return roleDto;
} }
/** /**
* 保存 * 保存
*/ */
@RequestMapping("/save") @RequestMapping("/save")
// @RequiresPermissions("sys:sysrole:save") public R save(@RequestBody RoleDto dto){
public R save(@RequestBody SysRoleEntity sysRole){ SysRoleEntity sysRole = new SysRoleEntity();
sysRoleService.save(sysRole); BeanUtils.copyProperties(dto,sysRole);
sysRoleService.saveRole(sysRole,dto.getFuncIdList(),dto.getDeptIdList());
return R.ok(); return R.ok();
} }
...@@ -95,7 +113,6 @@ public class SysRoleController { ...@@ -95,7 +113,6 @@ public class SysRoleController {
* 修改 * 修改
*/ */
@RequestMapping("/update") @RequestMapping("/update")
// @RequiresPermissions("sys:sysrole:update")
public R update(@RequestBody SysRoleEntity sysRole){ public R update(@RequestBody SysRoleEntity sysRole){
ValidatorUtils.validateEntity(sysRole); ValidatorUtils.validateEntity(sysRole);
sysRoleService.updateById(sysRole); sysRoleService.updateById(sysRole);
...@@ -107,9 +124,8 @@ public class SysRoleController { ...@@ -107,9 +124,8 @@ public class SysRoleController {
* 删除 * 删除
*/ */
@RequestMapping("/delete") @RequestMapping("/delete")
// @RequiresPermissions("sys:sysrole:delete")
public R delete(@RequestBody Long[] roleIds){ public R delete(@RequestBody Long[] roleIds){
sysRoleService.removeByIds(Arrays.asList(roleIds)); sysRoleService.deleteBatch(roleIds);
return R.ok(); return R.ok();
} }
......
...@@ -50,7 +50,7 @@ eureka: ...@@ -50,7 +50,7 @@ eureka:
defaultZone: http://192.168.2.244:8761/eureka/ defaultZone: http://192.168.2.244:8761/eureka/
instance: instance:
prefer-ip-address: true prefer-ip-address: true
ip-address: 192.168.2.244 # ip-address: 192.168.2.244
mybatis-plus: mybatis-plus:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment