mirror of https://gitee.com/stylefeng/roses
【7.2.5】更新批量绑定角色按钮的方式
parent
689b368679
commit
d60958acec
|
@ -24,8 +24,8 @@
|
|||
*/
|
||||
package cn.stylefeng.roses.kernel.system.modular.role.mapper;
|
||||
|
||||
import cn.stylefeng.roses.kernel.db.mp.injector.CustomBaseMapper;
|
||||
import cn.stylefeng.roses.kernel.system.modular.role.entity.SysRoleMenuButton;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* 角色按钮关联 Mapper 接口
|
||||
|
@ -33,6 +33,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
* @author fengshuonan
|
||||
* @date 2021/01/09 11:48
|
||||
*/
|
||||
public interface SysRoleMenuButtonMapper extends BaseMapper<SysRoleMenuButton> {
|
||||
public interface SysRoleMenuButtonMapper extends CustomBaseMapper<SysRoleMenuButton> {
|
||||
|
||||
}
|
||||
|
|
|
@ -27,6 +27,8 @@ package cn.stylefeng.roses.kernel.system.modular.role.service;
|
|||
import cn.stylefeng.roses.kernel.system.modular.role.entity.SysRoleMenuButton;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 角色按钮关联 服务类
|
||||
*
|
||||
|
@ -35,5 +37,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface SysRoleMenuButtonService extends IService<SysRoleMenuButton> {
|
||||
|
||||
/**
|
||||
* 批量保存角色绑定的菜单按钮
|
||||
*
|
||||
* @param roleMenuButtons 角色按钮关联列表
|
||||
* @author fengshuonan
|
||||
* @date 2022/10/14 0:56
|
||||
*/
|
||||
void batchSaveRoleMenuButton(List<SysRoleMenuButton> roleMenuButtons);
|
||||
|
||||
}
|
||||
|
|
|
@ -24,12 +24,18 @@
|
|||
*/
|
||||
package cn.stylefeng.roses.kernel.system.modular.role.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.stylefeng.roses.kernel.db.api.context.DbOperatorContext;
|
||||
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum;
|
||||
import cn.stylefeng.roses.kernel.system.modular.role.entity.SysRoleMenuButton;
|
||||
import cn.stylefeng.roses.kernel.system.modular.role.mapper.SysRoleMenuButtonMapper;
|
||||
import cn.stylefeng.roses.kernel.system.modular.role.service.SysRoleMenuButtonService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 角色按钮关联 服务实现类
|
||||
*
|
||||
|
@ -39,4 +45,17 @@ import org.springframework.stereotype.Service;
|
|||
@Service
|
||||
public class SysRoleMenuButtonServiceImpl extends ServiceImpl<SysRoleMenuButtonMapper, SysRoleMenuButton> implements SysRoleMenuButtonService {
|
||||
|
||||
@Override
|
||||
public void batchSaveRoleMenuButton(List<SysRoleMenuButton> roleMenuButtons) {
|
||||
DbTypeEnum currentDbType = DbOperatorContext.me().getCurrentDbType();
|
||||
if (DbTypeEnum.MYSQL.equals(currentDbType)) {
|
||||
List<List<SysRoleMenuButton>> split = ListUtil.split(roleMenuButtons, RuleConstants.DEFAULT_BATCH_INSERT_SIZE);
|
||||
for (List<SysRoleMenuButton> roleMenuButtonList : split) {
|
||||
this.getBaseMapper().insertBatchSomeColumn(roleMenuButtonList);
|
||||
}
|
||||
} else {
|
||||
this.saveBatch(roleMenuButtons);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -577,7 +577,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|||
item.setButtonCode(buttonDTO.getButtonCode());
|
||||
sysRoleMenuButtons.add(item);
|
||||
}
|
||||
this.sysRoleMenuButtonService.saveBatch(sysRoleMenuButtons);
|
||||
this.sysRoleMenuButtonService.batchSaveRoleMenuButton(sysRoleMenuButtons);
|
||||
|
||||
return roleBindOperateList;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue