From 0e9b6603d4ae9d11c1fbc90257ce816c5807b8ff Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 28 十月 2022 16:55:02 +0800 Subject: [PATCH] 批量添加结算消息 --- app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java b/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java index 2aad5bc..3679453 100644 --- a/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java +++ b/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java @@ -6,16 +6,16 @@ import com.yeshi.makemoney.app.entity.SystemEnum; import com.yeshi.makemoney.app.entity.goldcorn.GoldCornGetType; import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.aggregation.Aggregation; +import org.springframework.data.mongodb.core.aggregation.AggregationOperation; +import org.springframework.data.mongodb.core.aggregation.AggregationResults; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.Date; +import java.util.*; import org.yeshi.utils.StringUtil; import org.yeshi.utils.TimeUtil; import org.yeshi.utils.bean.BeanUtil; - -import java.util.List; import com.yeshi.makemoney.app.dao.goldcorn.GoldCornGetFrequencyConfigDao; import com.yeshi.makemoney.app.entity.goldcorn.GoldCornGetFrequencyConfig; @@ -112,5 +112,28 @@ return null; } + @Override + public List<GoldCornGetFrequencyConfig> listByTypes(List<GoldCornGetType> typeList, SystemEnum system, Date date) { + + Criteria[] ors = new Criteria[typeList.size()]; + for (int i = 0; i < ors.length; i++) { + ors[i] = Criteria.where("type").is(typeList.get(i)); + } + + List<AggregationOperation> list = new ArrayList<>(); + list.add(Aggregation.match(new Criteria().orOperator(ors).and("validateTime").lte(date))); + list.add(Aggregation.sort(Sort.Direction.DESC, "validateTime")); + list.add(Aggregation.group("type").first("id").as("id")); + list.add(Aggregation.lookup("goldCornGetFrequencyConfig", "id", "_id", "config")); + list.add(Aggregation.project("config")); + AggregationResults<Map> results = goldCornGetFrequencyConfigDao.aggregate(list, Map.class); + List<GoldCornGetFrequencyConfig> resultList = new ArrayList<>(); + for (Map map : results.getMappedResults()) { + List<GoldCornGetFrequencyConfig> config = (List<GoldCornGetFrequencyConfig>) map.get("config"); + resultList.addAll(config); + } + return resultList; + } + } \ No newline at end of file -- Gitblit v1.8.0