Files
MrleeAdmin/backend/plugin/produce/app/adminapi/controller/ProduceConfigController.php
T

61 lines
2.0 KiB
PHP
Raw Normal View History

2026-08-31 13:16:46 +08:00
<?php
declare(strict_types=1);
namespace plugin\produce\app\adminapi\controller;
use app\adminapi\middleware\OperationMiddleware;
use app\adminapi\middleware\PermissionMiddleware;
use core\tool\Json;
use madong\swagger\annotation\response\DataResponse;
use madong\swagger\annotation\response\SimpleResponse;
use madong\swagger\attribute\Permission;
use OpenApi\Attributes as OA;
use plugin\produce\app\service\admin\ProduceConfigService;
use support\annotation\Middleware;
use support\Request;
use support\Response;
#[Middleware(OperationMiddleware::class, PermissionMiddleware::class)]
class ProduceConfigController
{
public function __construct(protected ProduceConfigService $service)
{
}
#[OA\Get(path: '/produce/config/info', summary: '获取生产配置', tags: ['produce-config'])]
#[DataResponse(description: '获取成功')]
#[Permission(code: 'produce:config:read', description: '查看生产配置')]
public function info(Request $request): Response
{
$groupCode = (string) $request->input('group_code', '');
if ($groupCode === '') {
return Json::fail('配置组代码不能为空');
}
return Json::success('获取成功', $this->service->getConfigByGroup($groupCode));
}
#[OA\Post(path: '/produce/config/save', summary: '保存生产配置', tags: ['produce-config'])]
#[SimpleResponse(description: '保存成功')]
#[Permission(code: 'produce:config:update', description: '保存生产配置')]
public function save(Request $request): Response
{
$payload = $request->post();
$groupCode = (string) ($payload['group_code'] ?? '');
$configs = $payload['configs'] ?? [];
if ($groupCode === '') {
return Json::fail('配置组代码不能为空');
}
if (!is_array($configs) || $configs === []) {
return Json::fail('配置数据不能为空');
}
$this->service->saveConfig($groupCode, $configs);
return Json::success('保存成功');
}
}