12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package com.fdkankan.sale.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.fdkankan.sale.common.PageInfo;
- import com.fdkankan.sale.common.ResultCode;
- import com.fdkankan.sale.entity.SysRole;
- import com.fdkankan.sale.entity.SysUser;
- import com.fdkankan.sale.exception.BusinessException;
- import com.fdkankan.sale.mapper.ISysRoleMapper;
- import com.fdkankan.sale.service.ISysMenuService;
- import com.fdkankan.sale.service.ISysRoleMenuService;
- import com.fdkankan.sale.service.ISysRoleService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.sale.service.ISysUserService;
- import com.fdkankan.sale.vo.request.SysRoleMenuParam;
- import com.fdkankan.sale.vo.request.SysRoleParam;
- import com.fdkankan.sale.vo.response.SysRoleVo;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.StringUtils;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author
- * @since 2022-12-09
- */
- @Service
- public class SysRoleServiceImpl extends ServiceImpl<ISysRoleMapper, SysRole> implements ISysRoleService {
- @Autowired
- ISysUserService sysUserService;
- @Autowired
- ISysRoleMenuService roleMenuService;
- @Autowired
- ISysMenuService sysMenuService;
- @Override
- public void addOrUpdate(SysRoleParam param) {
- SysRole sysRole = new SysRole();
- BeanUtils.copyProperties(param,sysRole);
- sysRole.setUpdateTime(null);
- this.saveOrUpdate(sysRole);
- }
- @Override
- public PageInfo pageList(SysRoleParam param) {
- HashMap<Long,Long> countMap = sysUserService.groupByRoleId();
- Page<SysRoleVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
- for (SysRoleVo record : page.getRecords()) {
- record.setAdminCount(countMap.get(record.getId()) == null ? 0 : countMap.get(record.getId()));
- }
- return PageInfo.PageInfo(page);
- }
- @Override
- public void delete(Long id) {
- if(StringUtils.isEmpty(id)){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(SysUser::getRoleId,id);
- long count = sysUserService.count(wrapper);
- if(count >0){
- throw new BusinessException(ResultCode.DEL_ROLE_ERROR);
- }
- roleMenuService.deleteByRoleId(id);
- this.removeById(id);
- }
- @Override
- public void giveMenu(SysRoleMenuParam param) {
- if(param.getRoleId() == null){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- roleMenuService.deleteByRoleId(param.getRoleId());
- roleMenuService.saveBatchByRoleId(param.getRoleId(),param.getMenuIds());
- }
- @Override
- public List<SysRole> getByRoleType(Integer roleType) {
- LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(SysRole::getRoleType,roleType);
- return this.list(wrapper);
- }
- }
|