You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fu-hsi-service/src/main/java/com/supervision/police/service/impl/SystemRoleMenuRelationServi...

57 lines
2.0 KiB
Java

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<SystemRoleMenuRelationMapper, SystemRoleMenuRelation>
implements SystemRoleMenuRelationService {
@Override
@Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class)
public void updateRoleMenu(String roleId, List<String> menuIds) {
Assert.notEmpty(roleId, "角色id不能为空");
// 清除角色菜单关联数据
deleteRoleMenu(roleId);
if (CollUtil.isNotEmpty(menuIds)){
List<SystemRoleMenuRelation> list = menuIds.stream().map(menuId -> new SystemRoleMenuRelation(roleId, menuId)).toList();
list.forEach(super::save);
}
}
@Override
public void deleteRoleMenu(String roleId) {
super.remove(new LambdaQueryWrapper<SystemRoleMenuRelation>().eq(SystemRoleMenuRelation::getRoleId, roleId));
}
@Override
public List<SystemRoleMenuRelation> listRoleMenuByRoleIdList(List<String> roleIdList) {
if(CollUtil.isEmpty(roleIdList)){
return new ArrayList<>();
}
return super.lambdaQuery().in(SystemRoleMenuRelation::getRoleId, roleIdList).list();
}
}