SystemAdmin.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 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\system\admin;
  12. use qiniu\basic\BaseModel;
  13. use qiniu\traits\JwtAuthModelTrait;
  14. use qiniu\traits\ModelTrait;
  15. use think\Model;
  16. use think\model\concern\SoftDelete;
  17. /**
  18. * 管理员模型
  19. * Class SystemAdmin
  20. * @package app\model\system\admin
  21. */
  22. class SystemAdmin extends BaseModel
  23. {
  24. use JwtAuthModelTrait;
  25. use ModelTrait;
  26. use SoftDelete;
  27. /**
  28. * 数据表主键
  29. * @var string
  30. */
  31. protected $pk = 'id';
  32. /**
  33. * 模型名称
  34. * @var string
  35. */
  36. protected $name = 'system_admin';
  37. protected $order = 'id asc';
  38. protected function setAddTimeAttr()
  39. {
  40. return time();
  41. }
  42. /**
  43. * 权限数据
  44. * @param $value
  45. * @return false|string[]
  46. */
  47. public static function getRolesAttr($value)
  48. {
  49. return explode(',', $value);
  50. }
  51. /**
  52. * 管理员级别搜索器
  53. * @param Model $query
  54. * @param $value
  55. * @param $data
  56. */
  57. public function searchLevelAttr($query, $value)
  58. {
  59. if (is_array($value)) {
  60. $query->where('level', $value[0], $value[1]);
  61. } else {
  62. $query->where('level', $value);
  63. }
  64. }
  65. /**
  66. * 管理员账号和姓名搜索器
  67. * @param Model $query
  68. * @param $value
  69. */
  70. public function searchAccountLikeAttr($query, $value)
  71. {
  72. if ($value) {
  73. $query->whereLike('account|real_name', '%' . $value . '%');
  74. }
  75. }
  76. /**
  77. * 管理员账号搜索器
  78. * @param Model $query
  79. * @param $value
  80. */
  81. public function searchAccountAttr($query, $value)
  82. {
  83. if ($value) {
  84. $query->where('account', $value);
  85. }
  86. }
  87. /**
  88. * 管理员电话搜索器
  89. * @param Model $query
  90. * @param $value
  91. */
  92. public function searchPhoneAttr($query, $value)
  93. {
  94. if ($value !== '') {
  95. $query->where('phone', $value);
  96. }
  97. }
  98. /**
  99. * 管理员权限搜索器
  100. * @param Model $query
  101. * @param $roles
  102. */
  103. public function searchRolesAttr($query, $roles)
  104. {
  105. if ($roles) {
  106. $query->where("CONCAT(',',roles,',') LIKE '%,$roles,%'");
  107. }
  108. }
  109. /**
  110. * 状态搜索器
  111. * @param Model $query
  112. * @param $value
  113. */
  114. public function searchStatusAttr($query, $value)
  115. {
  116. if ($value !== '' && $value != null) {
  117. $query->where('status', $value);
  118. }
  119. }
  120. /**
  121. * 关联ID搜索器
  122. * @param Model $query
  123. * @param $value
  124. */
  125. public function searchRelationIdAttr($query, $value)
  126. {
  127. if ($value !== '' && $value != null) {
  128. $query->where('relation_id', $value);
  129. }
  130. }
  131. /**
  132. * 状态搜索器
  133. * @param Model $query
  134. * @param $value
  135. */
  136. public function searchAdminTypeAttr($query, $value)
  137. {
  138. if ($value !== '' && $value != null) {
  139. $query->where('admin_type', $value);
  140. }
  141. }
  142. }