作者 刘锟

白帽二级域名设置

... ... @@ -63,6 +63,10 @@ class AiBlogAutoPublish extends Command
foreach ($projects as $project) {
$this->output("项目{$project->id}开始自动发布");
if(($project->deploy_optimize['start_date'] > date('Y-m-d')) || !$project->deploy_optimize['start_date']){
$this->output("项目{$project->id}未到推广时间" . $project->deploy_optimize['start_date']);
continue;
}
$next_auto_date = AiBlogTaskModel::where('project_id', $project->id)->where('type', 2)->whereNotNull('next_auto_date')->orderBy('id', 'desc')->value('next_auto_date');
if($next_auto_date && $next_auto_date > date('Y-m-d')){
$this->output("项目{$project->id}未到执行时间" . $next_auto_date);
... ... @@ -157,8 +161,8 @@ class AiBlogAutoPublish extends Command
$project->is_ai_blog = 1;
$project->save();
//创建AI博客项目
$deploy_optimize = $project->deploy_optimize();
(new ProjectLogic())->setAiBlog($project->id, $project->main_lang_id, 1, $project->title, $deploy_optimize->company_en_name, $deploy_optimize->company_en_description);
$deploy_optimize = $project->deploy_optimize;
(new ProjectLogic())->setAiBlog($project->id, $project->main_lang_id, 1, $project->company, $deploy_optimize->company_en_name, $deploy_optimize->company_en_description);
//开启日志
AiBlogOpenLog::addLog($project->id);
... ...
... ... @@ -52,9 +52,9 @@ class LyhImportTest extends Command
* @time :2023/11/20 15:13
*/
public function handle(){
ProjectServer::useProject(3283);
ProjectServer::useProject(2140);
echo date('Y-m-d H:i:s') . 'start' . PHP_EOL;
// $this->importProduct('https://ecdn6.globalso.com/upload/p/3283/file/2025-03/2-1.csv',3283);
$this->import2140CustomModule('https://ecdn6.globalso.com/upload/p/2140/file/2025-03/2140.csv',2140);
DB::disconnect('custom_mysql');
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
}
... ... @@ -437,4 +437,73 @@ class LyhImportTest extends Command
}
return true;
}
public function import2140CustomModule($url,$project_id){
$line_of_text = [];
$opts = [
'http' => [
'method' => 'GET',
'header' => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246'
],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
]
];
$file_handle = fopen($url, 'r', null, stream_context_create($opts));
while (!feof($file_handle)) {
$line_of_text[] = fgetcsv($file_handle, 0, ',');
}
fclose($file_handle);
$customContentModel = new CustomModuleContent();
$customCategoryModel = new CustomModuleCategory();;
$customExtendContentTModel = new CustomModuleExtentContent();
foreach ($line_of_text as $k => $item){
// try {
//添加内容
$contentId = $customContentModel->addReturnId(['name'=>$item[0],'module_id'=>2,'project_id'=>$project_id]);
echo date('Y-m-d H:i:s') . '当前扩展数据id:'. $contentId . PHP_EOL;
//注册路由
$route = RouteMap::setRoute($item[0], RouteMap::SOURCE_MODULE,
$contentId, $project_id);
$customContentModel->edit(['route'=>$route],['id'=>$contentId]);
if(!empty($item[1])){
$categoryId = ',';
$cateArr = explode('/',$item[1]);
foreach ($cateArr as $cateV){
$cateInfo = $customCategoryModel->read(['name'=>$cateV,'module_id'=>2,'project_id'=>$project_id]);
if($cateInfo !== false){
$categoryId .= $cateInfo['id'].',';
}else{
$cateVId = $customCategoryModel->addReturnId(['name'=>$cateV,'module_id'=>2,'project_id'=>$project_id]);
$cateRoute = RouteMap::setRoute($cateV, RouteMap::SOURCE_MODULE_CATE,
$cateVId, $project_id);
$customCategoryModel->edit(['route'=>$cateRoute],['id'=>$cateVId]);
$categoryId .= $cateVId.',';
}
}
$customContentModel->edit(['category_id'=>$categoryId],['id'=>$contentId]);
}
$saveData = [
['key'=>'pd_extended_field_1', 'type'=>1, 'values'=>$item[2], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_2', 'type'=>1, 'values'=>$item[4], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_3', 'type'=>1, 'values'=>$item[5], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_4', 'type'=>1, 'values'=>$item[3], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_5', 'type'=>1, 'values'=>$item[8], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_6', 'type'=>1, 'values'=>$item[6], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_7', 'type'=>1, 'values'=>$item[9], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_8', 'type'=>1, 'values'=>$item[10], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_9', 'type'=>1, 'values'=>$item[11], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_10', 'type'=>1, 'values'=>$item[12], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_11', 'type'=>1, 'values'=>$item[13], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_12', 'type'=>1, 'values'=>$item[14] ?? '', 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
['key'=>'pd_extended_field_14', 'type'=>1, 'values'=>$item[7], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
];
$customExtendContentTModel->insert($saveData);
// }catch (\Exception $e){
// echo date('Y-m-d H:i:s') . '错误name:'. $item[0] . PHP_EOL;
// continue;
// }
}
}
}
... ...
... ... @@ -140,7 +140,7 @@ class ComController extends BaseController
if($is_comment != 1){
$info['role_menu'] = trim(str_replace(',55,',',',','.$info['role_menu'].','),',');
}
$is_blogs = $this->getIsBlog();
$is_blogs = $this->getIsAiBlog();
if($is_blogs != 1){
$info['role_menu'] = trim(str_replace(',57,',',',','.$info['role_menu'].','),',');
}
... ...
... ... @@ -89,6 +89,8 @@ class CategoryController extends BaseController
public function get3283Lists($filed){
if(!isset($this->map['title'])){
$this->map['pid'] = $this->map['pid'] ?? 0;
}else{
$this->map['title'] = ['like','%'.$this->map['title'].'%'];
}
$list = $this->model->list($this->map,['sort','id'],$filed);
$template_id = $this->getTemplateId(BTemplate::SOURCE_PRODUCT,BTemplate::IS_LIST);//获取模版id
... ...
... ... @@ -168,7 +168,7 @@ class ProjectLogic extends BaseLogic
$this->setServers($this->param['serve_id'],$this->param['id']);
//ai_blog
$this->setAiBlog($this->param['id'],$this->param['main_lang_id'],$this->param['is_ai_blog'],
$this->param['title'], $this->param['deploy_optimize']['company_en_name'] ?? '',$this->param['deploy_optimize']['company_en_description'] ?? '');
$this->param['company']??"", $this->param['deploy_optimize']['company_en_name'] ?? '',$this->param['deploy_optimize']['company_en_description'] ?? '');
//保存项目信息
$this->saveProject($this->param);
//保存建站部署信息
... ... @@ -203,7 +203,7 @@ class ProjectLogic extends BaseLogic
* @method :post
* @time :2025/2/13 16:02
*/
public function setAiBlog($project_id,$main_lang_id,$is_ai_blog,$title,$company_en_name,$company_en_description){
public function setAiBlog($project_id,$main_lang_id,$is_ai_blog,$company,$company_en_name,$company_en_description){
if(empty($main_lang_id) || empty($is_ai_blog)){
return true;
}
... ... @@ -219,7 +219,7 @@ class ProjectLogic extends BaseLogic
$aiSettingInfo = $aiSettingModel->read(['project_id'=>$project_id]);
if($aiSettingInfo === false){
$aiBlogService = new AiBlogService();
$result = $aiBlogService->createProject($projectInfo['company'] ?? $title,$languageInfo['short'],$company_en_description,$company_en_name);
$result = $aiBlogService->createProject($projectInfo['company']?:$projectInfo['title'],$languageInfo['short'],$company_en_description,$company_en_name);
if(isset($result['status']) && $result['status'] == 200){
//查看当前项目是否已有记录
$resData = [
... ... @@ -232,12 +232,12 @@ class ProjectLogic extends BaseLogic
}
}else{
//有信息更新
if(($projectInfo['title'] != $title) || ($projectInfo['main_lang_id'] != $main_lang_id)
if(($projectInfo['company'] != $company) || ($projectInfo['main_lang_id'] != $main_lang_id)
|| ($projectOptimize['company_en_name'] != $company_en_name) || ($projectOptimize['company_en_description'] != $company_en_description)){
$aiBlogService = new AiBlogService();
$aiBlogService->mch_id = $aiSettingInfo['mch_id'];
$aiBlogService->key = $aiSettingInfo['key'];
$aiBlogService->updatedProject($title,$languageInfo['short'],$company_en_description,$company_en_name);
$aiBlogService->updatedProject($projectInfo['company']?:$projectInfo['title'],$languageInfo['short'],$company_en_description,$company_en_name);
}
}
return true;
... ...
... ... @@ -762,7 +762,7 @@ class ProductLogic extends BaseLogic
try {
if(!isset($this->param['is_cover']) || ($this->param['is_cover'] == 1)){
$category_ids = ','.implode(',',$this->param['category_id']).',';
$this->model->edit(['category_id'=>$category_ids],['id'=>['in',$this->param['id']]]);
$this->model->edit(['category_id'=>$category_ids,'status'=>$this->param['status'] ?? 1],['id'=>['in',$this->param['id']]]);
//分类关联
foreach ($this->param['id'] as $id){
CategoryRelated::saveRelated($id, $this->param['category_id']);
... ... @@ -773,7 +773,7 @@ class ProductLogic extends BaseLogic
$productInfo = $this->model->read(['id'=>$id],['id','category_id']);
$category_ids_arr = array_values(array_unique(array_merge($productInfo['category_id'],$this->param['category_id'])));
$category_ids = ','.implode(',',$category_ids_arr).',';
$this->model->edit(['category_id'=>$category_ids],['id'=>$id]);
$this->model->edit(['category_id'=>$category_ids,'status'=>$this->param['status'] ?? 1],['id'=>$id]);
CategoryRelated::saveRelated($id, $category_ids_arr);
}
}
... ...