|
|
@@ -1,8 +1,10 @@
|
|
|
<?php
|
|
|
namespace common\components\delivery\platform\fengniao;
|
|
|
|
|
|
+use bizGhs\express\classes\DeliveryAuthTokenClass;
|
|
|
use bizGhs\express\classes\GhsDeliveryOrderClass;
|
|
|
use bizGhs\order\classes\OrderClass;
|
|
|
+use Yii;
|
|
|
|
|
|
//回调业务类型
|
|
|
const TYPE_ORDER_STATUS_NOTIFY = 'orderStatusNotify'; //订单状态回调
|
|
|
@@ -65,6 +67,7 @@ class CallBackNotify
|
|
|
*/
|
|
|
private function handleAbnormalReportNotify($data)
|
|
|
{
|
|
|
+ Yii::info('蜂鸟异常报备回调: ' . json_encode($data, JSON_UNESCAPED_UNICODE), 'fengniao');
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
@@ -75,6 +78,7 @@ class CallBackNotify
|
|
|
*/
|
|
|
private function handleCookingFinishNotify($data)
|
|
|
{
|
|
|
+ Yii::info('蜂鸟商户出餐回调: ' . json_encode($data, JSON_UNESCAPED_UNICODE), 'fengniao');
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
@@ -85,7 +89,62 @@ class CallBackNotify
|
|
|
*/
|
|
|
private function handleChainstoreStatusNotify($data)
|
|
|
{
|
|
|
- return $data;
|
|
|
+ Yii::info('蜂鸟门店状态变更回调: ' . json_encode($data, JSON_UNESCAPED_UNICODE), 'fengniao');
|
|
|
+
|
|
|
+ $statusMap = [
|
|
|
+ 10 => '上架审核中',
|
|
|
+ 20 => '正常(已上架)',
|
|
|
+ 30 => '上架审核失败',
|
|
|
+ 40 => '已冻结',
|
|
|
+ 50 => '已下架',
|
|
|
+ ];
|
|
|
+
|
|
|
+ $modifyStatusMap = [
|
|
|
+ 0 => '无修改',
|
|
|
+ 10 => '资料修改审核中',
|
|
|
+ 20 => '审核通过',
|
|
|
+ 30 => '审核驳回',
|
|
|
+ ];
|
|
|
+
|
|
|
+ $merchantId = $data['merchant_id'];
|
|
|
+ $chainStoreId = $data['chain_store_id'];
|
|
|
+ $outShopCode = $data['out_shop_code'];
|
|
|
+ $status = isset($data['status']) ? (int)$data['status'] : null;
|
|
|
+ $modifyStatus = isset($data['modify_status']) ? (int)$data['modify_status'] : null;
|
|
|
+ $remark = $data['remark'] ?? '';
|
|
|
+
|
|
|
+ $normalizedPayload = [
|
|
|
+ 'merchant_id' => $merchantId,
|
|
|
+ 'chain_store_id' => $chainStoreId,
|
|
|
+ 'out_shop_code' => $outShopCode,
|
|
|
+ 'status' => [
|
|
|
+ 'code' => $status,
|
|
|
+ 'desc' => $status !== null ? ($statusMap[$status] ?? '未知状态') : '',
|
|
|
+ ],
|
|
|
+ 'modify_status' => [
|
|
|
+ 'code' => $modifyStatus,
|
|
|
+ 'desc' => $modifyStatus !== null ? ($modifyStatusMap[$modifyStatus] ?? '未知状态') : '',
|
|
|
+ ],
|
|
|
+ 'remark' => $remark,
|
|
|
+ ];
|
|
|
+
|
|
|
+ $condition = ['mainId' => $outShopCode, 'platform' => 'fengniao'];
|
|
|
+ $tokenModel = DeliveryAuthTokenClass::getByCondition($condition, true);
|
|
|
+ if (!$tokenModel) {
|
|
|
+ Yii::warning('蜂鸟门店状态回调未匹配到授权记录: ' . json_encode($condition, JSON_UNESCAPED_UNICODE), 'fengniao');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ $tokenModel->callBack = json_encode($normalizedPayload, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
+ $tokenModel->merchantId = $merchantId;
|
|
|
+ $tokenModel->shopId = $chainStoreId;
|
|
|
+
|
|
|
+ if ($tokenModel->save() === false) {
|
|
|
+ Yii::error('蜂鸟门店状态回调保存失败: ' . json_encode($tokenModel->getErrors(), JSON_UNESCAPED_UNICODE), 'fengniao');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -95,6 +154,7 @@ class CallBackNotify
|
|
|
*/
|
|
|
private function handleChainstoreServiceStatusNotify($data)
|
|
|
{
|
|
|
+ Yii::info('蜂鸟门店采购服务变更回调: ' . json_encode($data, JSON_UNESCAPED_UNICODE), 'fengniao');
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
@@ -105,6 +165,7 @@ class CallBackNotify
|
|
|
*/
|
|
|
private function handleChainstoreBusinessTimeNotify($data)
|
|
|
{
|
|
|
+ Yii::info('蜂鸟门店营业时间变更回调: ' . json_encode($data, JSON_UNESCAPED_UNICODE), 'fengniao');
|
|
|
return $data;
|
|
|
}
|
|
|
}
|