FormProductDetailService.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Form\Services;
  3. use App\Services\CommonUserBaseService;
  4. use App\Web\Facades\ProductFacade;
  5. class FormProductDetailService extends CommonUserBaseService
  6. {
  7. protected $cache = true;
  8. protected $cacheBucket = 'FormProductDetail:';
  9. public function relationProductDetail($params){
  10. if(!empty($params['product_ids'])){
  11. foreach ($params['product_ids'] as $value){
  12. $data['form_product_id'] = $params['form_product_id'];
  13. $data['product_id'] = $value;
  14. $this->addData($data);
  15. }
  16. return true;
  17. }else{
  18. return false;
  19. }
  20. }
  21. public function addData($item){
  22. $add = [];
  23. $add['product_id'] = $item['product_id'];
  24. $add['form_product_id'] = $item['form_product_id'];
  25. $add['status'] = 0;
  26. if(!empty($item['id']) && $item['id'] > 0){
  27. $id = $item['id'];
  28. $this->updateBy([
  29. 'id' => $id
  30. ], $add);
  31. } else {
  32. $id = $this->save($add)->id;
  33. }
  34. return $id;
  35. }
  36. /**
  37. * 根据FormProductId 获取产品详情
  38. * */
  39. public function getListByRelativeIds($formProductIds){
  40. $formProductDetailData= $this->model->whereIn('form_product_id',$formProductIds)
  41. ->selectRaw('id,form_product_id,product_id')->get()->toArray();
  42. foreach ($formProductDetailData as $value){
  43. $productIds[$value['form_product_id']][]=$value['product_id'];
  44. }
  45. foreach ($productIds as $key=>$ids){
  46. $data[$key] = ProductFacade::getProductByIds($ids);
  47. }
  48. return $data;
  49. }
  50. }