feat: add article and production modules
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<?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('保存成功');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user