【8.0】修复批量插入判断数据源类型

pull/57/head
fengshuonan 2023-08-15 17:08:07 +08:00
parent 871f9cc2d8
commit 41ce271d5a
7 changed files with 57 additions and 4 deletions

View File

@ -17,6 +17,14 @@
<dependencies> <dependencies>
<!-- 数据源容器 -->
<!-- 用来获取当前的数据源的类型 -->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>ds-container-api</artifactId>
<version>${roses.version}</version>
</dependency>
<!--日志api模块--> <!--日志api模块-->
<dependency> <dependency>
<groupId>cn.stylefeng.roses</groupId> <groupId>cn.stylefeng.roses</groupId>

View File

@ -4,10 +4,12 @@ import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.dsctn.api.context.DataSourceContext;
import cn.stylefeng.roses.kernel.log.business.entity.SysLogBusinessContent; import cn.stylefeng.roses.kernel.log.business.entity.SysLogBusinessContent;
import cn.stylefeng.roses.kernel.log.business.mapper.SysLogBusinessContentMapper; import cn.stylefeng.roses.kernel.log.business.mapper.SysLogBusinessContentMapper;
import cn.stylefeng.roses.kernel.log.business.pojo.request.SysLogBusinessContentRequest; import cn.stylefeng.roses.kernel.log.business.pojo.request.SysLogBusinessContentRequest;
import cn.stylefeng.roses.kernel.log.business.service.SysLogBusinessContentService; import cn.stylefeng.roses.kernel.log.business.service.SysLogBusinessContentService;
import cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -38,7 +40,11 @@ public class SysLogBusinessContentServiceImpl extends ServiceImpl<SysLogBusiness
@Override @Override
public void batchSaveContent(List<SysLogBusinessContent> sysLogBusinessContentList) { public void batchSaveContent(List<SysLogBusinessContent> sysLogBusinessContentList) {
this.getBaseMapper().insertBatchSomeColumn(sysLogBusinessContentList); if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(sysLogBusinessContentList);
} else {
this.saveBatch(sysLogBusinessContentList);
}
} }
/** /**

View File

@ -17,6 +17,14 @@
<dependencies> <dependencies>
<!-- 数据源容器 -->
<!-- 用来获取当前的数据源的类型 -->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>ds-container-api</artifactId>
<version>${roses.version}</version>
</dependency>
<!-- 事件模块 --> <!-- 事件模块 -->
<dependency> <dependency>
<groupId>cn.stylefeng.roses</groupId> <groupId>cn.stylefeng.roses</groupId>

View File

@ -2,6 +2,8 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
import cn.stylefeng.roses.kernel.dsctn.api.context.DataSourceContext;
import cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi; import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi; import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants; import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
@ -16,6 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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 org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
@ -44,6 +47,7 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void bindRoleMenuOptions(Long roleId, List<SysMenuOptions> sysMenuOptionsList) { public void bindRoleMenuOptions(Long roleId, List<SysMenuOptions> sysMenuOptionsList) {
if (ObjectUtil.isEmpty(roleId) || ObjectUtil.isEmpty(sysMenuOptionsList)) { if (ObjectUtil.isEmpty(roleId) || ObjectUtil.isEmpty(sysMenuOptionsList)) {
@ -65,7 +69,12 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
roleMenuOptionItem.setAppId(sysMenuOptions.getAppId()); roleMenuOptionItem.setAppId(sysMenuOptions.getAppId());
sysRoleMenuOptionList.add(roleMenuOptionItem); sysRoleMenuOptionList.add(roleMenuOptionItem);
} }
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenuOptionList);
if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenuOptionList);
} else {
this.saveBatch(sysRoleMenuOptionList);
}
} }
@Override @Override

View File

@ -3,6 +3,8 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service.impl;
import cn.hutool.core.collection.ListUtil; import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
import cn.stylefeng.roses.kernel.dsctn.api.context.DataSourceContext;
import cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi; import cn.stylefeng.roses.kernel.sys.api.callback.RemoveMenuCallbackApi;
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi; import cn.stylefeng.roses.kernel.sys.api.callback.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants; import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
@ -72,7 +74,12 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
sysRoleMenu.setMenuId(sysMenu.getMenuId()); sysRoleMenu.setMenuId(sysMenu.getMenuId());
sysRoleMenus.add(sysRoleMenu); sysRoleMenus.add(sysRoleMenu);
} }
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenus);
if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenus);
} else {
this.saveBatch(sysRoleMenus);
}
} }
@Override @Override

View File

@ -17,6 +17,14 @@
<dependencies> <dependencies>
<!-- 数据源容器 -->
<!-- 用来获取当前的数据源的类型 -->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>ds-container-api</artifactId>
<version>${roses.version}</version>
</dependency>
<!--基础核心业务api--> <!--基础核心业务api-->
<dependency> <dependency>
<groupId>cn.stylefeng.roses</groupId> <groupId>cn.stylefeng.roses</groupId>

View File

@ -2,6 +2,8 @@ package cn.stylefeng.roses.kernel.sys.modular.userapp.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
import cn.stylefeng.roses.kernel.dsctn.api.context.DataSourceContext;
import cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum;
import cn.stylefeng.roses.kernel.sys.api.SysMenuServiceApi; import cn.stylefeng.roses.kernel.sys.api.SysMenuServiceApi;
import cn.stylefeng.roses.kernel.sys.api.pojo.menu.UserAppMenuInfo; import cn.stylefeng.roses.kernel.sys.api.pojo.menu.UserAppMenuInfo;
import cn.stylefeng.roses.kernel.sys.modular.userapp.entity.PortalUserApp; import cn.stylefeng.roses.kernel.sys.modular.userapp.entity.PortalUserApp;
@ -55,7 +57,12 @@ public class PortalUserAppServiceImpl extends ServiceImpl<PortalUserAppMapper, P
portalUserApp.setMenuId(menuId); portalUserApp.setMenuId(menuId);
portalUserApps.add(portalUserApp); portalUserApps.add(portalUserApp);
} }
this.getBaseMapper().insertBatchSomeColumn(portalUserApps);
if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(portalUserApps);
} else {
this.saveBatch(portalUserApps);
}
} }
@Override @Override