作者 lyh

测试脚本

@@ -14,6 +14,7 @@ use App\Models\Domain\DomainInfo; @@ -14,6 +14,7 @@ use App\Models\Domain\DomainInfo;
14 use App\Models\Manage\ManageHr; 14 use App\Models\Manage\ManageHr;
15 use App\Models\Project\Project; 15 use App\Models\Project\Project;
16 use Illuminate\Console\Command; 16 use Illuminate\Console\Command;
  17 +use App\Models\Project\CountAllProject as AllProject;
17 18
18 class CountAllProject extends Command 19 class CountAllProject extends Command
19 { 20 {
@@ -33,6 +34,10 @@ class CountAllProject extends Command @@ -33,6 +34,10 @@ class CountAllProject extends Command
33 34
34 35
35 public function handle(){ 36 public function handle(){
  37 +
  38 + }
  39 +
  40 + public function SixProject(){
36 $projectModel = new Project(); 41 $projectModel = new Project();
37 $query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id') 42 $query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
38 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id') 43 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
@@ -41,7 +46,9 @@ class CountAllProject extends Command @@ -41,7 +46,9 @@ class CountAllProject extends Command
41 $lists = $query->paginate(100000, $this->selectParam(), 'page', 1)->toArray(); 46 $lists = $query->paginate(100000, $this->selectParam(), 'page', 1)->toArray();
42 $manageModel = new ManageHr(); 47 $manageModel = new ManageHr();
43 foreach ($lists as $k => $v){ 48 foreach ($lists as $k => $v){
44 - 49 + $allProjectModel = new AllProject();
  50 + $info = $allProjectModel->read(['version'=>1,'project_id'=>$v['id']],['id']);
  51 + if($info === false){
45 $data[] = [ 52 $data[] = [
46 'project_id'=>$v['id'], 53 'project_id'=>$v['id'],
47 'version'=>1,//代表6.0 54 'version'=>1,//代表6.0
@@ -66,9 +73,34 @@ class CountAllProject extends Command @@ -66,9 +73,34 @@ class CountAllProject extends Command
66 'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''), 73 'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
67 'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''), 74 'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
68 'qa'=>$manageModel->getName($v['quality_mid'] ??''), 75 'qa'=>$manageModel->getName($v['quality_mid'] ??''),
69 - 'created_at'=>date('Y-m-d H:i:s'),  
70 - 'updated_at'=>date('Y-m-d H:i:s'),  
71 ]; 76 ];
  77 + $allProjectModel->add($data);
  78 + }else{
  79 + $data_edit = [
  80 + 'title'=>$v['title'],
  81 + 'company'=>$v['company'],
  82 + 'channel'=>Channel::getChannelText($v['channel']['user_id'] ?? 0),
  83 + 'join_date'=>$v['cooperate_date'],
  84 + 'online_date'=>$v['uptime'],
  85 + 'keywords_num'=>$v['key'],
  86 + 'service_num'=>$v['day'],
  87 + 'production_num'=>intval(abs(strtotime((empty($v['uptime']) ? date('Y-m-d H:i:s') : $v['uptime'])) - $v['created_at']) / 86400),
  88 + 'plan'=>Project::planMap()[$v['plan']],
  89 + 'status'=>$v['status'],
  90 + 'test_domain'=>$v['test_domain'],
  91 + 'product_domain'=>!empty($v['domain']) ? (new DomainInfo())->getDomain($v['domain']) : '',
  92 + 'project_manager'=>$manageModel->getName($v['manager_mid'] ?? ''),
  93 + 'project_group'=>$manageModel->getName($v['leader_mid'] ?? ''),
  94 + 'project_design'=>$manageModel->getName($v['designer_mid'] ?? ''),
  95 + 'project_assistant'=>$manageModel->getName($v['tech_mid'] ?? ''),
  96 + 'service_manager'=>$manageModel->getName($v['optimize_manager_mid'] ??''),
  97 + 'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
  98 + 'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
  99 + 'qa'=>$manageModel->getName($v['quality_mid'] ??''),
  100 + ];
  101 + $allProjectModel->edit($data_edit,['id'=>$info['id']]);
  102 + }
  103 +
72 } 104 }
73 } 105 }
74 106
@@ -11,14 +11,19 @@ namespace App\Http\Controllers\Bside; @@ -11,14 +11,19 @@ namespace App\Http\Controllers\Bside;
11 11
12 use App\Enums\Common\Code; 12 use App\Enums\Common\Code;
13 use App\Http\Logic\Bside\News\NewsLogic; 13 use App\Http\Logic\Bside\News\NewsLogic;
  14 +use App\Models\Channel\Channel;
14 use App\Models\CustomModule\CustomModuleContent; 15 use App\Models\CustomModule\CustomModuleContent;
  16 +use App\Models\Domain\DomainInfo;
  17 +use App\Models\Manage\ManageHr;
  18 +use App\Models\Project\CountAllProject as AllProject;
  19 +use App\Models\Project\Project;
15 use App\Models\RouteMap\RouteMap; 20 use App\Models\RouteMap\RouteMap;
16 use App\Services\ProjectServer; 21 use App\Services\ProjectServer;
17 use Illuminate\Support\Facades\DB; 22 use Illuminate\Support\Facades\DB;
18 23
19 class TestController extends BaseController 24 class TestController extends BaseController
20 { 25 {
21 - public function ceshi(){ 26 + public function ceshi1(){
22 $test = ''; 27 $test = '';
23 $pattern = '/<img\s+[^>]*src=["\']([^"\']+)["\']/i'; 28 $pattern = '/<img\s+[^>]*src=["\']([^"\']+)["\']/i';
24 $matches = []; 29 $matches = [];
@@ -31,30 +36,121 @@ class TestController extends BaseController @@ -31,30 +36,121 @@ class TestController extends BaseController
31 } 36 }
32 37
33 /** 38 /**
34 - * @remark :解码图片  
35 - * @name :saveBase64Images 39 + * @remark :非6.0拉取数据
  40 + * @name :NoSixProject
36 * @author :lyh 41 * @author :lyh
37 * @method :post 42 * @method :post
38 - * @time :2024/11/7 16:52 43 + * @time :2024/11/11 14:51
39 */ 44 */
40 - public function saveBase64Images($imageSources) {  
41 - $updatedSources = [];  
42 - foreach ($imageSources as $src) {  
43 - // Check if src is a base64 image  
44 - if (preg_match('/^data:image\/(png|jpg|jpeg|gif);base64,/', $src, $match)) {  
45 - $imageType = $match[1]; // Image type (png, jpg, etc.)  
46 - $base64Data = preg_replace('/^data:image\/(png|jpg|jpeg|gif);base64,/', '', $src);  
47 - $decodedData = base64_decode($base64Data);  
48 - if ($decodedData === false) {  
49 - $updatedSources[] = $src; // If decoding fails, keep original src  
50 - continue; 45 + public function ceshi(){
  46 + $url = 'https://quanqiusou.cn/extend_api/api/projects.php?page=3&pagesize=100';
  47 + $data = http_get($url);
  48 + $this->response('success',Code::SUCCESS,$data);
51 } 49 }
52 - $outputFile = 'images' . uniqid() . '.' . $imageType;  
53 - $imageUrl = 'http://your-domain.com/' . $outputFile;  
54 - $updatedSources[$imageUrl] = $src; 50 +
  51 + public function SixProject(){
  52 + $projectModel = new Project();
  53 + $query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
  54 + ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
  55 + ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
  56 + ->where('gl_project.delete_status',Project::TYPE_ZERO);
  57 + $lists = $query->paginate(100000, $this->selectParam(), 'page', 1)->toArray();
  58 + $manageModel = new ManageHr();
  59 + foreach ($lists as $k => $v){
  60 + $allProjectModel = new AllProject();
  61 + $info = $allProjectModel->read(['version'=>1,'project_id'=>$v['id']],['id']);
  62 + if($info === false){
  63 + $data[] = [
  64 + 'project_id'=>$v['id'],
  65 + 'version'=>1,//代表6.0
  66 + 'is_upgrade'=>$v['is_upgrade'],
  67 + 'title'=>$v['title'],
  68 + 'company'=>$v['company'],
  69 + 'channel'=>Channel::getChannelText($v['channel']['user_id'] ?? 0),
  70 + 'join_date'=>$v['cooperate_date'],
  71 + 'online_date'=>$v['uptime'],
  72 + 'keywords_num'=>$v['key'],
  73 + 'service_num'=>$v['day'],
  74 + 'production_num'=>intval(abs(strtotime((empty($v['uptime']) ? date('Y-m-d H:i:s') : $v['uptime'])) - $v['created_at']) / 86400),
  75 + 'plan'=>Project::planMap()[$v['plan']],
  76 + 'status'=>$v['status'],
  77 + 'test_domain'=>$v['test_domain'],
  78 + 'product_domain'=>!empty($v['domain']) ? (new DomainInfo())->getDomain($v['domain']) : '',
  79 + 'project_manager'=>$manageModel->getName($v['manager_mid'] ?? ''),
  80 + 'project_group'=>$manageModel->getName($v['leader_mid'] ?? ''),
  81 + 'project_design'=>$manageModel->getName($v['designer_mid'] ?? ''),
  82 + 'project_assistant'=>$manageModel->getName($v['tech_mid'] ?? ''),
  83 + 'service_manager'=>$manageModel->getName($v['optimize_manager_mid'] ??''),
  84 + 'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
  85 + 'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
  86 + 'qa'=>$manageModel->getName($v['quality_mid'] ??''),
  87 + ];
  88 + $allProjectModel->add($data);
  89 + }else{
  90 + $data_edit = [
  91 + 'title'=>$v['title'],
  92 + 'company'=>$v['company'],
  93 + 'channel'=>Channel::getChannelText($v['channel']['user_id'] ?? 0),
  94 + 'join_date'=>$v['cooperate_date'],
  95 + 'online_date'=>$v['uptime'],
  96 + 'keywords_num'=>$v['key'],
  97 + 'service_num'=>$v['day'],
  98 + 'production_num'=>intval(abs(strtotime((empty($v['uptime']) ? date('Y-m-d H:i:s') : $v['uptime'])) - $v['created_at']) / 86400),
  99 + 'plan'=>Project::planMap()[$v['plan']],
  100 + 'status'=>$v['status'],
  101 + 'test_domain'=>$v['test_domain'],
  102 + 'product_domain'=>!empty($v['domain']) ? (new DomainInfo())->getDomain($v['domain']) : '',
  103 + 'project_manager'=>$manageModel->getName($v['manager_mid'] ?? ''),
  104 + 'project_group'=>$manageModel->getName($v['leader_mid'] ?? ''),
  105 + 'project_design'=>$manageModel->getName($v['designer_mid'] ?? ''),
  106 + 'project_assistant'=>$manageModel->getName($v['tech_mid'] ?? ''),
  107 + 'service_manager'=>$manageModel->getName($v['optimize_manager_mid'] ??''),
  108 + 'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
  109 + 'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
  110 + 'qa'=>$manageModel->getName($v['quality_mid'] ??''),
  111 + ];
  112 + $allProjectModel->edit($data_edit,['id'=>$info['id']]);
55 } 113 }
  114 +
  115 + }
  116 + }
  117 +
  118 + /**
  119 + * 需要查询的字段
  120 + * @return array
  121 + */
  122 + public function selectParam(){
  123 + $select = [
  124 + 'gl_project.id AS id',
  125 + 'gl_project.title AS title',
  126 + 'gl_project.channel AS channel',
  127 + 'gl_project.company AS company',
  128 + 'gl_project.type AS type',
  129 + 'gl_project.extend_type AS extend_type',
  130 + 'gl_project.uptime AS uptime',
  131 + 'gl_project.is_upgrade AS is_upgrade',
  132 + 'gl_project.created_at AS created_at',
  133 + 'gl_project.cooperate_date AS cooperate_date',
  134 + 'gl_project.site_status AS site_status',
  135 + 'gl_project_deploy_build.keyword_num AS key',
  136 + 'gl_project_deploy_build.service_duration AS day',
  137 + 'gl_project_deploy_build.is_comment AS is_comment',
  138 + 'gl_project_deploy_build.leader_mid AS leader_mid',
  139 + 'gl_project_deploy_build.manager_mid AS manager_mid',
  140 + 'gl_project_deploy_build.designer_mid AS designer_mid',
  141 + 'gl_project_deploy_build.tech_mid AS tech_mid',
  142 + 'gl_project_deploy_build.test_domain AS test_domain',
  143 + 'gl_project_deploy_build.plan AS plan',
  144 + 'gl_project_deploy_optimize.dept_id AS optimize_dept_id',
  145 + 'gl_project_deploy_optimize.manager_mid AS optimize_manager_mid',
  146 + 'gl_project_deploy_optimize.optimist_mid AS optimize_optimist_mid',
  147 + 'gl_project_deploy_optimize.assist_mid AS optimize_assist_mid',
  148 + 'gl_project_deploy_optimize.tech_mid AS optimize_tech_mid',
  149 + 'gl_project_deploy_optimize.tech_leader AS tech_leader',
  150 + 'gl_project_deploy_optimize.domain AS domain',
  151 + 'gl_project_deploy_optimize.api_no AS api_no',
  152 + ];
  153 + return $select;
56 } 154 }
57 - return $updatedSources;  
58 -}  
59 155
60 } 156 }