package com.ydtech.modules.admin.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.modules.admin.dao.SysRoleMenuKztMapper; import com.ydtech.modules.admin.model.SysMenu; import com.ydtech.modules.admin.model.SysRoleMenuKzt; import com.ydtech.modules.admin.model.dto.KZTRoleAndMenuDto; import com.ydtech.modules.admin.service.SysRoleMenuKztService; import com.ydtech.modules.base.controller.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author Administrator * @description 针对表【sys_role_menu_kzt(控制台角色关联菜单)】的数据库操作Service实现 * @createDate 2024-08-14 16:13:23 */ @Service public class SysRoleMenuKztServiceImpl extends ServiceImpl implements SysRoleMenuKztService { @Autowired private SysRoleMenuKztMapper sysRoleMenuKztMapper; /** * @version * @author: hxl * @Date: 2024/8/14 18:36 * @Description: 保存控制台关联的角色 */ @Override @Transactional public void saveRoleMenus(KZTRoleAndMenuDto kZTRoleAndMenuDto) { Long roleId = kZTRoleAndMenuDto.getRoleId(); String sysType = kZTRoleAndMenuDto.getSysType(); List menuIds = kZTRoleAndMenuDto.getMenuIds(); List list =new ArrayList<>(); sysRoleMenuKztMapper.deleteByRoleId(roleId); if(menuIds!=null && menuIds.size()>0){ for(Long menuId: menuIds){ SysRoleMenuKzt sysRoleMenuKzt =new SysRoleMenuKzt(null, roleId, menuId, sysType, new BaseController().getUserId(), new Date(), new BaseController().getUserId(), new Date()); list.add(sysRoleMenuKzt); } } this.saveBatch(list); } /** * @version * @author: hxl * @Date: 2024/8/15 14:11 * @Description: 通过角色id查询菜单数据 */ @Override public List findMenuIdsByRoleId(Long roleId, String sysType) { return sysRoleMenuKztMapper.findMenuIdsByRoleId(roleId,sysType); } /** * @version * @author: hxl * @Date: 2024/8/20 15:39 * @Description: 通过用户id查询是否有权限 */ @Override public int findByUseId(String userId, String sysType) { return sysRoleMenuKztMapper.findByUseId(userId,sysType); } /** * @version 批量添加菜单 * @author: whp * @Date: 2024/9/28 * @Description: */ @Override public void saveBatchRoleMenus(KZTRoleAndMenuDto kZTRoleAndMenuDto) { List roleIdIds = kZTRoleAndMenuDto.getRoleIdIds(); for (Long roleId : roleIdIds) { String sysType = kZTRoleAndMenuDto.getSysType(); List menuIds = kZTRoleAndMenuDto.getMenuIds(); List list =new ArrayList<>(); sysRoleMenuKztMapper.deleteByRoleId(roleId); if(menuIds!=null && menuIds.size()>0){ for(Long menuId: menuIds){ SysRoleMenuKzt sysRoleMenuKzt =new SysRoleMenuKzt(null, roleId, menuId, sysType, new BaseController().getUserId(), new Date(), new BaseController().getUserId(), new Date()); list.add(sysRoleMenuKzt); } } this.saveBatch(list); } } }