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

Commit 763d00c2 authored by 胡佳晨's avatar 胡佳晨

商城 资金列表

parent 998e0350
......@@ -1035,6 +1035,7 @@ public class GoblinMongoUtils {
}
}
//资金列表
public HashMap<String, Object> moneyGetSpuList(String spuName, String st, String et, String storeId, int page) {
//查询销量
......@@ -1043,30 +1044,29 @@ public class GoblinMongoUtils {
int finalCount = skipCount + size;
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 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) {
LocalDateTime stDateTime = LocalDateTime.parse(st, DTF_YMD_HMS);
LocalDateTime etDateTime = LocalDateTime.parse(et, DTF_YMD_HMS);
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<String> spuIdList = countList.stream().map(GoblinOrderLogVo::getSpuId).distinct().collect(Collectors.toList());
long total = spuIdList.size();
if (finalCount > 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) {
spuIdList = spuIdList.subList(skipCount, finalCount);
}
......@@ -1075,9 +1075,10 @@ public class GoblinMongoUtils {
//查询聚合数据
Aggregation aggregation = Aggregation.newAggregation(
Aggregation.match(criteria),
Aggregation.project("spuId", "skuPriceActual", "orderType"),
Aggregation.project("spuId", "skuPriceActual", "orderType", "spuName"),
Aggregation.group("spuId")
.first("spuId").as("spuId")
// .first("spuName").as("spuName")
.first("orderType").as("orderType")
.sum("skuPriceActual").as("skuPriceActual"),
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