作者 张关杰

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into bate

... ... @@ -107,7 +107,6 @@ class ProjectUpdate extends Command
$page_list = array_column($data_page, 'path');
}
$is_flush = 0;
//设置数据库
$project = ProjectServer::useProject($project_id);
if ($project) {
... ... @@ -250,23 +249,25 @@ class ProjectUpdate extends Command
foreach ($items as $item) {
$route = $this->get_url_route($item['url'] ?? '');
if ($route) {
$product = $model->read(['route' => $route], 'id');
if (!$product) {
//图片
$gallery = [];
if ($item['images'] ?? []) {
foreach ($item['images'] as $k_img => $img) {
$gallery[] = ['alt' => '', 'url' => $this->source_download($img, $project_id, $domain_arr['host'], $web_url_domain, $home_url)];
}
}
//分类
$category_id = '';
if ($item['category'] ?? []) {
$category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]);
$category_id = $logic->getLastCategory(array_column($category_arr, 'id'));
//图片
$gallery = [];
if ($item['images'] ?? []) {
foreach ($item['images'] as $k_img => $img) {
$gallery[] = ['alt' => '', 'url' => $this->source_download($img, $project_id, $domain_arr['host'], $web_url_domain, $home_url)];
}
try {
$item['ttile'] = $this->special2str($item['ttile'] ?? '');
}
//分类
$category_id = '';
if ($item['category'] ?? []) {
$category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]);
$category_id = $logic->getLastCategory(array_column($category_arr, 'id'));
}
//名称去掉特殊符号
$item['ttile'] = $this->special2str($item['ttile'] ?? '');
try {
$product = $model->read(['route' => $route], 'id');
if (!$product) {
$id = $model->insertGetId([
'project_id' => $project_id,
'title' => $item['ttile'],
... ... @@ -290,43 +291,25 @@ class ProjectUpdate extends Command
]);
$this->set_map($route, RouteMap::SOURCE_PRODUCT, $id, $project_id);
//扩展字段
if ($item['extend'] ?? []) {
foreach (array_reverse($item['extend']) as $ke => $ve) {
$extend = $extend_model->read(['title' => $ke]);
if (!$extend) {
$extend_key = $this->get_extend_key($extend_model);
$extend_model->add([
'project_id' => $project_id,
'title' => $ke,
'type' => 1,
'key' => $extend_key
]);
} else {
$extend_key = $extend['key'];
}
$extend_info = $extend_info_model->read(['key' => $extend_key, 'product_id' => $id]);
if (!$extend_info) {
$extend_info_model->add([
'key' => $extend_key,
'project_id' => $project_id,
'product_id' => $id,
'values' => $ve,
'type' => 1
]);
}
}
}
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list);
$is_flush = 1;
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
} else {
$id = $product['id'];
$model->edit([
'title' => $item['ttile'],
'intro' => $item['short_description'] ?? '',
'content' => $item['content'] ?? '',
'category_id' => $category_id,
'thumb' => isset($gallery[0]) ? Arr::a2s($gallery[0]) : '',
'gallery' => Arr::a2s($gallery),
'seo_mate' => Arr::a2s([
'title' => $item['ttile'],
'keyword' => $item['keywords'] ?? '',
'description' => $item['description'] ?? ''
]),
'sort' => $item['sort'] ?? 0,
], ['id' => $id]);
}
}else{
$id = $product['id'];
//扩展字段
if ($item['extend'] ?? []) {
foreach (array_reverse($item['extend']) as $ke => $ve) {
... ... @@ -355,6 +338,9 @@ class ProjectUpdate extends Command
}
}
}
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
}
}
}
... ... @@ -388,23 +374,25 @@ class ProjectUpdate extends Command
foreach ($items as $item) {
$route = $this->get_url_route($item['url'] ?? '');
if ($route) {
$news = $model->read(['url' => $route], 'id');
if (!$news) {
//分类
$category_id = '';
if ($api_type == 'news' && ($item['category'] ?? [])) {
$category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]);
$category_id = $logic->getCategory(array_column($category_arr, 'id'));
}
try {
$item['ttile'] = $this->special2str($item['ttile'] ?? '');
if (is_array($item['images'])) {
$image = $item['images'][0] ?? '';
} else {
$image = $item['images'] ?? '';
}
//分类
$category_id = '';
if ($api_type == 'news' && ($item['category'] ?? [])) {
$category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]);
$category_id = $logic->getCategory(array_column($category_arr, 'id'));
}
//图片
if (is_array($item['images'])) {
$image = $item['images'][0] ?? '';
} else {
$image = $item['images'] ?? '';
}
$new_img = $this->source_download($image, $project_id, $domain_arr['host'], $web_url_domain, $home_url);
//名称去掉特殊符号
$item['ttile'] = $this->special2str($item['ttile'] ?? '');
try {
$news = $model->read(['url' => $route], 'id');
if (!$news) {
$id = $model->insertGetId([
'project_id' => $project_id,
'name' => $item['ttile'],
... ... @@ -413,7 +401,7 @@ class ProjectUpdate extends Command
'seo_keywords' => $item['keywords'] ?? '',
'seo_description' => $item['description'] ?? '',
'text' => $item['content'] ?? '',
'image' => $this->source_download($image, $project_id, $domain_arr['host'], $web_url_domain, $home_url),
'image' => $new_img,
'status' => $api_type == 'news' ? News::STATUS_ONE : Blog::STATUS_ONE,
'created_at' => $item['post_date'] ?? date('Y-m-d H:i:s'),
'updated_at' => $item['post_date'] ?? date('Y-m-d H:i:s'),
... ... @@ -425,11 +413,22 @@ class ProjectUpdate extends Command
$this->set_map($route, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $project_id);
CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list, $page_list);
$is_flush = 1;
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
} else {
$id = $news['id'];
$model->edit([
'name' => $item['ttile'],
'category_id' => $category_id,
'seo_title' => $item['ttile'],
'seo_keywords' => $item['keywords'] ?? '',
'seo_description' => $item['description'] ?? '',
'text' => $item['content'] ?? '',
'image' => $new_img,
'sort' => $item['sort'] ?? 0,
], ['id' => $id]);
}
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
}
}
}
... ... @@ -457,10 +456,11 @@ class ProjectUpdate extends Command
foreach ($items as $item) {
$route = $this->get_url_route($item['url'] ?? '');
if ($route) {
$custom = $model->read(['url' => $route], 'id');
if (!$custom) {
try {
$item['ttile'] = $this->special2str($item['ttile'] ?? '');
//名称去掉特殊符号
$item['ttile'] = $this->special2str($item['ttile'] ?? '');
try {
$custom = $model->read(['url' => $route], 'id');
if (!$custom) {
$id = $model->insertGetId([
'project_id' => $project_id,
'name' => $item['ttile'],
... ... @@ -478,11 +478,19 @@ class ProjectUpdate extends Command
$this->set_map($route, RouteMap::SOURCE_PAGE, $id, $project_id);
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list, $page_list);
$is_flush = 1;
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
} else {
$id = $custom['id'];
$model->edit([
'name' => $item['ttile'],
'title' => $item['ttile'],
'keywords' => $item['keywords'] ?? '',
'description' => $item['description'] ?? '',
'html' => $item['content'] ?? '',
], ['id' => $id]);
}
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
}
}
}
... ... @@ -497,9 +505,6 @@ class ProjectUpdate extends Command
DB::disconnect('custom_mysql');
$task->status = UpdateLog::STATUS_COM;//同步完成
if ($is_flush) {
$task->collect_status = UpdateLog::COLLECT_STATUS_UN;
}
$task->save();
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', task_type: ' . $api_type . ', update end ' . PHP_EOL;
... ...
... ... @@ -11,6 +11,7 @@ namespace App\Console\Commands;
use App\Models\Blog\Blog;
use App\Models\Blog\BlogCategory;
use App\Models\CustomModule\CustomModule;
use App\Models\News\News;
use App\Models\News\NewsCategory;
use App\Models\Product\Category;
... ... @@ -45,7 +46,7 @@ class UpdateMainHtml extends Command
*
* @var string
*/
protected $description = '洗数据';
protected $description = '生成视频模块';
/**
* @remark :统一更新路由
... ... @@ -60,45 +61,24 @@ class UpdateMainHtml extends Command
foreach ($list as $v){
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
ProjectServer::useProject($v['id']);
$this->editMainHtml($v['id']);
$this->initModule($v['id']);
DB::disconnect('custom_mysql');
}
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
}
/**
* @remark :洗数据
* @name :getMainHtml
* @author :lyh
* @method :post
* @time :2023/12/27 18:03
*/
public function editMainHtml($project_id){
$templateModel = new BTemplate();
$info = $templateModel->read(['source'=>4,'source_id'=>0]);
if($info !== false){
$mainModel = new BTemplateMain();
$mainInfo = $mainModel->read(['type'=>4,'is_list'=>1]);
if($mainInfo === false){
$data = [
'type'=>4,
'is_list'=>1,
'main_html'=>$info['main_html'],
'main_css'=>$info['main_css'],
'section_list_id'=>$info['section_list_id'],
'project_id'=>$project_id
];
$mainModel->add($data);
}else{
$data = [
'main_html'=>$info['main_html'],
'main_css'=>$info['main_css'],
'section_list_id'=>$info['section_list_id'],
'project_id'=>$project_id,
];
$mainModel->edit($data,['id'=>$mainInfo['id']]);
}
public function initModule($project_id){
$moduleModel = new CustomModule();
$info = $moduleModel->read(['route'=>'video']);
if($info === false){
$data = [
'name'=>'视频模块',
'project_id'=>$project_id,
'route'=>'video',
];
$moduleModel->add($data);
}
return true;
}
}
... ...
... ... @@ -108,6 +108,8 @@ class OptimizeController extends BaseController
'gl_project.is_remain_today AS is_remain_today',
'gl_project.remain_day AS remain_day',
'gl_project.robots AS robots',
'gl_project.is_translate AS is_translate',
'gl_project.is_translate_tag AS is_translate_tag',
'gl_project_online_check.id AS online_check_id',
'gl_project_online_check.question AS question',
'gl_project_online_check.go_question AS go_question',
... ... @@ -275,4 +277,26 @@ class OptimizeController extends BaseController
}
$this->response('success',Code::SUCCESS,['url'=>$domain.'robots.txt']);
}
/**
* @remark :更改状态
* @name :editTranslateStatus
* @author :lyh
* @method :post
* @time :2023/12/29 15:28
*/
public function editTranslateStatus(){
$this->request->validate([
'project_id'=>'required',
'status'=>'required',
'type'=>'required',
],[
'project_id.required' => 'project_id不能为空',
'status.required' => 'status不能为空',
'type.required' => 'type不能为空',
]);
$projectModel = new Project();
$projectModel->edit([$this->param['type']=>$this->param['status']],['id'=>$this->param['project_id']]);
$this->response('success');
}
}
... ...
... ... @@ -29,11 +29,9 @@ class ComController extends BaseController
public function get_menu(){
//根据当前登录用户角色返回用户菜单列表
$projectMenuModel = new ProjectMenuModel();
@file_put_contents(storage_path('logs/lyh_error.log'), var_export(11111, true) . PHP_EOL, FILE_APPEND);
if($this->user['role_id'] != 0){
$this->map = $this->getNoAdminMenuCondition();
}else{
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($this->map, true) . PHP_EOL, FILE_APPEND);
$this->map = $this->getAdminMenuCondition();
}
$lists = $projectMenuModel->list($this->map,'sort');
... ...
... ... @@ -45,7 +45,6 @@ class FileManageController extends BaseController
$this->map['project_id'] = $this->user['project_id'];
$this->request['name'] && $this->map['name'] = ['like','%'.$this->request['name'].'%'];
$lists = $fileManage->lists($this->map, $this->page, $this->row);
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($lists, true) . PHP_EOL, FILE_APPEND);
if(!empty($lists) && !empty($lists['list'])){
foreach ($lists['list'] as $k => $v){
$v['download_url'] = url('b/file_manager_downLoad?path='.$v['path']);
... ...
... ... @@ -89,7 +89,6 @@ class NewsController extends BaseController
$str = [];
$str[] = $this->map['category_id'];
$this->getAllSub($this->map['category_id'],$str);
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($str, true) . PHP_EOL, FILE_APPEND);
$query->where(function ($subQuery) use ($str) {
foreach ($str as $v) {
$subQuery->orWhereRaw("FIND_IN_SET(?, category_id) > 0", [$v]);
... ...
... ... @@ -75,7 +75,9 @@ class BTemplateLogic extends BaseLogic
if($templateInfo === false){
if($this->user['is_customized'] == BTemplate::IS_VISUALIZATION){//处理定制页面初始数据
$html = $this->isCustomizedPage($this->param['source'],$is_list);//获取定制页面的html
return $this->success(['html'=>$html,'template_id'=>$template_id]);
if(!empty($html)){
return $this->success(['html'=>$html,'template_id'=>$template_id]);
}
}
$mainInfo = $this->getMAinHtml($this->param['source'],$is_custom,$is_list);//获取中间部分代码
}else{
... ...
... ... @@ -230,6 +230,9 @@ class ProductLogic extends BaseLogic
$arr = [];
$keywordModel = new Keyword();
foreach ($keyword as $v){
if(empty($v)){
continue;
}
//查询当前关键字是否存在
$info = $keywordModel->read(['title'=>$v],['id']);
if($info === false){
... ...
... ... @@ -480,7 +480,6 @@ class RankDataLogic extends BaseLogic
$model->lang = $lang;
$model->data = $data;
$model->updated_date = date('Y-m-d');
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($model, true) . PHP_EOL, FILE_APPEND);
$model->save();
}
}
... ...
... ... @@ -263,6 +263,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/getAiPrefix', [Aside\Optimize\OptimizeController::class, 'getAiPrefix'])->name('admin.optimize_getAiPrefix');//获取Ai前后缀
Route::any('/saveAiPrefix', [Aside\Optimize\OptimizeController::class, 'saveAiPrefix'])->name('admin.optimize_saveAiPrefix');//保存Ai前后缀
Route::any('/setRobots', [Aside\Optimize\OptimizeController::class, 'setRobots'])->name('admin.optimize_setRobots');//设置robots开关
Route::any('/editTranslateStatus', [Aside\Optimize\OptimizeController::class, 'editTranslateStatus'])->name('admin.optimize_editTranslateStatus');//设置robots开关
});
//生成关键字
Route::prefix('create_keyword')->group(function () {
... ...
... ... @@ -274,7 +274,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::prefix('inquiry')->group(function () {
Route::get('/', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'index'])->name('inquiry');
Route::get('/form_list', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'form_list'])->name('inquiry_form_list');
Route::get('/info', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'info'])->name('inquiry_info');
Route::any('/info', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'info'])->name('inquiry_info');
Route::any('/delete', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'delete'])->name('inquiry_delete');
Route::any('/export', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'export'])->name('inquiry_export');
});
... ...