作者 lyh

gx创建作者

... ... @@ -8,6 +8,7 @@ use App\Http\Logic\Bside\Ai\AiBlogLogic;
use App\Http\Requests\Bside\Ai\AiBlogRequest;
use App\Models\Ai\AiBlog;
use App\Models\Ai\AiBlogAuthor;
use App\Models\Ai\AiBlogList;
use App\Services\AiBlogService;
use App\Services\ProjectServer;
use Illuminate\Support\Facades\DB;
... ... @@ -15,19 +16,6 @@ use Illuminate\Support\Facades\DB;
class AiBlogController extends BaseController
{
/**
* @remark :Ai博客发布
* @name :save
* @author :lyh
* @method :post
* @time :2023/7/5 14:33
*/
public function save(AiBlogRequest $aiBlogRequest,AiBlogLogic $aiBlogLogic){
$aiBlogRequest->validated();
$aiBlogLogic->blogSave();
$this->response('success');
}
/**
* @remark :获取详情
* @name :getInfo
* @author :lyh
... ... @@ -46,21 +34,21 @@ class AiBlogController extends BaseController
}
/**
* @remark :删除
* @name :delete
* @remark :获取详情数据
* @name :getAuthorInfo
* @author :lyh
* @method :post
* @time :2025/2/20 18:19
* @time :2025/2/21 13:54
*/
public function delete(AiBlogLogic $aiBlogLogic)
{
public function getAuthorInfo(AiBlogAuthor $aiBlogAuthor){
$this->request->validate([
'ids'=>['required', new Ids()]
'id'=>['required'],
],[
'ids.required' => 'ID不能为空'
'id.required' => '主键不能为空',
]);
$aiBlogLogic->blogDelete();
$this->response('success');
$info = $aiBlogAuthor->read($this->map);
$info['image'] = getImageUrl($info['image']);
$this->response('success',Code::SUCCESS,$info);
}
/**
... ... @@ -115,37 +103,80 @@ class AiBlogController extends BaseController
}
/**
* @remark :获取详情数据
* @name :getAuthorInfo
* @remark :Ai博客发布
* @name :save
* @author :lyh
* @method :post
* @time :2023/7/5 14:33
*/
public function save(AiBlogRequest $aiBlogRequest,AiBlogLogic $aiBlogLogic){
$aiBlogRequest->validated();
$aiBlogLogic->blogSave();
$this->response('success');
}
/**
* @remark :编辑作者详情数据
* @name :saveBlogAuthor
* @author :lyh
* @method :post
* @time :2025/2/21 13:54
*/
public function getAuthorInfo(AiBlogAuthor $aiBlogAuthor){
public function saveBlogAuthor(AiBlogLogic $aiBlogLogic){
$this->request->validate([
'id'=>['required'],
],[
'id.required' => '主键不能为空',
]);
$info = $aiBlogAuthor->read($this->map);
$info['image'] = getImageUrl($info['image']);
$info = $aiBlogLogic->saveBlogAuthor();
$this->response('success',Code::SUCCESS,$info);
}
/**
* @remark :编辑详情数据
* @name :saveBlogAuthor
* @remark :删除
* @name :delete
* @author :lyh
* @method :post
* @time :2025/2/21 13:54
* @time :2025/2/20 18:19
*/
public function saveBlogAuthor(AiBlogLogic $aiBlogLogic){
public function delete(AiBlogLogic $aiBlogLogic)
{
$this->request->validate([
'ids'=>['required', new Ids()]
],[
'ids.required' => 'ID不能为空'
]);
$aiBlogLogic->blogDelete();
$this->response('success');
}
/**
* @remark :获取列表页数据
* @name :getAiBlogList
* @author :lyh
* @method :post
* @time :2025/2/21 16:22
*/
public function getAiBlogList(AiBlogList $aiBlogList){
$lists = $aiBlogList->lists($this->map,$this->page,$this->row,'id',['id','route','created_at','updated_at']);
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :获取列表页数据详情
* @name :getAiBlogListInfo
* @author :lyh
* @method :post
* @time :2025/2/21 16:26
*/
public function getAiBlogListInfo(AiBlogList $aiBlogList){
$this->request->validate([
'id'=>['required'],
],[
'id.required' => '主键不能为空',
]);
$info = $aiBlogLogic->saveBlogAuthor();
$info = $aiBlogList->read($this->map);
$this->response('success',Code::SUCCESS,$info);
}
}
... ...
... ... @@ -216,7 +216,7 @@ class ProjectLogic extends BaseLogic
if($aiSettingInfo === false){
$aiBlogService = new AiBlogService();
$result = $aiBlogService->createProject($title,$languageInfo['short'],$projectInfo['company']);
if($result['status'] == 200){
if(isset($result['status']) && $result['status'] == 200){
//查看当前项目是否已有记录
$resData = [
'project_id'=>$project_id,
... ... @@ -232,15 +232,7 @@ class ProjectLogic extends BaseLogic
$aiBlogService = new AiBlogService();
$aiBlogService->mch_id = $aiSettingInfo['mch_id'];
$aiBlogService->key = $aiSettingInfo['key'];
$result = $aiBlogService->updatedProject($title,$languageInfo['short']);
if($result['status'] == 200){
$resData = [
'mch_id'=>$result['data']['mch_id'],
'key'=>$result['data']['key'],
];
$aiSettingModel = new ProjectAiSetting();
$aiSettingModel->edit($resData,['project_id'=>$project_id]);
}
$aiBlogService->updatedProject($title,$languageInfo['short']);
}
}
return true;
... ...
... ... @@ -5,6 +5,7 @@ namespace App\Http\Logic\Bside\Ai;
use App\Helper\Translate;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Ai\AiBlog;
use App\Models\Ai\AiBlogAuthor;
use App\Models\Project\AiBlogTask;
use App\Models\Project\Project;
use App\Models\Project\ProjectAiSetting;
... ... @@ -21,6 +22,22 @@ class AiBlogLogic extends BaseLogic
}
/**
* @remark :获取配置信息
* @name :getProjectAiSetting
* @author :lyh
* @method :post
* @time :2025/2/21 14:51
*/
public function getProjectAiSetting(){
$projectAiSettingModel = new ProjectAiSetting();
$aiSettingInfo = $projectAiSettingModel->read(['project_id'=>$this->user['project_id']]);
if($aiSettingInfo === false){
$this->fail('请先联系管理员开启Ai博客');
}
return $aiSettingInfo;
}
/**
* @remark :ai发布博客
* @name :blogSave
* @author :lyh
... ... @@ -46,22 +63,6 @@ class AiBlogLogic extends BaseLogic
}
/**
* @remark :获取配置信息
* @name :getProjectAiSetting
* @author :lyh
* @method :post
* @time :2025/2/21 14:51
*/
public function getProjectAiSetting(){
$projectAiSettingModel = new ProjectAiSetting();
$aiSettingInfo = $projectAiSettingModel->read(['project_id'=>$this->user['project_id']]);
if($aiSettingInfo === false){
$this->fail('请先联系管理员开启Ai博客');
}
return $aiSettingInfo;
}
/**
* @remark :编辑作者
* @name :saveAuthor
* @author :lyh
... ... @@ -70,11 +71,14 @@ class AiBlogLogic extends BaseLogic
*/
public function saveBlogAuthor(){
try {
$aiAuthorModel = new AiBlogAuthor();
if(!empty($this->param['image'])){
$this->param['image'] = str_replace_url($this->param['image']);
}
$this->param['route'] = RouteMap::setRoute($this->param['route'], RouteMap::SOURCE_AI_BLOG_AUTHOR, $this->param['id'], $this->user['project_id']);
$this->model->edit($this->param,['id'=>$this->param['id']]);
$aiAuthorModel->edit($this->param,['id'=>$this->param['id']]);
$aiBlogService = new AiBlogService();
$aiBlogService->updateAuthorInfo(['author_id'=>$this->param['author_id'],'title'=>$this->param['title'],'picture'=>$this->param['image'],'description'=>$this->param['description']]);
}catch (\Exception $e){
$this->fail('保存失败,请联系管理员');
}
... ... @@ -87,6 +91,8 @@ class AiBlogLogic extends BaseLogic
* @author :lyh
* @method :post
* @time :2025/2/14 10:28
* @detail :type=2/生成文章 type=3/更新列表页记录
* @detail :status=1/待执行
*/
public function sendTask(){
$aiSettingInfo = $this->getProjectAiSetting();
... ... @@ -97,31 +103,20 @@ class AiBlogLogic extends BaseLogic
$result = $aiBlogService->createTask($this->param['keyword'],$this->param['type']);
if($result['status'] == 200){
$aiBlogTaskModel = new AiBlogTask();
$aiBlogTaskModel->addReturnId(['project_id'=>$this->user['project_id'],'task_id'=>$result['data']['task_id'],'status'=>$result['data']['status']]);
$aiBlogTaskModel->addReturnId(['project_id'=>$this->user['project_id'],'type'=>2,'task_id'=>$result['data']['task_id'],'status'=>1]);
//增加一条更新列表页的记录
$aiThreeInfo = $aiBlogTaskModel->read(['project_id'=>$this->user['project_id'],'type'=>3,'status'=>1]);
if($aiThreeInfo === false){
$aiBlogTaskModel->addReturnId(['project_id'=>$this->user['project_id'],'type'=>3,'status'=>1]);
}
$aiBlogModel = new AiBlog();
$aiBlogModel->addReturnId(['keyword'=>$this->param['keyword'], 'status'=>$result['data']['status'], 'task_id'=>$result['data']['task_id'],'project_id'=>$this->user['project_id'],
$aiBlogModel->addReturnId(['keyword'=>$this->param['keyword'], 'status'=>1, 'task_id'=>$result['data']['task_id'],'project_id'=>$this->user['project_id'],
]);
}
return $this->success();
}
/**
* @remark :创建作者
* @name :createAuthor
* @author :lyh
* @method :post
* @time :2025/2/20 10:46
*/
public function createAuthor(){
$aiSettingInfo = $this->getProjectAiSetting();
$aiBlogService = new AiBlogService();
$aiBlogService->mch_id = $aiSettingInfo['mch_id'];
$aiBlogService->key = $aiSettingInfo['key'];
$result = $aiBlogService->createAuthor();
return $this->success($result);
}
/**
* @remark :删除
* @name :blogDelete
* @author :lyh
... ... @@ -140,4 +135,5 @@ class AiBlogLogic extends BaseLogic
}
return $this->success();
}
}
... ...
<?php
/**
* @remark :
* @name :AiBlogList.php
* @author :lyh
* @method :post
* @time :2025/2/21 15:57
*/
namespace App\Models\Ai;
use App\Models\Base;
class AiBlogList extends Base
{
}
... ...
... ... @@ -198,4 +198,39 @@ class AiBlogService
$result = http_post($request_url,json_encode($param,true));
return $result;
}
/**
* @remark :获取列表页数据
* @name :getAiBlogList
* @author :lyh
* @method :post
* @time :2025/2/21 15:51
*/
public function getAiBlogList($page,$page_size){
$request_url = $this->url.'api/result/list';
$param['mch_id'] = $this->mch_id;
$param['page'] = $page;
$param['page_size'] = $page_size;
$this->sign = $this->generateSign($param,$this->key);
$param['sign'] = $this->sign;
$result = http_post($request_url,json_encode($param,true));
return $result;
}
/**
* @remark :修改作者信息
* @name :updateAuthorInfo
* @author :lyh
* @method :post
* @time :2025/2/21 16:00
* @param :author_id ,title , picture, description
*/
public function updateAuthorInfo($param){
$request_url = $this->url.'api/author/update';
$param['mch_id'] = $this->mch_id;
$this->sign = $this->generateSign($param,$this->key);
$param['sign'] = $this->sign;
$result = http_post($request_url,json_encode($param,true));
return $result;
}
}
... ...