|
...
|
...
|
@@ -11,50 +11,159 @@ namespace App\Http\Controllers\Bside; |
|
|
|
|
|
|
|
use App\Enums\Common\Code;
|
|
|
|
use App\Http\Logic\Bside\News\NewsLogic;
|
|
|
|
use App\Models\Channel\Channel;
|
|
|
|
use App\Models\CustomModule\CustomModuleContent;
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\Manage\ManageHr;
|
|
|
|
use App\Models\Project\CountAllProject as AllProject;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\RouteMap\RouteMap;
|
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
|
|
class TestController extends BaseController
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @remark :非6.0拉取数据
|
|
|
|
* @name :NoSixProject
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/11/11 14:51
|
|
|
|
*/
|
|
|
|
public function ceshi(){
|
|
|
|
$test = '';
|
|
|
|
$pattern = '/<img\s+[^>]*src=["\']([^"\']+)["\']/i';
|
|
|
|
$matches = [];
|
|
|
|
preg_match_all($pattern, $test, $matches);
|
|
|
|
$updatedSources = $this->saveBase64Images($matches[1]);
|
|
|
|
foreach($updatedSources as $k => $v){
|
|
|
|
$test = str_replace($v, $k, $test);
|
|
|
|
$data = $this->NoSixProject();
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function NoSixProject(){
|
|
|
|
$res_data = [];
|
|
|
|
// $i = 1;
|
|
|
|
// while (true){
|
|
|
|
$url = 'https://quanqiusou.cn/extend_api/api/projects.php?page=1&pagesize=1';
|
|
|
|
$result = http_get($url);
|
|
|
|
$data = $result['data'];
|
|
|
|
// if(empty($data)){
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
// $res_data = array_merge($res_data,$data['data']);
|
|
|
|
// $i++;
|
|
|
|
// }
|
|
|
|
return $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){
|
|
|
|
$channel = Channel::getChannelText($v['channel']['user_id'] ?? 0);
|
|
|
|
$data[] = [
|
|
|
|
'project_id'=>$v['id'],
|
|
|
|
'version'=>1,//代表6.0
|
|
|
|
'is_upgrade'=>$v['is_upgrade'],
|
|
|
|
'title'=>$v['title'],
|
|
|
|
'company'=>$v['company'],
|
|
|
|
'channel'=>$channel,
|
|
|
|
'sale'=>$this->end_channel($channel),
|
|
|
|
'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->add($data);
|
|
|
|
}else{
|
|
|
|
$data_edit = [
|
|
|
|
'title'=>$v['title'],
|
|
|
|
'company'=>$v['company'],
|
|
|
|
'channel'=>Channel::getChannelText($v['channel']['user_id'] ?? 0),
|
|
|
|
'sale'=>$this->end_channel($channel),
|
|
|
|
'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']]);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$test);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :解码图片
|
|
|
|
* @name :saveBase64Images
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/11/7 16:52
|
|
|
|
* 需要查询的字段
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function saveBase64Images($imageSources) {
|
|
|
|
$updatedSources = [];
|
|
|
|
foreach ($imageSources as $src) {
|
|
|
|
// Check if src is a base64 image
|
|
|
|
if (preg_match('/^data:image\/(png|jpg|jpeg|gif);base64,/', $src, $match)) {
|
|
|
|
$imageType = $match[1]; // Image type (png, jpg, etc.)
|
|
|
|
$base64Data = preg_replace('/^data:image\/(png|jpg|jpeg|gif);base64,/', '', $src);
|
|
|
|
$decodedData = base64_decode($base64Data);
|
|
|
|
if ($decodedData === false) {
|
|
|
|
$updatedSources[] = $src; // If decoding fails, keep original src
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
$outputFile = 'images' . uniqid() . '.' . $imageType;
|
|
|
|
$imageUrl = 'http://your-domain.com/' . $outputFile;
|
|
|
|
$updatedSources[$imageUrl] = $src;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $updatedSources;
|
|
|
|
}
|
|
|
|
public function selectParam(){
|
|
|
|
$select = [
|
|
|
|
'gl_project.id AS id',
|
|
|
|
'gl_project.title AS title',
|
|
|
|
'gl_project.channel AS channel',
|
|
|
|
'gl_project.company AS company',
|
|
|
|
'gl_project.type AS type',
|
|
|
|
'gl_project.extend_type AS extend_type',
|
|
|
|
'gl_project.uptime AS uptime',
|
|
|
|
'gl_project.is_upgrade AS is_upgrade',
|
|
|
|
'gl_project.created_at AS created_at',
|
|
|
|
'gl_project.cooperate_date AS cooperate_date',
|
|
|
|
'gl_project.site_status AS site_status',
|
|
|
|
'gl_project_deploy_build.keyword_num AS key',
|
|
|
|
'gl_project_deploy_build.service_duration AS day',
|
|
|
|
'gl_project_deploy_build.is_comment AS is_comment',
|
|
|
|
'gl_project_deploy_build.leader_mid AS leader_mid',
|
|
|
|
'gl_project_deploy_build.manager_mid AS manager_mid',
|
|
|
|
'gl_project_deploy_build.designer_mid AS designer_mid',
|
|
|
|
'gl_project_deploy_build.tech_mid AS tech_mid',
|
|
|
|
'gl_project_deploy_build.test_domain AS test_domain',
|
|
|
|
'gl_project_deploy_build.plan AS plan',
|
|
|
|
'gl_project_deploy_optimize.dept_id AS optimize_dept_id',
|
|
|
|
'gl_project_deploy_optimize.manager_mid AS optimize_manager_mid',
|
|
|
|
'gl_project_deploy_optimize.optimist_mid AS optimize_optimist_mid',
|
|
|
|
'gl_project_deploy_optimize.assist_mid AS optimize_assist_mid',
|
|
|
|
'gl_project_deploy_optimize.tech_mid AS optimize_tech_mid',
|
|
|
|
'gl_project_deploy_optimize.tech_leader AS tech_leader',
|
|
|
|
'gl_project_deploy_optimize.domain AS domain',
|
|
|
|
'gl_project_deploy_optimize.api_no AS api_no',
|
|
|
|
];
|
|
|
|
return $select;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function end_channel($channel){
|
|
|
|
if(!empty($channel)){
|
|
|
|
$parts = explode("-", $channel);
|
|
|
|
return end($parts);
|
|
|
|
}
|
|
|
|
return $channel;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|