作者 赵彬吉
... ... @@ -91,6 +91,13 @@ class ProjectUpdate extends Command
if ($data_language) {
$language_list = array_column($data_language, 'short');
}
//获取所有页面
$page_list = [];
$url_page = 'https://' . $domain_arr['host'] . '/wp-content/cache/pages_list.json';
$data_page = http_get($url_page, ['charset' => 'UTF-8']);
if ($data_page) {
$page_list = array_column($data_page, 'path');
}
//设置数据库
$project = ProjectServer::useProject($project_id);
... ... @@ -142,7 +149,7 @@ class ProjectUpdate extends Command
$id = $keyword['id'];
}
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $link_type, $language_list);
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $link_type, $language_list, $page_list);
}
}
}
... ... @@ -274,7 +281,7 @@ class ProjectUpdate extends Command
$id = $product['id'];
}
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list);
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list);
}
}
}
... ... @@ -328,7 +335,7 @@ class ProjectUpdate extends Command
$id = $news['id'];
}
CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list);
CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list, $page_list);
}
}
}
... ... @@ -376,7 +383,7 @@ class ProjectUpdate extends Command
$id = $custom['id'];
}
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list);
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list, $page_list);
}
}
}
... ...
... ... @@ -13,6 +13,7 @@ use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Models\ASide\APublicModel;
use App\Models\Channel\Channel;
use App\Models\Domain\DomainInfo;
use App\Models\Manage\Manage;
use App\Models\Project\OnlineCheck;
use App\Models\Project\Project;
... ... @@ -82,7 +83,6 @@ class OnlineController extends BaseController
'gl_project_deploy_optimize.assist_mid AS optimize_assist_mid',
'gl_project_deploy_optimize.tech_mid AS optimize_tech_mid',
'gl_project_deploy_optimize.domain AS domain',
'gl_project_payment.amount AS amount',
];
return $select;
}
... ... @@ -127,9 +127,14 @@ class OnlineController extends BaseController
* @time :2023/8/18 10:58
*/
public function searchParam(&$query){
//搜索条件处理
if(isset($this->map['title'])){
$query = $query->where('gl_project.title','like','%'.$this->map['title'].'%');
if(!empty($this->map['search']) && !empty($this->map['search_type'])){
// 搜索域名
if($this->map['search_type'] == 'test_domain'){
$query->where('gl_project_deploy_build.test_domain','like','%'.$this->map['search'].'%');
} else {
// 搜索名称
$query->where('gl_project.title', 'like', '%' . $this->map['search'] . '%');
}
}
$query = $query->where('gl_project.status',1);//TODO::已提交审核
return $query;
... ...
... ... @@ -206,6 +206,9 @@ class ProjectController extends BaseController
if(isset($this->map['channel_id']) && !empty($this->map['channel_id'])){
$query->where('gl_project.channel','like','%"channel_id": "'.$this->map['channel_id'].'"%');
}
if(isset($this->map['user_id']) && !empty($this->map['user_id'])){
$query->where('gl_project.channel','like','%"user_id": "'.$this->map['channel_id'].'"%');
}
return $query;
}
... ...
... ... @@ -24,6 +24,10 @@ class WebSettingImageController extends BaseController
*/
public function lists(WebSettingImage $webSettingImage){
$list = $webSettingImage->list([],'id',['id','image','type']);
foreach ($list as $k=>$v){
$v['image'] = getImageUrl($v['image']);
$list[$k] = $v;
}
$this->response('success',Code::SUCCESS,$list);
}
... ... @@ -35,16 +39,15 @@ class WebSettingImageController extends BaseController
* @time :2023/9/21 15:17
*/
public function save(WebSettingImage $webSettingImage){
foreach ($this->param['data'] as $v){
if(isset($v['id']) && !empty($v['id'])){
$rs = $webSettingImage->edit($v,['id'=>$v['id']]);
}else{
try {
$webSettingImage->del(['project_id'=>$this->user['project_id']]);
foreach ($this->param['data'] as $v){
$v['project_id'] = $this->user['project_id'];
$rs = $webSettingImage->add($v);
}
if($rs === false){
$this->response('系统错误请联系管理员');
$v['image'] = str_replace_url($v['image']);
$webSettingImage->add($v);
}
}catch (\Exception $e){
$this->response('系统错误请联系管理员');
}
$this->response('success');
}
... ...
... ... @@ -136,6 +136,16 @@ class ProductLogic extends BaseLogic
public function editList(){
$this->param['category_id'] = $this->getLastCategory($this->param['category_id']);
$this->param['keyword_id'] = $this->saveKeyword($this->param['keyword_id']);
if(isset($this->param['gallery']) && !empty($this->param['gallery'])){
foreach ($this->param['gallery'] as $k => $v){
$v['url'] = str_replace_url($v['url']);
$this->param['gallery'][$k] = $v;
}
$this->param['thumb'] = Arr::a2s($this->param['gallery'][0] ?? []);
$this->param['gallery'] = Arr::a2s($this->param['gallery'] ?? []);
}else{
$this->param['thumb'] = [];
}
$this->model->edit($this->param,['id'=>$this->param['id']]);
return $this->success();
}
... ... @@ -191,6 +201,8 @@ class ProductLogic extends BaseLogic
}
$param['thumb'] = Arr::a2s($param['gallery'][0] ?? []);
$param['gallery'] = Arr::a2s($param['gallery'] ?? []);
}else{
$param['thumb'] = [];
}
$param['attrs'] = Arr::a2s($param['attrs'] ?? []);
$param['attr_id'] = Arr::arrToSet($param['attr_id'] ?? '');
... ...
... ... @@ -201,6 +201,7 @@ class UserLoginLogic
$info['upload_config'] = $project['upload_config'];
$info['image_max'] = $project['image_max'];
$info['configuration'] = $project['deploy_build']['configuration'];
$info['type'] = $project['type'];
if($info['is_customized'] == 1){
$info['is_visualization'] = json_decode($project['is_visualization']);
}
... ...
... ... @@ -17,7 +17,7 @@ class CollectTask extends Base
const STATUS_COM = 2;
const STATUS_FAIL = 3;
public static function _insert($url, $project_id, $source, $source_id, $link_type = 0, $language_list = [])
public static function _insert($url, $project_id, $source, $source_id, $link_type = 0, $language_list = [], $page_list = [])
{
if (!$url) {
return;
... ... @@ -35,47 +35,46 @@ class CollectTask extends Base
];
$task = self::where($where)->first();
$data = [];
$now = date('Y-m-d H:i:s');
if (!$task) {
$now = date('Y-m-d H:i:s');
$data = [
[
$data[] = [
'project_id' => $project_id,
'source' => $source,
'source_id' => $source_id,
'domain' => $url_arr['host'],
'route' => $url_arr['path'],
'language' => '',
'created_at' => $now,
'updated_at' => $now,
];
}
if ($link_type > 0 && $language_list && in_array($url_arr['path'], $page_list)) {
$domain_arr = explode('.', $url_arr['host']);
foreach ($language_list as $v_lan) {
if ($link_type == 1) {
//二级域名
$domain_arr[0] = $v_lan;
$new_domain = implode('.', $domain_arr);
} else {
//二级目录
$new_domain = $url_arr['host'] . '/' . $v_lan;
}
$data[] = [
'project_id' => $project_id,
'source' => $source,
'source_id' => $source_id,
'domain' => $url_arr['host'],
'domain' => $new_domain,
'route' => $url_arr['path'],
'language' => '',
'language' => $v_lan,
'created_at' => $now,
'updated_at' => $now,
]
];
if ($link_type > 0 && $language_list) {
$domain_arr = explode('.', $url_arr['host']);
foreach ($language_list as $v_lan) {
if ($link_type == 1) {
//二级域名
$domain_arr[0] = $v_lan;
$new_domain = implode('.', $domain_arr);
} else {
//二级目录
$new_domain = $url_arr['host'] . '/' . $v_lan;
}
$data[] = [
'project_id' => $project_id,
'source' => $source,
'source_id' => $source_id,
'domain' => $new_domain,
'route' => $url_arr['path'],
'language' => $v_lan,
'created_at' => $now,
'updated_at' => $now,
];
}
];
}
self::insert($data);
}
self::insert($data);
}
}
... ...
... ... @@ -128,12 +128,8 @@ class RouteMap extends Base
}
if($source == self::SOURCE_NEWS){
$route_map->path = self::SOURCE_NEWS;
}elseif($source == self::SOURCE_NEWS_CATE){
$route_map->path = self::PATH_NEWS_CATE;
}elseif ($source == self::SOURCE_BLOG){
$route_map->path = self::SOURCE_BLOG;
}elseif ($source == self::SOURCE_BLOG_CATE){
$route_map->path = self::PATH_BLOG_CATE;
}
$route_map->route = $route;
$route_map->save();
... ...