如果是财富榜,增加 userSex=1 查询条件
This commit is contained in:
parent
eff6cf17d0
commit
77cd983ad0
@ -25,6 +25,7 @@ import org.springframework.data.domain.*;
|
|||||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||||
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||||
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
|
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
|
||||||
|
import org.springframework.data.mongodb.core.aggregation.MatchOperation;
|
||||||
import org.springframework.data.mongodb.core.query.Criteria;
|
import org.springframework.data.mongodb.core.query.Criteria;
|
||||||
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
import org.springframework.data.mongodb.core.query.Update;
|
import org.springframework.data.mongodb.core.query.Update;
|
||||||
@ -181,13 +182,21 @@ public class WeekKingQueenCountServiceImpl implements WeekKingQueenCountService
|
|||||||
List<WeekKingQueenCount> top1List = new ArrayList<>();
|
List<WeekKingQueenCount> top1List = new ArrayList<>();
|
||||||
|
|
||||||
for (KingQueenType type : Arrays.asList(KingQueenType.WEALTH, KingQueenType.CHARM)) {
|
for (KingQueenType type : Arrays.asList(KingQueenType.WEALTH, KingQueenType.CHARM)) {
|
||||||
|
Criteria criteria = Criteria.where("sysOrigin").is(sysOrigin)
|
||||||
|
.and("type").is(type)
|
||||||
|
.and("group").in(lastThreeMonthGroups);
|
||||||
|
|
||||||
|
// 如果是财富榜,增加 userSex=1 查询条件
|
||||||
|
if (type == KingQueenType.WEALTH) {
|
||||||
|
criteria.and("userSex").is(1);
|
||||||
|
}
|
||||||
|
if (type == KingQueenType.CHARM) {
|
||||||
|
criteria.and("userSex").is(0);
|
||||||
|
}
|
||||||
|
|
||||||
// 聚合查询每周 Top1
|
// 聚合查询每周 Top1
|
||||||
Aggregation aggregation = Aggregation.newAggregation(
|
Aggregation aggregation = Aggregation.newAggregation(
|
||||||
Aggregation.match(
|
Aggregation.match(criteria),
|
||||||
Criteria.where("sysOrigin").is(sysOrigin)
|
|
||||||
.and("type").is(type)
|
|
||||||
.and("group").in(lastThreeMonthGroups)
|
|
||||||
),
|
|
||||||
Aggregation.sort(Sort.by(Sort.Order.desc("quantity"))), // 按数量降序
|
Aggregation.sort(Sort.by(Sort.Order.desc("quantity"))), // 按数量降序
|
||||||
Aggregation.group("group") // 按周分组
|
Aggregation.group("group") // 按周分组
|
||||||
.first(Aggregation.ROOT).as("top1"), // 每组取第一个文档
|
.first(Aggregation.ROOT).as("top1"), // 每组取第一个文档
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user