|
|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.mongodb.client.ListIndexesIterable;
|
|
|
import com.mongodb.client.MongoCollection;
|
|
|
import com.mongodb.client.model.IndexModel;
|
|
|
+import com.mongodb.client.result.UpdateResult;
|
|
|
import com.yunfeiyun.agmp.common.core.page.PageDomain;
|
|
|
import com.yunfeiyun.agmp.common.utils.DateUtils;
|
|
|
import com.yunfeiyun.agmp.common.utils.JSONUtils;
|
|
|
@@ -167,6 +168,26 @@ public class MongoService<T>{
|
|
|
mongoTemplate.updateFirst(query, update, annotation.value());
|
|
|
}
|
|
|
|
|
|
+ public int updateMulti(Class<T> entity, Query query, Map<String, Object> updateField) {
|
|
|
+ if (query == null) {
|
|
|
+ throw new RuntimeException("query 不可为空");
|
|
|
+ }
|
|
|
+ TableName annotation = entity.getAnnotation(TableName.class);
|
|
|
+ if (annotation == null || StringUtils.isEmpty(annotation.value())) {
|
|
|
+ throw new RuntimeException(entity.getName() + "未被@TableName修饰或value为空");
|
|
|
+ }
|
|
|
+ Update update = new Update();
|
|
|
+ //设置遍历值
|
|
|
+ updateField.forEach((key, value) -> {
|
|
|
+ //忽略空值
|
|
|
+ if (value != null) {
|
|
|
+ update.set(key, value);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ UpdateResult updateResult = mongoTemplate.updateMulti(query, update, annotation.value());
|
|
|
+ return (int) updateResult.getModifiedCount();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据参数查询全部数据
|
|
|
*
|