记得上下班打卡 | git大法好,push需谨慎

Commit 0c7cedf6 authored by 胡佳晨's avatar 胡佳晨

商城 资金列表

parent 494ecf43
...@@ -1095,30 +1095,29 @@ public class GoblinMongoUtils { ...@@ -1095,30 +1095,29 @@ public class GoblinMongoUtils {
int finalCount = skipCount + size; int finalCount = skipCount + size;
List<GoblinGoodsInfoVo> spuIdAndName = null; List<GoblinGoodsInfoVo> spuIdAndName = null;
Criteria criteria = Criteria.where("status").in(GoblinStatusConst.Status.ORDER_LOG_STATUS_11.getValue(), GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue(), GoblinStatusConst.Status.ORDER_LOG_STATUS_28.getValue()).and("storeId").is(storeId); Criteria criteria = Criteria.where("status").in(GoblinStatusConst.Status.ORDER_LOG_STATUS_11.getValue(), GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue(), GoblinStatusConst.Status.ORDER_LOG_STATUS_28.getValue()).and("storeId").is(storeId);
Criteria criteriaCount = Criteria.where("status").in(GoblinStatusConst.Status.ORDER_LOG_STATUS_11.getValue(), GoblinStatusConst.Status.ORDER_LOG_STATUS_22.getValue(), GoblinStatusConst.Status.ORDER_LOG_STATUS_28.getValue()).and("storeId").is(storeId);
if (st != null && et != null) { if (st != null && et != null) {
LocalDateTime stDateTime = LocalDateTime.parse(st, DTF_YMD_HMS); LocalDateTime stDateTime = LocalDateTime.parse(st, DTF_YMD_HMS);
LocalDateTime etDateTime = LocalDateTime.parse(et, DTF_YMD_HMS); LocalDateTime etDateTime = LocalDateTime.parse(et, DTF_YMD_HMS);
criteria = criteria.and("createdAt").gte(stDateTime).lt(etDateTime); criteria = criteria.and("createdAt").gte(stDateTime).lt(etDateTime);
criteriaCount = criteriaCount.and("createdAt").gte(stDateTime).lt(etDateTime);
}
if (spuName != null) {
Query q1 = Query.query(Criteria.where("name").regex(".*" + spuName + ".*"));
q1.fields().include("spuId");
List<String> spuIds = mongoTemplate.find(q1,GoblinGoodsInfoVo.class,GoblinGoodsInfoVo.class.getSimpleName()).stream().map(GoblinGoodsInfoVo::getSpuId).collect(Collectors.toList());
criteriaCount = criteriaCount.and("spuId").in(spuIds);
} }
//查询总数量 //查询总数量
Query countQuery = Query.query(criteria).with(Sort.by(Sort.Order.desc("createdAt")));
countQuery.fields().include("spuId"); Query countQuery = Query.query(criteriaCount).with(Sort.by(Sort.Order.desc("createdAt")));
countQuery.fields().include("spuId").include("spuName");
List<GoblinOrderLogVo> countList = mongoTemplate.find(countQuery, GoblinOrderLogVo.class, GoblinOrderLogVo.class.getSimpleName()); List<GoblinOrderLogVo> countList = mongoTemplate.find(countQuery, GoblinOrderLogVo.class, GoblinOrderLogVo.class.getSimpleName());
List<String> spuIdList = countList.stream().map(GoblinOrderLogVo::getSpuId).distinct().collect(Collectors.toList()); List<String> spuIdList = countList.stream().map(GoblinOrderLogVo::getSpuId).distinct().collect(Collectors.toList());
long total = spuIdList.size(); long total = spuIdList.size();
if (finalCount > total) { if (finalCount > total) {
finalCount = (int) total; finalCount = (int) total;
} }
if (spuName != null) {
//根据spu名称查询spuId
Query query = Query.query(Criteria.where("name").regex(".*?" + spuName + ".*").and("storeId").is(storeId)).with(Sort.by(Sort.Order.desc("createdAt")));
query.fields().include("spuId").include("name");
spuIdAndName = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
spuIdList = spuIdAndName.stream().map(GoblinGoodsInfoVo::getSpuId).collect(Collectors.toList());
if (finalCount > spuIdList.size()) {
finalCount = spuIdList.size();
}
}
if (finalCount > 0) { if (finalCount > 0) {
spuIdList = spuIdList.subList(skipCount, finalCount); spuIdList = spuIdList.subList(skipCount, finalCount);
} }
...@@ -1127,9 +1126,10 @@ public class GoblinMongoUtils { ...@@ -1127,9 +1126,10 @@ public class GoblinMongoUtils {
//查询聚合数据 //查询聚合数据
Aggregation aggregation = Aggregation.newAggregation( Aggregation aggregation = Aggregation.newAggregation(
Aggregation.match(criteria), Aggregation.match(criteria),
Aggregation.project("spuId", "skuPriceActual", "orderType"), Aggregation.project("spuId", "skuPriceActual", "orderType", "spuName"),
Aggregation.group("spuId") Aggregation.group("spuId")
.first("spuId").as("spuId") .first("spuId").as("spuId")
// .first("spuName").as("spuName")
.first("orderType").as("orderType") .first("orderType").as("orderType")
.sum("skuPriceActual").as("skuPriceActual"), .sum("skuPriceActual").as("skuPriceActual"),
Aggregation.sort(Sort.by(Sort.Order.desc("spuId"))) Aggregation.sort(Sort.by(Sort.Order.desc("spuId")))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment