作者 Your Name
@@ -91,6 +91,7 @@ class ReplaceHtml extends Command @@ -91,6 +91,7 @@ class ReplaceHtml extends Command
91 'source_id'=>$v['id'], 91 'source_id'=>$v['id'],
92 'is_custom'=>$info['is_custom'], 92 'is_custom'=>$info['is_custom'],
93 'is_list'=>$info['is_list'], 93 'is_list'=>$info['is_list'],
  94 + 'is_rollback'=>$info['rollback'],
94 'created_at'=>date('Y-m-d H:i:s'), 95 'created_at'=>date('Y-m-d H:i:s'),
95 'updated_at'=>date('Y-m-d H:i:s') 96 'updated_at'=>date('Y-m-d H:i:s')
96 ]; 97 ];
@@ -16,6 +16,7 @@ use App\Models\Domain\DomainInfo; @@ -16,6 +16,7 @@ use App\Models\Domain\DomainInfo;
16 use App\Models\Product\Category; 16 use App\Models\Product\Category;
17 use App\Models\Project\ProjectUpdateTdk; 17 use App\Models\Project\ProjectUpdateTdk;
18 use App\Models\Template\BTemplate; 18 use App\Models\Template\BTemplate;
  19 +use App\Models\Template\Setting;
19 use App\Services\ProjectServer; 20 use App\Services\ProjectServer;
20 use Illuminate\Support\Facades\DB; 21 use Illuminate\Support\Facades\DB;
21 22
@@ -85,7 +86,9 @@ class UpdateController extends BaseController @@ -85,7 +86,9 @@ class UpdateController extends BaseController
85 //产品分类开启了可视化之后,不能重新采集 86 //产品分类开启了可视化之后,不能重新采集
86 $category_list = Category::where('project_id', $this->param['project_id'])->get(); 87 $category_list = Category::where('project_id', $this->param['project_id'])->get();
87 if ($category_list->count() > 0) { 88 if ($category_list->count() > 0) {
88 - $template_id = $this->getTemplateId(BTemplate::SOURCE_PRODUCT, BTemplate::IS_LIST);//获取模版id 89 + $bSettingModel = new Setting();
  90 + $template_info = $bSettingModel->read(['project_id' => $this->param['project_id']]);
  91 + $template_id = $template_info ? $template_info['template_id'] : 0;//获取模版id
89 foreach ($category_list as $category) { 92 foreach ($category_list as $category) {
90 if ($this->getIsRenovation(BTemplate::SOURCE_PRODUCT, BTemplate::IS_LIST, $template_id, $category['id']) == 1) { 93 if ($this->getIsRenovation(BTemplate::SOURCE_PRODUCT, BTemplate::IS_LIST, $template_id, $category['id']) == 1) {
91 //有分类开启了可视化 94 //有分类开启了可视化
@@ -78,7 +78,22 @@ class ReplaceHtmlController extends BaseController @@ -78,7 +78,22 @@ class ReplaceHtmlController extends BaseController
78 $this->response('success',Code::SUCCESS,$lists); 78 $this->response('success',Code::SUCCESS,$lists);
79 } 79 }
80 80
81 - 81 + /**
  82 + * @remark :获取替换子记录
  83 + * @name :replaceTemplateSonLog
  84 + * @author :lyh
  85 + * @method :post
  86 + * @time :2024/5/11 11:09
  87 + */
  88 + public function replaceTemplateSonLog(TemplateReplaceHtmlLog $replaceHtmlLog){
  89 + $this->request->validate([
  90 + 'replace_id'=>'required',
  91 + ],[
  92 + 'replace_id.required' => '主id不能为空',
  93 + ]);
  94 + $lists = $replaceHtmlLog->lists($this->map,$this->page,$this->row,$this->order);
  95 + $this->response('success',Code::SUCCESS,$lists);
  96 + }
82 97
83 /** 98 /**
84 * @remark :还原 99 * @remark :还原
@@ -96,4 +111,21 @@ class ReplaceHtmlController extends BaseController @@ -96,4 +111,21 @@ class ReplaceHtmlController extends BaseController
96 $data = $logic->reductionHtml(); 111 $data = $logic->reductionHtml();
97 $this->response('success',Code::SUCCESS,$data); 112 $this->response('success',Code::SUCCESS,$data);
98 } 113 }
  114 +
  115 + /**
  116 + * @remark :根据id还原html
  117 + * @name :rollbackIdHtml
  118 + * @author :lyh
  119 + * @method :post
  120 + * @time :2024/5/11 11:22
  121 + */
  122 + public function rollbackIdHtml(ReplaceHtmlLogic $logic){
  123 + $this->request->validate([
  124 + 'id'=>'required',
  125 + ],[
  126 + 'id.required' => 'id不能为空',
  127 + ]);
  128 + $data = $logic->rollbackIdHtml();
  129 + $this->response('success',Code::SUCCESS,$data);
  130 + }
99 } 131 }
@@ -258,4 +258,32 @@ class ReplaceHtmlLogic extends BaseLogic @@ -258,4 +258,32 @@ class ReplaceHtmlLogic extends BaseLogic
258 } 258 }
259 return $this->success(); 259 return $this->success();
260 } 260 }
  261 +
  262 + /**
  263 + * @remark :根据id还原
  264 + * @name :rollbackIdHtml
  265 + * @author :lyh
  266 + * @method :post
  267 + * @time :2024/5/11 11:31
  268 + */
  269 + public function rollbackIdHtml(){
  270 + $replaceHtmlLogModel = new TemplateReplaceHtmlLog();
  271 + $info = $replaceHtmlLogModel->read(['id'=>$this->param['id']]);
  272 + ProjectServer::useProject($info['project_id']);
  273 + $bTemplateModel = new BTemplate();
  274 + $condition = ['source'=>$info['source'],'source_id'=>$info['source_id'],
  275 + 'template_id'=>$info['template_id'],'is_custom'=>$info['is_custom'],'is_list'=>$info['is_list']];
  276 + $old_html = $info['old_html'];
  277 + $html = $info['html'];
  278 + if($info['template_id'] == 0){
  279 + $bTemplateModel->formatQuery($condition)->update(['html' => DB::raw("REPLACE(html, '$old_html', '$html')")]);
  280 + }else{
  281 + $bTemplateModel->formatQuery($condition)->update(['main_html' => DB::raw("REPLACE(main_html, '$old_html', '$html')")]);
  282 + }
  283 + //修改当前数据为还原数据
  284 + $replaceHtmlLogModel->edit(['is_rollback'=>1],['id'=>$this->param['id']]);
  285 + DB::disconnect('custom_mysql');
  286 + return $this->success();
  287 + }
  288 +
