|
...
|
...
|
@@ -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;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
...
|
...
|
|