CmsContentTemplateSetRepository.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. use Illuminate\Support\Facades\Log;
  8. class CmsContentTemplateSetRepository {
  9. public function __construct(CmsContentTemplateSet $cmsContentTemplateSet,CmsContentTemplate $cmsContentTemplate,CmsSubjectProduct $cmsSubjectProduct,CmsSubject $cmsSubject) {
  10. $this->cmsContentTemplateSet = $cmsContentTemplateSet;
  11. $this->cmsContentTemplate = $cmsContentTemplate;
  12. $this->cmsSubjectProduct = $cmsSubjectProduct;
  13. $this->cmsSubject = $cmsSubject;
  14. }
  15. //banner模板选专题-被使用计数
  16. public function countSubject($request)
  17. {Log::debug(json_encode($request));
  18. $type = intval($request['type']);
  19. if ($type == 0) {
  20. $rule = json_decode($request['rule'], true);
  21. if ($rule['link_type'] == 1) {
  22. $templates = $this->cmsSubject->where('id', intval($rule['link_url']))->first();
  23. $templates->used_count += 1;
  24. $templates->save();
  25. }
  26. }
  27. if ($type == 1) {
  28. $subject_id_array = json_decode($request['old_rule'], true);
  29. Log::debug('old_link_type'.$subject_id_array['link_type']);
  30. Log::debug('old_link_url'.$subject_id_array['link_url']);
  31. Log::debug('new_link_type'.$request['rule']['link_type']);
  32. Log::debug('new_link_url'.$request['rule']['link_url']);
  33. if ($subject_id_array['link_type'] == 1 && $request['rule']['link_type'] == 1) {//链接方式都为专题
  34. if ($subject_id_array['link_url'] != $request['rule']['link_url']) {
  35. Log::debug('111'.$request['rule']['link_url']);
  36. $templates = $this->cmsSubject->where('id', intval($subject_id_array['link_url']))->first();
  37. $update_template = [
  38. $templates->used_count -= 1
  39. ];
  40. $templates->update($update_template);
  41. $templates = $this->cmsSubject->where('id', intval($request['rule']['link_type']))->first();
  42. $templates->used_count += 1;
  43. $templates->save();
  44. }
  45. } elseif ($subject_id_array['link_type'] == 1 && $request['rule']['link_type'] != 1) {
  46. Log::debug('222'.$request['rule']['link_type']);
  47. $templates = $this->cmsSubject->where('id', intval($subject_id_array['link_url']))->first();
  48. $update_template = [
  49. $templates->used_count -= 1
  50. ];
  51. $templates->update($update_template);
  52. } elseif ($subject_id_array['link_type'] != 1 && $request['rule']['link_type'] == 1) {
  53. Log::debug('333'.$request['rule']['link_type']);
  54. $templates = $this->cmsSubject->where('id', intval($request['rule']['link_url']))->first();
  55. $templates->used_count += 1;
  56. $templates->save();
  57. }
  58. }
  59. }
  60. }