You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

WorkChannelCode.php 3.2KB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. namespace app\model\work;
  3. use app\model\other\Category;
  4. use crmeb\basic\BaseModel;
  5. use crmeb\traits\ModelTrait;
  6. use think\model\concern\SoftDelete;
  7. use think\model\relation\HasMany;
  8. use think\model\relation\HasOne;
  9. /**
  10. * 企业微信渠道码
  11. * Class WorkChannelCode
  12. * @package app\model\work
  13. */
  14. class WorkChannelCode extends BaseModel
  15. {
  16. use ModelTrait, SoftDelete;
  17. /**
  18. * @var string
  19. */
  20. protected $name = 'work_channel_code';
  21. /**
  22. * @var string
  23. */
  24. protected $key = 'id';
  25. /**
  26. * @var string
  27. */
  28. protected $autoWriteTimestamp = 'int';
  29. /**
  30. * @return HasMany
  31. */
  32. public function cycle()
  33. {
  34. return $this->hasMany(WorkChannelCycle::class, 'channel_id', 'id');
  35. }
  36. /**
  37. * @return HasMany
  38. */
  39. public function useridLimit()
  40. {
  41. return $this->hasMany(WorkChannelLimit::class, 'channel_id', 'id');
  42. }
  43. /**
  44. * @return HasOne
  45. */
  46. public function category()
  47. {
  48. return $this->hasOne(Category::class, 'id', 'cate_id');
  49. }
  50. /**
  51. * @param $value
  52. * @return false|string
  53. */
  54. public function setReserveUseridAttr($value)
  55. {
  56. return json_encode($value);
  57. }
  58. /**
  59. * @param $value
  60. * @return mixed
  61. */
  62. public function getReserveUseridAttr($value)
  63. {
  64. return json_decode($value, true);
  65. }
  66. /**
  67. * @param $value
  68. * @return false|string
  69. */
  70. public function setUseridsAttr($value)
  71. {
  72. return json_encode($value);
  73. }
  74. /**
  75. * @param $value
  76. * @return mixed
  77. */
  78. public function getuseridsAttr($value)
  79. {
  80. return json_decode($value, true);
  81. }
  82. /**
  83. * @param $value
  84. * @return false|string
  85. */
  86. public function setWelcomeWordsAttr($value)
  87. {
  88. return json_encode($value);
  89. }
  90. /**
  91. * @param $value
  92. * @return mixed
  93. */
  94. public function getWelcomeWordsAttr($value)
  95. {
  96. return json_decode($value, true);
  97. }
  98. /**
  99. * @param $value
  100. * @return false|string
  101. */
  102. public function setLabelIdAttr($value)
  103. {
  104. return json_encode($value);
  105. }
  106. /**
  107. * @param $value
  108. * @return mixed
  109. */
  110. public function getLabelIdAttr($value)
  111. {
  112. return json_decode($value, true);
  113. }
  114. /**
  115. * @param $query
  116. * @param $value
  117. */
  118. public function searchNameAttr($query, $value)
  119. {
  120. $query->where('name', 'like', '%' . $value . '%');
  121. }
  122. /**
  123. * @param $query
  124. * @param $value
  125. */
  126. public function searchTypeAttr($query, $value)
  127. {
  128. if ('' !== $value) {
  129. $query->where('type', $value);
  130. }
  131. }
  132. /**
  133. * @param $query
  134. * @param $value
  135. */
  136. public function searchIdAttr($query, $value)
  137. {
  138. if (is_array($value)) {
  139. $query->where('id', 'in', $value);
  140. } else {
  141. $query->where('id', $value);
  142. }
  143. }
  144. /**
  145. * 分类搜索
  146. * @param $query
  147. * @param $value
  148. */
  149. public function searchCateIdAttr($query, $value)
  150. {
  151. if ('' !== $value) {
  152. $query->where('cate_id', $value);
  153. }
  154. }
  155. }