From 9283fa6e32145ff0ae237c40d2008fc35e81ef7c Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 09 六月 2025 10:29:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |  118 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 63 insertions(+), 55 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index b609db7..514d88e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1,4 +1,5 @@
 package com.ruoyi.order.service.impl;
+import java.util.Date;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -32,10 +33,8 @@
 import java.time.Month;
 import java.time.Year;
 import java.time.temporal.TemporalAdjusters;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -64,16 +63,17 @@
         String countType = orderCount.getCountType();
         String startTime = orderCount.getStartTime();
         String endTime = orderCount.getEndTime();
+//        String [] siteIds = orderCount.getSiteIds();
         List<OrderQueryVO> list;
         // 根据查询类型查询订单信息
         if (OrderConstants.YEAR.equals(countType)) {
-            list = baseMapper.orderCountByYear(cityList, orderState);
+            list = baseMapper.orderCountByYear(cityList, orderState,orderCount.getSiteIds());
         } else if (OrderConstants.MONTH.equals(countType)) {
-            list = baseMapper.orderCountByMonth(cityList, orderState);
+            list = baseMapper.orderCountByMonth(cityList, orderState, orderCount.getSiteIds());
         } else if (OrderConstants.WEEK.equals(countType)) {
-            list = baseMapper.orderCountByWeek(cityList, orderState);
+            list = baseMapper.orderCountByWeek(cityList, orderState, orderCount.getSiteIds());
         } else if (OrderConstants.TODAY.equals(countType)) {
-            list = baseMapper.orderCountByToday(cityList, orderState);
+            list = baseMapper.orderCountByToday(cityList, orderState, orderCount.getSiteIds());
         } else {
             try {
                 startTime = startTime + " 00:00:00";
@@ -84,11 +84,11 @@
                 long diffInMillis = date2.getTime() - date1.getTime();
                 long diffInDays = diffInMillis / (24 * 60 * 60 * 1000);
                 if (diffInDays > Constants.YEAR_DAY) {
-                    list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime, orderState);
+                    list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime, orderState, orderCount.getSiteIds());
                 } else if (diffInDays > Constants.THIRTY) {
-                    list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime, orderState);
+                    list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime, orderState, orderCount.getSiteIds());
                 } else {
-                    list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime, orderState);
+                    list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime, orderState, orderCount.getSiteIds());
                 }
             } catch (ParseException e) {
                 list = new ArrayList<>();
@@ -117,14 +117,25 @@
 
     @Override
     public List<Order> excelExport(OrderQueryRequest orderQueryRequest) {
-        List<String> ids = orderQueryRequest.getIds();
-        List<Order> list;
-        if (null != ids && !ids.isEmpty()) {
-            list = baseMapper.exportByIdList(ids);
-        } else {
-            list = baseMapper.exportList(orderQueryRequest);
+//        List<String> ids = orderQueryRequest.getIds();
+//        List<Order> list;
+//        if (null != ids && !ids.isEmpty()) {
+//            list = baseMapper.exportByIdList(ids);
+//        } else {
+//            list = baseMapper.exportList(orderQueryRequest);
+//        }
+        List<Order> orders = baseMapper.excelExportList(orderQueryRequest);
+        List<ChangeDispatch> list = changeDispatchService.lambdaQuery()
+                .eq(ChangeDispatch::getIsDelete, 0)
+                .orderByDesc(ChangeDispatch::getCreateTime).list();
+        for (Order order : orders) {
+            ChangeDispatch changeDispatch = list.stream().filter(e -> e.getOrderId().equals(order.getId()))
+                    .findFirst().orElse(null);
+            if (null != changeDispatch) {
+                order.setApplyReason(changeDispatch.getApplyReason());
+            }
         }
-        return list;
+        return orders;
     }
 
     @Override
@@ -132,12 +143,12 @@
         Page<Order> page = Page.of(orderQueryRequest.getPageNum(), orderQueryRequest.getPageSize());
         // 基础查询
         Page<Order> pageList = baseMapper.queryPage(orderQueryRequest, page);
+        List<ChangeDispatch> list = changeDispatchService.lambdaQuery()
+                .eq(ChangeDispatch::getIsDelete, 0)
+                .orderByDesc(ChangeDispatch::getCreateTime).list();
         for (Order order : pageList.getRecords()) {
-            ChangeDispatch changeDispatch = changeDispatchService.lambdaQuery()
-                    .eq(ChangeDispatch::getOrderId, order.getId())
-                    .eq(ChangeDispatch::getIsDelete, 0)
-                    .orderByDesc(ChangeDispatch::getCreateTime)
-                    .last("limit 1").one();
+            ChangeDispatch changeDispatch = list.stream().filter(e -> e.getOrderId().equals(order.getId()))
+                    .findFirst().orElse(null);
             if (null != changeDispatch) {
                 order.setApplyReason(changeDispatch.getApplyReason());
             }
@@ -145,46 +156,42 @@
         return pageList;
     }
 
+    @Override
+    public List<String> queryPage1(OrderQueryRequest orderQueryRequest) {
+        Page<Order> page = Page.of(orderQueryRequest.getPageNum(), orderQueryRequest.getPageSize());
+        // 基础查询
+        Page<Order> pageList = baseMapper.queryPage1(orderQueryRequest, page);
+
+        return  pageList.getRecords().stream().map(Order::getId).collect(Collectors.toList());
+    }
 
     @Override
-    public Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page) {
-        return baseMapper.orderCount(name, phone, cityList, page);
+    public Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page,List<String>siteIds) {
+        return baseMapper.orderCount(name, phone, cityList, page, siteIds);
     }
 
     @Override
     public OrderPageCountVO orderPageCount(OrderQueryRequest orderQueryRequest) {
-        List<Order> orderList = baseMapper.orderPageCount(orderQueryRequest);
-        int total = 0;
-        int toBeDispatched = 0;
-        int stayDoorstep = 0;
-        int toBeCompleted = 0;
-        int completed = 0;
-        int canceled = 0;
-        int reInvestment = 0;
-        for (Order order : orderList) {
-            total++;
-            Integer state = order.getState();
-            if (Constants.ZERO.equals(state)) {
-                toBeDispatched++;
-            } else if (Constants.ONE.equals(state)) {
-                stayDoorstep++;
-            } else if (Constants.TWO.equals(state)) {
-                toBeCompleted++;
-            } else if (Constants.THREE.equals(state)) {
-                completed++;
-            } else if (Constants.FOUR.equals(state)) {
-                canceled++;
-            }
-            if (order.getState().equals(Constants.SIX)) {
-                reInvestment++;
-            }
-        }
-        return new OrderPageCountVO(total, toBeDispatched, stayDoorstep,
-                toBeCompleted, completed, canceled, reInvestment);
+        Order order = baseMapper.orderPageCount(orderQueryRequest);
+
+            Integer toBeDispatched = order.getToBeDispatched();
+            Integer stayDoorstep = order.getStayDoorstep();
+            Integer toBeCompleted = order.getToBeCompleted();
+            Integer completed = order.getCompleted();
+            Integer canceled = order.getCanceled();
+            Integer reInvestment = order.getReInvestment();
+            Integer pending = order.getPending();
+            int total = toBeDispatched + stayDoorstep + toBeCompleted + completed + canceled + reInvestment + pending;
+            return new OrderPageCountVO(total, toBeDispatched, stayDoorstep,
+                    toBeCompleted, completed, canceled, reInvestment,pending);
+
     }
 
     @Override
     public BigDecimal tradeMoney(MoneyQueryRequest moneyQueryRequest) {
+        if(moneyQueryRequest.getSiteIds()==null){
+            moneyQueryRequest.setSiteIds(new ArrayList<>());
+        }
         List<String> cityList = moneyQueryRequest.getCityList();
         String type = moneyQueryRequest.getType();
         // 计算当前季度时间所包含时间
@@ -214,8 +221,9 @@
     }
 
     @Override
-    public Page<Order> orderListWorker(Integer userId, Integer state, Integer pageNum, Integer pageSize) {
-        return baseMapper.orderListWorker(userId, state, Page.of(pageNum, pageSize));
+    public Page<Order> orderListWorker(Integer userId, Integer state,String searchValues, Integer pageNum, Integer pageSize) {
+        Page<Order> orderPage = baseMapper.orderListWorker(userId, state, searchValues, Page.of(pageNum, pageSize));
+        return baseMapper.orderListWorker(userId, state,searchValues, Page.of(pageNum, pageSize));
     }
 
     @Override

--
Gitblit v1.7.1