GeoWritingTaskController.php
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
/**
* @remark :
* @name :GeoWritingTaskController.php
* @author :lyh
* @method :post
* @time :2025/10/25 10:40
*/
namespace App\Http\Controllers\Aside\Geo;
use App\Enums\Common\Code;
use App\Helper\Gpt;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Geo\GeoWritingsTaskLogic;
use App\Http\Requests\Aside\Geo\GeoWritingsTaskRequest;
use Illuminate\Http\Request;
/**
* @remark :文章任务(收集数据)
* @name :GeoWritingTaskController
* @author :lyh
* @method :post
* @time :2025/10/25 10:40
*/
class GeoWritingTaskController extends BaseController
{
public function __construct(Request $request)
{
parent::__construct($request);
$this->logic = new GeoWritingsTaskLogic();
}
/**
* @remark :ai文章列表页
* @name :lists
* @author :lyh
* @method :post
* @time :2025/10/25 15:12
*/
public function lists()
{
$this->request->validate([
'project_id' => 'required',
], [
'project_id.required' => 'project_id不能为空',
]);
$data = $this->logic->listWritingTask($this->map, $this->page, $this->row, $this->order);
$this->response('success', Code::SUCCESS, $data);
}
/**
* @remark :保存geoAi文章生成数据
* @name :lists
* @author :lyh
* @method :post
* @time :2025/10/25 10:41
*/
public function saveWritingTask(GeoWritingsTaskRequest $request)
{
$request->validated();
$data = $this->logic->saveWritingTask();
$this->response('success', Code::SUCCESS, $data);
}
/**
* @remark :批量删除文章任务
* @name :delWritingTask
* @author :lyh
* @method :post
* @time :2025/10/25 15:03
*/
public function delWritingTask()
{
$this->request->validate([
'id' => 'required|array',
], [
'id.required' => 'ID不能为空',
'id.array' => 'ID为数组',
]);
$data = $this->logic->delWritingTask();
$this->response('success', Code::SUCCESS, $data);
}
/**
* @remark :Ai请求标题
* @name :sendAiTitle
* @author :lyh
* @method :post
* @time :2025/10/27 11:10
*/
public function sendAiTitle()
{
$this->request->validate([
'brand' => 'required',
'keyword' => 'required',
], [
'brand.required' => '品牌词不能为空',
'keyword.required' => '关键词不能为空',
]);
$data = $this->logic->sendAiTitle();
$this->response('success', Code::SUCCESS, $data);
}
/**
* 组装AI生成文章语句
* @author Akun
* @date 2025/11/24 15:58
*/
public function getAiCommand()
{
$this->request->validate([
'keyword' => 'required',
'title' => 'required|max:120'
], [
'keyword.required' => '关键词不能为空',
'title.required' => 'GEO文标题不能为空',
'title.max' => 'GEO文标题最多120个字符'
]);
$data = $this->logic->getAiCommand();
$this->response('success', Code::SUCCESS, $data);
}
}