From 9acb17a6871d84a85c373eb90b980f98894e30e0 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 18 二月 2025 17:58:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 145 +++++++++++++++++++++++++++++-------------------
1 files changed, 87 insertions(+), 58 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 5f76e40..7e1eb65 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;
@@ -7,6 +8,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.GaoDeMapUtil;
import com.ruoyi.common.core.vo.AddressDto;
+import com.ruoyi.common.core.vo.PaperInVo;
import com.ruoyi.common.core.vo.Path;
import com.ruoyi.order.entity.ChangeDispatch;
import com.ruoyi.order.entity.Order;
@@ -14,12 +16,16 @@
import com.ruoyi.order.request.UserOrderRequest;
import com.ruoyi.order.service.ChangeDispatchService;
import com.ruoyi.order.service.OrderService;
-import com.ruoyi.order.vo.*;
+import com.ruoyi.order.vo.MoneyQueryRequest;
+import com.ruoyi.order.vo.OrderCountRequest;
+import com.ruoyi.order.vo.OrderCountVO;
+import com.ruoyi.order.vo.OrderPageCountVO;
+import com.ruoyi.order.vo.OrderQueryRequest;
+import com.ruoyi.order.vo.OrderQueryVO;
+import com.ruoyi.order.vo.OrderResultVO;
+import com.ruoyi.order.vo.WorkerOrderCountVO;
+import com.ruoyi.order.vo.WorkerOrderRankVO;
import com.ruoyi.user.api.feignClient.UserClient;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -27,10 +33,11 @@
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;
/**
* <p>
@@ -56,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";
@@ -76,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<>();
@@ -109,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
@@ -124,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());
}
@@ -137,46 +156,41 @@
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();
+ int total = toBeDispatched + stayDoorstep + toBeCompleted + completed + canceled + reInvestment;
+ return new OrderPageCountVO(total, toBeDispatched, stayDoorstep,
+ toBeCompleted, completed, canceled, reInvestment);
+
}
@Override
public BigDecimal tradeMoney(MoneyQueryRequest moneyQueryRequest) {
+ if(moneyQueryRequest.getSiteIds()==null){
+ moneyQueryRequest.setSiteIds(new ArrayList<>());
+ }
List<String> cityList = moneyQueryRequest.getCityList();
String type = moneyQueryRequest.getType();
// 计算当前季度时间所包含时间
@@ -358,6 +372,11 @@
return String.valueOf(order.getId());
}
+ @Override
+ public List<PaperInVo> papercout(String workId,String date) {
+ return this.baseMapper.papercout(workId,date);
+ }
+
/**
* 根据当前月份获取当前季度的开始月份
*/
@@ -372,4 +391,14 @@
return Month.OCTOBER;
}
}
+ /**
+ * 增加发送短信次数
+ * @param orderId 订单id
+ */
+ @Override
+ public void messageCount(String orderId) {
+ Order byId = this.getById(orderId);
+ byId.setMsgCount(byId.getMsgCount()==null?1:byId.getMsgCount()+1);
+ this.updateById(byId);
+ }
}
--
Gitblit v1.7.1