作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

@@ -20,6 +20,7 @@ use App\Models\Project\ProjectAiSetting; @@ -20,6 +20,7 @@ use App\Models\Project\ProjectAiSetting;
20 use App\Models\Project\ProjectWhiteHatAffix; 20 use App\Models\Project\ProjectWhiteHatAffix;
21 use App\Models\Template\BTemplateMain; 21 use App\Models\Template\BTemplateMain;
22 use App\Models\Template\TemplateTypeMain; 22 use App\Models\Template\TemplateTypeMain;
  23 +use App\Models\WebSetting\WebSetting;
23 use App\Services\AiBlogService; 24 use App\Services\AiBlogService;
24 use App\Services\Geo\GeoService; 25 use App\Services\Geo\GeoService;
25 use App\Services\ProjectServer; 26 use App\Services\ProjectServer;
@@ -43,7 +44,25 @@ class lyhDemo extends Command @@ -43,7 +44,25 @@ class lyhDemo extends Command
43 protected $description = '更新路由'; 44 protected $description = '更新路由';
44 45
45 public function handle(){ 46 public function handle(){
46 - return $this->_actionRoute(); 47 + $projectModel = new Project();
  48 + $lists = $projectModel->list(['delete_status' => 0,'project_type'=>0,'id'=>3659,'extend_type'=>0,'type'=>['in',[1,2,3,4,6]]], 'id', ['id']);
  49 + foreach ($lists as $val){
  50 + echo date('Y-m-d H:i:s') . '开始--项目的id:'. $val['id'] . PHP_EOL;
  51 + ProjectServer::useProject($val['id']);
  52 + $settingModel = new WebSetting();
  53 + $info = $settingModel->read(['project_id'=>$val['id']]);
  54 + if($info === false){
  55 + echo '跳过当前数据'.PHP_EOL;
  56 + continue;
  57 + }
  58 + if(empty($info['anchor_setting'])){
  59 + $settingModel->edit(['anchor_setting'=>["5","3","4"]],['project_id'=>$val['id']]);
  60 + }else{
  61 + echo '已有数据'.PHP_EOL;
  62 + }
  63 + DB::disconnect('custom_mysql');
  64 + echo date('Y-m-d H:i:s') . '结束--项目的id:'. $val['id'] . PHP_EOL;
  65 + }
47 } 66 }
48 67
49 /** 68 /**
@@ -215,7 +215,13 @@ class FetchTicketProjects extends Command @@ -215,7 +215,13 @@ class FetchTicketProjects extends Command
215 $pm_id = ManageHr::where('status', 1)->find($item->deploy_build->manager_mid)->manage_id ?? ManageHr::where('status', 1)->where('name', '李洁玉')->value('manage_id') ?? 0; 215 $pm_id = ManageHr::where('status', 1)->find($item->deploy_build->manager_mid)->manage_id ?? ManageHr::where('status', 1)->where('name', '李洁玉')->value('manage_id') ?? 0;
216 216
217 // 第一负责人 217 // 第一负责人
218 - if ($status == 1) 218 + /**
  219 + * 5.0升级6.0的项目,白帽SEO的项目 都划给售后
  220 + * 其他:建站中找项目经理,建站完成找杨长远,推广找售后服务经理
  221 + */
  222 + if ($item->is_upgrade || $item->project_type == 1)
  223 + $engineer_id = $assm_id; // V5升V6,白帽SEO,找售后服务经理
  224 + elseif ($status == 1)
