|
@@ -73,8 +73,8 @@ class ProjectLogic extends BaseLogic |
|
@@ -73,8 +73,8 @@ class ProjectLogic extends BaseLogic |
|
73
|
* @time :2023/8/30 11:57
|
73
|
* @time :2023/8/30 11:57
|
|
74
|
*/
|
74
|
*/
|
|
75
|
public function projectSave(){
|
75
|
public function projectSave(){
|
|
76
|
-// DB::beginTransaction();
|
|
|
|
77
|
-// try {
|
76
|
+ DB::beginTransaction();
|
|
|
|
77
|
+ try {
|
|
78
|
$this->createProjectData($this->param);
|
78
|
$this->createProjectData($this->param);
|
|
79
|
//保存项目信息
|
79
|
//保存项目信息
|
|
80
|
$this->saveProject($this->param);
|
80
|
$this->saveProject($this->param);
|
|
@@ -86,10 +86,11 @@ class ProjectLogic extends BaseLogic |
|
@@ -86,10 +86,11 @@ class ProjectLogic extends BaseLogic |
|
86
|
$this->saveProjectDeployOptimize($this->param['deploy_optimize']);
|
86
|
$this->saveProjectDeployOptimize($this->param['deploy_optimize']);
|
|
87
|
//保存售后信息
|
87
|
//保存售后信息
|
|
88
|
$this->saveProjectAfter($this->param['project_after']);
|
88
|
$this->saveProjectAfter($this->param['project_after']);
|
|
89
|
-// }catch (\Exception $e){
|
|
|
|
90
|
-// DB::rollBack();
|
|
|
|
91
|
-// $this->fail('error');
|
|
|
|
92
|
-// }
|
89
|
+ DB::commit();
|
|
|
|
90
|
+ }catch (\Exception $e){
|
|
|
|
91
|
+ DB::rollBack();
|
|
|
|
92
|
+ $this->fail('error');
|
|
|
|
93
|
+ }
|
|
93
|
return $this->success();
|
94
|
return $this->success();
|
|
94
|
}
|
95
|
}
|
|
95
|
|
96
|
|
|
@@ -191,7 +192,6 @@ class ProjectLogic extends BaseLogic |
|
@@ -191,7 +192,6 @@ class ProjectLogic extends BaseLogic |
|
191
|
* @time :2023/8/30 13:57
|
192
|
* @time :2023/8/30 13:57
|
|
192
|
*/
|
193
|
*/
|
|
193
|
protected function saveProjectAfter($project_after){
|
194
|
protected function saveProjectAfter($project_after){
|
|
194
|
- @file_put_contents(storage_path('logs/lyh_error.log'), var_export($project_after, true) . PHP_EOL, FILE_APPEND);
|
|
|
|
195
|
//查询数据是否存在
|
195
|
//查询数据是否存在
|
|
196
|
$afterModel = new After();
|
196
|
$afterModel = new After();
|
|
197
|
$afterModel->edit($project_after,['id'=>$project_after['id']]);
|
197
|
$afterModel->edit($project_after,['id'=>$project_after['id']]);
|
|
@@ -224,48 +224,6 @@ class ProjectLogic extends BaseLogic |
|
@@ -224,48 +224,6 @@ class ProjectLogic extends BaseLogic |
|
224
|
return $this->success();
|
224
|
return $this->success();
|
|
225
|
}
|
225
|
}
|
|
226
|
|
226
|
|
|
227
|
- /**
|
|
|
|
228
|
- * @remark :保存项目配置数据
|
|
|
|
229
|
- * @name :save
|
|
|
|
230
|
- * @author :lyh
|
|
|
|
231
|
- * @method :post
|
|
|
|
232
|
- * @time :2023/8/17 14:19
|
|
|
|
233
|
- */
|
|
|
|
234
|
- public function save($param){
|
|
|
|
235
|
- DB::beginTransaction();
|
|
|
|
236
|
- try {
|
|
|
|
237
|
- if($param['type'] == Project::TYPE_FIVE){
|
|
|
|
238
|
- $param['extend_type'] == Project::TYPE_FIVE;
|
|
|
|
239
|
- unset($param['type']);
|
|
|
|
240
|
- }
|
|
|
|
241
|
- $res = parent::save($param);
|
|
|
|
242
|
- $param['id'] = $res['id'];
|
|
|
|
243
|
- $this->savePayment($param);
|
|
|
|
244
|
- $this->saveDeployBuild($param);
|
|
|
|
245
|
- $this->saveDeployOptimize($param);
|
|
|
|
246
|
- $this->saveAfter($param);
|
|
|
|
247
|
- //创建默认数据库
|
|
|
|
248
|
- if($param['type'] == Project::TYPE_ONE){
|
|
|
|
249
|
- //初始化数据库
|
|
|
|
250
|
- if(isset($param['mysql_id']) && !empty($param['mysql_id'])){
|
|
|
|
251
|
- $this->initializationMysql($res['id']);
|
|
|
|
252
|
- }
|
|
|
|
253
|
- //初始账号
|
|
|
|
254
|
- if(isset($param['mobile']) && !empty($param['mobile'])){
|
|
|
|
255
|
- $this->createUser($param['mobile'],$res['id'],$param['lead_name']);
|
|
|
|
256
|
- }
|
|
|
|
257
|
- //更改服务器状态
|
|
|
|
258
|
- if(isset($param['serve_id']) && !empty($param['serve_id'])){
|
|
|
|
259
|
- $this->updateServe($param['serve_id']);
|
|
|
|
260
|
- }
|
|
|
|
261
|
- }
|
|
|
|
262
|
- DB::commit();
|
|
|
|
263
|
- }catch (\Exception $e){
|
|
|
|
264
|
- DB::rollBack();
|
|
|
|
265
|
- $this->fail('保存失败');
|
|
|
|
266
|
- }
|
|
|
|
267
|
- return $this->success();
|
|
|
|
268
|
- }
|
|
|
|
269
|
|
227
|
|
|
270
|
/**
|
228
|
/**
|
|
271
|
* @remark :初始化数据库
|
229
|
* @remark :初始化数据库
|
|
@@ -325,82 +283,8 @@ class ProjectLogic extends BaseLogic |
|
@@ -325,82 +283,8 @@ class ProjectLogic extends BaseLogic |
|
325
|
return $this->success();
|
283
|
return $this->success();
|
|
326
|
}
|
284
|
}
|
|
327
|
|
285
|
|
|
328
|
- /**
|
|
|
|
329
|
- * @remark :保存付款续费
|
|
|
|
330
|
- * @name :savePayment
|
|
|
|
331
|
- * @author :lyh
|
|
|
|
332
|
- * @method :post
|
|
|
|
333
|
- * @time :2023/8/29 16:19
|
|
|
|
334
|
- */
|
|
|
|
335
|
- protected function savePayment($param){
|
|
|
|
336
|
- if(empty($param['payment'])){
|
|
|
|
337
|
- return true;
|
|
|
|
338
|
- }
|
|
|
|
339
|
- $data = $param['payment'];
|
|
|
|
340
|
- $data['project_id'] = $param['id'];
|
|
|
|
341
|
- $data['id'] = Payment::where('project_id', $param['id'])->value('id');
|
|
|
|
342
|
- return (new PaymentLogic)->save($data);
|
|
|
|
343
|
- }
|
|
|
|
344
|
|
286
|
|
|
345
|
- /**
|
|
|
|
346
|
- * @remark :保存建站部署
|
|
|
|
347
|
- * @name :saveDeployBuild
|
|
|
|
348
|
- * @author :lyh
|
|
|
|
349
|
- * @method :post
|
|
|
|
350
|
- * @time :2023/8/29 16:19
|
|
|
|
351
|
- */
|
|
|
|
352
|
- protected function saveDeployBuild($param){
|
|
|
|
353
|
- if(empty($param['deploy_build'])){
|
|
|
|
354
|
- return true;
|
|
|
|
355
|
- }
|
|
|
|
356
|
- $data = $param['deploy_build'];
|
|
|
|
357
|
- $data['project_id'] = $param['id'];
|
|
|
|
358
|
- $data['id'] = DeployBuild::where('project_id', $param['id'])->value('id');
|
|
|
|
359
|
- if(empty($data['id'])){
|
|
|
|
360
|
- $hashids = new Hashids('test_domain', 5, 'abcdefghjkmnpqrstuvwxyz1234567890');
|
|
|
|
361
|
- $code = $hashids->encode($data['project_id']);
|
|
|
|
362
|
- $data['test_domain'] = 'https://v6-' . $code . '.globalso.site/';
|
|
|
|
363
|
- }
|
|
|
|
364
|
- return (new DeployBuildLogic)->save($data);
|
|
|
|
365
|
- }
|
|
|
|
366
|
|
287
|
|
|
367
|
- /**
|
|
|
|
368
|
- * 保存优化部署
|
|
|
|
369
|
- * @author zbj
|
|
|
|
370
|
- * @date 2023/4/26
|
|
|
|
371
|
- */
|
|
|
|
372
|
- protected function saveDeployOptimize($param){
|
|
|
|
373
|
- if(empty($param['deploy_optimize'])){
|
|
|
|
374
|
- return true;
|
|
|
|
375
|
- }
|
|
|
|
376
|
- $data = $param['deploy_optimize'];
|
|
|
|
377
|
- $data['project_id'] = $param['id'];
|
|
|
|
378
|
- if(isset($data['domain']) && !empty($data['domain'])){
|
|
|
|
379
|
- if (!preg_match('/http/', $data['domain'])) {
|
|
|
|
380
|
- $data['domain'] = 'https://'.trim($data['domain'],'/').'/';
|
|
|
|
381
|
- }
|
|
|
|
382
|
- }
|
|
|
|
383
|
- $data['id'] = DeployOptimize::where('project_id', $param['id'])->value('id');
|
|
|
|
384
|
- return (new DeployOptimizeLogic)->save($data);
|
|
|
|
385
|
- }
|
|
|
|
386
|
- /**
|
|
|
|
387
|
- * 保存优化部署
|
|
|
|
388
|
- * @author zbj
|
|
|
|
389
|
- * @date 2023/4/26
|
|
|
|
390
|
- */
|
|
|
|
391
|
- protected function saveAfter($param){
|
|
|
|
392
|
- $data = $param['project_after'];
|
|
|
|
393
|
- $data['project_id'] = $param['id'];
|
|
|
|
394
|
- //查询数据是否存在
|
|
|
|
395
|
- $afterModel = new After();
|
|
|
|
396
|
- $info = $afterModel->read(['project_id'=>$data['project_id']]);
|
|
|
|
397
|
- if($info === false){
|
|
|
|
398
|
- $rs = $afterModel->add($data);
|
|
|
|
399
|
- }else{
|
|
|
|
400
|
- $rs = $afterModel->edit($data,['id'=>$info['id']]);
|
|
|
|
401
|
- }
|
|
|
|
402
|
- return $rs;
|
|
|
|
403
|
- }
|
|
|
|
404
|
public function clearCache($id)
|
288
|
public function clearCache($id)
|
|
405
|
{
|
289
|
{
|
|
406
|
parent::clearCache($id);
|
290
|
parent::clearCache($id);
|
|
@@ -463,89 +347,8 @@ class ProjectLogic extends BaseLogic |
|
@@ -463,89 +347,8 @@ class ProjectLogic extends BaseLogic |
|
463
|
}
|
347
|
}
|
|
464
|
|
348
|
|
|
465
|
|
349
|
|
|
466
|
- /**
|
|
|
|
467
|
- * @remark :导入数据
|
|
|
|
468
|
- * @name :sync
|
|
|
|
469
|
- * @author :lyh
|
|
|
|
470
|
- * @method :post
|
|
|
|
471
|
- * @time :2023/8/9 15:04
|
|
|
|
472
|
- */
|
|
|
|
473
|
- public function sync($param){
|
|
|
|
474
|
- $title = date('Ymd') . '-' . $param['company_name'];
|
|
|
|
475
|
- $data = [
|
|
|
|
476
|
- 'title' => $title,
|
|
|
|
477
|
- 'api_no'=> $param['id'],
|
|
|
|
478
|
- 'company' => $param['company_name'],
|
|
|
|
479
|
- 'lead_name' => $param['principal_name'],
|
|
|
|
480
|
- 'mobile' => $param['principal_mobile'],
|
|
|
|
481
|
- 'mysql_id'=>Project::MYSQL_ID,
|
|
|
|
482
|
- 'qq' => $param['customer_qq'],
|
|
|
|
483
|
- 'channel' => Channel::getProjectChannel($param['company_id'], $param['username_sales']),
|
|
|
|
484
|
- 'requirement' => $param['remark'],
|
|
|
|
485
|
- 'cooperate_date' => date('Y-m-d', $param['create_time']),
|
|
|
|
486
|
- 'deploy_build' => [
|
|
|
|
487
|
- 'service_duration' => $param['years'],
|
|
|
|
488
|
- 'plan' => $this->versionData($param['plan_marketing']),
|
|
|
|
489
|
- 'login_mobile'=>$param['principal_mobile']
|
|
|
|
490
|
- ],
|
|
|
|
491
|
- 'deploy_optimize' => [
|
|
|
|
492
|
- 'api_no' => $param['id']
|
|
|
|
493
|
- ],
|
|
|
|
494
|
- 'project_after' => [],
|
|
|
|
495
|
- 'payment' => [
|
|
|
|
496
|
- 'amount' => $param['plan_price'],
|
|
|
|
497
|
- 'contract' => $param['files'],
|
|
|
|
498
|
- 'bill' => $param['images'],
|
|
|
|
499
|
- ],
|
|
|
|
500
|
- ];
|
|
|
|
501
|
- DB::beginTransaction();
|
|
|
|
502
|
- try {
|
|
|
|
503
|
- $res = parent::save($data);
|
|
|
|
504
|
- $data['id'] = $res['id'];
|
|
|
|
505
|
- $this->setPostId($data['deploy_build']['plan'],$res['id']);
|
|
|
|
506
|
- $this->savePayment($data);
|
|
|
|
507
|
- $this->saveDeployBuild($data);
|
|
|
|
508
|
- $this->saveDeployOptimize($data);
|
|
|
|
509
|
- $this->saveAfter($data);
|
|
|
|
510
|
- DB::commit();
|
|
|
|
511
|
- }catch (\Exception $e){
|
|
|
|
512
|
- DB::rollBack();
|
|
|
|
513
|
- errorLog('项目同步失败', $data, $e);
|
|
|
|
514
|
- $this->fail('同步失败');
|
|
|
|
515
|
- }
|
|
|
|
516
|
- }
|
|
|
|
517
|
|
350
|
|
|
518
|
- /**
|
|
|
|
519
|
- * @remark :获取版本
|
|
|
|
520
|
- * @name :versionData
|
|
|
|
521
|
- * @author :lyh
|
|
|
|
522
|
- * @method :post
|
|
|
|
523
|
- * @time :2023/8/9 14:46
|
|
|
|
524
|
- */
|
|
|
|
525
|
- public function versionData($param){
|
|
|
|
526
|
- $data = Project::planMap();
|
|
|
|
527
|
- $data = array_flip($data);
|
|
|
|
528
|
- if(isset($data[$param])){
|
|
|
|
529
|
- return $data[$param];
|
|
|
|
530
|
- }else{
|
|
|
|
531
|
- return 1;
|
|
|
|
532
|
- }
|
|
|
|
533
|
- }
|
|
|
|
534
|
|
351
|
|
|
535
|
- /**
|
|
|
|
536
|
- * @remark :设置post_id
|
|
|
|
537
|
- * @name :setPostId
|
|
|
|
538
|
- * @author :lyh
|
|
|
|
539
|
- * @method :post
|
|
|
|
540
|
- * @time :2023/8/9 14:47
|
|
|
|
541
|
- */
|
|
|
|
542
|
- public function setPostId($plan,$id){
|
|
|
|
543
|
- $length = strlen((string)$id); // 获取变量的位数
|
|
|
|
544
|
- $paddingLength = Project::TYPE_FIVE - $length; // 计算填充前面的 0 的位数
|
|
|
|
545
|
- $zeros = str_repeat("0", $paddingLength);
|
|
|
|
546
|
- $number = Project::TYPE_SIX.$plan.$zeros.$id;
|
|
|
|
547
|
- $projectModel = new Project();
|
|
|
|
548
|
- $projectModel->edit(['post_id'=>$number],['id'=>$id]);
|
|
|
|
549
|
- return true;
|
|
|
|
550
|
- }
|
352
|
+
|
|
|
|
353
|
+
|
|
551
|
} |
354
|
} |