From ed36ab45d01b9e713d64108ec0fa73be878e4380 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 04 二月 2026 21:04:20 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi
---
xp-service/xp-order/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/xp-service/xp-order/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-service/xp-order/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index 24ab24e..36b3862 100644
--- a/xp-service/xp-order/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-service/xp-order/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -1,10 +1,18 @@
package com.xiaopeng.order.service.impl;
+import com.xiaopeng.api.dto.statistics.DailyCountDTO;
+import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
+import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.order.mapper.XpOrderMapper;
import com.xiaopeng.order.service.IXpOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
/**
* <p>
@@ -17,4 +25,32 @@
@Service
public class XpOrderServiceImpl extends ServiceImpl<XpOrderMapper, XpOrder> implements IXpOrderService {
+ @Override
+ public OrderStatisticsDTO getOrderStatistics(StatisticsQueryDTO query) {
+ OrderStatisticsDTO dto = new OrderStatisticsDTO();
+
+ // 1. 查询订单总数(状态为9=待评价或10=已完成)
+ dto.setTotalCount(baseMapper.countCompletedOrders());
+
+ // 2. 查询时间范围内新增订单数
+ if (query.getStartDate() != null && query.getEndDate() != null) {
+ dto.setNewCount(baseMapper.countNewOrders(query.getStartDate(), query.getEndDate()));
+ } else {
+ dto.setNewCount(0L);
+ }
+
+ // 3. 查询总交易金额和总收入(pay_money累加)
+ BigDecimal totalMoney = baseMapper.sumTotalMoney();
+ dto.setTotalMoney(totalMoney != null ? totalMoney : BigDecimal.ZERO);
+ dto.setTotalIncome(totalMoney != null ? totalMoney : BigDecimal.ZERO);
+
+ // 4. 查询近N天每日新增订单数(默认30天)
+ Integer trendDays = query.getTrendDays() != null ? query.getTrendDays() : 30;
+ LocalDate endDate = LocalDate.now();
+ LocalDate startDate = endDate.minusDays(trendDays - 1);
+ List<DailyCountDTO> dailyCountList = baseMapper.getDailyOrderCount(startDate, endDate);
+ dto.setDailyCountList(dailyCountList != null ? dailyCountList : new ArrayList<>());
+
+ return dto;
+ }
}
--
Gitblit v1.7.1