Files
anxinyan/server-api/app/controller/admin/ExpressCompaniesController.php
2026-05-22 21:13:52 +08:00

51 lines
1.5 KiB
PHP

<?php
namespace app\controller\admin;
use app\support\ExpressCompanyService;
use support\Request;
class ExpressCompaniesController
{
public function index(Request $request)
{
$enabledOnly = (int)$request->input('enabled_only', 0) === 1;
return api_success([
'list' => $this->service()->list($enabledOnly),
'default_company' => $this->service()->defaultName(),
]);
}
public function save(Request $request)
{
$id = (int)$request->input('id', 0);
try {
$companyId = $this->service()->save([
'company_name' => $request->input('company_name', ''),
'company_code' => $request->input('company_code', ''),
'status' => $request->input('status', 'enabled'),
'is_default' => $request->input('is_default', false),
'sort_order' => $request->input('sort_order', 0),
'remark' => $request->input('remark', ''),
], $id);
} catch (\RuntimeException $e) {
return api_error($e->getMessage(), 422);
} catch (\Throwable $e) {
return api_error('快递公司保存失败', 500, [
'detail' => $e->getMessage(),
]);
}
return api_success([
'id' => $companyId,
], $id > 0 ? '快递公司已更新' : '快递公司已创建');
}
private function service(): ExpressCompanyService
{
return new ExpressCompanyService();
}
}