|
|
|
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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|