|
@@ -77,7 +77,6 @@ class ProjectLogic extends BaseLogic |
|
@@ -77,7 +77,6 @@ class ProjectLogic extends BaseLogic |
|
77
|
public function getProjectInfo($id){
|
77
|
public function getProjectInfo($id){
|
|
78
|
$info = $this->model->with(['payment', 'deploy_build', 'deploy_optimize', 'online_check', 'project_after','inquiry_filter_config','web_traffic_config'])->where(['id'=>$id])->first()->toArray();
|
78
|
$info = $this->model->with(['payment', 'deploy_build', 'deploy_optimize', 'online_check', 'project_after','inquiry_filter_config','web_traffic_config'])->where(['id'=>$id])->first()->toArray();
|
|
79
|
$info['online_check']['name'] = (new Manage())->getName($info['online_check']['created_manage_id'] ?? 0);
|
79
|
$info['online_check']['name'] = (new Manage())->getName($info['online_check']['created_manage_id'] ?? 0);
|
|
80
|
- $info['deploy_optimize']['minor_keywords'] = !empty($info['deploy_optimize']['minor_keywords']) ? json_decode($info['deploy_optimize']['minor_keywords']) : [];
|
|
|
|
81
|
$info['init_domain'] = $this->getInitDomain($info['serve_id'])['domain'];
|
80
|
$info['init_domain'] = $this->getInitDomain($info['serve_id'])['domain'];
|
|
82
|
if($info['extend_type'] != 0){
|
81
|
if($info['extend_type'] != 0){
|
|
83
|
$info['type'] = $info['extend_type'];
|
82
|
$info['type'] = $info['extend_type'];
|
|
@@ -99,12 +98,27 @@ class ProjectLogic extends BaseLogic |
|
@@ -99,12 +98,27 @@ class ProjectLogic extends BaseLogic |
|
99
|
if(isset($info['deploy_build']['other_project']) && !empty($info['deploy_build']['other_project'])){
|
98
|
if(isset($info['deploy_build']['other_project']) && !empty($info['deploy_build']['other_project'])){
|
|
100
|
$info['deploy_build']['other_project']= json_decode($info['deploy_build']['other_project']);
|
99
|
$info['deploy_build']['other_project']= json_decode($info['deploy_build']['other_project']);
|
|
101
|
}
|
100
|
}
|
|
|
|
101
|
+ //获取小语种
|
|
|
|
102
|
+ $info['minor_languages'] = $this->getProjectMinorLanguages($id);
|
|
102
|
//升级项目采集完成时间
|
103
|
//升级项目采集完成时间
|
|
103
|
$info['collect_time'] = $info['is_upgrade'] ? UpdateLog::getProjectUpdate($id) : '';
|
104
|
$info['collect_time'] = $info['is_upgrade'] ? UpdateLog::getProjectUpdate($id) : '';
|
|
104
|
return $this->success($info);
|
105
|
return $this->success($info);
|
|
105
|
}
|
106
|
}
|
|
106
|
|
107
|
|
|
107
|
/**
|
108
|
/**
|
|
|
|
109
|
+ * @remark :获取当前项目的小语种配置
|
|
|
|
110
|
+ * @name :getProjectMinorLanguages
|
|
|
|
111
|
+ * @author :lyh
|
|
|
|
112
|
+ * @method :post
|
|
|
|
113
|
+ * @time :2024/6/18 11:05
|
|
|
|
114
|
+ */
|
|
|
|
115
|
+ public function getProjectMinorLanguages($project_id){
|
|
|
|
116
|
+ $projectMinorLanguagesModel = new MinorLanguages();
|
|
|
|
117
|
+ $lists = $projectMinorLanguagesModel->list(['project_id'=>$project_id]);
|
|
|
|
118
|
+ return $this->success($lists);
|
|
|
|
119
|
+ }
|
|
|
|
120
|
+
|
|
|
|
121
|
+ /**
|
|
108
|
* @remark :获取初始域名
|
122
|
* @remark :获取初始域名
|
|
109
|
* @name :getInitDomain
|
123
|
* @name :getInitDomain
|
|
110
|
* @author :lyh
|
124
|
* @author :lyh
|
|
@@ -131,8 +145,8 @@ class ProjectLogic extends BaseLogic |
|
@@ -131,8 +145,8 @@ class ProjectLogic extends BaseLogic |
|
131
|
* @time :2023/8/30 11:57
|
145
|
* @time :2023/8/30 11:57
|
|
132
|
*/
|
146
|
*/
|
|
133
|
public function projectSave(){
|
147
|
public function projectSave(){
|
|
134
|
-// DB::beginTransaction();
|
|
|
|
135
|
-// try {
|
148
|
+ DB::beginTransaction();
|
|
|
|
149
|
+ try {
|
|
136
|
if($this->param['type'] == Project::TYPE_SEVEN){
|
150
|
if($this->param['type'] == Project::TYPE_SEVEN){
|
|
137
|
//错误单直接返回,单独处理
|
151
|
//错误单直接返回,单独处理
|
|
138
|
$this->setTypeSevenEdit($this->param);
|
152
|
$this->setTypeSevenEdit($this->param);
|
|
@@ -149,18 +163,28 @@ class ProjectLogic extends BaseLogic |
|
@@ -149,18 +163,28 @@ class ProjectLogic extends BaseLogic |
|
149
|
$this->saveProjectDeployOptimize($this->param['deploy_optimize']);
|
163
|
$this->saveProjectDeployOptimize($this->param['deploy_optimize']);
|
|
150
|
//保存售后信息
|
164
|
//保存售后信息
|
|
151
|
$this->saveProjectAfter($this->param['project_after']);
|
165
|
$this->saveProjectAfter($this->param['project_after']);
|
|
152
|
- $this->saveMinorLanguages($this->param['deploy_optimize']['minor_languages'] ?? []);
|
166
|
+ //单独保存小语种配置
|
|
|
|
167
|
+ $this->saveMinorLanguages($this->param['minor_languages'] ?? [],$this->param['id']);
|
|
|
|
168
|
+ //同步图片文件
|
|
153
|
$this->syncImageFile($this->param['project_location'],$this->param['id']);
|
169
|
$this->syncImageFile($this->param['project_location'],$this->param['id']);
|
|
|
|
170
|
+ //同步信息表
|
|
154
|
(new SyncService())->projectAcceptAddress($this->param['id']);
|
171
|
(new SyncService())->projectAcceptAddress($this->param['id']);
|
|
155
|
}
|
172
|
}
|
|
156
|
-// DB::commit();
|
|
|
|
157
|
-// }catch (\Exception $e){
|
|
|
|
158
|
-// DB::rollBack();
|
|
|
|
159
|
-// $this->fail('保存失败,请联系管理员');
|
|
|
|
160
|
-// }
|
173
|
+ DB::commit();
|
|
|
|
174
|
+ }catch (\Exception $e){
|
|
|
|
175
|
+ DB::rollBack();
|
|
|
|
176
|
+ $this->fail('保存失败,请联系管理员');
|
|
|
|
177
|
+ }
|
|
161
|
return $this->success();
|
178
|
return $this->success();
|
|
162
|
}
|
179
|
}
|
|
163
|
|
180
|
|
|
|
|
181
|
+ /**
|
|
|
|
182
|
+ * @remark :危险项目同步图片与文件
|
|
|
|
183
|
+ * @name :syncImageFile
|
|
|
|
184
|
+ * @author :lyh
|
|
|
|
185
|
+ * @method :post
|
|
|
|
186
|
+ * @time :2024/6/18 10:51
|
|
|
|
187
|
+ */
|
|
164
|
public function syncImageFile($location,$project_id){
|
188
|
public function syncImageFile($location,$project_id){
|
|
165
|
if($location == 1){
|
189
|
if($location == 1){
|
|
166
|
CopyImageFileJob::dispatch(['project_id'=>$project_id]);
|
190
|
CopyImageFileJob::dispatch(['project_id'=>$project_id]);
|
|
@@ -176,6 +200,8 @@ class ProjectLogic extends BaseLogic |
|
@@ -176,6 +200,8 @@ class ProjectLogic extends BaseLogic |
|
176
|
* @time :2023/8/30 12:14
|
200
|
* @time :2023/8/30 12:14
|
|
177
|
*/
|
201
|
*/
|
|
178
|
public function saveProject($param){
|
202
|
public function saveProject($param){
|
|
|
|
203
|
+// unset($param['payment'],$param['deploy_build'],$param['deploy_optimize'],
|
|
|
|
204
|
+// $param['online_check'],$param['project_after'],$param['inquiry_filter_config'],$param['minor_languages']);
|
|
179
|
if((($param['type'] == Project::TYPE_TWO) || ($param['type'] == Project::TYPE_THREE)) && empty($param['uptime'])){
|
205
|
if((($param['type'] == Project::TYPE_TWO) || ($param['type'] == Project::TYPE_THREE)) && empty($param['uptime'])){
|
|
180
|
$param['uptime'] = date('Y-m-d H:i:s');
|
206
|
$param['uptime'] = date('Y-m-d H:i:s');
|
|
181
|
}
|
207
|
}
|
|
@@ -207,8 +233,6 @@ class ProjectLogic extends BaseLogic |
|
@@ -207,8 +233,6 @@ class ProjectLogic extends BaseLogic |
|
207
|
}
|
233
|
}
|
|
208
|
$param['remain_day'] = $param['deploy_build']['service_duration'] - $param['finish_remain_day'];
|
234
|
$param['remain_day'] = $param['deploy_build']['service_duration'] - $param['finish_remain_day'];
|
|
209
|
$param['remain_day'] = ($param['remain_day'] > 0) ? $param['remain_day'] : 0;
|
235
|
$param['remain_day'] = ($param['remain_day'] > 0) ? $param['remain_day'] : 0;
|
|
210
|
- unset($param['payment'],$param['deploy_build'],$param['deploy_optimize'],
|
|
|
|
211
|
- $param['online_check'],$param['project_after'],$param['inquiry_filter_config'],$param['minor_language']);
|
|
|
|
212
|
//文件上传默认值
|
236
|
//文件上传默认值
|
|
213
|
if($param['is_upload_manage']){
|
237
|
if($param['is_upload_manage']){
|
|
214
|
$param['upload_config'] = [
|
238
|
$param['upload_config'] = [
|
|
@@ -278,9 +302,7 @@ class ProjectLogic extends BaseLogic |
|
@@ -278,9 +302,7 @@ class ProjectLogic extends BaseLogic |
|
278
|
//更改域名
|
302
|
//更改域名
|
|
279
|
$this->editDomainStatus($deploy_optimize['domain'],$deploy_optimize['project_id']);
|
303
|
$this->editDomainStatus($deploy_optimize['domain'],$deploy_optimize['project_id']);
|
|
280
|
}
|
304
|
}
|
|
281
|
- $deploy_optimize['minor_languages'] = Arr::a2s($deploy_optimize['minor_languages'] ?? []);
|
|
|
|
282
|
$deploy_optimize['g_top_plan'] = Arr::a2s($deploy_optimize['g_top_plan'] ?? []);
|
305
|
$deploy_optimize['g_top_plan'] = Arr::a2s($deploy_optimize['g_top_plan'] ?? []);
|
|
283
|
- $deploy_optimize['minor_keywords'] = Arr::a2s(!empty($deploy_optimize['minor_keywords']) ? $deploy_optimize['minor_keywords'] : []);
|
|
|
|
284
|
$deploy_optimize['special'] = !empty($deploy_optimize['special']) ? ','.trim($deploy_optimize['special'],',').',' : '';
|
306
|
$deploy_optimize['special'] = !empty($deploy_optimize['special']) ? ','.trim($deploy_optimize['special'],',').',' : '';
|
|
285
|
//是否更新了api_no
|
307
|
//是否更新了api_no
|
|
286
|
$api_no = DeployOptimize::where('id', $deploy_optimize['id'])->value('api_no');
|
308
|
$api_no = DeployOptimize::where('id', $deploy_optimize['id'])->value('api_no');
|
|
@@ -324,30 +346,40 @@ class ProjectLogic extends BaseLogic |
|
@@ -324,30 +346,40 @@ class ProjectLogic extends BaseLogic |
|
324
|
* @method :post
|
346
|
* @method :post
|
|
325
|
* @time :2023/8/30 13:57
|
347
|
* @time :2023/8/30 13:57
|
|
326
|
*/
|
348
|
*/
|
|
327
|
- protected function saveMinorLanguages($minor_language){
|
349
|
+ protected function saveMinorLanguages($minor_language,$project_id){
|
|
328
|
$data = [];
|
350
|
$data = [];
|
|
329
|
- //查询数据是否存在
|
|
|
|
330
|
$languageModel = new MinorLanguages();
|
351
|
$languageModel = new MinorLanguages();
|
|
331
|
- $languageModel->del(['project_id'=>$this->param['id']]);
|
|
|
|
332
|
if(!empty($minor_language)){
|
352
|
if(!empty($minor_language)){
|
|
333
|
$webLanguageModel = new WebLanguage();
|
353
|
$webLanguageModel = new WebLanguage();
|
|
334
|
$result = [];
|
354
|
$result = [];
|
|
335
|
- foreach ($minor_language as $k => $v){
|
355
|
+ foreach ($minor_language as $v){
|
|
336
|
if(!empty($v['lang'])){
|
356
|
if(!empty($v['lang'])){
|
|
337
|
$zh = $webLanguageModel->read(['short'=>$v['lang']],['chinese']);
|
357
|
$zh = $webLanguageModel->read(['short'=>$v['lang']],['chinese']);
|
|
338
|
- if(empty($zh)){
|
358
|
+ if($zh === false){
|
|
339
|
continue;
|
359
|
continue;
|
|
340
|
}
|
360
|
}
|
|
341
|
- //获取小语种达标天数
|
|
|
|
342
|
- $result['language'] = $zh['chinese'];
|
|
|
|
343
|
- $result['lang'] = $v['lang'];
|
|
|
|
344
|
- $result['created_at'] = date('Y-m-d H:i:s');
|
|
|
|
345
|
- $result['updated_at'] = date('Y-m-d H:i:s');
|
|
|
|
346
|
- $result['project_id'] = $this->param['id'];
|
|
|
|
347
|
- $result['service_day'] = $v['service_day'];
|
|
|
|
348
|
- $result['type'] = $v['type'];
|
|
|
|
349
|
- $result['keywords'] = $v['keywords'];
|
|
|
|
350
|
- $data[] = $result;
|
361
|
+ $info = $languageModel->read(['lang'=>$v['lang'],'project_id'=>$project_id]);
|
|
|
|
362
|
+ if($info === false){
|
|
|
|
363
|
+ //获取小语种达标天数
|
|
|
|
364
|
+ $result['language'] = $zh['chinese'];
|
|
|
|
365
|
+ $result['lang'] = $v['lang'];
|
|
|
|
366
|
+ $result['created_at'] = date('Y-m-d H:i:s');
|
|
|
|
367
|
+ $result['updated_at'] = date('Y-m-d H:i:s');
|
|
|
|
368
|
+ $result['project_id'] = $project_id;
|
|
|
|
369
|
+ $result['service_day'] = $v['service_day'] ?? 50;
|
|
|
|
370
|
+ $result['type'] = $v['type'] ?? 0;
|
|
|
|
371
|
+ $result['keywords'] = $v['keywords'] ?? 50;
|
|
|
|
372
|
+ $result['minor_keywords'] = $v['minor_keywords'] ?? '';
|
|
|
|
373
|
+ $data[] = $result;
|
|
|
|
374
|
+ }else{
|
|
|
|
375
|
+ $editParam = [
|
|
|
|
376
|
+ 'service_day'=>$v['service_day'],
|
|
|
|
377
|
+ 'type'=>$v['type'],
|
|
|
|
378
|
+ 'keywords'=>$v['keywords'],
|
|
|
|
379
|
+ 'minor_keywords'=>$v['minor_keywords'],
|
|
|
|
380
|
+ ];
|
|
|
|
381
|
+ $languageModel->edit($editParam,['id'=>$info['id']]);
|
|
|
|
382
|
+ }
|
|
351
|
}
|
383
|
}
|
|
352
|
}
|
384
|
}
|
|
353
|
if(!empty($data)){
|
385
|
if(!empty($data)){
|
|
@@ -358,6 +390,18 @@ class ProjectLogic extends BaseLogic |
|
@@ -358,6 +390,18 @@ class ProjectLogic extends BaseLogic |
|
358
|
}
|
390
|
}
|
|
359
|
|
391
|
|
|
360
|
/**
|
392
|
/**
|
|
|
|
393
|
+ * @remark :删除小语种(主键id)
|
|
|
|
394
|
+ * @name :deleteMinorLanguages
|
|
|
|
395
|
+ * @author :lyh
|
|
|
|
396
|
+ * @method :post
|
|
|
|
397
|
+ * @time :2024/6/18 11:32
|
|
|
|
398
|
+ */
|
|
|
|
399
|
+ public function deleteMinorLanguages(){
|
|
|
|
400
|
+ $languageModel = new MinorLanguages();
|
|
|
|
401
|
+ return $languageModel->edit(['is_delete'=>1],['id'=>$this->param['id']]);
|
|
|
|
402
|
+ }
|
|
|
|
403
|
+
|
|
|
|
404
|
+ /**
|
|
361
|
* @remark :创建初始数据
|
405
|
* @remark :创建初始数据
|
|
362
|
* @name :createProjectData
|
406
|
* @name :createProjectData
|
|
363
|
* @author :lyh
|
407
|
* @author :lyh
|