|
|
@@ -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 订单详情
|