【7.2.5】更新批量绑定角色按钮的方式

pull/39/MERGE
fengshuonan 2022-10-14 01:07:08 +08:00
parent 689b368679
commit d60958acec
4 changed files with 32 additions and 3 deletions

View File

@ -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> {
}

View File

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

View File

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

View File

@ -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;
}