【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>
<!-- 数据源容器 -->
<!-- 用来获取当前的数据源的类型 -->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>ds-container-api</artifactId>
<version>${roses.version}</version>
</dependency>
<!--日志api模块-->
<dependency>
<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.PageResultFactory;
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.mapper.SysLogBusinessContentMapper;
import cn.stylefeng.roses.kernel.log.business.pojo.request.SysLogBusinessContentRequest;
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -38,7 +40,11 @@ public class SysLogBusinessContentServiceImpl extends ServiceImpl<SysLogBusiness
@Override
public void batchSaveContent(List<SysLogBusinessContent> sysLogBusinessContentList) {
if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(sysLogBusinessContentList);
} else {
this.saveBatch(sysLogBusinessContentList);
}
}
/**

View File

@ -17,6 +17,14 @@
<dependencies>
<!-- 数据源容器 -->
<!-- 用来获取当前的数据源的类型 -->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>ds-container-api</artifactId>
<version>${roses.version}</version>
</dependency>
<!-- 事件模块 -->
<dependency>
<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.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.RemoveRoleCallbackApi;
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.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
@ -44,6 +47,7 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
}
@Override
@Transactional(rollbackFor = Exception.class)
public void bindRoleMenuOptions(Long roleId, List<SysMenuOptions> sysMenuOptionsList) {
if (ObjectUtil.isEmpty(roleId) || ObjectUtil.isEmpty(sysMenuOptionsList)) {
@ -65,7 +69,12 @@ public class SysRoleMenuOptionsServiceImpl extends ServiceImpl<SysRoleMenuOption
roleMenuOptionItem.setAppId(sysMenuOptions.getAppId());
sysRoleMenuOptionList.add(roleMenuOptionItem);
}
if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenuOptionList);
} else {
this.saveBatch(sysRoleMenuOptionList);
}
}
@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.util.ObjectUtil;
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.RemoveRoleCallbackApi;
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
@ -72,7 +74,12 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
sysRoleMenu.setMenuId(sysMenu.getMenuId());
sysRoleMenus.add(sysRoleMenu);
}
if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(sysRoleMenus);
} else {
this.saveBatch(sysRoleMenus);
}
}
@Override

View File

@ -17,6 +17,14 @@
<dependencies>
<!-- 数据源容器 -->
<!-- 用来获取当前的数据源的类型 -->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>ds-container-api</artifactId>
<version>${roses.version}</version>
</dependency>
<!--基础核心业务api-->
<dependency>
<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.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.pojo.menu.UserAppMenuInfo;
import cn.stylefeng.roses.kernel.sys.modular.userapp.entity.PortalUserApp;
@ -55,7 +57,12 @@ public class PortalUserAppServiceImpl extends ServiceImpl<PortalUserAppMapper, P
portalUserApp.setMenuId(menuId);
portalUserApps.add(portalUserApp);
}
if (DbTypeEnum.MYSQL.equals(DataSourceContext.me().getCurrentDbType())) {
this.getBaseMapper().insertBatchSomeColumn(portalUserApps);
} else {
this.saveBatch(portalUserApps);
}
}
@Override