|
|
@@ -7,19 +7,39 @@
|
|
|
namespace bizGhs\express\services;
|
|
|
|
|
|
|
|
|
+use biz\shop\classes\ShopExpressClass;
|
|
|
+use biz\sj\classes\SjExpressClass;
|
|
|
+use bizGhs\order\classes\OrderClass;
|
|
|
+use common\components\dada\dada;
|
|
|
+use common\components\util;
|
|
|
+use Yii;
|
|
|
class DadaExpressServices
|
|
|
{
|
|
|
//根据订单号,发快递
|
|
|
- public static function addOrder($orderSn)
|
|
|
+ public static function addOrder($orderInfo)
|
|
|
{
|
|
|
- //
|
|
|
+ if(empty($orderInfo)){
|
|
|
+ util::fail("订单不存在");
|
|
|
+ }
|
|
|
+ $sjId = $orderInfo['merchantId'];
|
|
|
+ $sourceId = SjExpressClass::getSourceId($sjId);
|
|
|
+ $orderParams = self::orderParams($orderInfo);
|
|
|
+ $res = dada::addOrder($sourceId,$orderParams);
|
|
|
+ return $res;
|
|
|
}
|
|
|
|
|
|
//根据订单号,运费计算
|
|
|
- public static function queryDeliverFee($orderSn)
|
|
|
+ public static function queryDeliverFee($orderInfo)
|
|
|
{
|
|
|
//
|
|
|
-
|
|
|
+ if(empty($orderInfo)){
|
|
|
+ util::fail("订单不存在");
|
|
|
+ }
|
|
|
+ $sjId = $orderInfo['merchantId'];
|
|
|
+ $sourceId = SjExpressClass::getSourceId($sjId);
|
|
|
+ $orderParams = self::orderParams($orderInfo);
|
|
|
+ $res = dada::queryDeliverFee($sourceId,$orderParams);
|
|
|
+ return $res;
|
|
|
}
|
|
|
|
|
|
//取消订单
|
|
|
@@ -28,6 +48,41 @@ class DadaExpressServices
|
|
|
//
|
|
|
}
|
|
|
|
|
|
+ //组装订单参数
|
|
|
+ public static function orderParams($orderInfo)
|
|
|
+ {
|
|
|
+ $sjId = $orderInfo['merchantId'];
|
|
|
+ $online = Yii::$app->params['dadaOnline'];
|
|
|
+ $shopId = $orderInfo['shopId'];
|
|
|
+
|
|
|
+ $orderSn = $orderInfo['orderSn'];
|
|
|
+ //获取快递方 商户id, 跟门店id
|
|
|
+ $shopNo = ShopExpressClass::getShopNo($sjId,$shopId);
|
|
|
+ if(!$online){
|
|
|
+ $shopNo = '11047059';
|
|
|
+ }
|
|
|
+ $params = [
|
|
|
+ 'shop_no'=>$shopNo,
|
|
|
+ 'origin_id'=>$orderSn,
|
|
|
+ 'city_code'=>'0592', //厦门 暂写死
|
|
|
+ 'cargo_price'=>(float)$orderInfo['actPrice'], //订单金额(单位:元) 实际支付价格?
|
|
|
+ 'is_prepay'=>0, // 是否需要垫付 1:是 0:否 (垫付订单金额,非运费)
|
|
|
+ 'receiver_name'=>$orderInfo['customName'], //收货人姓名
|
|
|
+ 'receiver_address'=>$orderInfo['fullAddress'], //收货人地址
|
|
|
+ 'receiver_lat' =>(float)$orderInfo['lat'], // 存的是百度经纬度,需要转高德经纬度
|
|
|
+ 'receiver_lng' =>(float)$orderInfo['long'], // 存的是百度经纬度,需要转高德经纬度
|
|
|
+ 'callback'=> Yii::$app->params['ghsHost'].'/notice/express-callback',
|
|
|
+ 'cargo_weight'=>0.01,//订单重量(单位:Kg)
|
|
|
+ 'receiver_phone'=>$orderInfo['customMobile'],//否 收货人手机号(手机号和座机号必填一项)
|
|
|
+ 'info'=>'',//备注
|
|
|
+ 'cargo_type'=>3, //类型:鲜花
|
|
|
+ 'cargo_num'=>(int)$orderInfo['bigNum'],
|
|
|
+ 'origin_mark_no'=>'#销花宝#',
|
|
|
+ 'delay_publish_time'=>strtotime($orderInfo['sendTime']),
|
|
|
+ ];
|
|
|
+ return $params;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|