LiveGoods.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\model\activity\live;
  12. use app\model\product\product\StoreProduct;
  13. use crmeb\basic\BaseModel;
  14. use crmeb\traits\ModelTrait;
  15. use think\Model;
  16. /**
  17. * Class LiveGoods
  18. * @package app\model\live
  19. */
  20. class LiveGoods extends BaseModel
  21. {
  22. use ModelTrait;
  23. protected $pk = 'id';
  24. protected $name = 'live_goods';
  25. protected $autoWriteTimestamp = 'int';
  26. protected $createTime = 'add_time';
  27. protected function setAddTimeAttr()
  28. {
  29. return time();
  30. }
  31. /**
  32. * 添加时间获取器
  33. * @param $value
  34. * @return false|string
  35. */
  36. public function getAddTimeAttr($value)
  37. {
  38. if (!empty($value)) {
  39. return date('Y-m-d H:i:s', (int)$value);
  40. }
  41. return '';
  42. }
  43. public function product()
  44. {
  45. return $this->hasOne(StoreProduct::class, 'id', 'product_id');
  46. }
  47. /**
  48. * 微信商品id
  49. * @param Model $query
  50. * @param $value
  51. */
  52. public function searchGoodIdAttr($query, $value)
  53. {
  54. if (is_array($value))
  55. $query->whereIn('goods_id', $value);
  56. else
  57. $query->where('good_id', $value);
  58. }
  59. /**
  60. * @param Model $query
  61. * @param $value
  62. */
  63. public function searchKerwordAttr($query, $value)
  64. {
  65. if ($value !== '') $query->whereLike('id|goods_id|product_id|name', "%{$value}%");
  66. }
  67. /**
  68. * @param Model $query
  69. * @param $value
  70. */
  71. public function searchIsDelAttr($query, $value)
  72. {
  73. if ($value !== '') $query->where('is_del', $value);
  74. }
  75. /**
  76. * @param Model $query
  77. * @param $value
  78. */
  79. public function searchIsShowAttr($query, $value)
  80. {
  81. if ($value !== '') $query->where('is_show', $value);
  82. }
  83. /**
  84. * @param Model $query
  85. * @param $value
  86. */
  87. public function searchStatusAttr($query, $value)
  88. {
  89. if ($value !== '') {
  90. switch ($value) {
  91. case 1:
  92. $query->where('audit_status', 2);
  93. break;
  94. case -1:
  95. $query->where('audit_status', 3);
  96. break;
  97. case 0:
  98. $query->whereIn('audit_status', [0, 1]);
  99. break;
  100. }
  101. }
  102. }
  103. public function searchLiveIdAttr($query, $value)
  104. {
  105. if ($value > 0) {
  106. $query->whereNotIn('id', function ($query) use ($value) {
  107. $query->name('live_room_goods')->where('live_room_id', $value)->field('live_goods_id')->select();
  108. });
  109. }
  110. }
  111. }