|
...
|
...
|
@@ -7,12 +7,15 @@ use App\Helper\Common; |
|
|
|
use App\Helper\OaGlobalsoApi;
|
|
|
|
use App\Models\Channel\Channel;
|
|
|
|
use App\Models\Com\NoticeLog;
|
|
|
|
use App\Models\Com\UpdateLog;
|
|
|
|
use App\Models\Project\After;
|
|
|
|
use App\Models\Project\DeployBuild;
|
|
|
|
use App\Models\Project\DeployOptimize;
|
|
|
|
use App\Models\Project\Payment;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\Project\ProjectRenew;
|
|
|
|
use App\Models\User\User as UserModel;
|
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use App\Utils\LogUtils;
|
|
|
|
use Hashids\Hashids;
|
|
|
|
use Illuminate\Console\Command;
|
|
...
|
...
|
@@ -62,14 +65,20 @@ class SyncProject extends Command |
|
|
|
$list = NoticeLog::where('type', NoticeLog::TYPE_PROJECT)->where('status', NoticeLog::STATUS_PENDING)->get();
|
|
|
|
foreach ($list as $item){
|
|
|
|
try {
|
|
|
|
$is_update = $item['data']['is_update']??0;//是否是4.0或5.0更新到6.0
|
|
|
|
$order_id = $item['data']['order_id'];
|
|
|
|
if($is_update == 1){
|
|
|
|
$data = http_get('https://quanqiusou.cn/extend_api/v6/update.php?postid='.$order_id, ['charset' => 'UTF-8']);
|
|
|
|
}else{
|
|
|
|
$api = new OaGlobalsoApi();
|
|
|
|
$data = $api->order_info($item['data']['order_id']);
|
|
|
|
$data = $api->order_info($order_id);
|
|
|
|
}
|
|
|
|
if(!$data || empty($data['data'])){
|
|
|
|
LogUtils::error('OaGlobalsoApi order_info error', $data);
|
|
|
|
$this->retry($item);
|
|
|
|
}
|
|
|
|
if($data['data']['order_type'] == '首次'){
|
|
|
|
$this->sync($data['data']);
|
|
|
|
$this->sync($data['data'],$is_update);
|
|
|
|
|
|
|
|
//同步aicc
|
|
|
|
if($data['data']['exclusive_aicc']){
|
|
...
|
...
|
@@ -164,7 +173,7 @@ class SyncProject extends Command |
|
|
|
* @method :post
|
|
|
|
* @time :2023/8/9 15:04
|
|
|
|
*/
|
|
|
|
public function sync($param){
|
|
|
|
public function sync($param,$is_update = 0){
|
|
|
|
$title = date('Ymd') . '-' . $param['company_name'];
|
|
|
|
$data = [
|
|
|
|
'project'=>[
|
|
...
|
...
|
@@ -207,6 +216,22 @@ class SyncProject extends Command |
|
|
|
$this->saveDeployBuild($data['deploy_build'],$id);
|
|
|
|
$this->saveDeployOptimize($data['deploy_optimize'],$id);
|
|
|
|
$this->saveAfter($data['project_after'],$id);
|
|
|
|
|
|
|
|
if($is_update == 1){
|
|
|
|
//4.0或5.0更新到6.0
|
|
|
|
|
|
|
|
//初始化数据库
|
|
|
|
$this->initializationMysql($id);
|
|
|
|
|
|
|
|
//初始账号
|
|
|
|
$this->createUser($data['project']['mobile'],$id,$data['project']['lead_name']);
|
|
|
|
|
|
|
|
//新增数据抓取任务
|
|
|
|
foreach ($param['api_type'] as $v_type){
|
|
|
|
UpdateLog::createLog($id,$v_type,$param['get_data_url']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
DB::commit();
|
|
|
|
}catch (\Exception $e){
|
|
|
|
DB::rollBack();
|
|
...
|
...
|
@@ -388,4 +413,43 @@ class SyncProject extends Command |
|
|
|
LogUtils::error('ProjectToHagro error', $res);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 初始化数据库
|
|
|
|
* @param $project_id
|
|
|
|
* @author Akun
|
|
|
|
* @date 2023/09/19 15:12
|
|
|
|
*/
|
|
|
|
public function initializationMysql($project_id){
|
|
|
|
//切换数据库配置
|
|
|
|
$project = ProjectServer::useProject($project_id);
|
|
|
|
//创建数据库
|
|
|
|
ProjectServer::createDatabase($project);
|
|
|
|
//创建表
|
|
|
|
ProjectServer::initTable();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 创建用户
|
|
|
|
* @param $mobile
|
|
|
|
* @param $project_id
|
|
|
|
* @param $lead_name
|
|
|
|
* @author Akun
|
|
|
|
* @date 2023/09/19 15:12
|
|
|
|
*/
|
|
|
|
public function createUser($mobile,$project_id,$lead_name){
|
|
|
|
$userModel = new UserModel();
|
|
|
|
//查看当前用户是否存在
|
|
|
|
$info = $userModel->read(['mobile'=>$mobile,'project_id'=>$project_id]);
|
|
|
|
if($info === false){
|
|
|
|
$data = [
|
|
|
|
'mobile'=>$mobile,
|
|
|
|
'password'=>base64_encode(md5('123456')),
|
|
|
|
'project_id'=>$project_id,
|
|
|
|
'name'=>$lead_name,
|
|
|
|
'type'=>UserModel::TYPE_ONE
|
|
|
|
];
|
|
|
|
$userModel->add($data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|