feat: add kuaidi100 logistics sync
This commit is contained in:
@@ -17,6 +17,54 @@ class ExpressCompaniesController
|
||||
]);
|
||||
}
|
||||
|
||||
public function catalog(Request $request)
|
||||
{
|
||||
$keyword = trim((string)$request->input('keyword', ''));
|
||||
$limit = max(1, min(100, (int)$request->input('limit', 30)));
|
||||
|
||||
return api_success([
|
||||
'list' => $this->service()->catalogList($keyword, $limit),
|
||||
'total' => $this->service()->catalogTotal(),
|
||||
'synced_at' => $this->service()->catalogSyncedAt(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function syncCatalog(Request $request)
|
||||
{
|
||||
try {
|
||||
$result = $this->service()->syncCatalog();
|
||||
} catch (\RuntimeException $e) {
|
||||
return api_error($e->getMessage(), 422);
|
||||
} catch (\Throwable $e) {
|
||||
return api_error('快递100公司码表同步失败', 500, [
|
||||
'detail' => $e->getMessage(),
|
||||
]);
|
||||
}
|
||||
|
||||
return api_success($result, '快递100公司码表已同步');
|
||||
}
|
||||
|
||||
public function recognize(Request $request)
|
||||
{
|
||||
$trackingNo = trim((string)$request->input('tracking_no', ''));
|
||||
$companyName = trim((string)$request->input('company_name', $request->input('company_code', '')));
|
||||
if ($trackingNo === '') {
|
||||
return api_error('运单号不能为空', 422);
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $this->service()->recognizeCompany($companyName, $trackingNo);
|
||||
} catch (\RuntimeException $e) {
|
||||
return api_error($e->getMessage(), 422);
|
||||
} catch (\Throwable $e) {
|
||||
return api_error('快递公司识别失败', 500, [
|
||||
'detail' => $e->getMessage(),
|
||||
]);
|
||||
}
|
||||
|
||||
return api_success($result);
|
||||
}
|
||||
|
||||
public function save(Request $request)
|
||||
{
|
||||
$id = (int)$request->input('id', 0);
|
||||
|
||||
Reference in New Issue
Block a user