init: import production code mss.nahaichuan.com (exclude Runtime/Uploads/backups/logs)
这个提交包含在:
@@ -0,0 +1,193 @@
|
||||
<?php
|
||||
|
||||
namespace NotifyApi\Controller;
|
||||
|
||||
use Think\Controller;
|
||||
|
||||
//[1.4.13]
|
||||
|
||||
/**
|
||||
* 达达订单回调
|
||||
* Class DaDaController
|
||||
* @package NotifyApi\Controller
|
||||
*/
|
||||
class DaDaController extends Controller
|
||||
{
|
||||
public function orderCallBack()
|
||||
{
|
||||
$data = $GLOBALS['HTTP_RAW_POST_DATA'];
|
||||
$data = json_decode($data, true);
|
||||
file_put_contents('./NotifyDaDa.txt', json_encode($data) . "\r\n", FILE_APPEND);
|
||||
if ($data['order_status'] == 1) {
|
||||
//下单回调
|
||||
$DaOrderModel = D('RetailDaOrder');
|
||||
$dMap = array(
|
||||
'order_no' => $data['order_id'],
|
||||
);
|
||||
$daOrder = $DaOrderModel->getOrderFind($dMap,"*",'id desc');
|
||||
if (!empty($daOrder)) {
|
||||
$save = array(
|
||||
$DaOrderModel::UPDATE_TIME => $data['update_time'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
$DaOrderModel::CLIENT_ID => $data['client_id'],
|
||||
$DaOrderModel::ORDER_STATUS => $data['order_status'],
|
||||
);
|
||||
$update = $DaOrderModel->updateOrder(array('id'=>$daOrder['id']), $save);
|
||||
}
|
||||
} else if ($data['order_status'] == 2) {
|
||||
//接单回调
|
||||
$DaOrderModel = D('RetailDaOrder');
|
||||
$dMap = array(
|
||||
'order_no' => $data['order_id'],
|
||||
'client_id' => $data['client_id']
|
||||
);
|
||||
$daOrder = $DaOrderModel->getOrderFind($dMap,"*",'id desc');
|
||||
if ($data['update_time'] > $daOrder['update_time']) {
|
||||
$save = array(
|
||||
$DaOrderModel::UPDATE_TIME => $data['update_time'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
$DaOrderModel::ORDER_STATUS => $data['order_status'],
|
||||
$DaOrderModel::DM_ID => $data['dm_id'],
|
||||
$DaOrderModel::DM_NAME => $data['dm_name'],
|
||||
$DaOrderModel::DM_MOBILE => $data['dm_mobile'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
);
|
||||
$DaOrderModel->updateOrder($dMap, $save);
|
||||
}
|
||||
} else if ($data['order_status'] == 3) {
|
||||
//取货回调
|
||||
$DaOrderModel = D('RetailDaOrder');
|
||||
$dMap = array(
|
||||
'order_no' => strval($data['order_id']),
|
||||
'client_id' => strval($data['client_id']),
|
||||
);
|
||||
$daOrder = $DaOrderModel->getFind($dMap);
|
||||
if ($data['update_time'] > $daOrder[$DaOrderModel::UPDATE_TIME]) {
|
||||
$save = array(
|
||||
$DaOrderModel::UPDATE_TIME => $data['update_time'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
$DaOrderModel::ORDER_STATUS => $data['order_status'],
|
||||
$DaOrderModel::DM_MOBILE => $data['dm_mobile'],
|
||||
);
|
||||
$update = $DaOrderModel->updateOrder($dMap, $save);
|
||||
if ($update) {
|
||||
$BillModel = D('RetailBillOrder');
|
||||
$billOrder = $BillModel->getFind(array($BillModel::ORDER_NO => $data['order_id']));
|
||||
if (!empty($billOrder)) {
|
||||
$OnlineModel = D('RetailBillOnline');
|
||||
$OnlineModel->updateOrder(array($OnlineModel::BILL_ID => $billOrder[$BillModel::ID]), array($OnlineModel::STATUS => 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($data['order_status'] == 4) {
|
||||
//完成回调
|
||||
$DaOrderModel = D('RetailDaOrder');
|
||||
$dMap = array(
|
||||
$DaOrderModel::ORDER_NO => strval($data['order_id']),
|
||||
$DaOrderModel::CLIENT_ID => strval($data['client_id']),
|
||||
);
|
||||
$daOrder = $DaOrderModel->getFind($dMap);
|
||||
if ($data['update_time'] > $daOrder[$DaOrderModel::UPDATE_TIME]) {
|
||||
$save = array(
|
||||
$DaOrderModel::UPDATE_TIME => $data['update_time'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
$DaOrderModel::ORDER_STATUS => $data['order_status'],
|
||||
);
|
||||
$update = $DaOrderModel->updateOrder($dMap, $save);
|
||||
if ($update) {
|
||||
$BillModel = D('RetailBillOrder');
|
||||
$billOrder = $BillModel->getFind(array($BillModel::ORDER_NO => $data['order_id']));
|
||||
if (!empty($billOrder)) {
|
||||
$OnlineModel = D('RetailBillOnline');
|
||||
$OnlineModel->updateOrder(array($OnlineModel::BILL_ID => $billOrder[$BillModel::ID]), array($OnlineModel::STATUS => 3));
|
||||
if($billOrder['order_type'] == 3){
|
||||
//换货订单
|
||||
$BillModel->updateOrder(array("id"=>$billOrder['id']),array("refund_status"=>2));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($data['order_status'] == 5) {
|
||||
//配送员取消订单回调
|
||||
$DaOrderModel = D('RetailDaOrder');
|
||||
$dMap = array(
|
||||
$DaOrderModel::ORDER_NO => strval($data['order_id']),
|
||||
$DaOrderModel::CLIENT_ID => strval($data['client_id']),
|
||||
);
|
||||
$daOrder = $DaOrderModel->getFind($dMap);
|
||||
if ($data['update_time'] > $daOrder[$DaOrderModel::UPDATE_TIME]) {
|
||||
$save = array(
|
||||
$DaOrderModel::UPDATE_TIME => $data['update_time'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
$DaOrderModel::ORDER_STATUS => $data['order_status'],
|
||||
$DaOrderModel::CANCEL_FROM => $data['cancel_from'],
|
||||
);
|
||||
if($data['cancel_reason']){
|
||||
$save[$DaOrderModel::CANCEL_REASON ] = $data['cancel_reason'];
|
||||
}
|
||||
$update = $DaOrderModel->updateOrder($dMap, $save);
|
||||
if ($update) {
|
||||
$BillModel = D('RetailBillOrder');
|
||||
$billOrder = $BillModel->getFind(array($BillModel::ORDER_NO => $data['order_id']));
|
||||
if (!empty($billOrder)) {
|
||||
$OnlineModel = D('RetailBillOnline');
|
||||
$OnlineModel->updateOrder(array($OnlineModel::BILL_ID => $billOrder[$BillModel::ID]), array($OnlineModel::DELIVERY_TYPE => 1, $OnlineModel::CANCEL_DELIVERY_STATUS => 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($data['order_status'] == 7) {
|
||||
//过期回调
|
||||
$DaOrderModel = D('RetailDaOrder');
|
||||
$dMap = array(
|
||||
$DaOrderModel::ORDER_NO => strval($data['order_id']),
|
||||
$DaOrderModel::CLIENT_ID => strval($data['client_id']),
|
||||
);
|
||||
$daOrder = $DaOrderModel->getFind($dMap);
|
||||
if ($data['update_time'] > $daOrder[$DaOrderModel::UPDATE_TIME]) {
|
||||
$save = array(
|
||||
$DaOrderModel::UPDATE_TIME => $data['update_time'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
$DaOrderModel::ORDER_STATUS => $data['order_status'],
|
||||
$DaOrderModel::CANCEL_FROM => 0,
|
||||
$DaOrderModel::CANCEL_REASON => '',
|
||||
);
|
||||
$update = $DaOrderModel->updateOrder($dMap, $save);
|
||||
if ($update) {
|
||||
$BillModel = D('RetailBillOrder');
|
||||
$billOrder = $BillModel->getFind(array($BillModel::ORDER_NO => $data['order_id']));
|
||||
if (!empty($billOrder)) {
|
||||
$OnlineModel = D('RetailBillOnline');
|
||||
$OnlineModel->updateOrder(array($OnlineModel::BILL_ID => $billOrder[$BillModel::ID]), array($OnlineModel::DELIVERY_TYPE => 1, $OnlineModel::CANCEL_DELIVERY_STATUS => 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($data['order_status'] == 9) {
|
||||
//拒绝配送回调
|
||||
//过期回调
|
||||
$DaOrderModel = D('RetailDaOrder');
|
||||
$dMap = array(
|
||||
$DaOrderModel::ORDER_NO => strval($data['order_id']),
|
||||
$DaOrderModel::CLIENT_ID => strval($data['client_id']),
|
||||
);
|
||||
$daOrder = $DaOrderModel->getFind($dMap);
|
||||
if ($data['update_time'] > $daOrder[$DaOrderModel::UPDATE_TIME]) {
|
||||
$save = array(
|
||||
$DaOrderModel::UPDATE_TIME => $data['update_time'],
|
||||
$DaOrderModel::SIGNATURE => $data['signature'],
|
||||
$DaOrderModel::ORDER_STATUS => $data['order_status'],
|
||||
$DaOrderModel::CANCEL_FROM => 0,
|
||||
$DaOrderModel::CANCEL_REASON => '',
|
||||
);
|
||||
$update = $DaOrderModel->updateOrder($dMap, $save);
|
||||
if ($update) {
|
||||
$BillModel = D('RetailBillOrder');
|
||||
$billOrder = $BillModel->getFind(array($BillModel::ORDER_NO => $data['order_id']));
|
||||
if (!empty($billOrder)) {
|
||||
$OnlineModel = D('RetailBillOnline');
|
||||
$OnlineModel->updateOrder(array($OnlineModel::BILL_ID => $billOrder[$BillModel::ID]), array($OnlineModel::CANCEL_DELIVERY_STATUS => 2, $OnlineModel::STATUS => 1, $OnlineModel::DELIVERY_TYPE => 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户