88 lines
2.8 KiB
PHP
88 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace app\controller\admin;
|
|
|
|
use app\support\AppraisalServicePricePackageService;
|
|
use support\Request;
|
|
|
|
class ServicePricePackagesController
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
return api_success($this->service()->adminIndex());
|
|
}
|
|
|
|
public function save(Request $request)
|
|
{
|
|
$id = (int)$request->input('id', 0);
|
|
|
|
try {
|
|
$packageId = $this->service()->save([
|
|
'service_provider' => $request->input('service_provider', 'anxinyan'),
|
|
'package_name' => $request->input('package_name', ''),
|
|
'package_code' => $request->input('package_code', ''),
|
|
'price' => $request->input('price', ''),
|
|
'description' => $request->input('description', ''),
|
|
'is_enabled' => $request->input('is_enabled', true),
|
|
'is_default' => $request->input('is_default', false),
|
|
'sort_order' => $request->input('sort_order', 0),
|
|
], $id);
|
|
} catch (\RuntimeException $e) {
|
|
return api_error($e->getMessage(), 422);
|
|
} catch (\Throwable $e) {
|
|
return api_error('服务价格套餐保存失败', 500, [
|
|
'detail' => $e->getMessage(),
|
|
]);
|
|
}
|
|
|
|
return api_success([
|
|
'id' => $packageId,
|
|
], $id > 0 ? '服务价格套餐已更新' : '服务价格套餐已创建');
|
|
}
|
|
|
|
public function updateStatus(Request $request)
|
|
{
|
|
$id = (int)$request->input('id', 0);
|
|
if ($id <= 0) {
|
|
return api_error('套餐 ID 不能为空', 422);
|
|
}
|
|
|
|
try {
|
|
$this->service()->setEnabled($id, !empty($request->input('is_enabled', true)));
|
|
} catch (\RuntimeException $e) {
|
|
return api_error($e->getMessage(), 422);
|
|
} catch (\Throwable $e) {
|
|
return api_error('服务价格套餐状态更新失败', 500, [
|
|
'detail' => $e->getMessage(),
|
|
]);
|
|
}
|
|
|
|
return api_success(['id' => $id], '套餐状态已更新');
|
|
}
|
|
|
|
public function setDefault(Request $request)
|
|
{
|
|
$id = (int)$request->input('id', 0);
|
|
if ($id <= 0) {
|
|
return api_error('套餐 ID 不能为空', 422);
|
|
}
|
|
|
|
try {
|
|
$this->service()->setDefault($id);
|
|
} catch (\RuntimeException $e) {
|
|
return api_error($e->getMessage(), 422);
|
|
} catch (\Throwable $e) {
|
|
return api_error('默认套餐设置失败', 500, [
|
|
'detail' => $e->getMessage(),
|
|
]);
|
|
}
|
|
|
|
return api_success(['id' => $id], '默认套餐已更新');
|
|
}
|
|
|
|
private function service(): AppraisalServicePricePackageService
|
|
{
|
|
return new AppraisalServicePricePackageService();
|
|
}
|
|
}
|