作者 ZhengBing He

Merge remote-tracking branch 'origin/master' into workorder

... ... @@ -73,7 +73,7 @@ class AiVideoAutoPublish extends Command
$this->output('开始自动发布Video文章');
$projectModel = new Project();
$optimizeModel = new DeployOptimize();
$projectList = $projectModel->list(['is_ai_video'=>1,'delete_status'=>0,'site_status'=>0,'extend_type'=>0],'id',['id','project_type']);
$projectList = $projectModel->list(['is_ai_video'=>1,'id'=>1,'delete_status'=>0,'site_status'=>0,'extend_type'=>0],'id',['id','project_type']);
foreach ($projectList as $item){
$this->output("项目{$item['id']}开始自动发布");
//获取当前是否开启自动发布aiVideo
... ... @@ -121,7 +121,7 @@ class AiVideoAutoPublish extends Command
*/
public function getVideoInfo(){
$data = [];
$random = 2;
$random = rand(1, 2);
if($random == 1){//取产品
$productModel = new Product();
$info = $productModel->formatQuery(['status'=>1,'title'=>['!=',null],'intro'=>['!=',null]])->select(['title','gallery','intro'])->inRandomOrder()->first();
... ... @@ -247,7 +247,8 @@ class AiVideoAutoPublish extends Command
$aiVideoTaskModel->addReturnId(['task_id'=>$result['data']['task_id'],'project_id'=>$info['project_id'],'storage'=>$storage]);
ProjectServer::useProject($info['project_id']);
$aiVideoModel = new AiVideo();
$aiVideoModel->addReturnId(['title'=>$info['title'],'task_id'=>$result['data']['task_id'],'description'=>$info['remark'],'project_id'=>$info['project_id'],'images'=>json_encode($info['images'],true),'anchor'=>json_encode([],true)]);
$next_auto_date = date('Y-m-d', strtotime('+' . mt_rand(5,7) . 'days')); //每5-7天自动发布
$aiVideoModel->addReturnId(['next_auto_date'=>$next_auto_date,'title'=>$info['title'],'task_id'=>$result['data']['task_id'],'description'=>$info['remark'],'project_id'=>$info['project_id'],'images'=>json_encode($info['images'],true),'anchor'=>json_encode([],true)]);
DB::disconnect('custom_mysql');
$aiVideoAutoLogModel->edit(['status'=>2],['id'=>$info['id']]);
}
... ...
... ... @@ -10,6 +10,7 @@ use App\Http\Logic\Aside\Project\OnlineCheckLogic;
use App\Http\Logic\Aside\Project\ProcessRecordsLogic;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Http\Requests\Aside\Project\ProcessRecordsRequest;
use App\Models\Ai\AiVideo;
use App\Models\ASide\APublicModel;
use App\Models\Channel\Channel;
use App\Models\Channel\User;
... ... @@ -27,7 +28,9 @@ use App\Models\Industry\ProjectIndustry;
use App\Models\Inquiry\InquirySet;
use App\Models\Manage\BelongingGroup;
use App\Models\Manage\ManageHr;
use App\Models\Project\AiVideoTask;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\Payment;
use App\Models\Project\ProcessRecords;
use App\Models\Project\Project;
... ... @@ -1285,4 +1288,16 @@ class ProjectController extends BaseController
$this->response('success',Code::SUCCESS,['url'=>$this->param['url']]);
}
/**
* @remark :获取视频配置类型
* @name :videoSetting
* @author :lyh
* @method :post
* @time :2025/8/5 9:50
*/
public function videoSetting(){
$videoModel = new AiVideoTask();
$data = $videoModel->videoSetting();
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -169,14 +169,20 @@ class DomainSettingLogic extends BaseLogic
$this->fail('ftp信息填写未完整');
}
DB::beginTransaction();
try {
//获取自建站服务器详情
$record_info = $server_ip_model->read(['servers_id' => ServerConfig::SELF_SITE_ID], ['id', 'servers_id', 'total']);
$record_info = $server_ip_model->read(['servers_id' => ServerConfig::SELF_SITE_ID, 'ip' => $ftp['url']], ['id', 'servers_id', 'total']);
if (!$record_info) {
$this->fail('解析记录不存在');
$record_id = $server_ip_model->addReturnId([
'servers_id' => ServerConfig::SELF_SITE_ID,
'ip' => $ftp['url'],
'domain' => $domain,
'remark' => $project_info['company']
]);
$record_info = $server_ip_model->read(['id' => $record_id], ['id', 'servers_id', 'total']);
}
DB::beginTransaction();
try {
//保存一条主域名记录
$setting_info = $this->model->read(['project_id' => $this->user['project_id']]);
if ($setting_info === false) {
... ...
... ... @@ -205,6 +205,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/setIsParticiple', [Aside\Project\ProjectController::class, 'setIsParticiple'])->name('admin.project_setIsParticiple');//开启/关闭分词
Route::any('/saveSiteStatus', [Aside\Project\ProjectController::class, 'saveSiteStatus'])->name('admin.project_saveSiteStatus');
Route::any('/updateTdk', [Aside\Project\ProjectController::class, 'updateTdk'])->name('admin.project_updateTdk');//更新项目tdk
Route::any('/videoSetting', [Aside\Project\ProjectController::class, 'videoSetting'])->name('admin.project_videoSetting');//项目管理AI.video设置
//获取关键词前缀和后缀
Route::prefix('keyword')->group(function () {
Route::any('/getKeywordPrefix', [Aside\Project\KeywordPrefixController::class, 'getKeywordPrefix'])->name('admin.keyword_getKeywordPrefix');
... ...