feat(haichao): 新增聚水潭ERP集成功能
- 新增聚水潭回调接口及事件处理机制 - 添加聚水潭商品、订单、售后同步任务 - 实现聚水潭订单推送及售后状态同步 - 新增手动同步聚水潭商品功能 - 在各路由组添加聚水潭中间件支持
This commit is contained in:
86
app/haichao/HaichaoAop.php
Normal file
86
app/haichao/HaichaoAop.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user