diff --git a/mall-common/pom.xml b/mall-common/pom.xml
index 626e9b4c..367f9980 100644
--- a/mall-common/pom.xml
+++ b/mall-common/pom.xml
@@ -22,6 +22,7 @@
org.springframework.boot
spring-boot-starter-web
+ true
org.springframework.boot
diff --git a/mall-common/src/main/java/com/suisung/mall/common/config/RestTemplateConfig.java b/mall-common/src/main/java/com/suisung/mall/common/config/RestTemplateConfig.java
index 9da170dd..86d8ef74 100644
--- a/mall-common/src/main/java/com/suisung/mall/common/config/RestTemplateConfig.java
+++ b/mall-common/src/main/java/com/suisung/mall/common/config/RestTemplateConfig.java
@@ -1,5 +1,6 @@
package com.suisung.mall.common.config;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -19,6 +20,13 @@ import java.time.Duration;
@Configuration
public class RestTemplateConfig {
+ // 显式声明RestTemplateBuilder bean
+ @Bean
+ @ConditionalOnMissingBean
+ public RestTemplateBuilder restTemplateBuilder() {
+ return new RestTemplateBuilder();
+ }
+
/**
* 企业级 RestTemplate 配置
* 1. 使用 OkHttp3 客户端(性能优化)
diff --git a/mall-gateway/pom.xml b/mall-gateway/pom.xml
index 4f8d618d..0358c814 100644
--- a/mall-gateway/pom.xml
+++ b/mall-gateway/pom.xml
@@ -16,10 +16,21 @@
+
+
+
+
+
+
+
+
+
+
org.springframework.cloud
spring-cloud-starter-gateway
+
com.suisung.mall
mall-common
diff --git a/mall-gateway/src/main/resources/bootstrap.yml b/mall-gateway/src/main/resources/bootstrap.yml
index 8b963a00..307e4daf 100644
--- a/mall-gateway/src/main/resources/bootstrap.yml
+++ b/mall-gateway/src/main/resources/bootstrap.yml
@@ -3,6 +3,8 @@ spring:
active: @profiles.active@
application:
name: mall-gateway
+ # main:
+ # web-application-type: reactive
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
\ No newline at end of file
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 5c878b6e..a27587b6 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
@@ -6,6 +6,7 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.suisung.mall.common.api.CommonResult;
+import com.suisung.mall.common.api.ResultCode;
import com.suisung.mall.common.api.StateCode;
import com.suisung.mall.common.domain.UserDto;
import com.suisung.mall.common.exception.ApiException;
@@ -297,12 +298,31 @@ public class ShopOrderBaseController extends BaseControllerImpl {
@ApiOperation(value = "查询移动商家端订单数据(新)", notes = "查询移动商家端订单数据(新)")
@RequestMapping(value = "/mch/order/list", method = RequestMethod.POST)
public CommonResult selectMchOrderPageList(@RequestBody JSONObject params) {
+ UserDto userDto = getCurrentUser();
+ if (userDto == null) {
+ return CommonResult.failed(ResultCode.NEED_LOGIN);
+ }
+
+ // 如果 storeId 有值,判断当前登录账号是否有权查看该店铺的订单(以后账号有多个店铺,需要更改判断方法)
+ Integer storeId = params.getInt("storeId");
+ if (storeId != null && storeId > 0 && !storeId.equals(userDto.getStore_id())) {
+ return CommonResult.failed(ResultCode.FORBIDDEN);
+ } else {
+ storeId = Convert.toInt(userDto.getStore_id());
+ }
+
+ if (storeId == null || storeId <= 0) {
+ return CommonResult.failed(ResultCode.FORBIDDEN);
+ }
+
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")));
+
+ respMap.put("order_page_list", shopOrderBaseService.selectMchOrderPageList(storeId, params.getStr("keyword"), params.getInt("delivery"), params.getInt("status"), expireSeconds, params.getInt("pageNum"), params.getInt("pageSize")));
+
+ // 订单数量统计
+ respMap.put("order_count", shopOrderBaseService.mchOrderCountByStoreId(storeId));
return CommonResult.success(respMap);
}
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 5a153267..71f6b6fd 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
@@ -8552,16 +8552,16 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl pageList = shopOrderBaseMapper.selectMchOrderPageList(
storeId, keyword, delivery, status, expireSeconds, page);
- if (pageList == null || CollUtil.isEmpty(pageList.getRecords())) {
+ if (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())) {
+ if (StateCode.DELIVERY_TYPE_SELF_PICK_UP != order.getDelivery_type_id()
+ && StateCode.DELIVERY_TYPE_SAME_CITY != 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) {
@@ -8588,14 +8588,29 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl orderStatusIdList, List orderRefundStatusIdList, List deliveryTypeList, Long expireSeconds) {
- if (ObjectUtil.isEmpty(storeId)) {
+ if (CheckUtil.isEmpty(storeId)) {
return 0L;
}
diff --git a/mall-shop/src/main/resources/mapper/order/ShopOrderBaseMapper.xml b/mall-shop/src/main/resources/mapper/order/ShopOrderBaseMapper.xml
index b59056cf..aa6388ea 100644
--- a/mall-shop/src/main/resources/mapper/order/ShopOrderBaseMapper.xml
+++ b/mall-shop/src/main/resources/mapper/order/ShopOrderBaseMapper.xml
@@ -637,11 +637,13 @@
+ // orderstatus 订单状态:2010-待付款;2011-待订单审核;2012-待发货;2013-待财务审核;2014-待配货/待出库审核;2020-待发货;
+ 2030-待发货/待收货确认;2040-已发货/待收货确认;2050-已签收;2060-已完成/已签收;2070-已取消/已作废;2080-自提-->