AiCommandController.php 2.1 KB
<?php

namespace App\Http\Controllers\Bside\Ai;

use App\Enums\Common\Code;
use App\Helper\Common;
use App\Helper\Translate;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Controllers\Bside\:写入日志;
use App\Http\Logic\Bside\Ai\AiCommandLogic;
use App\Models\Ai\AiCommand;
use App\Models\Ai\AiLog;
use App\Models\Project\DeployOptimize;
use App\Models\Project\Project;
use App\Models\Project\ProjectKeyword;
use Illuminate\Support\Facades\Cache;

class AiCommandController extends BaseController
{
    /**
     * @author zbj
     * @date 2023/11/22
     */
    public function ai_http_post(){
        $this->request->validate([
            'keywords'=>['required'],
            'key'=>['required']
        ],[
            'keywords.required' => '关键字不能为空',
            'key.required' => '场景不能为空',
        ]);
        if($this->param['key'] == 'keyword_seo_title'){
            $prefix = getPrefixKeyword($this->user['project_id'], 'prefix', 1);
            $suffix = getPrefixKeyword($this->user['project_id'], 'suffix', 2);
            $text = $prefix . ' ' . $this->param['keywords']. ' ' . $suffix;
            $data = [
                'code' => 200,
                'text' => $text
            ];
        }else{
            $text = AiCommandLogic::instance()->ai_send();
            $data = [
                'code' => $text ? 200 : 500,
                'text' => $text
            ];
        }
        $param = [
            'key' => $this->param['key'],
            'keywords' => $this->param['keywords'],
            'remark' => $text
        ];
        $this->set_ai_log($param);
        $this->response('success', Code::SUCCESS, $data);
    }

    /**
     * @name :写入日志
     * @author :liyuhang
     * @method
     */
    public function set_ai_log($data){
        //写入日志
        $param = [
            'key'=> $this->param['key'],
            'keywords'=>$this->param['keywords'],
            'remark' =>$data['remark'],
            'operator_id'=>$this->uid
        ];
        $aiLog = new AiLog();
        return $aiLog->add($param);
    }

}