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