文件
mashangyoujiu/Application/Common/Lib/MaiyatianEvent.class.php

65 行
2.6 KiB
PHP
可执行文件

<?php
namespace Common\Lib;
class MaiyatianEvent {
public function orderConfirm($data) {
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/orderConfirm.txt', var_export($data, true));
}
public function orderChange($data) {
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/orderChange.txt', var_export($data, true));
}
public function multiRiderLocation($data) {
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/multiRiderLocation.txt', var_export($data, true));
}
public function orderDetail($data) {
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/orderDetail.txt', var_export($data, true));
}
public function orderList($data) {
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/orderList.txt', var_export($data, true));
}
public function deliveryChange($data) {
if ($data['status'] === 'DONE') {
(new Maiyatian($data['shop_id']))->orderDone($data['order_id']);
}
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/deliveryChange.txt', var_export($data, true));
$data['store_id'] = $data['shop_id'];
$delivery = new \Common\Model\RetailMaiyatianDeliveryModel();
if (!$delivery->where(['order_id' => $data['order_id'], 'store_id' => $data['store_id'], 'status' => $data['status']])->count()) {
$delivery->add($data);
$billOrder = (new \Common\Model\RetailBillOrderModel)->field('id')->where(['order_no' => $data['order_id']])->find();
$status = null;
if ($data['status'] === 'PENDING') {
$status = 1;
} else if (in_array($data['status'], ['GRABBED', 'PICKUP', 'DELIVERING'])) {
$status = 2;
} else if ($data['status'] === 'DONE') {
$status = 3;
}
if (!is_null($status)) {
(new \Common\Model\RetailBillOnlineModel)->where(['bill_id' => $billOrder['id']])->save([
'status' => $status
]);
}
if ($data['status'] === 'GRABBED') {
$result = (new Maiyatian($data['shop_id']))->queryOrder($data['order_id']);
if (is_array($result) && isset($result['delivery'])) {
(new \Common\Model\RetailMaiyatianOrderModel)->where(['order_id' => $data['order_id']])->save([
'delivery_fee' => $result['delivery']['send_fee'] / 100
]);
}
}
}
return [
'code' => 200,
'message' => 'ok'
];
}
}