canyin-project/ybcy/controllers/channelApi/DeliveryNoticeController.php

159 lines
6.3 KiB
PHP
Raw Permalink Normal View History

2024-11-01 16:07:54 +08:00
<?php
namespace app\controllers\channelApi;
use Illuminate\Support\Facades\DB;
use Yii;
use yii\web\Controller;
use app\models\common\WeChat;
use app\models\common\CallbackOrder;
use app\models\common\Order;
use app\models\common\Delivery;
use EasyWeChat\Factory;
class DeliveryNoticeController extends Controller{
public $enableCsrfValidation = false;
//达达回调地址信息
public function actionDadaNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$data = json_decode($input, true);
Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'outTradeNo=:outTradeNo', ['outTradeNo' =>$data['order_id']])->execute();
$order=$table=(new \yii\db\Query())
->select('*')
->from('{{%ybwm_takeout_order}}')
->where('outTradeNo=:outTradeNo',[':outTradeNo'=>$data['order_id']])->one();
if($data['order_status']==4){
Order::receiving($order['id']);
}
/* if($data['order_status']==5){
Delivery::addDataOrder($order, 'yb_wm', 2);
}*/
return "{'status':'ok'}";
}
//闪送回调地址信息
public function actionSansongNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$data = json_decode($input, true);
Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'outTradeNo=:outTradeNo', ['outTradeNo' =>$data['orderNo']])->execute();
if($data['status']==50){
$order=$table=(new \yii\db\Query())
->select('id,storeId,state,deliveryMode')
->from('{{%ybwm_takeout_order}}')
->where('outTradeNo=:outTradeNo',[':outTradeNo'=>$data['orderNo']])->one();
Order::receiving($order['id']);
}
return '{"status":200,"msg":"","data":""}';
}
//顺丰回调地址信息
public function actionShunfengNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$data = json_decode($input, true);
Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'outTradeNo=:outTradeNo', ['outTradeNo' =>$data['shop_order_id']])->execute();
if($data['order_status']==17){
$order=$table=(new \yii\db\Query())
->select('id,storeId,state,deliveryMode')
->from('{{%ybwm_takeout_order}}')
->where('outTradeNo=:outTradeNo',[':outTradeNo'=>$data['shop_order_id']])->one();
Order::receiving($order['id']);
}
return '{"error_code":0,"error_msg":"success"}';
}
//点我达回调地址信息
public function actionDianwodaNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$data = json_decode($input, true);
Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'outTradeNo=:outTradeNo', ['outTradeNo' =>$data['content']['order_original_id']])->execute();
return '{"code":"success"}';
}
//uu跑腿回调地址信息
public function actionUuptNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$input=substr($input,5,strlen($input));
$data = json_decode($input, true);
Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'outTradeNo=:outTradeNo', ['outTradeNo' =>$data['origin_id']])->execute();
if($data['state']==10){
$order=$table=(new \yii\db\Query())
->select('id,storeId,state,deliveryMode')
->from('{{%ybwm_takeout_order}}')
->where('outTradeNo=:outTradeNo',[':outTradeNo'=>$data['origin_id']])->one();
Order::receiving($order['id']);
}
return '{"return_code":"ok"}';
}
//码科回调地址信息
public function actionMakeNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$data = json_decode($input, true);
$res=Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'makeOrder=:makeOrder', [':makeOrder' =>$data['order_no']])->execute();
if(!$res){
return 'false';
}
if($data['status']=='gotoed'){
$order=$table=(new \yii\db\Query())
->select('id,storeId,state,deliveryMode')
->from('{{%ybwm_takeout_order}}')
->where('makeOrder=:makeOrder',[':makeOrder'=>$data['order_no']])->one();
Order::receiving($order['id']);
}
return 'success';
}
//蜂鸟回调地址信息
public function actionFengniaoNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$data = json_decode($input, true);
$newArr=json_decode(URLdecode($data['data']),true);
Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'outTradeNo=:outTradeNo', ['outTradeNo' =>$newArr['partner_order_code']])->execute();
if($newArr['order_status']==3){
$order=$table=(new \yii\db\Query())
->select('id,storeId,state,deliveryMode')
->from('{{%ybwm_takeout_order}}')
->where('outTradeNo=:outTradeNo',[':outTradeNo'=>$newArr['partner_order_code']])->one();
Order::receiving($order['id']);
}
return 'success';
}
public function actionYunbeiNotice()
{
$input = file_get_contents('php://input');
$isxml = true;
$data = json_decode($input, true);
Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['otherInfo'=>$input], 'outTradeNo=:outTradeNo', ['outTradeNo' =>$data['result']['originOutTradeNo']])->execute();
if($data['result']['orderState']==5){
$order=$table=(new \yii\db\Query())
->select('id,storeId,state,deliveryMode')
->from('{{%ybwm_takeout_order}}')
->where('outTradeNo=:outTradeNo',[':outTradeNo'=>$data['result']['originOutTradeNo']])->one();
// Yii::$app->db->createCommand()->update('{{%ybwm_takeout_order}}',['sex'=>'cesi'], 'id=:id', ['id' =>$order['id']])->execute();
Order::receiving($order['id']);
}
return 'success';
}
}