From 897f346aa049d039e3b8cbce7d2011f683d30566 Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Fri, 11 Jul 2025 10:44:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=AE=B6app=20=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=8C=E6=9B=B4=E6=8D=A2=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/ShopOrderBaseController.java | 23 ++++++-- .../mobile/UserOrderController.java | 28 +++++----- .../impl/ShopOrderBaseServiceImpl.java | 55 ++++++++++++------- 3 files changed, 68 insertions(+), 38 deletions(-) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/admin/ShopOrderBaseController.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/admin/ShopOrderBaseController.java index 0c2a0eb3..5c878b6e 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/admin/ShopOrderBaseController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/admin/ShopOrderBaseController.java @@ -1,6 +1,7 @@ package com.suisung.mall.shop.order.controller.admin; import cn.hutool.core.convert.Convert; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -17,10 +18,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; @@ -293,5 +291,22 @@ public class ShopOrderBaseController extends BaseControllerImpl { return CommonResult.success(shopOrderBaseService.checkPicking()); } + + // 商家版接口 开始 + + @ApiOperation(value = "查询移动商家端订单数据(新)", notes = "查询移动商家端订单数据(新)") + @RequestMapping(value = "/mch/order/list", method = RequestMethod.POST) + public CommonResult selectMchOrderPageList(@RequestBody JSONObject params) { + Map respMap = new HashMap<>(); + // 订单分页数据 + Long expireSeconds = 1500L; // 60秒*25分钟 = 1500秒 + respMap.put("order_page_list", shopOrderBaseService.selectMchOrderPageList(params.getInt("storeId"), params.getStr("keyword"), params.getInt("delivery"), params.getInt("status"), expireSeconds, params.getInt("pageNum"), params.getInt("pageSize"))); + // 订单数量 + respMap.put("order_count", shopOrderBaseService.mchOrderCountByStoreId(params.getInt("storeId"))); + return CommonResult.success(respMap); + } + + // 商家版接口 结束 + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java index 75173308..2607eb55 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/controller/mobile/UserOrderController.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.suisung.mall.common.api.CommonResult; @@ -24,7 +23,10 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.io.Serializable; import java.util.HashMap; @@ -217,17 +219,17 @@ public class UserOrderController extends BaseControllerImpl { return CommonResult.success(shopOrderBaseService.listsOrderAndsProduct(pageNum, pageSize)); } - @ApiOperation(value = "查询移动商家端订单数据(新)", notes = "查询移动商家端订单数据(新)") - @RequestMapping(value = "/mch/order/list", method = RequestMethod.POST) - public CommonResult selectMchOrderPageList(@RequestBody JSONObject params) { - Map respMap = new HashMap<>(); - // 订单分页数据 - Long expireSeconds = 1200L; // 60秒*20分钟 = 1200秒 - respMap.put("order_page_list", shopOrderBaseService.selectMchOrderPageList(params.getInt("storeId"), params.getStr("keyword"), params.getInt("delivery"), params.getInt("status"), expireSeconds, params.getInt("pageNum"), params.getInt("pageSize"))); - // 订单数量 - respMap.put("order_count", shopOrderBaseService.mchOrderCountByStoreId(params.getInt("storeId"))); - return CommonResult.success(respMap); - } +// @ApiOperation(value = "查询移动商家端订单数据(新)", notes = "查询移动商家端订单数据(新)") +// @RequestMapping(value = "/mch/order/list", method = RequestMethod.POST) +// public CommonResult selectMchOrderPageList(@RequestBody JSONObject params) { +// Map respMap = new HashMap<>(); +// // 订单分页数据 +// Long expireSeconds = 1500L; // 60秒*25分钟 = 1500秒 +// respMap.put("order_page_list", shopOrderBaseService.selectMchOrderPageList(params.getInt("storeId"), params.getStr("keyword"), params.getInt("delivery"), params.getInt("status"), expireSeconds, params.getInt("pageNum"), params.getInt("pageSize"))); +// // 订单数量 +// respMap.put("order_count", shopOrderBaseService.mchOrderCountByStoreId(params.getInt("storeId"))); +// return CommonResult.success(respMap); +// } @ApiOperation(value = "查询移动商家端订单详情数据", notes = "查询移动商家端订单详情数据") @RequestMapping(value = "/getOrderDetail", method = RequestMethod.GET) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index fe1c5dee..e5a68596 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -8531,40 +8531,53 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl selectMchOrderPageList(Integer storeId, String keyword, Integer delivery, Integer status, Long expireSeconds, Integer pageNum, Integer pageSize) { - // order_state_id 订单状态(LIST):2011-待订单审核;2013-待财务审核;2020-待配货/待出库审核;2030-待发货;2040-已发货/待收货确认;2060-已完成/已签收;2070-已取消/已作废; - Page page = new Page<>(pageNum, pageSize); + try { + // 初始化分页对象 + Page page = new Page<>(pageNum, pageSize); - IPage pageList = shopOrderBaseMapper.selectMchOrderPageList(storeId, keyword, delivery, status, expireSeconds, page); - if (pageList != null && CollUtil.isNotEmpty(pageList.getRecords())) { - pageList.getRecords().forEach(mchOrderInfoDTO -> { - if ((StateCode.DELIVERY_TYPE_EXP == mchOrderInfoDTO.getDelivery_type_id() - || StateCode.DELIVERY_TYPE_EXP == mchOrderInfoDTO.getDelivery_type_id()) - && (mchOrderInfoDTO.getOrder_state_id() == StateCode.ORDER_STATE_FINISH - || mchOrderInfoDTO.getOrder_state_id() == StateCode.ORDER_STATE_SHIPPED) - ) { - // 发快递普通物流的物流轨迹 - mchOrderInfoDTO.setLogistics_traces(kdApiExpressSearchService.getLogisticsTraces(mchOrderInfoDTO.getOrder_id())); + // 查询订单基础数据 + IPage pageList = shopOrderBaseMapper.selectMchOrderPageList( + storeId, keyword, delivery, status, expireSeconds, page); + + if (pageList == null || CollUtil.isEmpty(pageList.getRecords())) { + return pageList; + } + + // 处理订单列表数据 + pageList.getRecords().forEach(order -> { + // 处理物流轨迹信息(仅限快递配送且已发货/已完成订单) + if (StateCode.DELIVERY_TYPE_EXP == order.getDelivery_type_id() + && (StateCode.ORDER_STATE_FINISH == order.getOrder_state_id() + || StateCode.ORDER_STATE_SHIPPED == order.getOrder_state_id())) { + try { + order.setLogistics_traces(kdApiExpressSearchService.getLogisticsTraces(order.getOrder_id())); + } catch (Exception e) { + logger.error("获取物流轨迹失败,订单ID:{}", order.getOrder_id(), e); + } } - // 取货号格式化 - mchOrderInfoDTO.setOrder_pickup_num_str(fmtPickNum(mchOrderInfoDTO.getOrder_pickup_num())); + // 格式化取货号 + order.setOrder_pickup_num_str(fmtPickNum(order.getOrder_pickup_num())); }); - } - return pageList; + return pageList; + } catch (Exception e) { + logger.error("商家订单查询异常", e); + return new Page<>(pageNum, pageSize); // 返回空分页 + } } /**