SysRoleServiceImpl.java 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.fdkankan.sale.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.fdkankan.sale.common.PageInfo;
  5. import com.fdkankan.sale.common.ResultCode;
  6. import com.fdkankan.sale.entity.SysRole;
  7. import com.fdkankan.sale.entity.SysUser;
  8. import com.fdkankan.sale.exception.BusinessException;
  9. import com.fdkankan.sale.mapper.ISysRoleMapper;
  10. import com.fdkankan.sale.service.ISysMenuService;
  11. import com.fdkankan.sale.service.ISysRoleMenuService;
  12. import com.fdkankan.sale.service.ISysRoleService;
  13. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  14. import com.fdkankan.sale.service.ISysUserService;
  15. import com.fdkankan.sale.vo.request.SysRoleMenuParam;
  16. import com.fdkankan.sale.vo.request.SysRoleParam;
  17. import com.fdkankan.sale.vo.response.SysRoleVo;
  18. import org.springframework.beans.BeanUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.util.StringUtils;
  22. import java.util.Date;
  23. import java.util.HashMap;
  24. import java.util.List;
  25. /**
  26. * <p>
  27. * 服务实现类
  28. * </p>
  29. *
  30. * @author
  31. * @since 2022-12-09
  32. */
  33. @Service
  34. public class SysRoleServiceImpl extends ServiceImpl<ISysRoleMapper, SysRole> implements ISysRoleService {
  35. @Autowired
  36. ISysUserService sysUserService;
  37. @Autowired
  38. ISysRoleMenuService roleMenuService;
  39. @Autowired
  40. ISysMenuService sysMenuService;
  41. @Override
  42. public void addOrUpdate(SysRoleParam param) {
  43. SysRole sysRole = new SysRole();
  44. BeanUtils.copyProperties(param,sysRole);
  45. sysRole.setUpdateTime(null);
  46. this.saveOrUpdate(sysRole);
  47. }
  48. @Override
  49. public PageInfo pageList(SysRoleParam param) {
  50. HashMap<Long,Long> countMap = sysUserService.groupByRoleId();
  51. Page<SysRoleVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
  52. for (SysRoleVo record : page.getRecords()) {
  53. record.setAdminCount(countMap.get(record.getId()) == null ? 0 : countMap.get(record.getId()));
  54. }
  55. return PageInfo.PageInfo(page);
  56. }
  57. @Override
  58. public void delete(Long id) {
  59. if(StringUtils.isEmpty(id)){
  60. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  61. }
  62. LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
  63. wrapper.eq(SysUser::getRoleId,id);
  64. long count = sysUserService.count(wrapper);
  65. if(count >0){
  66. throw new BusinessException(ResultCode.DEL_ROLE_ERROR);
  67. }
  68. roleMenuService.deleteByRoleId(id);
  69. this.removeById(id);
  70. }
  71. @Override
  72. public void giveMenu(SysRoleMenuParam param) {
  73. if(param.getRoleId() == null){
  74. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  75. }
  76. roleMenuService.deleteByRoleId(param.getRoleId());
  77. roleMenuService.saveBatchByRoleId(param.getRoleId(),param.getMenuIds());
  78. }
  79. @Override
  80. public List<SysRole> getByRoleType(Integer roleType) {
  81. LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
  82. wrapper.eq(SysRole::getRoleType,roleType);
  83. return this.list(wrapper);
  84. }
  85. }