package com.dsh.upms.service.impl;
import cn.mb.cloud.common.data.base.impl.BaseServiceImpl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.upms.entity.SysMenu;
import com.dsh.upms.entity.SysRole;
import com.dsh.upms.entity.SysRoleMenu;
import com.dsh.upms.mapper.SysRoleMapper;
import com.dsh.upms.service.ISysMenuService;
import com.dsh.upms.service.ISysRoleMenuService;
import com.dsh.upms.service.ISysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
*
* 角色 服务实现类
*
*
* @author null123
* @since 2022-05-16
*/
@Service
public class SysRoleServiceImpl extends BaseServiceImpl implements ISysRoleService {
@Autowired
private ISysRoleMenuService sysRoleMenuService;
@Autowired
private ISysMenuService sysMenuService;
/**
* 角色列表
*
* @param page
* @return
*/
@Override
public Page getByList(Page page) {
return page.setRecords(this
.list(Wrappers.query().lambda()
.eq(SysRole::getDelFlag, 0)
.orderByDesc(SysRole::getCreateDate)));
}
/**
* 所有角色
*
* @return
*/
@Override
public List getAll() {
return this.getBaseMapper()
.selectList(Wrappers.query().lambda()
.eq(SysRole::getDelFlag, 0));
}
/**
* 根据角色id返回角色对应权限名称
*
* @param id
* @return
*/
@Override
public List getRoleTreeName(Long id) {
List roleMenuList = sysRoleMenuService.getBaseMapper()
.selectList(Wrappers.query().lambda()
.eq(SysRoleMenu::getRoleId, id));
List list = new ArrayList<>();
for (SysRoleMenu sysRoleMenu : roleMenuList) {
Long menuId = sysRoleMenu.getMenuId();
SysMenu menu = sysMenuService.getById(menuId);
if (menu != null) {
list.add(menu.getName());
}
}
return list;
}
}