CmsContentTemplateSetRepository.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Repositories\V2;
  3. use App\Models\CmsSubject;
  4. use App\Models\CmsContentTemplate;
  5. use App\Models\CmsContentTemplateSet;
  6. use App\Models\CmsSubjectProduct;
  7. class CmsContentTemplateSetRepository {
  8. public function __construct(CmsContentTemplateSet $cmsContentTemplateSet,CmsContentTemplate $cmsContentTemplate,CmsSubjectProduct $cmsSubjectProduct,CmsSubject $cmsSubject) {
  9. $this->cmsContentTemplateSet = $cmsContentTemplateSet;
  10. $this->cmsContentTemplate = $cmsContentTemplate;
  11. $this->cmsSubjectProduct = $cmsSubjectProduct;
  12. $this->cmsSubject = $cmsSubject;
  13. }
  14. //banner模板选专题-被使用计数
  15. public function countSubject($request)
  16. {
  17. if ($request['type'] == 0){
  18. if ($request['rule']['link_type'] == 1){
  19. $templates = $this->cmsSubject->where('id',intval($request['rule']['link_url']))->first();
  20. $templates->used_count +=1;
  21. $templates->save();
  22. }
  23. }else{
  24. $subject_id_array = json_decode($request['old_rule'],true);
  25. if ($subject_id_array['link_type'] == 1 && $request['rule']['link_type'] == 1){//链接方式都为专题
  26. if ($subject_id_array['link_url'] != $request['rule']['link_url']){
  27. $templates = $this->cmsSubject->where('id',intval($subject_id_array['link_url']))->first();
  28. $update_template = [
  29. $templates->used_count -=1
  30. ];
  31. $templates->update($update_template);
  32. $templates = $this->cmsSubject->where('id',intval($request['rule']['link_url']))->first();
  33. $templates->used_count +=1;
  34. $templates->save();
  35. }
  36. }elseif ($subject_id_array['link_type'] == 1 && $request['rule']['link_type'] != 1){
  37. $templates = $this->cmsSubject->where('id',intval($subject_id_array['link_url']))->first();
  38. $update_template = [
  39. $templates->used_count -=1
  40. ];
  41. $templates->update($update_template);
  42. }elseif ($subject_id_array['link_type'] != 1 && $request['rule']['link_type'] == 1){
  43. $templates = $this->cmsSubject->where('id',intval($request['rule']['link_url']))->first();
  44. $templates->used_count +=1;
  45. $templates->save();
  46. }
  47. }
  48. }
  49. }