作者 lyh

测试脚本

@@ -34,21 +34,50 @@ class CountAllProject extends Command @@ -34,21 +34,50 @@ class CountAllProject extends Command
34 34
35 35
36 public function handle(){ 36 public function handle(){
37 - $allProjectModel = new AllProject(); 37 + $noSixData = $this->NoSixProject();
  38 + $sixData = $this->sixProject();
  39 + $data = array_merge($noSixData,$sixData);
  40 + echo 'success:' .count($data) . PHP_EOL . date('Y-m-d H:i:s');
  41 + return true;
38 } 42 }
39 43
40 - public function SixProject(){ 44 + /**
  45 + * @remark :5.0数据
  46 + * @name :NoSixProject
  47 + * @author :lyh
  48 + * @method :post
  49 + * @time :2024/11/11 15:21
  50 + */
  51 + public function NoSixProject(){
  52 + $res_data = [];
  53 + $i = 1;
  54 + while (true){
  55 + $url = 'https://quanqiusou.cn/extend_api/api/projects.php?page='.$i.'&pagesize=500';
  56 + $result = http_get($url);
  57 + $data = $result['data'];
  58 + if(empty($data)){
  59 + break;
  60 + }
  61 + $res_data = array_merge($res_data,$data['data']);
  62 + $i++;
  63 + }
  64 + return $res_data;
  65 + }
  66 +
  67 + public function sixProject(){
41 $projectModel = new Project(); 68 $projectModel = new Project();
42 - $query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')  
43 - ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')  
44 - ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')  
45 - ->where('gl_project.delete_status',Project::TYPE_ZERO);  
46 - $lists = $query->paginate(100000, $this->selectParam(), 'page', 1)->toArray();  
47 $manageModel = new ManageHr(); 69 $manageModel = new ManageHr();
48 - foreach ($lists as $k => $v){  
49 - $allProjectModel = new AllProject();  
50 - $info = $allProjectModel->read(['version'=>1,'project_id'=>$v['id']],['id']);  
51 - if($info === false){ 70 + $i = 1;
  71 + while (true){
  72 + $query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
  73 + ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
  74 + ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
  75 + ->where('gl_project.delete_status',Project::TYPE_ZERO);
  76 + $lists = $query->paginate(500, $this->selectParam(), 'page', $i)->toArray();
  77 + if(empty($lists) || empty($lists['list'])){
  78 + break;
  79 + }
  80 + foreach ($lists['list'] as $k => $v){
52 $data[] = [ 81 $data[] = [
53 'project_id'=>$v['id'], 82 'project_id'=>$v['id'],
54 'version'=>1,//代表6.0 83 'version'=>1,//代表6.0
@@ -74,34 +103,10 @@ class CountAllProject extends Command @@ -74,34 +103,10 @@ class CountAllProject extends Command
74 'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''), 103 'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
75 'qa'=>$manageModel->getName($v['quality_mid'] ??''), 104 'qa'=>$manageModel->getName($v['quality_mid'] ??''),
76 ]; 105 ];
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 } 106 }
103 - 107 + $i++;
104 } 108 }
  109 + return $data;
105 } 110 }
106 111
107 /** 112 /**
@@ -38,8 +38,8 @@ class TestController extends BaseController @@ -38,8 +38,8 @@ class TestController extends BaseController
38 public function NoSixProject(){ 38 public function NoSixProject(){
39 $res_data = []; 39 $res_data = [];
40 $i = 1; 40 $i = 1;
41 - while ($i < 5){  
42 - $url = 'https://quanqiusou.cn/extend_api/api/projects.php?page='.$i.'&pagesize=1'; 41 + while (true){
  42 + $url = 'https://quanqiusou.cn/extend_api/api/projects.php?page='.$i.'&pagesize=100';
43 $result = http_get($url); 43 $result = http_get($url);
44 $data = $result['data']; 44 $data = $result['data'];
45 if(empty($data)){ 45 if(empty($data)){