Procházet zdrojové kódy

零售端-订单列表、详情接口修改

ouyang před 1 dnem
rodič
revize
89cf3eebf2

+ 25 - 0
app-mall/controllers/OrderController.php

@@ -9,6 +9,7 @@ use bizHd\custom\classes\HdClass;
 use bizHd\distribution\classes\DistributionOrderClass;
 use bizHd\express\classes\HdDeliveryOrderClass;
 use bizHd\order\classes\OrderClass as HdOrderClass;
+use bizHd\order\classes\PsMethodClass;
 use bizHd\refund\classes\MallRefundApplyClass;
 use bizHd\hb\classes\HbClass;
 use bizHd\homePageConfig\classes\HomePageModuleClass;
@@ -1918,9 +1919,33 @@ class OrderController extends BaseController
         // 与 RefundController::canApplyRefund 对齐,供详情页「申请售后」显隐
         $detail['distOrderSettled'] = DistributionOrderClass::isDistOrderSettled((int)$id) ? 1 : 0;
         $detail['canApplyRefund'] = $this->canApplyRefundForDetail($detail) ? 1 : 0;
+        // 配送方式名称:xhPsMethod.name(style = 订单 sendType)
+        $detail['psMethodName'] = $this->resolvePsMethodName($detail);
         util::success($detail);
     }
 
+    /**
+     * 解析订单配送方式名称(xhPsMethod.name,无记录时回退字典默认名)
+     * @param array $order 订单详情
+     * @return string
+     */
+    protected function resolvePsMethodName($order)
+    {
+        $mainId = (int)($order['mainId'] ?? 0);
+        $style = (int)($order['sendType'] ?? 0);
+        if ($mainId > 0) {
+            $psMethod = PsMethodClass::getByCondition([
+                'mainId' => $mainId,
+                'style' => $style,
+            ]);
+            if (!empty($psMethod['name'])) {
+                return (string)$psMethod['name'];
+            }
+        }
+        $default = dict::getDict('shMethod', $style);
+        return (string)($default['name'] ?? '');
+    }
+
     /**
      * 订单详情是否可申请售后(与 mall RefundController::canApplyRefund 规则一致)
      * @param array $order 订单详情

+ 2 - 1
biz-mall/order/services/OrderService.php

@@ -226,7 +226,8 @@ class OrderService extends BaseService
     //获取订单信息 TODO 重新实现,要限制查询字段与返回字段,性能第一???? -- 商品项(商品规格)、商品数量
     public static function getOrderList($where)
     {
-        $fields = 'id, shopId, hdId, orderSn, groupBuyId, orderType, actPrice, goodsNum, reachDate, reachPeriod, status, addTime';
+        // customId:订单列表「联系客服」进 chatPage 所需
+        $fields = 'id, shopId, hdId, customId, orderSn, groupBuyId, orderType, actPrice, goodsNum, reachDate, reachPeriod, status, addTime';
         $data = self::getList($fields, $where, 'addTime DESC');
         if (empty($data['list'])) {
             return $data;