|
|
|
|
@ -1,11 +1,14 @@
|
|
|
|
|
package com.biutag.supervision.repository.base; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.support.SFunction; |
|
|
|
|
import com.google.common.collect.Lists; |
|
|
|
|
import org.springframework.dao.DuplicateKeyException; |
|
|
|
|
|
|
|
|
|
import java.util.Collection; |
|
|
|
|
import java.util.HashSet; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Set; |
|
|
|
|
@ -20,6 +23,7 @@ public abstract class BaseDAO {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 整合单个和批量 |
|
|
|
|
* |
|
|
|
|
* @param single |
|
|
|
|
* @param batch |
|
|
|
|
* @param wrapper |
|
|
|
|
@ -48,11 +52,36 @@ public abstract class BaseDAO {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public <T> void setBatchLikeQuery(String single, Collection<String> batch, LambdaQueryWrapper<T> qw, SFunction<T, String> column) { |
|
|
|
|
// 单值 like
|
|
|
|
|
if (StrUtil.isNotBlank(single)) { |
|
|
|
|
qw.like(column, single); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 多值 like(OR)
|
|
|
|
|
if (CollectionUtil.isNotEmpty(batch)) { |
|
|
|
|
qw.and(w -> { |
|
|
|
|
boolean first = true; |
|
|
|
|
for (String val : batch) { |
|
|
|
|
if (StrUtil.isBlank(val)) continue; |
|
|
|
|
if (first) { |
|
|
|
|
w.like(column, val); |
|
|
|
|
first = false; |
|
|
|
|
} else { |
|
|
|
|
w.or().like(column, val); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 批量添加 20一组 |
|
|
|
|
* @return |
|
|
|
|
* |
|
|
|
|
* @param <T> |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
protected <T> void innerBatchInsert(HBaseMapper<T> mapper, List<T> entities, String message) { |
|
|
|
|
try { |
|
|
|
|
|