ReplaceHtml.php
2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
/**
* @remark :
* @name :ReplaceHtml.php
* @author :lyh
* @method :post
* @time :2024/5/10 17:20
*/
namespace App\Console\Commands\ReplaceHtml;
use App\Models\Template\BTemplate;
use App\Models\Template\TemplateReplaceHtmlLog;
use App\Services\ProjectServer;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use App\Models\Template\TemplateReplaceHtml;
class ReplaceHtml extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'replace_html';
/**
* The console command description.
*
* @var string
*/
protected $description = '替换html代码';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* @return bool
*/
public function handle()
{
$replaceHtmlModel = new TemplateReplaceHtml();
$replaceHtmlList = $replaceHtmlModel->list(['status'=>$replaceHtmlModel::STATUS]);
foreach ($replaceHtmlList as $k => $v){
ProjectServer::useProject($v['project_id']);
echo '开始,任务id:'.$v['id'].PHP_EOL;
$this->createReplaceHtmlLog($v);
//修改当前主任务状态为待执行
$replaceHtmlModel->edit(['status'=>$replaceHtmlModel::STATUS_START],['id'=>$v['id']]);
echo '结束'.PHP_EOL;
DB::disconnect('custom_mysql');
}
return true;
}
/**
* @remark :生成子任务
* @name :createReplaceHtmlLog
* @author :lyh
* @method :post
* @time :2024/5/10 17:26
*/
public function createReplaceHtmlLog($info){
//获取当前页面所有数据
$saveData = [];
$bTemplateModel = new BTemplate();
$condition = ['source'=>$info['source'],'template_id'=>$info['template_id'],'is_custom'=>$info['is_custom'],'is_list'=>$info['is_list']];
$bTemplateList = $bTemplateModel->list($condition,'id',['id']);
foreach ($bTemplateList as $v){
$saveData[] = [
'replace_id'=>$info['id'],
'project_id'=>$info['project_id'],
'status'=>0,
'old_html'=>$info['old_html'],
'html'=>$info['html'],
'source'=>$info['source'],
'source_id'=>$v['id'],
'is_custom'=>$info['is_custom'],
'is_list'=>$info['is_list'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s')
];
}
if(!empty($saveData)){
$templateHtmlLogModel = new TemplateReplaceHtmlLog();
$templateHtmlLogModel->insert($saveData);
}
return true;
}
}