From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 01 十一月 2024 15:11:19 +0800 Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成" --- Source/BladeX-Tool/blade-starter-mybatis/src/main/java/org/springblade/core/mp/service/impl/BladeServiceImpl.java | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) diff --git a/Source/BladeX-Tool/blade-starter-mybatis/src/main/java/org/springblade/core/mp/service/impl/BladeServiceImpl.java b/Source/BladeX-Tool/blade-starter-mybatis/src/main/java/org/springblade/core/mp/service/impl/BladeServiceImpl.java new file mode 100644 index 0000000..e05bf52 --- /dev/null +++ b/Source/BladeX-Tool/blade-starter-mybatis/src/main/java/org/springblade/core/mp/service/impl/BladeServiceImpl.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2018-2028, DreamLu All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: DreamLu 鍗㈡槬姊� (596392912@qq.com) + */ + +package org.springblade.core.mp.service.impl; + +import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.mp.injector.BladeSqlMethod; +import org.springblade.core.mp.mapper.BladeMapper; +import org.springblade.core.mp.service.BladeService; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.Collection; + +/** + * BladeService 瀹炵幇绫伙紙 娉涘瀷锛歁 鏄� mapper 瀵硅薄锛孴 鏄疄浣� 锛� PK 鏄富閿硾鍨� 锛� + * + * @author L.cm, chill + */ +@Validated +public class BladeServiceImpl<M extends BladeMapper<T>, T extends BaseEntity> extends BaseServiceImpl<M, T> implements BladeService<T> { + + @Override + public boolean saveIgnore(T entity) { + return SqlHelper.retBool(baseMapper.insertIgnore(entity)); + } + + @Override + public boolean saveReplace(T entity) { + return SqlHelper.retBool(baseMapper.replace(entity)); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveIgnoreBatch(Collection<T> entityList, int batchSize) { + return saveBatch(entityList, batchSize, BladeSqlMethod.INSERT_IGNORE_ONE); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveReplaceBatch(Collection<T> entityList, int batchSize) { + return saveBatch(entityList, batchSize, BladeSqlMethod.REPLACE_ONE); + } + + private boolean saveBatch(Collection<T> entityList, int batchSize, BladeSqlMethod sqlMethod) { + String sqlStatement = bladeSqlStatement(sqlMethod); + executeBatch(entityList, batchSize, (sqlSession, entity) -> sqlSession.insert(sqlStatement, entity)); + return true; + } + + /** + * 鑾峰彇 bladeSqlStatement + * + * @param sqlMethod ignore + * @return sql + */ + protected String bladeSqlStatement(BladeSqlMethod sqlMethod) { + return SqlHelper.table(currentModelClass()).getSqlStatement(sqlMethod.getMethod()); + } +} -- Gitblit v1.9.3