- 新增聚水潭回调接口及事件处理机制 - 添加聚水潭商品、订单、售后同步任务 - 实现聚水潭订单推送及售后状态同步 - 新增手动同步聚水潭商品功能 - 在各路由组添加聚水潭中间件支持
87 lines
2.9 KiB
PHP
87 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace app\haichao;
|
|
|
|
use app\http\middleware\InstallMiddleware;
|
|
use app\Request;
|
|
use app\services\order\StoreOrderServices;
|
|
use think\Response;
|
|
use think\route\RuleItem;
|
|
use app\haichao\callback\JstCallbackEventManager;
|
|
use think\exception\ValidateException;
|
|
use think\facade\Log;
|
|
|
|
class HaichaoAop extends InstallMiddleware
|
|
{
|
|
public function handle(Request $request, \Closure $next)
|
|
{
|
|
$haichaoJstServices = HaichaoJstServices::getServices();
|
|
/** @var RuleItem $rule */
|
|
$rule = $request->rule();
|
|
Log::info('jst.aop.route ' . $rule->getName());
|
|
switch ($rule->getName()) {
|
|
case 'StoreOrderSplitDelivery':
|
|
case 'StoreOrderUpdateDelivery':
|
|
{
|
|
$postInfo = $request->getMore(['delivery_name', 'delivery_id']);
|
|
$param = $request->param();
|
|
Log::info('jst.aop.delivery ' . json_encode([$postInfo, $param], JSON_UNESCAPED_UNICODE));
|
|
$haichaoJstServices->updateStoreOrderDelivery($postInfo['delivery_id'] ?? '', $postInfo['delivery_name'] ?? '', $param['id'] ?? 0);
|
|
$rt = $next($request);
|
|
break;
|
|
}
|
|
case 'StoreOrderApplRefund':
|
|
{
|
|
$orderId = $request->param(['id'])['id'] ?? 0;
|
|
Log::info('jst.aop.apply_refund ' . $orderId);
|
|
$rt = $next($request);
|
|
break;
|
|
}
|
|
case 'StoreOrderUpdateRefund':
|
|
{
|
|
$param = $request->param();
|
|
$orderId = $param['id'] ?? 0;
|
|
Log::info('jst.aop.update_refund ' . $orderId);
|
|
$rt = $next($request);
|
|
break;
|
|
}
|
|
case 'StoreOrderRefundRemark':
|
|
{
|
|
$orderId = $request->param(['id'])['id'] ?? 0;
|
|
Log::info('jst.aop.refund_remark ' . $orderId);
|
|
$rt = $next($request);
|
|
break;
|
|
}
|
|
case 'StoreOrderorRemark':
|
|
{
|
|
$orderId = $request->param(['id'])['id'] ?? 0;
|
|
Log::info('jst.aop.remark ' . $orderId);
|
|
$rt = $next($request);
|
|
break;
|
|
}
|
|
case 'orderPay':
|
|
{
|
|
$rt = $next($request);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
$rt = $next($request);
|
|
}
|
|
}
|
|
|
|
// $actionCode = $request->getMore(['action_code'])['action_code'] ?? '';
|
|
// if ($actionCode) {
|
|
// try {
|
|
// Log::info('jst.aop.callback ' . $actionCode);
|
|
// return JstCallbackEventManager::callback($request);
|
|
// } catch (\Throwable $e) {
|
|
// Log::error('jst.aop.callback.err ' . $e->getMessage());
|
|
// return Response::create(['msg' => 'callback error ' . $e->getMessage()], 'json');
|
|
// }
|
|
// }
|
|
|
|
return $rt;
|
|
}
|
|
}
|