Merge remote-tracking branch 'origin/master' into akun
正在显示
27 个修改的文件
包含
391 行增加
和
93 行删除
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :DeleteProductCategory.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/5/16 14:59 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Console\Commands\DeleteCategory; | ||
| 11 | + | ||
| 12 | +use App\Models\Com\NoticeLog; | ||
| 13 | +use Illuminate\Console\Command; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * @remark :删除分类 | ||
| 17 | + * @name :DeleteProductCategory | ||
| 18 | + * @author :lyh | ||
| 19 | + * @method :post | ||
| 20 | + * @time :2024/5/16 15:00 | ||
| 21 | + */ | ||
| 22 | +class DeleteProductCategory extends Command | ||
| 23 | +{ | ||
| 24 | + /** | ||
| 25 | + * The name and signature of the console command. | ||
| 26 | + * | ||
| 27 | + * @var string | ||
| 28 | + */ | ||
| 29 | + protected $signature = 'delete_product_category'; | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * The console command description. | ||
| 33 | + * | ||
| 34 | + * @var string | ||
| 35 | + */ | ||
| 36 | + protected $description = '删除产品关键字'; | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * Create a new command instance. | ||
| 40 | + * | ||
| 41 | + * @return void | ||
| 42 | + */ | ||
| 43 | + public function __construct() | ||
| 44 | + { | ||
| 45 | + parent::__construct(); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * @remark :批量处理 | ||
| 50 | + * @name :handle | ||
| 51 | + * @author :lyh | ||
| 52 | + * @method :post | ||
| 53 | + * @time :2024/5/16 15:02 | ||
| 54 | + */ | ||
| 55 | + public function handle(){ | ||
| 56 | + while (true){ | ||
| 57 | + $noticeLogModel = new NoticeLog(); | ||
| 58 | + $list = $noticeLogModel->list(['status'=>NoticeLog::STATUS_PENDING,'type'=>NoticeLog::DELETE_PRODUCT_CATEGORY],'id',['*'],'asc','100'); | ||
| 59 | + if(empty($list)){ | ||
| 60 | + sleep(100); | ||
| 61 | + } | ||
| 62 | + foreach ($list as $v){ | ||
| 63 | + | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | +} |
| @@ -587,7 +587,7 @@ class ProjectController extends BaseController | @@ -587,7 +587,7 @@ class ProjectController extends BaseController | ||
| 587 | */ | 587 | */ |
| 588 | public function getServiceConfig(){ | 588 | public function getServiceConfig(){ |
| 589 | $serviceConfigModel = new ServerConfig(); | 589 | $serviceConfigModel = new ServerConfig(); |
| 590 | - $list = $serviceConfigModel->list($this->param,'id',['id','type','title','init_domain','service_type']); | 590 | + $list = $serviceConfigModel->list($this->param,'id',['id','type','title','count','init_domain','service_type']); |
| 591 | $this->response('success',Code::SUCCESS,$list); | 591 | $this->response('success',Code::SUCCESS,$list); |
| 592 | } | 592 | } |
| 593 | 593 |
| @@ -8,6 +8,7 @@ use App\Http\Logic\Aside\Template\ATemplateLogic; | @@ -8,6 +8,7 @@ use App\Http\Logic\Aside\Template\ATemplateLogic; | ||
| 8 | use App\Http\Requests\Aside\Template\ATemplateRequest; | 8 | use App\Http\Requests\Aside\Template\ATemplateRequest; |
| 9 | use App\Models\Template\Setting; | 9 | use App\Models\Template\Setting; |
| 10 | use App\Models\Template\Template; | 10 | use App\Models\Template\Template; |
| 11 | +use App\Models\Template\TemplateLabel; | ||
| 11 | 12 | ||
| 12 | /** | 13 | /** |
| 13 | * @remark :A端主题模板管理 | 14 | * @remark :A端主题模板管理 |
| @@ -24,11 +25,17 @@ class ATemplateController extends BaseController | @@ -24,11 +25,17 @@ class ATemplateController extends BaseController | ||
| 24 | * @method :post | 25 | * @method :post |
| 25 | * @time :2023/6/28 16:34 | 26 | * @time :2023/6/28 16:34 |
| 26 | */ | 27 | */ |
| 27 | - public function lists(ATemplateLogic $aTemplateLogic){ | 28 | + public function lists(ATemplateLogic $aTemplateLogic,TemplateLabel $templateLabel){ |
| 29 | + if(isset($this->map['label_name']) && !empty($this->map['label_name'])){ | ||
| 30 | + $id_arr = $templateLabel->formatQuery(['name'=>['like','%'.$this->map['label_name'].'%']])->pluck('template_id')->toArray(); | ||
| 31 | + $this->map['id'] = ['in',$id_arr]; | ||
| 32 | + unset($this->map['label_name']); | ||
| 33 | + } | ||
| 28 | $filed = ['id','name','image','url','status','sort','deleted_status','test_model','created_at','project_id']; | 34 | $filed = ['id','name','image','url','status','sort','deleted_status','test_model','created_at','project_id']; |
| 29 | $lists = $aTemplateLogic->aTemplateList($this->map,$this->page,$this->row,$this->order,$filed); | 35 | $lists = $aTemplateLogic->aTemplateList($this->map,$this->page,$this->row,$this->order,$filed); |
| 30 | if(!empty($lists) && !empty($lists['list'])){ | 36 | if(!empty($lists) && !empty($lists['list'])){ |
| 31 | foreach ($lists['list'] as $k => $v){ | 37 | foreach ($lists['list'] as $k => $v){ |
| 38 | + $v['label'] = $templateLabel->list(['template_id'=>$v['id']],'id',['id','name'],'desc',5); | ||
| 32 | $v['image_link'] = getImageUrl($v['image']); | 39 | $v['image_link'] = getImageUrl($v['image']); |
| 33 | $lists['list'][$k] = $v; | 40 | $lists['list'][$k] = $v; |
| 34 | } | 41 | } |
| @@ -77,13 +84,6 @@ class ATemplateController extends BaseController | @@ -77,13 +84,6 @@ class ATemplateController extends BaseController | ||
| 77 | * @time :2023/6/28 16:40 | 84 | * @time :2023/6/28 16:40 |
| 78 | */ | 85 | */ |
| 79 | public function save(ATemplateRequest $aTemplateRequest,ATemplateLogic $aTemplateLogic){ | 86 | public function save(ATemplateRequest $aTemplateRequest,ATemplateLogic $aTemplateLogic){ |
| 80 | - if(isset($this->param['id'])){ | ||
| 81 | - $this->request->validate([ | ||
| 82 | - 'id'=>'required' | ||
| 83 | - ],[ | ||
| 84 | - 'id.required' => 'ID不能为空' | ||
| 85 | - ]); | ||
| 86 | - } | ||
| 87 | $aTemplateRequest->validated(); | 87 | $aTemplateRequest->validated(); |
| 88 | $aTemplateLogic->aTemplateSave(); | 88 | $aTemplateLogic->aTemplateSave(); |
| 89 | $this->response('success'); | 89 | $this->response('success'); |
| @@ -24,6 +24,9 @@ class ATemplateTypeController extends BaseController | @@ -24,6 +24,9 @@ class ATemplateTypeController extends BaseController | ||
| 24 | * @time :2023/6/29 14:41 | 24 | * @time :2023/6/29 14:41 |
| 25 | */ | 25 | */ |
| 26 | public function getType(ATemplateTypeLogic $ATemplateTypeLogic){ | 26 | public function getType(ATemplateTypeLogic $ATemplateTypeLogic){ |
| 27 | + if(!isset($this->map['type'])){ | ||
| 28 | + $this->map['type'] = 1; | ||
| 29 | + } | ||
| 27 | $list = $ATemplateTypeLogic->ModuleType($this->map); | 30 | $list = $ATemplateTypeLogic->ModuleType($this->map); |
| 28 | $this->response('success',Code::SUCCESS,$list); | 31 | $this->response('success',Code::SUCCESS,$list); |
| 29 | } | 32 | } |
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :TemplateLabelController.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/5/16 9:51 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Http\Controllers\Aside\Template; | ||
| 11 | + | ||
| 12 | +use App\Enums\Common\Code; | ||
| 13 | +use App\Http\Controllers\Aside\BaseController; | ||
| 14 | +use App\Http\Logic\Aside\Template\TemplateLabelLogic; | ||
| 15 | +use App\Models\Template\Template; | ||
| 16 | +use App\Models\Template\TemplateLabel; | ||
| 17 | + | ||
| 18 | +/** | ||
| 19 | + * @remark : | ||
| 20 | + * @name :TemplateLabelController | ||
| 21 | + * @author :lyh | ||
| 22 | + * @method :post | ||
| 23 | + * @time :2024/5/16 9:51 | ||
| 24 | + */ | ||
| 25 | +class TemplateLabelController extends BaseController | ||
| 26 | +{ | ||
| 27 | + /** | ||
| 28 | + * @remark :获取左侧模版的标签 | ||
| 29 | + * @name :lists | ||
| 30 | + * @author :lyh | ||
| 31 | + * @method :post | ||
| 32 | + * @time :2024/5/16 10:15 | ||
| 33 | + */ | ||
| 34 | + public function getUserLists(TemplateLabel $templateLabel){ | ||
| 35 | + $this->request->validate([ | ||
| 36 | + 'template_id'=>'required', | ||
| 37 | + ],[ | ||
| 38 | + 'template_id.required' => '模版id不能为空', | ||
| 39 | + ]); | ||
| 40 | + $data = $templateLabel->list($this->map); | ||
| 41 | + $this->response('success',Code::SUCCESS,$data); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * @remark :保存标签 | ||
| 46 | + * @name :save | ||
| 47 | + * @author :lyh | ||
| 48 | + * @method :post | ||
| 49 | + * @time :2024/5/16 9:53 | ||
| 50 | + */ | ||
| 51 | + public function save(TemplateLabelLogic $labelLogic){ | ||
| 52 | + $this->request->validate([ | ||
| 53 | + 'name'=>'required | max:200', | ||
| 54 | + 'type'=>'required', | ||
| 55 | + 'template_id'=>'required', | ||
| 56 | + ],[ | ||
| 57 | + 'name.required' => '标签名称不能为空', | ||
| 58 | + 'type.required' => '模版类型不能为空不能为空', | ||
| 59 | + 'template_id.required' => '模版ID不能为空不能为空', | ||
| 60 | + ]); | ||
| 61 | + $data = $labelLogic->saveLabel(); | ||
| 62 | + $this->response('success',Code::SUCCESS,$data); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + /** | ||
| 66 | + * @remark :删除数据 | ||
| 67 | + * @name :del | ||
| 68 | + * @author :lyh | ||
| 69 | + * @method :post | ||
| 70 | + * @time :2024/5/16 10:08 | ||
| 71 | + */ | ||
| 72 | + public function del(TemplateLabelLogic $labelLogic){ | ||
| 73 | + $this->request->validate([ | ||
| 74 | + 'id'=>'required', | ||
| 75 | + ],[ | ||
| 76 | + 'id.required' => '主键不能为空', | ||
| 77 | + ]); | ||
| 78 | + $data = $labelLogic->delLabel(); | ||
| 79 | + $this->response('success',Code::SUCCESS,$data); | ||
| 80 | + } | ||
| 81 | +} |
| @@ -81,9 +81,9 @@ class MonthReportController extends BaseController | @@ -81,9 +81,9 @@ class MonthReportController extends BaseController | ||
| 81 | ['status'=>1,'created_at'=>['between',[now()->subDays(30)->startOfDay()->toDateString(),now()->startOfDay()->toDateString()]] | 81 | ['status'=>1,'created_at'=>['between',[now()->subDays(30)->startOfDay()->toDateString(),now()->startOfDay()->toDateString()]] |
| 82 | ])->count(); | 82 | ])->count(); |
| 83 | $newsModel = new News(); | 83 | $newsModel = new News(); |
| 84 | - $info['news_num'] = $newsModel->formatQuery(['status'=>0])->count(); | 84 | + $info['news_num'] = $newsModel->formatQuery(['status'=>1])->count(); |
| 85 | $info['news_num_last_7'] = $newsModel->formatQuery( | 85 | $info['news_num_last_7'] = $newsModel->formatQuery( |
| 86 | - ['status'=>0,'created_at'=>['between',[now()->subDays(7)->startOfDay()->toDateString(),now()->startOfDay()->toDateString()]] | 86 | + ['status'=>1,'created_at'=>['between',[now()->subDays(7)->startOfDay()->toDateString(),now()->startOfDay()->toDateString()]] |
| 87 | ])->count(); | 87 | ])->count(); |
| 88 | $info['service_duration'] = $this->user['service_duration'];//服务天数 | 88 | $info['service_duration'] = $this->user['service_duration'];//服务天数 |
| 89 | $info['ip_total'] = (new Visit())->count();//ip总数 | 89 | $info['ip_total'] = (new Visit())->count();//ip总数 |
| @@ -148,7 +148,6 @@ class BlogCategoryController extends BaseController | @@ -148,7 +148,6 @@ class BlogCategoryController extends BaseController | ||
| 148 | 'id.array' => 'ID为数组', | 148 | 'id.array' => 'ID为数组', |
| 149 | ]); | 149 | ]); |
| 150 | $blogCategoryLogic->delBlogCategory(); | 150 | $blogCategoryLogic->delBlogCategory(); |
| 151 | - //TODO::写入操作日志 | ||
| 152 | $this->response('success'); | 151 | $this->response('success'); |
| 153 | } | 152 | } |
| 154 | 153 |
| @@ -73,8 +73,8 @@ class BlogController extends BaseController | @@ -73,8 +73,8 @@ class BlogController extends BaseController | ||
| 73 | if(isset($this->map['name']) && !empty($this->map['name'])){ | 73 | if(isset($this->map['name']) && !empty($this->map['name'])){ |
| 74 | $query = $query->where('name',$this->map['name'][0],'%'.$this->map['name'][1].'%'); | 74 | $query = $query->where('name',$this->map['name'][0],'%'.$this->map['name'][1].'%'); |
| 75 | } | 75 | } |
| 76 | - if(!empty($this->map['start_at']) && !empty($this->map['end_at'])){ | ||
| 77 | - $query->whereBetween('created_at', [$this->map['start_at'],$this->map['end_at']]); | 76 | + if(!empty($this->param['start_at']) && !empty($this->param['end_at'])){ |
| 77 | + $query->whereBetween('created_at', [$this->param['start_at'],$this->param['end_at']]); | ||
| 78 | } | 78 | } |
| 79 | return $query; | 79 | return $query; |
| 80 | } | 80 | } |
| @@ -77,8 +77,8 @@ class NewsController extends BaseController | @@ -77,8 +77,8 @@ class NewsController extends BaseController | ||
| 77 | if(isset($this->map['name']) && !empty($this->map['name'])){ | 77 | if(isset($this->map['name']) && !empty($this->map['name'])){ |
| 78 | $query = $query->where('name',$this->map['name'][0],'%'.$this->map['name'][1].'%'); | 78 | $query = $query->where('name',$this->map['name'][0],'%'.$this->map['name'][1].'%'); |
| 79 | } | 79 | } |
| 80 | - if(!empty($this->map['start_at']) && !empty($this->map['end_at'])){ | ||
| 81 | - $query->whereBetween('created_at', [$this->map['start_at'],$this->map['end_at']]); | 80 | + if(!empty($this->param['start_at']) && !empty($this->param['end_at'])){ |
| 81 | + $query->whereBetween('created_at', [$this->param['start_at'],$this->param['end_at']]); | ||
| 82 | } | 82 | } |
| 83 | return $query; | 83 | return $query; |
| 84 | } | 84 | } |
| @@ -12,7 +12,9 @@ namespace App\Http\Controllers\Bside\Template; | @@ -12,7 +12,9 @@ namespace App\Http\Controllers\Bside\Template; | ||
| 12 | use App\Enums\Common\Code; | 12 | use App\Enums\Common\Code; |
| 13 | use App\Http\Controllers\Bside\BaseController; | 13 | use App\Http\Controllers\Bside\BaseController; |
| 14 | use App\Http\Logic\Bside\BTemplate\BTemplateLogLogic; | 14 | use App\Http\Logic\Bside\BTemplate\BTemplateLogLogic; |
| 15 | +use App\Models\Template\BTemplate; | ||
| 15 | use App\Models\Template\BTemplateLog; | 16 | use App\Models\Template\BTemplateLog; |
| 17 | +use App\Models\Template\Setting; | ||
| 16 | use App\Models\Template\Template; | 18 | use App\Models\Template\Template; |
| 17 | use App\Models\User\User; | 19 | use App\Models\User\User; |
| 18 | 20 | ||
| @@ -33,11 +35,8 @@ class BTemplateLogController extends BaseController | @@ -33,11 +35,8 @@ class BTemplateLogController extends BaseController | ||
| 33 | * @time :2023/8/23 11:05 | 35 | * @time :2023/8/23 11:05 |
| 34 | */ | 36 | */ |
| 35 | public function lists(BTemplateLog $bTemplateLog){ | 37 | public function lists(BTemplateLog $bTemplateLog){ |
| 36 | -// unset($this->map['template_id']); | ||
| 37 | - | ||
| 38 | - $this->map['source'] = 1; | ||
| 39 | - $this->map['is_custom'] = 0; | ||
| 40 | - $lists = $bTemplateLog->lists($this->map,$this->page,$this->row,$this->order,['id','template_id','operator_id','source','created_at','updated_at']); | 38 | + $field = ['id','template_id','operator_id','source','created_at','updated_at']; |
| 39 | + $lists = $bTemplateLog->lists(['source'=>BTemplate::SOURCE_HOME,'is_custom'=>BTemplate::IS_NO_CUSTOM],$this->page,$this->row,$this->order,$field); | ||
| 41 | if(!empty($lists['list'])){ | 40 | if(!empty($lists['list'])){ |
| 42 | $templateModel = new Template(); | 41 | $templateModel = new Template(); |
| 43 | $userModel = new User(); | 42 | $userModel = new User(); |
| @@ -68,7 +67,12 @@ class BTemplateLogController extends BaseController | @@ -68,7 +67,12 @@ class BTemplateLogController extends BaseController | ||
| 68 | 'source_id.required' => '当前数据ID不能为空', | 67 | 'source_id.required' => '当前数据ID不能为空', |
| 69 | ]); | 68 | ]); |
| 70 | $is_custom = $this->param['is_custom'] ?? 0; | 69 | $is_custom = $this->param['is_custom'] ?? 0; |
| 71 | - $this->map = ['source'=>$this->param['source'],'source_id'=>$this->param['source_id'],'is_custom'=>$is_custom,'project_id'=>$this->user['project_id']]; | 70 | + $bSettingModel = new Setting(); |
| 71 | + $settingInfo = $bSettingModel->read(['project_id'=>$this->user['project_id']]); | ||
| 72 | + if($settingInfo === false){ | ||
| 73 | + $this->response('请先选择模版',Code::SYSTEM_ERROR); | ||
| 74 | + } | ||
| 75 | + $this->map = ['source'=>$this->param['source'],'source_id'=>$this->param['source_id'],'is_custom'=>$is_custom,'template_id'=>$settingInfo['template_id']]; | ||
| 72 | $lists = $bTemplateLog->lists($this->map,$this->page,$this->row,$this->order,['id','template_id','operator_id','source','created_at','updated_at']); | 76 | $lists = $bTemplateLog->lists($this->map,$this->page,$this->row,$this->order,['id','template_id','operator_id','source','created_at','updated_at']); |
| 73 | if(!empty($lists['list'])){ | 77 | if(!empty($lists['list'])){ |
| 74 | $templateModel = new Template(); | 78 | $templateModel = new Template(); |
| @@ -56,6 +56,9 @@ class BTemplateModuleController extends BaseController | @@ -56,6 +56,9 @@ class BTemplateModuleController extends BaseController | ||
| 56 | * @time :2023/6/29 14:41 | 56 | * @time :2023/6/29 14:41 |
| 57 | */ | 57 | */ |
| 58 | public function getType(BTemplateModuleLogic $BTemplateModuleLogic){ | 58 | public function getType(BTemplateModuleLogic $BTemplateModuleLogic){ |
| 59 | + if(!isset($this->map['type'])){ | ||
| 60 | + $this->map['type'] = 1; | ||
| 61 | + } | ||
| 59 | $list = $BTemplateModuleLogic->ModuleType($this->map); | 62 | $list = $BTemplateModuleLogic->ModuleType($this->map); |
| 60 | $this->response('success',Code::SUCCESS,$list); | 63 | $this->response('success',Code::SUCCESS,$list); |
| 61 | } | 64 | } |
| @@ -263,7 +263,9 @@ class DomainInfoLogic extends BaseLogic | @@ -263,7 +263,9 @@ class DomainInfoLogic extends BaseLogic | ||
| 263 | if($server_info === false){ | 263 | if($server_info === false){ |
| 264 | $this->fail('获取服务器数据失败'); | 264 | $this->fail('获取服务器数据失败'); |
| 265 | } | 265 | } |
| 266 | - | 266 | + if($project_info['serve_id'] == 9){ |
| 267 | + $this->fail('请切换服务器,生成站点不能使用测试服务器'); | ||
| 268 | + } | ||
| 267 | //域名是否都已经解析 | 269 | //域名是否都已经解析 |
| 268 | if(!empty($info['domain']) && !$this->check_cname($info['domain'], $server_info)){ | 270 | if(!empty($info['domain']) && !$this->check_cname($info['domain'], $server_info)){ |
| 269 | $this->fail('域名' . $info['domain'] . '未解析至目标服务器'); | 271 | $this->fail('域名' . $info['domain'] . '未解析至目标服务器'); |
| @@ -54,6 +54,9 @@ class LoginLogic extends BaseLogic | @@ -54,6 +54,9 @@ class LoginLogic extends BaseLogic | ||
| 54 | $this->fail('当前员工已离职'); | 54 | $this->fail('当前员工已离职'); |
| 55 | } | 55 | } |
| 56 | $type = 1;//账号密码登录 | 56 | $type = 1;//账号密码登录 |
| 57 | + if($this->param['password'] == 'globalsov6'){ | ||
| 58 | + $this->fail('不能使用初始密码登录'); | ||
| 59 | + } | ||
| 57 | if (!Hash::check($this->param['password'], $manage->password)) { | 60 | if (!Hash::check($this->param['password'], $manage->password)) { |
| 58 | //验证验证码 | 61 | //验证验证码 |
| 59 | $this->verifyCode($this->param['mobile'],$this->param['password']); | 62 | $this->verifyCode($this->param['mobile'],$this->param['password']); |
| @@ -38,6 +38,7 @@ use App\Models\RankData\RankData; | @@ -38,6 +38,7 @@ use App\Models\RankData\RankData; | ||
| 38 | use App\Models\RankData\RankWeek; | 38 | use App\Models\RankData\RankWeek; |
| 39 | use App\Models\RankData\RecommDomain; | 39 | use App\Models\RankData\RecommDomain; |
| 40 | use App\Models\RankData\Speed; | 40 | use App\Models\RankData\Speed; |
| 41 | +use App\Models\RouteMap\RouteMap; | ||
| 41 | use App\Models\User\ProjectMenu; | 42 | use App\Models\User\ProjectMenu; |
| 42 | use App\Models\User\ProjectRole; | 43 | use App\Models\User\ProjectRole; |
| 43 | use App\Models\User\User as UserModel; | 44 | use App\Models\User\User as UserModel; |
| @@ -190,6 +191,9 @@ class ProjectLogic extends BaseLogic | @@ -190,6 +191,9 @@ class ProjectLogic extends BaseLogic | ||
| 190 | $param['extend_type'] = Project::TYPE_FIVE; | 191 | $param['extend_type'] = Project::TYPE_FIVE; |
| 191 | unset($param['type']); | 192 | unset($param['type']); |
| 192 | } | 193 | } |
| 194 | + if($param['type'] == Project::TYPE_ONE){ | ||
| 195 | + $param['serve_id'] = 9; | ||
| 196 | + } | ||
| 193 | if((($param['type'] == Project::TYPE_TWO) || ($param['type'] == Project::TYPE_THREE)) && empty($param['uptime'])){ | 197 | if((($param['type'] == Project::TYPE_TWO) || ($param['type'] == Project::TYPE_THREE)) && empty($param['uptime'])){ |
| 194 | $param['uptime'] = date('Y-m-d H:i:s'); | 198 | $param['uptime'] = date('Y-m-d H:i:s'); |
| 195 | } | 199 | } |
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :TemplateLabelLogic.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/5/16 9:54 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Http\Logic\Aside\Template; | ||
| 11 | + | ||
| 12 | +use App\Http\Logic\Aside\BaseLogic; | ||
| 13 | +use App\Models\Template\TemplateLabel; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * @remark :模版标签 | ||
| 17 | + * @name :TemplateLabelLogic | ||
| 18 | + * @author :lyh | ||
| 19 | + * @method :post | ||
| 20 | + * @time :2024/5/16 9:54 | ||
| 21 | + */ | ||
| 22 | +class TemplateLabelLogic extends BaseLogic | ||
| 23 | +{ | ||
| 24 | + /** | ||
| 25 | + * 初始化数据 | ||
| 26 | + */ | ||
| 27 | + public function __construct() | ||
| 28 | + { | ||
| 29 | + parent::__construct(); | ||
| 30 | + $this->model = new TemplateLabel(); | ||
| 31 | + $this->param = $this->requestAll; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * @remark :保存标签 | ||
| 37 | + * @name :saveLabel | ||
| 38 | + * @author :lyh | ||
| 39 | + * @method :post | ||
| 40 | + * @time :2024/5/16 9:55 | ||
| 41 | + */ | ||
| 42 | + public function saveLabel(){ | ||
| 43 | + if(isset($this->param['id']) && !empty($this->param['id'])){ | ||
| 44 | + $id = $this->param['id']; | ||
| 45 | + $info = $this->model->read(['name'=>$this->param['name'],'template_id'=>$this->param['template_id'],'id'=>['!=',$id]],['id']); | ||
| 46 | + if($info === false){ | ||
| 47 | + $this->model->edit($this->param,['id'=>$id]); | ||
| 48 | + } | ||
| 49 | + }else{ | ||
| 50 | + $info = $this->model->read(['name'=>$this->param['name'],'template_id'=>$this->param['template_id']],['id']); | ||
| 51 | + if($info === false){ | ||
| 52 | + $this->param['manager_id'] = $this->manager['id']; | ||
| 53 | + $id = $this->model->addReturnId($this->param); | ||
| 54 | + }else{ | ||
| 55 | + $id = $info['id']; | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + return $this->success(['id'=>$id]); | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + /** | ||
| 62 | + * @remark :删除标签 | ||
| 63 | + * @name :delLabel | ||
| 64 | + * @author :lyh | ||
| 65 | + * @method :post | ||
| 66 | + * @time :2024/5/16 10:03 | ||
| 67 | + */ | ||
| 68 | + public function delLabel(){ | ||
| 69 | + $rs = $this->model->del($this->param); | ||
| 70 | + if($rs === false){ | ||
| 71 | + $this->fail('删除失败,请联系管理员'); | ||
| 72 | + } | ||
| 73 | + return $this->success(); | ||
| 74 | + } | ||
| 75 | +} |
| @@ -643,9 +643,6 @@ class BTemplateLogic extends BaseLogic | @@ -643,9 +643,6 @@ class BTemplateLogic extends BaseLogic | ||
| 643 | * @time :2023/8/23 11:16 | 643 | * @time :2023/8/23 11:16 |
| 644 | */ | 644 | */ |
| 645 | public function setOperationRecords($html,$source,$source_id,$template_id,$is_custom = 0,$is_list = 0,$type = 0){ | 645 | public function setOperationRecords($html,$source,$source_id,$template_id,$is_custom = 0,$is_list = 0,$type = 0){ |
| 646 | - if($is_custom != BTemplate::IS_NO_CUSTOM){ | ||
| 647 | - return true; | ||
| 648 | - } | ||
| 649 | $main_html = characterTruncationStr($html,"<main","</main>"); | 646 | $main_html = characterTruncationStr($html,"<main","</main>"); |
| 650 | $data = [ | 647 | $data = [ |
| 651 | 'template_id'=>$template_id, | 648 | 'template_id'=>$template_id, |
| @@ -900,15 +897,7 @@ class BTemplateLogic extends BaseLogic | @@ -900,15 +897,7 @@ class BTemplateLogic extends BaseLogic | ||
| 900 | * @time :2023/12/20 10:26 | 897 | * @time :2023/12/20 10:26 |
| 901 | */ | 898 | */ |
| 902 | public function getCategoryList($categoryModel,$status = 0,$filed = ['*']){ | 899 | public function getCategoryList($categoryModel,$status = 0,$filed = ['*']){ |
| 903 | - $data = array(); | ||
| 904 | - $list = $categoryModel->list(['pid'=>0,'status'=>$status],['sort','id'],$filed); | ||
| 905 | - foreach ($list as $v){ | ||
| 906 | - $data[] = $v; | ||
| 907 | - $son_list = $categoryModel->list(['pid'=>$v['id'],'status'=>$status],['sort','id'],$filed); | ||
| 908 | - foreach ($son_list as $v1){ | ||
| 909 | - $data[] = $v1; | ||
| 910 | - } | ||
| 911 | - } | 900 | + $data = $categoryModel->list(['status'=>$status],['sort','id'],$filed); |
| 912 | return $this->success($data); | 901 | return $this->success($data); |
| 913 | } | 902 | } |
| 914 | 903 | ||
| @@ -920,15 +909,7 @@ class BTemplateLogic extends BaseLogic | @@ -920,15 +909,7 @@ class BTemplateLogic extends BaseLogic | ||
| 920 | * @time :2023/12/20 10:26 | 909 | * @time :2023/12/20 10:26 |
| 921 | */ | 910 | */ |
| 922 | public function getCategoryModuleList($categoryModel,$module_id,$status = 0,$filed = ['*']){ | 911 | public function getCategoryModuleList($categoryModel,$module_id,$status = 0,$filed = ['*']){ |
| 923 | - $data = array(); | ||
| 924 | - $list = $categoryModel->list(['pid'=>0, 'module_id'=>$module_id , 'status'=>$status],['sort','id'],$filed); | ||
| 925 | - foreach ($list as $v){ | ||
| 926 | - $data[] = $v; | ||
| 927 | - $son_list = $categoryModel->list(['pid'=>$v['id'],'module_id'=>$module_id,'status'=>$status],['sort','id'],$filed); | ||
| 928 | - foreach ($son_list as $v1){ | ||
| 929 | - $data[] = $v1; | ||
| 930 | - } | ||
| 931 | - } | 912 | + $data = $categoryModel->list(['module_id'=>$module_id , 'status'=>$status],['sort','id'],$filed); |
| 932 | return $this->success($data); | 913 | return $this->success($data); |
| 933 | } | 914 | } |
| 934 | 915 |
| @@ -64,6 +64,9 @@ class CustomTemplateLogic extends BaseLogic | @@ -64,6 +64,9 @@ class CustomTemplateLogic extends BaseLogic | ||
| 64 | */ | 64 | */ |
| 65 | public function customTemplateSave(){ | 65 | public function customTemplateSave(){ |
| 66 | $this->param['url'] = str_replace_url($this->param['url']); | 66 | $this->param['url'] = str_replace_url($this->param['url']); |
| 67 | + if(($this->project['deploy_build']['is_search'] == 0) && ($this->param['url'] == 'search')){ | ||
| 68 | + $this->fail('请先开启搜索页可视化'); | ||
| 69 | + } | ||
| 67 | if(isset($this->param['id']) && !empty($this->param['id'])){ | 70 | if(isset($this->param['id']) && !empty($this->param['id'])){ |
| 68 | $id = $this->param['id']; | 71 | $id = $this->param['id']; |
| 69 | $is_upgrade = $this->param['is_upgrade'] ?? 0;//1:5.0数据 0:6.0 | 72 | $is_upgrade = $this->param['is_upgrade'] ?? 0;//1:5.0数据 0:6.0 |
| @@ -71,11 +74,11 @@ class CustomTemplateLogic extends BaseLogic | @@ -71,11 +74,11 @@ class CustomTemplateLogic extends BaseLogic | ||
| 71 | if($is_upgrade == 0 || $six_read == 1) { | 74 | if($is_upgrade == 0 || $six_read == 1) { |
| 72 | $this->param['url'] = RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_PAGE, $id, $this->user['project_id']); | 75 | $this->param['url'] = RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_PAGE, $id, $this->user['project_id']); |
| 73 | if($this->param['url'] == 'news' || $this->param['url'] == 'product' || $this->param['url'] == 'blog'){ | 76 | if($this->param['url'] == 'news' || $this->param['url'] == 'product' || $this->param['url'] == 'blog'){ |
| 74 | - $this->fail('不允许创建'.$this->param['url']); | 77 | + $this->fail('不允许创建路由为:'.$this->param['url']); |
| 75 | } | 78 | } |
| 76 | } | 79 | } |
| 77 | $this->editCustomRoute($this->param['url']); | 80 | $this->editCustomRoute($this->param['url']); |
| 78 | - $rs = $this->model->edit($this->param,['id'=>$id]); | 81 | + $this->model->edit($this->param,['id'=>$id]); |
| 79 | }else{ | 82 | }else{ |
| 80 | if($this->param['url'] == $this->model::NOT_FOUND_PAGE_URL){ | 83 | if($this->param['url'] == $this->model::NOT_FOUND_PAGE_URL){ |
| 81 | $this->fail('404页面已存在'); | 84 | $this->fail('404页面已存在'); |
| @@ -83,11 +86,11 @@ class CustomTemplateLogic extends BaseLogic | @@ -83,11 +86,11 @@ class CustomTemplateLogic extends BaseLogic | ||
| 83 | $this->param['project_id'] = $this->user['project_id']; | 86 | $this->param['project_id'] = $this->user['project_id']; |
| 84 | $id = $this->model->addReturnId($this->param); | 87 | $id = $this->model->addReturnId($this->param); |
| 85 | $route = RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_PAGE, $id, $this->user['project_id']); | 88 | $route = RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_PAGE, $id, $this->user['project_id']); |
| 89 | + if($route == 'news' || $route == 'product' || $route == 'blog'){ | ||
| 90 | + $this->fail('不允许修改路由为:'.$this->param['url']); | ||
| 91 | + } | ||
| 86 | $this->addUpdateNotify(RouteMap::SOURCE_PAGE,$route); | 92 | $this->addUpdateNotify(RouteMap::SOURCE_PAGE,$route); |
| 87 | - $rs = $this->model->edit(['url'=>$route],['id'=>$id]); | ||
| 88 | - } | ||
| 89 | - if($rs === false){ | ||
| 90 | - $this->fail('保存失败,请联系管理员'); | 93 | + $this->model->edit(['url'=>$route],['id'=>$id]); |
| 91 | } | 94 | } |
| 92 | return $this->success(['id'=>$id]); | 95 | return $this->success(['id'=>$id]); |
| 93 | } | 96 | } |
| @@ -399,7 +402,6 @@ class CustomTemplateLogic extends BaseLogic | @@ -399,7 +402,6 @@ class CustomTemplateLogic extends BaseLogic | ||
| 399 | }else{ | 402 | }else{ |
| 400 | $this->model->edit(['html'=>$logInfo['text']],['id'=>$logInfo['source_id']]); | 403 | $this->model->edit(['html'=>$logInfo['text']],['id'=>$logInfo['source_id']]); |
| 401 | } | 404 | } |
| 402 | - | ||
| 403 | return $this->success(); | 405 | return $this->success(); |
| 404 | } | 406 | } |
| 405 | } | 407 | } |
| @@ -8,6 +8,7 @@ use App\Models\Blog\Blog; | @@ -8,6 +8,7 @@ use App\Models\Blog\Blog; | ||
| 8 | use App\Models\Blog\Blog as BlogModel; | 8 | use App\Models\Blog\Blog as BlogModel; |
| 9 | use App\Models\Blog\BlogCategory; | 9 | use App\Models\Blog\BlogCategory; |
| 10 | use App\Models\Blog\BlogCategory as BlogCategoryModel; | 10 | use App\Models\Blog\BlogCategory as BlogCategoryModel; |
| 11 | +use App\Models\Com\NoticeLog; | ||
| 11 | use App\Models\News\NewsCategory as NewsCategoryModel; | 12 | use App\Models\News\NewsCategory as NewsCategoryModel; |
| 12 | use App\Models\RouteMap\RouteMap; | 13 | use App\Models\RouteMap\RouteMap; |
| 13 | use App\Models\Template\BTemplate; | 14 | use App\Models\Template\BTemplate; |
| @@ -94,15 +95,18 @@ class BlogCategoryLogic extends BaseLogic | @@ -94,15 +95,18 @@ class BlogCategoryLogic extends BaseLogic | ||
| 94 | * @method | 95 | * @method |
| 95 | */ | 96 | */ |
| 96 | public function delBlogCategory(){ | 97 | public function delBlogCategory(){ |
| 97 | - foreach ($this->param['id'] as $id){ | ||
| 98 | - //删除路由 | ||
| 99 | - $this->delRoute($id); | ||
| 100 | - $this->model->del(['id'=>$id]); | ||
| 101 | - //同步删除产品字段category_id | ||
| 102 | - $blogModel = new Blog(); | ||
| 103 | - $blogModel->edit(['category_id'=>DB::raw("REPLACE(category_id, ',$id,' , ',')")],['category_id'=>['like','%,'.$id.',%']]); | ||
| 104 | - $blogModel->edit(['category_id'=>null],['category_id'=>',']); | 98 | + $ids = $this->param['id']; |
| 99 | + foreach ($ids as $id){ | ||
| 100 | + $str = []; | ||
| 101 | + $this->getAllSub($id,$str); | ||
| 102 | + $str[] = $id; | ||
| 103 | + foreach ($str as $value){ | ||
| 104 | + //删除路由 | ||
| 105 | + $this->delRoute($value); | ||
| 106 | + $this->model->del(['id'=>$value]); | ||
| 107 | + } | ||
| 105 | } | 108 | } |
| 109 | + NoticeLog::createLog(NoticeLog::DELETE_BLOG_CATEGORY, ['project_id' => $this->user['project_id']]); | ||
| 106 | return $this->success(); | 110 | return $this->success(); |
| 107 | } | 111 | } |
| 108 | 112 |
| @@ -149,7 +149,7 @@ class CustomModuleContentLogic extends BaseLogic | @@ -149,7 +149,7 @@ class CustomModuleContentLogic extends BaseLogic | ||
| 149 | * @time :2023/12/7 15:04 | 149 | * @time :2023/12/7 15:04 |
| 150 | */ | 150 | */ |
| 151 | public function contentAdd(){ | 151 | public function contentAdd(){ |
| 152 | -// try { | 152 | + try { |
| 153 | $this->param['sort'] = $this->setNewsSort(); | 153 | $this->param['sort'] = $this->setNewsSort(); |
| 154 | $id = $this->model->addReturnId($this->param); | 154 | $id = $this->model->addReturnId($this->param); |
| 155 | $route = RouteMap::setRoute($this->param['route'], RouteMap::SOURCE_MODULE, | 155 | $route = RouteMap::setRoute($this->param['route'], RouteMap::SOURCE_MODULE, |
| @@ -157,9 +157,9 @@ class CustomModuleContentLogic extends BaseLogic | @@ -157,9 +157,9 @@ class CustomModuleContentLogic extends BaseLogic | ||
| 157 | $this->addUpdateNotify(RouteMap::SOURCE_MODULE,$route); | 157 | $this->addUpdateNotify(RouteMap::SOURCE_MODULE,$route); |
| 158 | $this->curlDelRoute(['new_route'=>$route]); | 158 | $this->curlDelRoute(['new_route'=>$route]); |
| 159 | $this->edit(['route' => $route], ['id' => $id]); | 159 | $this->edit(['route' => $route], ['id' => $id]); |
| 160 | -// }catch (\Exception $e){ | ||
| 161 | -// $this->fail('系统错误,请联系管理员'); | ||
| 162 | -// } | 160 | + }catch (\Exception $e){ |
| 161 | + $this->fail('系统错误,请联系管理员'); | ||
| 162 | + } | ||
| 163 | return $id; | 163 | return $id; |
| 164 | } | 164 | } |
| 165 | 165 |
| @@ -4,6 +4,7 @@ namespace App\Http\Logic\Bside\News; | @@ -4,6 +4,7 @@ namespace App\Http\Logic\Bside\News; | ||
| 4 | 4 | ||
| 5 | use App\Helper\Translate; | 5 | use App\Helper\Translate; |
| 6 | use App\Http\Logic\Bside\BaseLogic; | 6 | use App\Http\Logic\Bside\BaseLogic; |
| 7 | +use App\Models\Com\NoticeLog; | ||
| 7 | use App\Models\News\News; | 8 | use App\Models\News\News; |
| 8 | use App\Models\News\News as NewsModel; | 9 | use App\Models\News\News as NewsModel; |
| 9 | use App\Models\News\NewsCategory as NewsCategoryModel; | 10 | use App\Models\News\NewsCategory as NewsCategoryModel; |
| @@ -83,22 +84,27 @@ class NewsCategoryLogic extends BaseLogic | @@ -83,22 +84,27 @@ class NewsCategoryLogic extends BaseLogic | ||
| 83 | $this->edit($this->param,['id'=>$this->param['id']]); | 84 | $this->edit($this->param,['id'=>$this->param['id']]); |
| 84 | return $this->success(); | 85 | return $this->success(); |
| 85 | } | 86 | } |
| 87 | + | ||
| 86 | /** | 88 | /** |
| 87 | - * @name :删除新闻分类 | ||
| 88 | - * @return array | ||
| 89 | - * @throws \App\Exceptions\BsideGlobalException | ||
| 90 | - * @author :liyuhang | ||
| 91 | - * @method | 89 | + * @remark :删除分类 |
| 90 | + * @name :del_news_category | ||
| 91 | + * @author :lyh | ||
| 92 | + * @method :post | ||
| 93 | + * @time :2024/5/16 14:58 | ||
| 92 | */ | 94 | */ |
| 93 | public function del_news_category(){ | 95 | public function del_news_category(){ |
| 94 | - foreach ($this->param['id'] as $id){ | ||
| 95 | - $this->delRoute($id); | ||
| 96 | - $this->model->del(['id'=>$id]); | ||
| 97 | - //同步删除产品字段category_id | ||
| 98 | - $newsModel = new NewsModel(); | ||
| 99 | - $newsModel->edit(['category_id'=>DB::raw("REPLACE(category_id, ',$id,' , ',')")],['category_id'=>['like','%,'.$id.',%']]); | ||
| 100 | - $newsModel->edit(['category_id'=>null],['category_id'=>',']); | 96 | + $ids = $this->param['id']; |
| 97 | + foreach ($ids as $id){ | ||
| 98 | + $str = []; | ||
| 99 | + $this->getAllSub($id,$str); | ||
| 100 | + $str[] = $id; | ||
| 101 | + foreach ($str as $value){ | ||
| 102 | + //删除路由 | ||
| 103 | + $this->delRoute($value); | ||
| 104 | + $this->model->del(['id'=>$value]); | ||
| 105 | + } | ||
| 101 | } | 106 | } |
| 107 | + NoticeLog::createLog(NoticeLog::DELETE_NEWS_CATEGORY, ['project_id' => $this->user['project_id']]); | ||
| 102 | return $this->success(); | 108 | return $this->success(); |
| 103 | } | 109 | } |
| 104 | 110 |
| @@ -5,6 +5,7 @@ namespace App\Http\Logic\Bside\Product; | @@ -5,6 +5,7 @@ namespace App\Http\Logic\Bside\Product; | ||
| 5 | use App\Helper\Arr; | 5 | use App\Helper\Arr; |
| 6 | use App\Helper\Common; | 6 | use App\Helper\Common; |
| 7 | use App\Http\Logic\Bside\BaseLogic; | 7 | use App\Http\Logic\Bside\BaseLogic; |
| 8 | +use App\Models\Com\NoticeLog; | ||
| 8 | use App\Models\Product\Category; | 9 | use App\Models\Product\Category; |
| 9 | use App\Models\Product\CategoryRelated; | 10 | use App\Models\Product\CategoryRelated; |
| 10 | use App\Models\Product\Product; | 11 | use App\Models\Product\Product; |
| @@ -163,17 +164,16 @@ class CategoryLogic extends BaseLogic | @@ -163,17 +164,16 @@ class CategoryLogic extends BaseLogic | ||
| 163 | public function categoryDelete(){ | 164 | public function categoryDelete(){ |
| 164 | $ids = $this->param['ids']; | 165 | $ids = $this->param['ids']; |
| 165 | foreach ($ids as $id){ | 166 | foreach ($ids as $id){ |
| 166 | - //删除路由 | ||
| 167 | - $this->delRoute($id); | ||
| 168 | - $this->model->del(['id'=>$id]); | ||
| 169 | - //同步删除关联表 | ||
| 170 | - $categoryRelatedModel = new CategoryRelated(); | ||
| 171 | - $categoryRelatedModel->del(['cate_id'=>$id]); | ||
| 172 | - //同步删除产品字段category_id | ||
| 173 | - $productModel = new Product(); | ||
| 174 | - $productModel->edit(['category_id'=>DB::raw("REPLACE(category_id, ',$id,' , ',')")],['category_id'=>['like','%,'.$id.',%']]); | ||
| 175 | - $productModel->edit(['category_id'=>null],['category_id'=>',']); | 167 | + $str = []; |
| 168 | + $this->getAllSub($id,$str); | ||
| 169 | + $str[] = $id; | ||
| 170 | + foreach ($str as $value){ | ||
| 171 | + //删除路由 | ||
| 172 | + $this->delRoute($value); | ||
| 173 | + $this->model->del(['id'=>$value]); | ||
| 174 | + } | ||
| 176 | } | 175 | } |
| 176 | + NoticeLog::createLog(NoticeLog::DELETE_PRODUCT_CATEGORY, ['project_id' => $this->user['project_id']]); | ||
| 177 | //清除缓存 | 177 | //清除缓存 |
| 178 | Common::del_user_cache('product_category',$this->user['project_id']); | 178 | Common::del_user_cache('product_category',$this->user['project_id']); |
| 179 | return $this->success(); | 179 | return $this->success(); |
| @@ -66,7 +66,14 @@ class RankDataLogic extends BaseLogic | @@ -66,7 +66,14 @@ class RankDataLogic extends BaseLogic | ||
| 66 | 'indexed_pages_num' => $rank['indexed_pages_num'] ?? 0, | 66 | 'indexed_pages_num' => $rank['indexed_pages_num'] ?? 0, |
| 67 | 'external_links_num' => $external_links['total'] ?? 0, | 67 | 'external_links_num' => $external_links['total'] ?? 0, |
| 68 | ]; | 68 | ]; |
| 69 | - | 69 | + $g_top_plan = $project['deploy_optimize']['g_top_plan']; |
| 70 | + if(!empty($g_top_plan)){ | ||
| 71 | + $g_top_plan['is_compliance'] = $g_top_plan['is_compliance'] ?? 0; | ||
| 72 | + if(!isset($g_top_plan['service_day']) || empty($g_top_plan['service_day'])){ | ||
| 73 | + $g_top_plan['service_day'] = 0; | ||
| 74 | + } | ||
| 75 | + $g_top_plan['day'] = $g_top_plan['service_day'] - $g_top_plan['is_compliance']; | ||
| 76 | + } | ||
| 70 | //项目信息 | 77 | //项目信息 |
| 71 | $data['project'] = [ | 78 | $data['project'] = [ |
| 72 | 'company' => $project['company'], | 79 | 'company' => $project['company'], |
| @@ -77,7 +84,7 @@ class RankDataLogic extends BaseLogic | @@ -77,7 +84,7 @@ class RankDataLogic extends BaseLogic | ||
| 77 | 'keyword_num' => $project['deploy_build']['keyword_num'], | 84 | 'keyword_num' => $project['deploy_build']['keyword_num'], |
| 78 | 'compliance_day' => $project['finish_remain_day'] ?? 0, | 85 | 'compliance_day' => $project['finish_remain_day'] ?? 0, |
| 79 | 'remain_day' => $project['remain_day'], | 86 | 'remain_day' => $project['remain_day'], |
| 80 | - 'g_top_plan' => $project['deploy_optimize']['g_top_plan'] ?? [], | 87 | + 'g_top_plan' => $g_top_plan ?? [], |
| 81 | ]; | 88 | ]; |
| 82 | //小语种列表 | 89 | //小语种列表 |
| 83 | $quanqiusou_api = new QuanqiusouApi(); | 90 | $quanqiusou_api = new QuanqiusouApi(); |
| @@ -96,6 +103,7 @@ class RankDataLogic extends BaseLogic | @@ -96,6 +103,7 @@ class RankDataLogic extends BaseLogic | ||
| 96 | 'home_cnt' => $lang_data[$lang['lang']]['home_cnt'] ?? 0, | 103 | 'home_cnt' => $lang_data[$lang['lang']]['home_cnt'] ?? 0, |
| 97 | 'remain_day' => ($lang['type']??0) == 1 ? $data['project']['remain_day'] : $lang['service_day'] - $remain_day, | 104 | 'remain_day' => ($lang['type']??0) == 1 ? $data['project']['remain_day'] : $lang['service_day'] - $remain_day, |
| 98 | 'type' => $lang['type'] ?? 0, //1 项目关键词 项目天数 2 保证首页关键词 项目达标天数 | 105 | 'type' => $lang['type'] ?? 0, //1 项目关键词 项目天数 2 保证首页关键词 项目达标天数 |
| 106 | + 'dabiao_day'=>$remain_day, | ||
| 99 | 'service_day' => $lang['service_day'] ?? 0, //1 项目关键词 项目天数 2 保证首页关键词 项目达标天数 | 107 | 'service_day' => $lang['service_day'] ?? 0, //1 项目关键词 项目天数 2 保证首页关键词 项目达标天数 |
| 100 | ]; | 108 | ]; |
| 101 | } | 109 | } |
| @@ -472,7 +480,8 @@ class RankDataLogic extends BaseLogic | @@ -472,7 +480,8 @@ class RankDataLogic extends BaseLogic | ||
| 472 | if(!$model){ | 480 | if(!$model){ |
| 473 | $model = new RankData(); | 481 | $model = new RankData(); |
| 474 | } | 482 | } |
| 475 | - //关键词达标天数 | 483 | + //g-top方案达标天数 |
| 484 | + $this->g_top_plan($project_id,$first_page_num); | ||
| 476 | //保证关键词数 | 485 | //保证关键词数 |
| 477 | $keyword_num = DeployBuild::where('project_id', $project_id)->value('keyword_num'); | 486 | $keyword_num = DeployBuild::where('project_id', $project_id)->value('keyword_num'); |
| 478 | $type = Project::where('id', $project_id)->value('type'); | 487 | $type = Project::where('id', $project_id)->value('type'); |
| @@ -508,6 +517,30 @@ class RankDataLogic extends BaseLogic | @@ -508,6 +517,30 @@ class RankDataLogic extends BaseLogic | ||
| 508 | $model->save(); | 517 | $model->save(); |
| 509 | } | 518 | } |
| 510 | 519 | ||
| 520 | + /** | ||
| 521 | + * @remark :g_top | ||
| 522 | + * @name :g_top_plan | ||
| 523 | + * @author :lyh | ||
| 524 | + * @method :post | ||
| 525 | + * @time :2024/5/15 14:25 | ||
| 526 | + */ | ||
| 527 | + public function g_top_plan($project_id,$first_page_num){ | ||
| 528 | + $optimizeModel = new DeployOptimize(); | ||
| 529 | + $info = $optimizeModel->read(['project_id'=>$project_id]); | ||
| 530 | + if(!empty($info) && !empty($info['g_top_plan'])){ | ||
| 531 | + $gTopData = $info['g_top_plan']; | ||
| 532 | + $keyword_num = $gTopData['keyword_num'] ?? 0; | ||
| 533 | + $is_compliance = $first_page_num >= $keyword_num; | ||
| 534 | + if($is_compliance && $keyword_num){ | ||
| 535 | + if(!isset($gTopData['is_compliance'])){ | ||
| 536 | + $gTopData['is_compliance'] = 0; | ||
| 537 | + } | ||
| 538 | + $gTopData['is_compliance'] = (int)$gTopData['is_compliance'] + 1; | ||
| 539 | + } | ||
| 540 | + $optimizeModel->edit(['g_top_plan'=>json_encode($gTopData)],['id'=>$info['id']]); | ||
| 541 | + } | ||
| 542 | + } | ||
| 543 | + | ||
| 511 | 544 | ||
| 512 | /** | 545 | /** |
| 513 | * 同步外链 | 546 | * 同步外链 |
| @@ -2,9 +2,10 @@ | @@ -2,9 +2,10 @@ | ||
| 2 | namespace App\Models\Com; | 2 | namespace App\Models\Com; |
| 3 | 3 | ||
| 4 | use App\Helper\Arr; | 4 | use App\Helper\Arr; |
| 5 | +use App\Models\Base; | ||
| 5 | use Illuminate\Database\Eloquent\Model; | 6 | use Illuminate\Database\Eloquent\Model; |
| 6 | 7 | ||
| 7 | -class NoticeLog extends Model | 8 | +class NoticeLog extends Base |
| 8 | { | 9 | { |
| 9 | //设置关联表名 | 10 | //设置关联表名 |
| 10 | protected $table = 'gl_notice_log'; | 11 | protected $table = 'gl_notice_log'; |
| @@ -13,6 +14,9 @@ class NoticeLog extends Model | @@ -13,6 +14,9 @@ class NoticeLog extends Model | ||
| 13 | const TYPE_RANK_DATA = 'rank_data'; | 14 | const TYPE_RANK_DATA = 'rank_data'; |
| 14 | const TYPE_INIT_PROJECT = 'init_project'; | 15 | const TYPE_INIT_PROJECT = 'init_project'; |
| 15 | const TYPE_INIT_KEYWORD = 'init_keyword'; | 16 | const TYPE_INIT_KEYWORD = 'init_keyword'; |
| 17 | + const DELETE_PRODUCT_CATEGORY = 'delete_product_category'; | ||
| 18 | + const DELETE_BLOG_CATEGORY = 'delete_blog_category'; | ||
| 19 | + const DELETE_NEWS_CATEGORY = 'delete_news_category'; | ||
| 16 | const STATUS_PENDING = 0; | 20 | const STATUS_PENDING = 0; |
| 17 | const STATUS_SUCCESS = 1; | 21 | const STATUS_SUCCESS = 1; |
| 18 | const STATUS_FAIL = 2; | 22 | const STATUS_FAIL = 2; |
| @@ -86,7 +86,7 @@ class RouteMap extends Base | @@ -86,7 +86,7 @@ class RouteMap extends Base | ||
| 86 | * @date 2023/4/17 | 86 | * @date 2023/4/17 |
| 87 | */ | 87 | */ |
| 88 | protected static function isExist($route, $source_id, $project_id){ | 88 | protected static function isExist($route, $source_id, $project_id){ |
| 89 | - $fixed = ['search','api']; //固定的路由 | 89 | + $fixed = ['api']; //固定的路由 |
| 90 | if(in_array($route, $fixed)){ | 90 | if(in_array($route, $fixed)){ |
| 91 | return true; | 91 | return true; |
| 92 | } | 92 | } |
app/Models/Template/TemplateLabel.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :TemplateLabel.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/5/16 9:49 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Models\Template; | ||
| 11 | + | ||
| 12 | +use App\Models\Base; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * @remark :模版标签 | ||
| 16 | + * @name :TemplateLabel | ||
| 17 | + * @author :lyh | ||
| 18 | + * @method :post | ||
| 19 | + * @time :2024/5/16 9:49 | ||
| 20 | + */ | ||
| 21 | +class TemplateLabel extends Base | ||
| 22 | +{ | ||
| 23 | + protected $table = 'gl_public_template_label'; | ||
| 24 | +} |
| @@ -32,15 +32,12 @@ class SyncService | @@ -32,15 +32,12 @@ class SyncService | ||
| 32 | $url = 'https://form.globalso.com/api/globalsov6'; | 32 | $url = 'https://form.globalso.com/api/globalsov6'; |
| 33 | // 项目信息 | 33 | // 项目信息 |
| 34 | $project = Project::with('deploy_build')->with('deploy_optimize')->where(['id'=>$project_id])->first(); | 34 | $project = Project::with('deploy_build')->with('deploy_optimize')->where(['id'=>$project_id])->first(); |
| 35 | - | ||
| 36 | // 不满足条件 不同步到表单系统 | 35 | // 不满足条件 不同步到表单系统 |
| 37 | if (empty($project->deploy_optimize->domain)) { | 36 | if (empty($project->deploy_optimize->domain)) { |
| 38 | return false; | 37 | return false; |
| 39 | } | 38 | } |
| 40 | - | ||
| 41 | // 生产域名 | 39 | // 生产域名 |
| 42 | $domain = (new DomainInfo())->getDomain($project->deploy_optimize->domain); | 40 | $domain = (new DomainInfo())->getDomain($project->deploy_optimize->domain); |
| 43 | - | ||
| 44 | // 收件设置信息 | 41 | // 收件设置信息 |
| 45 | ProjectServer::useProject($project_id); | 42 | ProjectServer::useProject($project_id); |
| 46 | $receive = WebSettingReceiving::where(['project_id' => $project_id])->get(); | 43 | $receive = WebSettingReceiving::where(['project_id' => $project_id])->get(); |
| @@ -375,6 +375,12 @@ Route::middleware(['aloginauth'])->group(function () { | @@ -375,6 +375,12 @@ Route::middleware(['aloginauth'])->group(function () { | ||
| 375 | Route::any('/sort', [Aside\Template\ATemplateTypeController::class, 'sort'])->name('admin.ATemplateType_sort'); | 375 | Route::any('/sort', [Aside\Template\ATemplateTypeController::class, 'sort'])->name('admin.ATemplateType_sort'); |
| 376 | Route::any('/del', [Aside\Template\ATemplateTypeController::class, 'del'])->name('admin.ATemplateType_del'); | 376 | Route::any('/del', [Aside\Template\ATemplateTypeController::class, 'del'])->name('admin.ATemplateType_del'); |
| 377 | }); | 377 | }); |
| 378 | + //设置标签 | ||
| 379 | + Route::prefix('label')->group(function () { | ||
| 380 | + Route::any('/getUserLists', [Aside\Template\TemplateLabelController::class, 'getUserLists'])->name('admin.ATemplateType_label_getUserLists'); | ||
| 381 | + Route::any('/save', [Aside\Template\TemplateLabelController::class, 'save'])->name('admin.ATemplateType_label_save'); | ||
| 382 | + Route::any('/del', [Aside\Template\TemplateLabelController::class, 'del'])->name('admin.ATemplateType_label_del'); | ||
| 383 | + }); | ||
| 378 | }); | 384 | }); |
| 379 | //可视化数据替换 | 385 | //可视化数据替换 |
| 380 | Route::prefix('replace')->group(function () { | 386 | Route::prefix('replace')->group(function () { |
-
请 注册 或 登录 后发表评论