AiCommandController.php 3.1 KB
<?php

namespace App\Http\Controllers\Aside\Ai;

use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Ai\AiCommandLogic;
use App\Http\Requests\Aside\Ai\AiCommandRequest;
use App\Models\Ai\AiCommand as AiCommandModel;
use App\Models\Project\Project;

/**
 * @remark :ai指令
 * @name   :AiCommandController
 * @author :lyh
 * @time   :2023/6/17 16:27
 */
class AiCommandController extends BaseController
{
    /**
     * @param AiCommandModel $aiCommandModel
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2023/6/17 16:27
     */
    public function lists(AiCommandModel $aiCommandModel){
        if(!empty($this->map['scene'])){
            $this->map['name|key|ai'] = ['like','%'.$this->map['scene'].'%'];
            unset($this->map['scene']);
        }
        $lists = $aiCommandModel->lists($this->map,$this->page,$this->row,$this->order);
        $projectModel = new Project();
        if(!empty($lists) && !empty($lists['list'])){
            foreach ($lists['list'] as $k => $v){
                $v['project_name'] = '';
                if($v['project_id'] != 0){
                    $v['project_name'] = $projectModel->getProjectName($v['project_id']);
                }
                $lists['list'][$k] = $v;
            }
        }
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @param AiCommandLogic $aiCommandLogic
     * @name   :info
     * @author :lyh
     * @method :post
     * @time   :2023/6/17 16:27
     */
    public function info(AiCommandLogic $aiCommandLogic){
        $this->request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $info = $aiCommandLogic->ai_info();
        $this->response('success',Code::SUCCESS,$info);
    }

    /**
     * @param AiCommandRequest $request
     * @param AiCommandLogic $aiCommandLogic
     * @name   :add
     * @author :lyh
     * @method :post
     * @time   :2023/6/17 16:27
     */
    public function add(AiCommandRequest $request,AiCommandLogic $aiCommandLogic){
        $request->validated();
        $aiCommandLogic->ai_add();
        $this->response('success');
    }

    /**
     * @param AiCommandRequest $request
     * @param AiCommandLogic $aiCommandLogic
     * @name   :edit
     * @author :lyh
     * @method :post
     * @time   :2023/6/17 16:28
     */
    public function edit(AiCommandRequest $request,AiCommandLogic $aiCommandLogic){
        $request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $aiCommandLogic->ai_edit();
        $this->response('success');
    }

    /**
     * @param AiCommandLogic $aiCommandLogic
     * @name   :del
     * @author :lyh
     * @method :post
     * @time   :2023/6/17 16:27
     */
    public function del(AiCommandLogic $aiCommandLogic){
        $this->request->validate([
            'id'=>['required','array'],
        ],[
            'id.required' => 'ID不能为空',
            'id.array' => 'ID为数组',
        ]);
        $aiCommandLogic->ai_del();
        $this->response('success');
    }
}