zhangdehua 1 gadu atpakaļ
vecāks
revīzija
83ccfff80c

+ 10 - 0
app/api/controller/Test.php

@@ -8,8 +8,10 @@ use app\api\model\User as UserModel;
 use app\common\enum\order\PayType as OrderPayTypeEnum;
 use app\common\enum\order\ReceiptStatus as ReceiptStatusEnum;
 use app\common\service\Message;
+use app\console\service\WxDelivery;
 use app\store\model\card\UserRiceDelivery as UserRiceDeliveryModel;
 use app\store\model\card\UserRiceDeliveryExpress as UserRiceDeliveryExpressModel;
+use app\store\service\wxApi\WxOrderLogistics;
 use PhpOffice\PhpSpreadsheet\Spreadsheet;
 use PhpOffice\PhpSpreadsheet\IOFactory;
 use PhpOffice\PhpSpreadsheet\Writer\Xls;
@@ -59,6 +61,14 @@ class Test extends Controller
 
 
     public function tj(){
+        $ds = WxOrderLogistics::getDeliveryList();
+        dd($ds);
+        dd('a');
+        //
+
+        $wxDeliveryServ = new WxDelivery();
+        $wxDeliveryServ->pullOrderStatus(10001);
+        dd('sss');
         $key = 'key1000';
         $rds = new Redis(config('cache.stores.redis'));
         $value = $rds->get($key);

+ 20 - 9
app/store/service/wxApi/WxOrderLogistics.php

@@ -1,5 +1,5 @@
 <?php
-namespace app\store\service\store;
+namespace app\store\service\wxApi;
 
 use app\common\service\BaseService;
 use app\common\service\MpWxService;
@@ -57,12 +57,12 @@ class WxOrderLogistics extends BaseService
         $params['shipping_list'] = [$shippingInfo];
 
         $nowStr = date('Y-m-d H:i:s');
-        $data = explode($nowStr, ' ')
+        $data = explode(' ',$nowStr);
         $params['upload_time'] = $data[0].'T'.$data[1].'.000+08:00';
         $params['payer'] = [
             'openid' => $payerOpenId
         ];
-
+        dd($params);
         $ret = curl_post($url, json_encode($params));
         $arr = json_decode($ret);
 
@@ -71,6 +71,7 @@ class WxOrderLogistics extends BaseService
 
     /**
      * 发货订单信息,如果发货物流公司是顺丰,必须保证有发件人和收件人信息,并且发件人收件人信息需要打掩码:`189****1234, 021-****1234, ****1234, 0**2-***1234, 0**2-******23-10, ****123-8008` 值限制: 0 ≤ value ≤ 1024
+     * @param $storeId
      * @param $outTradeNo
      * @param $expressCompany
      * @param $trackingNo
@@ -80,7 +81,7 @@ class WxOrderLogistics extends BaseService
      * @param $receiverContact
      * @return object
      */
-    public static function orderDeliveryByOutTradeNo($outTradeNo, $expressCompany, $trackingNo, $goodsDesc, $payerOpenId, $consignorContact, $receiverContact)
+    public static function orderDeliveryByOutTradeNo($storeId,$outTradeNo, $expressCompany, $trackingNo, $goodsDesc, $payerOpenId, $consignorContact, $receiverContact)
     {
         $weixinToken = MpWxService::weixinTokenCache();
         $accessToken = $weixinToken['access_token'];
@@ -88,11 +89,11 @@ class WxOrderLogistics extends BaseService
 
         $params['access_token'] = $accessToken;
 
-        $mchId = WxappModel::getWxappCache($order['store_id']);
+        $wxConfig = WxappModel::getWxappCache($storeId);
 
         $params['order_key'] = [
             'order_number_type' => 1,
-            'mchid' => $mchId,
+            'mchid' => $wxConfig['mchid'],
             'out_trade_no' => $outTradeNo,
         ];
         $params['logistics_type'] = 1; 
@@ -119,7 +120,7 @@ class WxOrderLogistics extends BaseService
         $params['shipping_list'] = [$shippingInfo];
 
         $nowStr = date('Y-m-d H:i:s');
-        $data = explode($nowStr, ' ')
+        $data = explode($nowStr, ' ');
         $params['upload_time'] = $data[0].'T'.$data[1].'.000+08:00';
         $params['payer'] = [
             'openid' => $payerOpenId
@@ -153,16 +154,17 @@ class WxOrderLogistics extends BaseService
 
         /**
      * 根据outTradeNo获得订单状态,状态字段:order_state:订单状态枚举:(1) 待发货;(2) 已发货;(3) 确认收货;(4) 交易完成;(5) 已退款。
+     * @param $storeId
      * @param $outTradeNo
      * @return object
      */
-    public static function getOrderStatusByOutTradeNo($outTradeNo) {
+    public static function getOrderStatusByOutTradeNo($storeId, $outTradeNo) {
         $weixinToken = MpWxService::weixinTokenCache();
         $accessToken = $weixinToken['access_token'];
         $url = "https://api.weixin.qq.com/wxa/sec/order/get_order?access_token=".$accessToken;
 
         $params['access_token'] = $accessToken;
-        $mchId = WxappModel::getWxappCache($order['store_id']);
+        $mchId = WxappModel::getWxappCache($storeId);
         $params['merchant_id'] = $mchId;
         $params['merchant_trade_no'] = $outTradeNo;
 
@@ -171,4 +173,13 @@ class WxOrderLogistics extends BaseService
 
         return $arr;
     }
+
+    public static function getDeliveryList(){
+        $weixinToken = MpWxService::weixinTokenCache();
+        $accessToken = $weixinToken['access_token'];
+        $url = 'https://api.weixin.qq.com/cgi-bin/express/delivery/open_msg/get_delivery_list?access_token='.$accessToken;
+        $params = [];
+        $ret = curl_post($url, json_encode($params));
+        return json_decode($ret);
+    }
 }