正在显示
1 个修改的文件
包含
33 行增加
和
0 行删除
| @@ -434,16 +434,49 @@ class ProductLogic extends BaseLogic | @@ -434,16 +434,49 @@ class ProductLogic extends BaseLogic | ||
| 434 | public function setCopyProduct(){ | 434 | public function setCopyProduct(){ |
| 435 | $info = $this->model->read(['id'=>$this->param['id']]); | 435 | $info = $this->model->read(['id'=>$this->param['id']]); |
| 436 | $param = $this->setProductParams($info); | 436 | $param = $this->setProductParams($info); |
| 437 | + DB::beginTransaction(); | ||
| 438 | + try { | ||
| 437 | $save_id = $this->model->insertGetId($param); | 439 | $save_id = $this->model->insertGetId($param); |
| 440 | + CategoryRelated::saveRelated($save_id, $info['category_id']); | ||
| 438 | $route = preg_replace('/-product.*/', '', $param['route']); | 441 | $route = preg_replace('/-product.*/', '', $param['route']); |
| 442 | + //同步分类关联表 | ||
| 439 | $route = RouteMap::setRoute($route, RouteMap::SOURCE_PRODUCT, $save_id, $this->user['project_id']); | 443 | $route = RouteMap::setRoute($route, RouteMap::SOURCE_PRODUCT, $save_id, $this->user['project_id']); |
| 440 | $this->model->edit(['route'=>$route],['id'=>$save_id]); | 444 | $this->model->edit(['route'=>$route],['id'=>$save_id]); |
| 441 | //同步可视化装修数据 | 445 | //同步可视化装修数据 |
| 442 | $this->copyTemplate($this->param['id'],$info['project_id'],$save_id); | 446 | $this->copyTemplate($this->param['id'],$info['project_id'],$save_id); |
| 447 | + //同步扩展字段 | ||
| 448 | + $this->copyExtendInfo($info['id'],$save_id); | ||
| 449 | + DB::commit(); | ||
| 450 | + }catch (\Exception $e){ | ||
| 451 | + DB::rollBack(); | ||
| 452 | + $this->fail('复制失败,请联系管理员'); | ||
| 453 | + } | ||
| 443 | return $this->success(['id'=>$save_id]); | 454 | return $this->success(['id'=>$save_id]); |
| 444 | } | 455 | } |
| 445 | 456 | ||
| 446 | /** | 457 | /** |
| 458 | + * @remark :复制项目扩展字段 | ||
| 459 | + * @name :copyExtendInfo | ||
| 460 | + * @author :lyh | ||
| 461 | + * @method :post | ||
| 462 | + * @time :2024/7/12 9:23 | ||
| 463 | + */ | ||
| 464 | + public function copyExtendInfo($old_id,$new_id){ | ||
| 465 | + $extendInfoModel = new ExtendInfo(); | ||
| 466 | + $extendList = $extendInfoModel->list(['product_id'=>$old_id]); | ||
| 467 | + if(!empty($extendList)){ | ||
| 468 | + foreach ($extendList as $k => $v){ | ||
| 469 | + $v['product_id'] = $new_id; | ||
| 470 | + $v['created_at'] = date('Y-m-d H:i:s'); | ||
| 471 | + $v['updated_at'] = date('Y-m-d H:i:s'); | ||
| 472 | + $extendList[$k] = $v; | ||
| 473 | + } | ||
| 474 | + $extendList->insert($extendList); | ||
| 475 | + } | ||
| 476 | + return $this->success(); | ||
| 477 | + } | ||
| 478 | + | ||
| 479 | + /** | ||
| 447 | * @remark :同步模版数据 | 480 | * @remark :同步模版数据 |
| 448 | * @name :copyTemplate | 481 | * @name :copyTemplate |
| 449 | * @author :lyh | 482 | * @author :lyh |
-
请 注册 或 登录 后发表评论