新增生产单导入异步处理

This commit is contained in:
gaoqr
2025-02-18 15:28:54 +08:00
parent d50d4772f0
commit b3306405c0
102 changed files with 7054 additions and 209 deletions
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
import com.baomidou.mybatisplus.extension.incrementer.*;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.cf.imes.framework.mybatis.core.injector.MybatisPlusInjector;
import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
@@ -75,4 +76,9 @@ public class ChenfengMybatisAutoConfiguration {
throw new IllegalArgumentException("DbType为空");
}
@Bean
public MybatisPlusInjector mybatisPlusInjector() {
return new MybatisPlusInjector();
}
}
@@ -0,0 +1,22 @@
package com.cf.imes.framework.mybatis.core.injector;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* 基础批量映射器
*
* @author Gqr
* @since 2025/1/14 14:54
*/
public interface BaseBatchMapper<T> extends BaseMapper<T> {
/**
* 批量插入
* 区别于mybatisplus的saveBatch:拼接(a,b,c,...)value(aval,bval,cval,...)而不是把多个insert一次性提交到数据库
*
* @param entityList
* @return
*/
int insertBatchSomeColumn(List<T> entityList);
}
@@ -0,0 +1,22 @@
package com.cf.imes.framework.mybatis.core.injector;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
import java.util.List;
/**
* @author Gqr
* @since 2025/1/14 14:46
*/
public class MybatisPlusInjector extends DefaultSqlInjector {
@Override
public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.UPDATE));
return methodList;
}
}
@@ -0,0 +1,26 @@
package com.cf.imes.framework.mybatis.core.query;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
/**
* LambdaUpdateWrapper拓展
*
* @author Gqr
* @since 2025/1/22 15:58
*/
public class LambdaUpdateWrapperX<T> extends LambdaUpdateWrapper<T> {
public LambdaUpdateWrapperX<T> eqIfPresent(SFunction<T, ?> column, Object val) {
if (ObjectUtil.isNotEmpty(val)) {
return (LambdaUpdateWrapperX<T>) super.eq(column, val);
}
return this;
}
@Override
public LambdaUpdateWrapperX<T> eq(SFunction<T, ?> column, Object val) {
super.eq(column, val);
return this;
}
}