作者 lyh

测试脚本

... ... @@ -34,21 +34,50 @@ class CountAllProject extends Command
public function handle(){
$allProjectModel = new AllProject();
$noSixData = $this->NoSixProject();
$sixData = $this->sixProject();
$data = array_merge($noSixData,$sixData);
echo 'success:' .count($data) . PHP_EOL . date('Y-m-d H:i:s');
return true;
}
public function SixProject(){
/**
* @remark :5.0数据
* @name :NoSixProject
* @author :lyh
* @method :post
* @time :2024/11/11 15:21
*/
public function NoSixProject(){
$res_data = [];
$i = 1;
while (true){
$url = 'https://quanqiusou.cn/extend_api/api/projects.php?page='.$i.'&pagesize=500';
$result = http_get($url);
$data = $result['data'];
if(empty($data)){
break;
}
$res_data = array_merge($res_data,$data['data']);
$i++;
}
return $res_data;
}
public function sixProject(){
$projectModel = new Project();
$query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
->where('gl_project.delete_status',Project::TYPE_ZERO);
$lists = $query->paginate(100000, $this->selectParam(), 'page', 1)->toArray();
$manageModel = new ManageHr();
foreach ($lists as $k => $v){
$allProjectModel = new AllProject();
$info = $allProjectModel->read(['version'=>1,'project_id'=>$v['id']],['id']);
if($info === false){
$i = 1;
while (true){
$query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
->where('gl_project.delete_status',Project::TYPE_ZERO);
$lists = $query->paginate(500, $this->selectParam(), 'page', $i)->toArray();
if(empty($lists) || empty($lists['list'])){
break;
}
foreach ($lists['list'] as $k => $v){
$data[] = [
'project_id'=>$v['id'],
'version'=>1,//代表6.0
... ... @@ -74,34 +103,10 @@ class CountAllProject extends Command
'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
'qa'=>$manageModel->getName($v['quality_mid'] ??''),
];
$allProjectModel->add($data);
}else{
$data_edit = [
'title'=>$v['title'],
'company'=>$v['company'],
'channel'=>Channel::getChannelText($v['channel']['user_id'] ?? 0),
'join_date'=>$v['cooperate_date'],
'online_date'=>$v['uptime'],
'keywords_num'=>$v['key'],
'service_num'=>$v['day'],
'production_num'=>intval(abs(strtotime((empty($v['uptime']) ? date('Y-m-d H:i:s') : $v['uptime'])) - $v['created_at']) / 86400),
'plan'=>Project::planMap()[$v['plan']],
'status'=>$v['status'],
'test_domain'=>$v['test_domain'],
'product_domain'=>!empty($v['domain']) ? (new DomainInfo())->getDomain($v['domain']) : '',
'project_manager'=>$manageModel->getName($v['manager_mid'] ?? ''),
'project_group'=>$manageModel->getName($v['leader_mid'] ?? ''),
'project_design'=>$manageModel->getName($v['designer_mid'] ?? ''),
'project_assistant'=>$manageModel->getName($v['tech_mid'] ?? ''),
'service_manager'=>$manageModel->getName($v['optimize_manager_mid'] ??''),
'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
'qa'=>$manageModel->getName($v['quality_mid'] ??''),
];
$allProjectModel->edit($data_edit,['id'=>$info['id']]);
}
$i++;
}
return $data;
}
/**
... ...
... ... @@ -38,8 +38,8 @@ class TestController extends BaseController
public function NoSixProject(){
$res_data = [];
$i = 1;
while ($i < 5){
$url = 'https://quanqiusou.cn/extend_api/api/projects.php?page='.$i.'&pagesize=1';
while (true){
$url = 'https://quanqiusou.cn/extend_api/api/projects.php?page='.$i.'&pagesize=100';
$result = http_get($url);
$data = $result['data'];
if(empty($data)){
... ...