|
|
@@ -489,7 +489,14 @@ class OrderService extends BaseService
|
|
|
return ['code' => 1, 'msg' => '参数错误'];
|
|
|
}
|
|
|
|
|
|
- $order = $this->model->find($id);
|
|
|
+ // 发货方式
|
|
|
+ $deliveryType = \App\Services\ConfigService::make()->getConfigByCode('delivery_type',1);
|
|
|
+ $order = $this->model->with(['user','orderGoods'])->find($id);
|
|
|
+ $orderGoods = isset($order['orderGoods'])?$order['orderGoods'] : [];
|
|
|
+ $goodsName = isset($orderGoods[0]['goods_name'])?$orderGoods[0]['goods_name']:'订单商品';
|
|
|
+ $userInfo = isset($order['user'])?$order['user'] : [];
|
|
|
+ $openid = isset($userInfo['openid'])?$userInfo['openid'] : '';
|
|
|
+ $mobile = isset($userInfo['mobile'])?$userInfo['mobile'] : '';
|
|
|
if (!$order) {
|
|
|
return ['code' => 1, 'msg' => '订单不存在'];
|
|
|
}
|
|
|
@@ -517,36 +524,46 @@ class OrderService extends BaseService
|
|
|
}
|
|
|
|
|
|
// 调用小程序发货信息同步接口
|
|
|
- $sendData = [
|
|
|
- 'order_key' => [
|
|
|
- "order_number_type" => 2,
|
|
|
- "transaction_id" => isset($order['transaction_id']) ? $order['transaction_id'] : '',
|
|
|
- "out_trade_no" => isset($order['out_trade_no']) ? $order['out_trade_no'] : ''
|
|
|
- ],
|
|
|
- "delivery_mode" => 1,
|
|
|
- "logistics_type" => 1,
|
|
|
- "shipping_list" => [
|
|
|
- [
|
|
|
- "tracking_no" => $deliveryNo,
|
|
|
- "express_company" => "STO",
|
|
|
- "item_desc" => "微信气泡狗集线器*1",
|
|
|
- "contact" => [
|
|
|
- "consignor_contact" => "+86-177****1234"
|
|
|
+ $msg = '发货成功';
|
|
|
+ if($deliveryType == 1 && $openid){
|
|
|
+ $sendData = [
|
|
|
+ 'order_key' => [
|
|
|
+ "order_number_type" => 2,
|
|
|
+ "transaction_id" => isset($order['transaction_id']) ? $order['transaction_id'] : '',
|
|
|
+ "out_trade_no" => isset($order['out_trade_no']) ? $order['out_trade_no'] : ''
|
|
|
+ ],
|
|
|
+ "delivery_mode" => 1,
|
|
|
+ "logistics_type" => 1,
|
|
|
+ "shipping_list" => [
|
|
|
+ [
|
|
|
+ "tracking_no" => $deliveryNo,
|
|
|
+ "express_company" => $deliveryCompany,
|
|
|
+ "item_desc" => $goodsName,
|
|
|
+ "contact" => [
|
|
|
+ "consignor_contact" => isset($order['receiver_mobile']) ? $order['receiver_mobile'] : $mobile
|
|
|
+ ]
|
|
|
]
|
|
|
+ ],
|
|
|
+ "upload_time" => date('Y-m-d H:i:s'),
|
|
|
+ "payer" => [
|
|
|
+ "openid" => $openid
|
|
|
]
|
|
|
- ],
|
|
|
- "upload_time" => "2022-12-15T13:29:35.120+08:00",
|
|
|
- "payer" => [
|
|
|
- "openid" => "ogqztkPsejM9MQAFfwCQSCi4oNg3"
|
|
|
- ]
|
|
|
- ];
|
|
|
+ ];
|
|
|
|
|
|
+ $result = MpService::make()->requestApi('deliverySend',$sendData);
|
|
|
+ $errcode = isset($result['errcode'])?$result['errcode'] : -1;
|
|
|
+ $errmsg = isset($result['errmsg']) && $result['errmsg']?$result['errmsg'] : '请求失败';
|
|
|
+ if($errcode == -1){
|
|
|
+ $msg = '发货成功,但上传发货信息到小程序失败:'.$errmsg;
|
|
|
+ }
|
|
|
+ var_dump($result);
|
|
|
+ }
|
|
|
|
|
|
if ($result) {
|
|
|
ActionLogModel::setTitle("订单发货");
|
|
|
ActionLogModel::record();
|
|
|
RedisService::keyDel("caches:orders:*");
|
|
|
- return ['code' => 0, 'msg' => '发货成功'];
|
|
|
+ return ['code' => 0, 'msg' => $msg];
|
|
|
}
|
|
|
|
|
|
return ['code' => 1, 'msg' => '操作失败'];
|