增加购物统计功能

This commit is contained in:
2026-06-06 22:20:58 +08:00
parent 7413485718
commit 4c074a0191
6 changed files with 310 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
package com.rj.controller;
import com.rj.dto.LbBuyerShoppingGenerateStatRequest;
import com.rj.dto.LbBuyerShoppingPullRequest;
import com.rj.entity.LbBuyerShopping;
import com.rj.service.ILbBuyerShoppingService;
@@ -63,6 +64,20 @@ public class LbBuyerShoppingController {
return toResponse(result);
}
@PostMapping("/generate-stat")
@Operation(
summary = "按买家生成天统计或总和统计",
description =
"根据 buyerId 汇总 detail_data 明细day_stat 按购买日期每天生成一条统计"
+ "stat_total_money、total_order_count、avg_amount"
+ "sum_data 生成该买家全部订单的一条总和统计")
public ResponseEntity<Map<String, Object>> generateStat(
@Parameter(description = "买家 ID 与统计类型day_stat / sum_data", required = true)
@RequestBody LbBuyerShoppingGenerateStatRequest request) {
Map<String, Object> result = lbBuyerShoppingService.generateBuyerStat(request);
return toResponse(result);
}
@GetMapping("/list")
@Operation(summary = "分页查询")
public ResponseEntity<Map<String, Object>> list(
@@ -76,6 +91,8 @@ public class LbBuyerShoppingController {
@RequestParam(required = false) String sellerMobile,
@RequestParam(required = false) String buyerNickname,
@RequestParam(required = false) String buyerMobile,
@Parameter(description = "数据类型detail_data=详细数据day_stat=天统计sum_data=总和统计")
@RequestParam(required = false) String dataType,
@RequestParam(required = false) BigDecimal totalMoneyMin,
@RequestParam(required = false) BigDecimal totalMoneyMax,
@Parameter(description = "创建时间起,格式 yyyy-MM-dd HH:mm:ss")
@@ -92,7 +109,7 @@ public class LbBuyerShoppingController {
@RequestParam(required = false) String confirmTimeEnd) {
Map<String, Object> result = lbBuyerShoppingService.pageQuery(
current, size, sellerId, merchandiseId, buyerId, orderSn,
sellerNickname, sellerMobile, buyerNickname, buyerMobile,
sellerNickname, sellerMobile, buyerNickname, buyerMobile, dataType,
totalMoneyMin, totalMoneyMax,
createdAtStart, createdAtEnd, buyTimeStart, buyTimeEnd,
confirmTimeStart, confirmTimeEnd);