219 $engineer_id = $pm_id; // 建站中找项目经理 225 $engineer_id = $pm_id; // 建站中找项目经理
220 elseif ($status == 2) 226 elseif ($status == 2)
221 $engineer_id = Manage::where('status', 1)->where('name', '杨长远')->value('id') ?? 0; // 建站完成找杨长远 227 $engineer_id = Manage::where('status', 1)->where('name', '杨长远')->value('id') ?? 0; // 建站完成找杨长远
@@ -28,6 +28,7 @@ class AsideTicketController extends BaseController @@ -28,6 +28,7 @@ class AsideTicketController extends BaseController
28 $lists = Tickets::with([ 28 $lists = Tickets::with([
29 'logs.engineer', 29 'logs.engineer',
30 'project.pm', 30 'project.pm',
  31 + 'project.projectV6',
31 ]) 32 ])
32 ->when(!empty($validated['engineer_id']), function ($query) use ($validated) { 33 ->when(!empty($validated['engineer_id']), function ($query) use ($validated) {
33 // 查 gl_tickets 表 submit_user_id 或 gl_ticket_logs 表 engineer_id 34 // 查 gl_tickets 表 submit_user_id 或 gl_ticket_logs 表 engineer_id
@@ -40,7 +40,7 @@ class CategoryController extends BaseController @@ -40,7 +40,7 @@ class CategoryController extends BaseController
40 public function index() 40 public function index()
41 { 41 {
42 $this->map = $this->searchParam(); 42 $this->map = $this->searchParam();
43 - $filed = ['id', 'project_id', 'pid', 'title', 'image', 'route', 'status','created_at','sort']; 43 + $filed = ['id', 'project_id', 'pid', 'title', 'image', 'route', 'status','created_at','sort','is_type'];
44 $this->map['deleted_at'] = null; 44 $this->map['deleted_at'] = null;
45 if($this->user['project_id'] == 3283){//分类太多加载失败 45 if($this->user['project_id'] == 3283){//分类太多加载失败
46 $list = $this->get3283Lists($filed); 46 $list = $this->get3283Lists($filed);
@@ -260,4 +260,23 @@ class CategoryController extends BaseController @@ -260,4 +260,23 @@ class CategoryController extends BaseController
260 $this->logic->copyCategoryInfo(); 260 $this->logic->copyCategoryInfo();
261 $this->response('success'); 261 $this->response('success');
262 } 262 }
  263 +
  264 + /**
  265 + * @remark :更改状态
  266 + * @name :editIsType
  267 + * @author :lyh
  268 + * @method :post
  269 + * @time :2025/7/30 14:23
  270 + */
  271 + public function editIsType(){
  272 + $this->request->validate([
  273 + 'id'=>['required'],
  274 + 'is_type'=>['required'],
  275 + ],[
  276 + 'id.required' => 'ID不能为空',
  277 + 'is_type.required' => 'is_type不能为空',
  278 + ]);
  279 + $data = $this->logic->editIsType($this->param['is_type'],$this->param['id']);
  280 + $this->response('success',Code::SUCCESS,$data);
  281 + }
263 } 282 }
@@ -361,4 +361,16 @@ class CategoryLogic extends BaseLogic @@ -361,4 +361,16 @@ class CategoryLogic extends BaseLogic
361 ]; 361 ];
362 return $this->success($param); 362 return $this->success($param);
363 } 363 }
  364 +
  365 + /**
  366 + * @remark :更改分类为聚合页模式
  367 + * @name :editIsType
  368 + * @author :lyh
  369 + * @method :post
  370 + * @time :2025/7/30 14:21
  371 + */
  372 + public function editIsType($is_type = 0,$id){
  373 + $data = $this->model->edit(['is_type'=>$is_type],['id'=>$id]);
  374 + return $this->success($data);
  375 + }
364 } 376 }
@@ -68,7 +68,7 @@ class WebSettingTextLogic extends BaseLogic @@ -68,7 +68,7 @@ class WebSettingTextLogic extends BaseLogic
68 DB::beginTransaction(); 68 DB::beginTransaction();
69 try { 69 try {
70 $data = [ 70 $data = [
71 - 'anchor_setting'=>$this->param['anchor_setting'] ?? [], 71 + 'anchor_setting'=>$this->param['anchor_setting'] ?? ["5","3","4"],
72 'anchor_is_enable'=>$this->param['anchor_is_enable'], 72 'anchor_is_enable'=>$this->param['anchor_is_enable'],
73 'anchor_num'=>$this->param['anchor_num'] ?? 0, 73 'anchor_num'=>$this->param['anchor_num'] ?? 0,
74 'anchor_page_num'=>$this->param['anchor_page_num'] ?? 0, 74 'anchor_page_num'=>$this->param['anchor_page_num'] ?? 0,
@@ -19,7 +19,7 @@ class TicketProject extends Base @@ -19,7 +19,7 @@ class TicketProject extends Base
19 public function projectV6() 19 public function projectV6()
20 { 20 {
21 return $this->hasOne(Project::class, 'id', 'table_id') 21 return $this->hasOne(Project::class, 'id', 'table_id')
22 - ->where('version', 6); 22 + ->select(['id', 'title', 'company', 'is_upgrade', 'project_type']);
23 } 23 }
24 24
25 // 项目经理 25 // 项目经理
@@ -304,6 +304,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -304,6 +304,7 @@ Route::middleware(['bloginauth'])->group(function () {
304 Route::post('category/sort', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'sort'])->name('product_category_sort'); 304 Route::post('category/sort', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'sort'])->name('product_category_sort');
305 Route::any('category/delete', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'delete'])->name('product_category_delete'); 305 Route::any('category/delete', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'delete'])->name('product_category_delete');
306 Route::any('category/allSort', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'allSort'])->name('product_category_allSort'); 306 Route::any('category/allSort', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'allSort'])->name('product_category_allSort');
  307 + Route::any('category/editIsType', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'editIsType'])->name('product_category_editIsType');//列表页聚合页设置
307 Route::any('category/copyCategory', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'copyCategory'])->name('product_category_copyCategory'); 308 Route::any('category/copyCategory', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'copyCategory'])->name('product_category_copyCategory');
308 //产品关键词 309 //产品关键词
309 Route::get('keyword', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'index'])->name('product_keyword'); 310 Route::get('keyword', [\App\Http\Controllers\Bside\Product\KeywordController::class, 'index'])->name('product_keyword');