package com.supervision.police.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.police.domain.SystemRoleMenuRelation; import com.supervision.police.domain.SystemUserRoleRelation; import com.supervision.police.service.SystemRoleMenuRelationService; import com.supervision.police.mapper.SystemRoleMenuRelationMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * @author Administrator * @description 针对表【system_role_menu_relation(角色菜单关联表)】的数据库操作Service实现 * @createDate 2024-07-31 15:02:36 */ @Service public class SystemRoleMenuRelationServiceImpl extends ServiceImpl implements SystemRoleMenuRelationService { @Override @Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class) public void updateRoleMenu(String roleId, List menuIds) { Assert.notEmpty(roleId, "角色id不能为空"); // 清除角色菜单关联数据 deleteRoleMenu(roleId); if (CollUtil.isNotEmpty(menuIds)){ List list = menuIds.stream().map(menuId -> new SystemRoleMenuRelation(roleId, menuId)).toList(); list.forEach(super::save); } } @Override public void deleteRoleMenu(String roleId) { super.remove(new LambdaQueryWrapper().eq(SystemRoleMenuRelation::getRoleId, roleId)); } @Override public List listRoleMenuByRoleIdList(List roleIdList) { if(CollUtil.isEmpty(roleIdList)){ return new ArrayList<>(); } return super.lambdaQuery().in(SystemRoleMenuRelation::getRoleId, roleIdList).list(); } }