package com.ydtech.modules.admin.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.constants.SysConstants; import com.ydtech.core.page.ColumnFilter; import com.ydtech.core.page.PageRequest; import com.ydtech.core.page.PageResult; import com.ydtech.modules.admin.dao.SysRoleMapper; import com.ydtech.modules.admin.model.SysMenu; import com.ydtech.modules.admin.model.SysRole; import com.ydtech.modules.admin.model.dto.SysUserRoleQueryDto; import com.ydtech.modules.admin.service.SysMenuService; import com.ydtech.modules.admin.service.SysRoleService; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class SysRoleServiceImpl extends ServiceImpl implements SysRoleService { @Autowired private SysMenuService sysMenuService; @Override public SysRole findByName(String name) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(SysRole::getName, name); lqw.eq(SysRole::getSysType, "1"); List sysRoles = list(lqw); // List sysRoles = selectList(" where name=?", new Object[]{name.trim()}); if (sysRoles != null && sysRoles.size() > 0) { return sysRoles.get(0); } return null; } @Override public PageResult findPage(PageRequest pageRequest) { ColumnFilter columnFilter = pageRequest.getColumnFilter("name"); String name = columnFilter.getValue(); Page p = PageRequest.buildPageRequest(pageRequest); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.like(StringUtils.isNotEmpty(name), SysRole::getName, name); lqw.eq(SysRole::getSysType, "1"); IPage pageList = page(p, lqw); return PageResult.buildPageResult(pageList); // if (columnFilter != null && columnFilter.getValue() != null) { // String name = columnFilter.getValue(); // // return selectPaging(pageRequest.getPageNum(), pageRequest.getPageSize(), " where name like ?", new Object[]{"%" + name + "%"}); // } // return selectPaging(pageRequest.getPageNum(), pageRequest.getPageSize(), "", null); } @Override public List findRoleMenus(Long roleId) { SysRole sysRole = getById(roleId); // SysRole sysRole = selectByPk(roleId); if (SysConstants.ADMIN.equalsIgnoreCase(sysRole.getName())) { // 如果是超级管理员,返回全部 return sysMenuService.list(); } return sysMenuService.findRoleMenus(roleId); } /** * @version * @author: hxl * @Date: 2024/8/14 18:51 * @Description: 查询所有的角色 */ @Override public List findAllKzt(String sysType) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(SysRole::getDelFlag, "0"); lqw.eq(SysRole::getSysType, sysType); List list = this.list(lqw); return list; } /** * @version * @author: hxl * @Date: 2024/8/14 19:14 * @Description: 查詢控制台角色 */ @Override public BasePageResult findKztPage(SysUserRoleQueryDto sysUserRoleQueryDto) { Page page = new Page<>(sysUserRoleQueryDto.getPageNum(), sysUserRoleQueryDto.getPageSize()); sysUserRoleQueryDto.setSysType("2"); Page userPageResult = this.getBaseMapper().findKztPage(page, sysUserRoleQueryDto); return new BasePageResult<>(sysUserRoleQueryDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(), userPageResult.getRecords()); } // @Override // public Integer save(SysRole record) { // Integer result = 0; // if (record != null && (StringUtils.isNullOrEmpty(record.getId()) || record.getId() == 0)) { // result = insertSelective(record); // } else { // result = updateSelective(record); // } // // return result; // } } //@Service //public class SysRoleServiceImpl extends SysRoleDaoImpl // implements SysRoleService { // // @Autowired // private SysMenuService sysMenuService; // // @Override // public SysRole findByName(String name) { // List sysRoles = selectList(" where name=?", new Object[]{name.trim()}); // if (sysRoles != null && sysRoles.size() > 0) { // return sysRoles.get(0); // } // // return null; // } // // @Override // public PageResult findPage(PageRequest pageRequest) { // ColumnFilter columnFilter = pageRequest.getColumnFilter("name"); // if (columnFilter != null && columnFilter.getValue() != null) { // String name = columnFilter.getValue(); // return selectPaging(pageRequest.getPageNum(), pageRequest.getPageSize(), " where name like ?", new Object[]{"%" + name + "%"}); // } // return selectPaging(pageRequest.getPageNum(), pageRequest.getPageSize(), "", null); // // } // // @Override // public List findRoleMenus(Long roleId) { // SysRole sysRole = selectByPk(roleId); // if (SysConstants.ADMIN.equalsIgnoreCase(sysRole.getName())) { // // 如果是超级管理员,返回全部 // return sysMenuService.selectAll(); // } // return sysMenuService.findRoleMenus(roleId); // } // // @Override // public Integer save(SysRole record) { // Integer result = 0; // if (record != null && (StringUtils.isNullOrEmpty(record.getId()) || record.getId() == 0)) { // result = insertSelective(record); // } else { // result = updateSelective(record); // } // // return result; // } // // //}