作者 李宇航

合并分支 'master-server' 到 'master'

Master server



查看合并请求 !679
... ... @@ -22,6 +22,9 @@ class RemainDay extends Command
*/
protected $signature = 'remain_day';
protected $projectId = [
1434
];//需要单独处理的项目
/**
* The console command description.
*
... ... @@ -46,24 +49,21 @@ class RemainDay extends Command
{
$list = Project::whereIn('type', [Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR])->get();
foreach ($list as $item){
if(in_array($item->id,$this->projectId)){
$diff = time() - strtotime($item->uptime);
$remain_day = $item['deploy_build']['service_duration'] - floor($diff / (60 * 60 * 24));
}else{
if($item['type'] == Project::TYPE_TWO){
//获取当前项目的达标天数
$compliance_day = Project::where(['id' => $item['id']])->value('finish_remain_day') ?: 0;
$compliance_day = $item->finish_remain_day ?? 0;
$remain_day = $item['deploy_build']['service_duration'] - $compliance_day;
}else{
//审核上线后开始
$check_time = OnlineCheck::where('project_id', $item['id'])->where('status', 1)->value('created_at') ?: '';
if(!$check_time){
if($item->uptime){
$diff = time() - strtotime($item->uptime);
$remain_day = $item['deploy_build']['service_duration'] - floor($diff / (60 * 60 * 24));
}else{
$remain_day = $item['deploy_build']['service_duration'];
}
}else{
$diff = time() - strtotime($check_time);
$remain_day = floor($diff / (60 * 60 * 24));
$item->finish_remain_day = $remain_day;
}
}
$item->remain_day = $remain_day > 0 ? $remain_day : 0;
... ...
... ... @@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo;
use App\Models\Mail\Mail;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Models\Project\ProjectUpdateTdk;
use App\Models\User\User;
use App\Models\WebSetting\WebLanguage;
... ... @@ -375,7 +376,13 @@ class UpdateSeoTdk extends Command
$info = Cache::get($cache_key);
if(!$info){
$projectOptimizeModel = new DeployOptimize();
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']);
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
$info['main_keyword'] = '';
if($keywordInfo === false){
$info['main_keyword'] = $keywordInfo['main_keyword'];
}
Cache::put($cache_key, $info, 600);
}
return $info;
... ... @@ -412,12 +419,12 @@ class UpdateSeoTdk extends Command
{
$str = '';
$info = $this->getDeployOptimize($project_id);
if (!empty($info['main_keywords'])) {
$main_keywords = explode("\r\n", $info['main_keywords']);
if (!empty($info['main_keyword'])) {
$main_keyword = explode("\r\n", $info['main_keyword']);
//随机取
shuffle($main_keywords);
$main_keywords = array_slice($main_keywords, 0, $num);
$str = implode(", ", $main_keywords);
shuffle($main_keyword);
$main_keyword = array_slice($main_keyword, 0, $num);
$str = implode(", ", $main_keyword);
}
return $str;
}
... ...
... ... @@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo;
use App\Models\Mail\Mail;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Models\Project\ProjectUpdateTdk;
use App\Models\User\User;
use App\Models\WebSetting\WebLanguage;
... ... @@ -373,7 +374,13 @@ class UpdateSeoTdkByTaskId extends Command
$info = Cache::get($cache_key);
if(!$info){
$projectOptimizeModel = new DeployOptimize();
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']);
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
$info['main_keyword'] = '';
if($keywordInfo === false){
$info['main_keyword'] = $keywordInfo['main_keyword'];
}
Cache::put($cache_key, $info, 600);
}
return $info;
... ... @@ -410,12 +417,12 @@ class UpdateSeoTdkByTaskId extends Command
{
$str = '';
$info = $this->getDeployOptimize($project_id);
if (!empty($info['main_keywords'])) {
$main_keywords = explode("\r\n", $info['main_keywords']);
if (!empty($info['main_keyword'])) {
$main_keyword = explode("\r\n", $info['main_keyword']);
//随机取
shuffle($main_keywords);
$main_keywords = array_slice($main_keywords, 0, $num);
$str = implode(", ", $main_keywords);
shuffle($main_keyword);
$main_keyword = array_slice($main_keyword, 0, $num);
$str = implode(", ", $main_keyword);
}
return $str;
}
... ...
... ... @@ -19,7 +19,7 @@ class Kernel extends ConsoleKernel
$schedule->command('template_label')->dailyAt('01:00')->withoutOverlapping(1);//最新模块
$schedule->command('popular_template_label')->dailyAt('01:30')->withoutOverlapping(1);//热门模块
// $schedule->command('inspire')->hourly();
$schedule->command('remain_day')->dailyAt('09:00')->withoutOverlapping(1); // 项目剩余服务时长
$schedule->command('remain_day')->dailyAt('06:00')->withoutOverlapping(1); // 项目剩余服务时长
$schedule->command('rank_data_task')->everyMinute()->withoutOverlapping(1); // 排名数据更新任务
$schedule->command('service_count')->dailyAt('01:00')->withoutOverlapping(1); //服务器使用情况,每天凌晨1点执行一次
$schedule->command('web_traffic_special')->everyMinute()->withoutOverlapping(1); // 特殊引流
... ...
... ... @@ -13,6 +13,7 @@ use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Models\Project\DeployOptimize;
use App\Models\Project\Project;
use App\Models\Project\ProjectKeyword;
class KeywordsController extends BaseController
{
... ... @@ -24,9 +25,9 @@ class KeywordsController extends BaseController
* @time :2023/9/4 10:13
*/
public function lists(){
$projectDeployOptimizeModel = new DeployOptimize();
$ids = $projectDeployOptimizeModel->where('customer_keywords','like','%'.$this->map['search'].'%')
->orWhere('main_keywords', 'like' , '%'.$this->map['search'].'%')->pluck('project_id')->toArray();
$projectKeywordModel = new ProjectKeyword();
$ids = $projectKeywordModel->where('customer_keywords','like','%'.$this->map['search'].'%')
->orWhere('main_keyword', 'like' , '%'.$this->map['search'].'%')->pluck('project_id')->toArray();
$projectModel = new Project();
$lists = $projectModel->formatQuery(['id'=>['in',$ids]])->with('payment')->with('deploy_build')
->with('deploy_optimize')->with('domainInfo')->get()->toArray();
... ...
... ... @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Bside\Keyword;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
class ProjectKeywordController extends BaseController
{
... ... @@ -28,9 +29,16 @@ class ProjectKeywordController extends BaseController
if($info === false){
$this->response('success');
}
$data['search_keywords'] = $info['search_keywords'];
$data['customer_keywords'] = $info['customer_keywords'];
$data['brand_keyword'] = $info['brand_keyword'];
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$this->user['project_id']]);
if($keywordInfo === false){
$data['search_keywords'] = '';
$data['customer_keywords'] = '';
$this->response('success',Code::SUCCESS,$data);
}
$data['search_keywords'] = $keywordInfo['search_keywords'];
$data['customer_keywords'] = $keywordInfo['customer_keywords'];
$this->response('success',Code::SUCCESS,$data);
}
... ...
... ... @@ -571,8 +571,8 @@ class ProductController extends BaseController
}
/**
* @remark :Ai发布新闻
* @name :sendAiNews
* @remark :Ai发布
* @name :sendAiProduct
* @author :lyh
* @method :post
* @time :2024/1/26 15:33
... ...
... ... @@ -236,8 +236,9 @@ class InquiryInfoLogic extends BaseLogic
public function getKeywordUrl($map){
$projectModel = new Project();
$lists = $projectModel->leftJoin('gl_project_deploy_optimize', 'gl_project_deploy_optimize.project_id', '=', 'gl_project.id')
->where('gl_project_deploy_optimize.main_keywords','like','%'.$map['keyword'].'%')
->orWhere('gl_project_deploy_optimize.customer_keywords','like','%'.$map['keyword'].'%')
->leftJoin('gl_project_keyword', 'gl_project_keyword.project_id', '=', 'gl_project.id')
->where('gl_project_keyword.main_keyword','like','%'.$map['keyword'].'%')
->orWhere('gl_project_keyword.customer_keywords','like','%'.$map['keyword'].'%')
->select($this->selectParam())->get();
if(!empty($lists)){
$lists = $lists->toArray();
... ...
... ... @@ -8,6 +8,7 @@ use App\Helper\Translate;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Ai\AiCommand;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Models\WebSetting\WebLanguage;
use Illuminate\Support\Facades\Cache;
... ... @@ -43,14 +44,14 @@ class AiCommandLogic extends BaseLogic
$prompt = str_replace('{company name}', $company_name, $prompt);
}
if(strpos($prompt, '{core keywords 8}') !== false) {
$main_keywords = $this->getDeployOptimize('main_keywords');
if ($main_keywords) {
$main_keywords = explode("\r\n", $main_keywords);
$main_keyword = $this->getDeployOptimize('main_keyword');
if ($main_keyword) {
$main_keyword = explode("\r\n", $main_keyword);
//随机取
shuffle($main_keywords);
$main_keywords = array_slice($main_keywords, 0, 8);
$main_keywords = implode(", ", $main_keywords);
$prompt = str_replace('{core keywords 8}', $main_keywords, $prompt);
shuffle($main_keyword);
$main_keyword = array_slice($main_keyword, 0, 8);
$main_keyword = implode(", ", $main_keyword);
$prompt = str_replace('{core keywords 8}', $main_keyword, $prompt);
}else{
$prompt = '';
}
... ... @@ -99,7 +100,13 @@ class AiCommandLogic extends BaseLogic
$info = Cache::get($cache_key);
if(!$info){
$projectOptimizeModel = new DeployOptimize();
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']);
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
$info['main_keyword'] = '';
if($keywordInfo === false){
$info['main_keyword'] = $keywordInfo['main_keyword'];
}
Cache::put($cache_key, $info, 600);
}
if($key){
... ...
... ... @@ -8,6 +8,7 @@ use App\Models\HomeCount\Count;
use App\Models\HomeCount\MonthCount;
use App\Models\Inquiry\InquiryFormData;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Services\ProjectServer;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
... ... @@ -85,8 +86,14 @@ class MonthCountLogic extends BaseLogic
* @time :2023/7/4 10:19
*/
public function getKeywordLists(){
$optimizeModel = new DeployOptimize();
$info = $optimizeModel->read(['project_id'=>$this->user['project_id']],['main_keywords','customer_keywords']);
$projectKeywordModel = new ProjectKeyword();
$info = $projectKeywordModel->read(['project_id'=>$this->user['project_id']],['main_keyword','customer_keywords']);
if($info === false){
$info = [
'main_keyword'=>'',
'customer_keywords'=>''
];
}
return $this->success($info);
}
}
... ...