|
|
@@ -3,6 +3,7 @@
|
|
|
namespace ghs\controllers;
|
|
|
|
|
|
use biz\sj\services\MerchantExtendService;
|
|
|
+use bizGhs\express\services\DadaExpressServices;
|
|
|
use bizHd\wx\classes\WxOpenClass;
|
|
|
use bizGhs\admin\classes\AdminClass;
|
|
|
use bizGhs\custom\classes\CustomClass;
|
|
|
@@ -246,7 +247,48 @@ class OrderController extends BaseController
|
|
|
//运费计算 shish 2021.1.24
|
|
|
public function actionFreight()
|
|
|
{
|
|
|
- util::success(['sedCost' => 20]);
|
|
|
+ //2021.3.28 接入达达
|
|
|
+ $get = Yii::$app->request->get();
|
|
|
+ $orderId = $get['id']??0; //订单ID
|
|
|
+ $customId = $get['customId']??0;
|
|
|
+ $province = $get['province']??'';
|
|
|
+ $city = $get['city']??'';
|
|
|
+ $address = $get['address']??'';
|
|
|
+ $floor = $get['floor']??'';
|
|
|
+ $fullAddress = $province.$city.$address.$floor;
|
|
|
+ $sendTime = $get['sendTime']??'';
|
|
|
+ $lat = $get['lat']??'';
|
|
|
+ $lng = $get['long']??'';
|
|
|
+ if(empty($lat) || empty($lng) || empty($fullAddress)) {
|
|
|
+ util::fail('请选择配送地址');
|
|
|
+ }
|
|
|
+ if(!empty($sendTime)){
|
|
|
+ //配送时间不为空
|
|
|
+ // 预约发单时间(预约时间unix时间戳(10位),精确到分;整分钟为间隔,并且需要至少提前5分钟预约
|
|
|
+ $sendTimeInt = strtotime($sendTime);
|
|
|
+ $now = time();
|
|
|
+ $diff = $sendTimeInt - $now;
|
|
|
+ //因服务器写入时间,改为至少提前6分钟
|
|
|
+ if($diff <= 360){
|
|
|
+ util::fail('配送时间至少提前6分钟');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //更新订单表
|
|
|
+ $info = OrderClass::getOrderInfo($orderId);
|
|
|
+ OrderClass::valid($info, $this->shopId);
|
|
|
+ $expressAddInfo = [
|
|
|
+ 'province'=>$province,
|
|
|
+ 'city'=>$city,
|
|
|
+ 'address'=>$address,
|
|
|
+ 'floor'=>$floor,
|
|
|
+ 'lat'=>$lat,
|
|
|
+ 'long'=>$lng,
|
|
|
+ 'sendTime'=>date('Y-m-d H:i', strtotime($sendTime)),
|
|
|
+ ];
|
|
|
+ OrderClass::updateCustomExpressInfo($orderId,$expressAddInfo);
|
|
|
+ //计算运费
|
|
|
+ $res = DadaExpressServices::queryDeliverFee($info);
|
|
|
+ util::success(['sedCost' => $res['fee']]);
|
|
|
}
|
|
|
|
|
|
//发快递和第三方配送 shish 2021.1.24
|