42 lines
2.1 KiB
PHP
42 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace App\Endpoint\Callback\Http\Controllers;
|
|
|
|
use App\Services\Kuaidi100Service;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Throwable;
|
|
|
|
class Kuaidi100Controller extends Controller
|
|
{
|
|
/**
|
|
* 回调推送处理
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return void
|
|
*/
|
|
public function notify(Request $request, Kuaidi100Service $kuaidi100Service)
|
|
{
|
|
$sign = $request->input('sign', '');
|
|
$params = $request->input('param', '{}');
|
|
// $params = '{"message":"变化","comOld":"","status":"polling","lastResult":{"nu":"9885738505649","message":"ok","ischeck":"0","com":"ems","condition":"00","status":"200","state":"0","data":[{"time":"2021-12-20 11:53:36","areaName":"湖北,孝感市,云梦县","status":"在途","areaCode":"CN420923000000","context":"到达【湖北省云梦县寄递事业部楚王城寄递营业部】","ftime":"2021-12-20 11:53:36"},{"time":"2021-12-20 11:50:57","areaName":"湖北,孝感市,云梦县","status":"在途","areaCode":"CN420923000000","context":"离开【湖北省云梦县寄递事业部中心营业部】,下一站【湖北省云梦县寄递事业部楚王城寄递营业部】","ftime":"2021-12-20 11:50:57"},{"time":"2021-12-20 11:39:47","areaName":"湖北,孝感市,云梦县","status":"揽收","areaCode":"CN420923000000","context":"【湖北省云梦县寄递事业部中心营业部】已收寄,揽投员:褚四明,电话:15872394578","ftime":"2021-12-20 11:39:47"}]},"comNew":"","billstatus":"change","autoCheck":"0"}';
|
|
|
|
$params = json_decode($params, true);
|
|
//校验回调签名
|
|
if ($kuaidi100Service->unPollSign($sign, $params)) {
|
|
try {
|
|
DB::beginTransaction();
|
|
$kuaidi100Service->callback($params);
|
|
DB::commit();
|
|
} catch (Throwable $th) {
|
|
DB::rollBack();
|
|
report($th);
|
|
}
|
|
}
|
|
return response()->json([
|
|
'result'=>true,
|
|
'returnCode'=>'200',
|
|
'message'=>'成功',
|
|
]);
|
|
}
|
|
}
|