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;
|
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 cn.stylefeng.roses.kernel.system.modular.role.entity.SysRoleMenuButton;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色按钮关联 Mapper 接口
|
* 角色按钮关联 Mapper 接口
|
||||||
|
@ -33,6 +33,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2021/01/09 11:48
|
* @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 cn.stylefeng.roses.kernel.system.modular.role.entity.SysRoleMenuButton;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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> {
|
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;
|
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.entity.SysRoleMenuButton;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.role.mapper.SysRoleMenuButtonMapper;
|
import cn.stylefeng.roses.kernel.system.modular.role.mapper.SysRoleMenuButtonMapper;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.role.service.SysRoleMenuButtonService;
|
import cn.stylefeng.roses.kernel.system.modular.role.service.SysRoleMenuButtonService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色按钮关联 服务实现类
|
* 角色按钮关联 服务实现类
|
||||||
*
|
*
|
||||||
|
@ -39,4 +45,17 @@ import org.springframework.stereotype.Service;
|
||||||
@Service
|
@Service
|
||||||
public class SysRoleMenuButtonServiceImpl extends ServiceImpl<SysRoleMenuButtonMapper, SysRoleMenuButton> implements SysRoleMenuButtonService {
|
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());
|
item.setButtonCode(buttonDTO.getButtonCode());
|
||||||
sysRoleMenuButtons.add(item);
|
sysRoleMenuButtons.add(item);
|
||||||
}
|
}
|
||||||
this.sysRoleMenuButtonService.saveBatch(sysRoleMenuButtons);
|
this.sysRoleMenuButtonService.batchSaveRoleMenuButton(sysRoleMenuButtons);
|
||||||
|
|
||||||
return roleBindOperateList;
|
return roleBindOperateList;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue