From c63a31067ddeb00af3faced1980a6ef0c22bef7f Mon Sep 17 00:00:00 2001 From: Gosowong <1329847115@qq.com> Date: Thu, 18 May 2023 15:51:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=8B=86=E5=8D=95?= =?UTF-8?q?=E8=BF=94=E8=B4=A7bug=20=E6=B7=BB=E5=8A=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=BF=AB=E9=80=92=E5=85=AC=E5=8F=B8=EF=BC=8C=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=9C=8D=E5=8A=A1=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/dao/order/StoreOrderDao.php | 2 +- .../listener/order/OrderShippingListener.php | 6 +++++- crmeb/app/services/order/StoreOrderServices.php | 8 ++++---- .../orderShipping/MiniOrderService.php | 3 +-- .../easywechat/orderShipping/OrderClient.php | 17 ++++++++--------- 5 files changed, 19 insertions(+), 17 deletions(-) diff --git a/crmeb/app/dao/order/StoreOrderDao.php b/crmeb/app/dao/order/StoreOrderDao.php index 066fc0389..e0c870f43 100644 --- a/crmeb/app/dao/order/StoreOrderDao.php +++ b/crmeb/app/dao/order/StoreOrderDao.php @@ -980,6 +980,6 @@ class StoreOrderDao extends BaseDao public function getSubOrderNotSend(int $pid, int $order_id) { - return $this->getModel()->where('id', $pid)->where('status', '0')->where('id', '<>', $order_id)->count(); + return $this->getModel()->where('pid', $pid)->where('status', '0')->where('id', '<>', $order_id)->count(); } } diff --git a/crmeb/app/listener/order/OrderShippingListener.php b/crmeb/app/listener/order/OrderShippingListener.php index 1089f39e1..37c4d983d 100644 --- a/crmeb/app/listener/order/OrderShippingListener.php +++ b/crmeb/app/listener/order/OrderShippingListener.php @@ -24,12 +24,16 @@ class OrderShippingListener implements ListenerInterface $delivery_mode = 1; $is_all_delivered = true; if ($order['pid'] > 0) { - $order = ''; $delivery_mode = 2; // 判断订单是否全部发货 /** @var StoreOrderServices $orderServices */ $orderServices = app()->make(StoreOrderServices::class); $is_all_delivered = $orderServices->checkSubOrderNotSend((int)$order['pid'], (int)$order['id']); + $p_order = $orderServices->get((int)$order['pid']); + if (!$p_order) { + throw new AdminException('拆单异常'); + } + $out_trade_no = $p_order['order_id']; } // 整理商品信息 diff --git a/crmeb/app/services/order/StoreOrderServices.php b/crmeb/app/services/order/StoreOrderServices.php index 23be2afad..f6348c390 100644 --- a/crmeb/app/services/order/StoreOrderServices.php +++ b/crmeb/app/services/order/StoreOrderServices.php @@ -2498,7 +2498,7 @@ HTML; } // 判断是否开启小程序订单管理 $orderData['order_shipping_open'] = false; - if (sys_config('order_shipping_open', 0) && MiniOrderService::isManaged()) { + if (sys_config('order_shipping_open', 0) && MiniOrderService::isManaged() && $order['channel_type'] == 'routine') { $orderData['order_shipping_open'] = true; } return $orderData; @@ -2654,15 +2654,15 @@ HTML; /** * 取消商家寄件 - * @author 等风来 - * @email 136327134@qq.com - * @date 2023/5/15 * @param int $id * @param string $msg * @return array|mixed * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException + * @author 等风来 + * @email 136327134@qq.com + * @date 2023/5/15 */ public function shipmentCancelOrder(int $id, string $msg) { diff --git a/crmeb/crmeb/services/easywechat/orderShipping/MiniOrderService.php b/crmeb/crmeb/services/easywechat/orderShipping/MiniOrderService.php index 5541b27a6..9cd7fd0a7 100644 --- a/crmeb/crmeb/services/easywechat/orderShipping/MiniOrderService.php +++ b/crmeb/crmeb/services/easywechat/orderShipping/MiniOrderService.php @@ -111,9 +111,8 @@ class MiniOrderService * 判断是否开通 * @return bool * @throws HttpException - * @throws \Psr\SimpleCache\InvalidArgumentException * - * @date 2023/05/09 + * @date 2023/05/17 * @author yyw */ public static function isManaged() diff --git a/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php b/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php index c3dee6f57..0dd1e98fe 100644 --- a/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php +++ b/crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php @@ -13,6 +13,8 @@ class OrderClient extends BaseOrder { const redis_prefix = 'mimi_order'; + const express_company = 'ZTO'; // 默认发货快递公司为(中通快递) + /** * @var \Redis @@ -70,13 +72,9 @@ class OrderClient extends BaseOrder */ public function shippingByTradeNo(string $out_trade_no, int $logistics_type, array $shipping_list, string $payer_openid, int $delivery_mode = 1, bool $is_all_delivered = true) { -// $this->setMesJumpPath('demo'); - -// if (!$this->checkManaged()) { -// throw new AdminException('开通小程序订单管理服务后重试'); -// } - - + if (!$this->checkManaged()) { + throw new AdminException('开通小程序订单管理服务后重试'); + } $params = [ 'order_key' => [ 'order_number_type' => 1, @@ -264,14 +262,15 @@ class OrderClient extends BaseOrder if (!$this->getRedis()->exists($key)) { $date = $this->setDeliveryList(); if (!isset($date[$company_name])) { - throw new AdminException('物流公司异常1'); +// throw new AdminException('物流公司异常1'); } $express_company = $date[$company_name]; } else { $express_company = $this->getRedis()->hMGet($key, [$company_name])[$company_name] ?? ''; } if (empty($express_company)) { - throw new AdminException('物流公司异常2'); +// throw new AdminException('物流公司异常2'); + $express_company = self::express_company; } return $express_company;