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.

WorkGroupChat.php 1.9KB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace app\model\work;
  3. use crmeb\basic\BaseModel;
  4. use crmeb\traits\ModelTrait;
  5. /**
  6. * 企业微信群
  7. * Class WorkGroupChat
  8. * @package app\model\work
  9. */
  10. class WorkGroupChat extends BaseModel
  11. {
  12. use ModelTrait;
  13. /**
  14. * @var string
  15. */
  16. protected $name = 'work_group_chat';
  17. /**
  18. * @var string
  19. */
  20. protected $key = 'id';
  21. /**
  22. * @var string
  23. */
  24. protected $autoWriteTimestamp = 'int';
  25. /**
  26. * @return \think\model\relation\HasOne
  27. */
  28. public function ownerInfo()
  29. {
  30. return $this->hasOne(WorkMember::class, 'userid', 'owner');
  31. }
  32. /**
  33. * @return \think\model\relation\HasOne
  34. */
  35. public function sendResult()
  36. {
  37. return $this->hasOne(WorkGroupMsgSendResult::class, 'chat_id', 'chat_id');
  38. }
  39. /**
  40. * @return \think\model\relation\HasOne
  41. */
  42. public function chatMember()
  43. {
  44. return $this->hasOne(WorkGroupChatMember::class, 'group_id', 'id');
  45. }
  46. /**
  47. * @param $value
  48. * @return mixed
  49. */
  50. public function getAdminListAttr($value)
  51. {
  52. return json_decode($value, true);
  53. }
  54. /**
  55. * @param $value
  56. * @return false|string
  57. */
  58. public function getGroupCreateTimeAttr($value)
  59. {
  60. return date('Y-m-d H:i:s', $value);
  61. }
  62. /**
  63. * @param $value
  64. * @return false|string
  65. */
  66. public function getJoinTimeAttr($value)
  67. {
  68. return date('Y-m-d H:i:s', $value);
  69. }
  70. /**
  71. * @param $query
  72. * @param $value
  73. */
  74. public function searchUserIdsAttr($query, $value)
  75. {
  76. if ($value) {
  77. if (is_array($value)) {
  78. $query->whereIn('owner', $value);
  79. } else {
  80. $query->where('owner', $value);
  81. }
  82. }
  83. }
  84. public function searchNameAttr($query, $value)
  85. {
  86. if ('' !== $value) {
  87. $query->whereLike('name', '%' . $value . '%');
  88. }
  89. }
  90. }