261 } 289 }
@@ -380,6 +380,7 @@ Route::middleware(['aloginauth'])->group(function () { @@ -380,6 +380,7 @@ Route::middleware(['aloginauth'])->group(function () {
380 Route::prefix('replace')->group(function () { 380 Route::prefix('replace')->group(function () {
381 Route::any('/replaceTemplateMainHtml', [Aside\Template\ReplaceHtmlController::class, 'replaceTemplateMainHtml'])->name('admin.replace_replaceTemplateMainHtml'); 381 Route::any('/replaceTemplateMainHtml', [Aside\Template\ReplaceHtmlController::class, 'replaceTemplateMainHtml'])->name('admin.replace_replaceTemplateMainHtml');
382 Route::any('/replaceTemplateLog', [Aside\Template\ReplaceHtmlController::class, 'replaceTemplateLog'])->name('admin.replace_replaceTemplateLog'); 382 Route::any('/replaceTemplateLog', [Aside\Template\ReplaceHtmlController::class, 'replaceTemplateLog'])->name('admin.replace_replaceTemplateLog');
  383 + Route::any('/replaceTemplateSonLog', [Aside\Template\ReplaceHtmlController::class, 'replaceTemplateSonLog'])->name('admin.replace_replaceTemplateSonLog');
383 Route::any('/reductionHtml', [Aside\Template\ReplaceHtmlController::class, 'reductionHtml'])->name('admin.replace_reductionHtml'); 384 Route::any('/reductionHtml', [Aside\Template\ReplaceHtmlController::class, 'reductionHtml'])->name('admin.replace_reductionHtml');
384 Route::any('/pageType', [Aside\Template\ReplaceHtmlController::class, 'pageType'])->name('admin.replace_pageType'); 385 Route::any('/pageType', [Aside\Template\ReplaceHtmlController::class, 'pageType'])->name('admin.replace_pageType');
385 }); 386 });