AdminService.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace app\admin\service\auth;
  3. use app\admin\model\Admin;
  4. class AdminService
  5. {
  6. protected $model = null;
  7. /**
  8. * @var object 对象实例
  9. */
  10. protected static $instance;
  11. public function __construct()
  12. {
  13. $this->model = new Admin();
  14. }
  15. /**
  16. * 初始化
  17. * @param array $options
  18. * @return object|static
  19. * @author matielong
  20. */
  21. public static function instance($options = [])
  22. {
  23. if (is_null(self::$instance)) {
  24. self::$instance = new static($options);
  25. }
  26. return self::$instance;
  27. }
  28. /**
  29. * 添加账号机构关联表数据
  30. * @param $uid
  31. * @param $institutions
  32. * @throws \Exception
  33. * @author matielong
  34. */
  35. public function saveInstitutionAccess($uid, $institutions)
  36. {
  37. model('AuthInstitutionAccess')->where('uid',$uid)->delete();
  38. $save = [];
  39. foreach ($institutions as $val){
  40. $save[] = ['uid' => $uid, 'institution_id' => $val];
  41. }
  42. model('AuthInstitutionAccess')->insertAll($save);
  43. }
  44. /**
  45. * 获取可见的管理员id列表
  46. * @param $ins_ids // 机构ID列表
  47. * @return array
  48. * @author matielong
  49. */
  50. public function getVisibleUid($ins_ids)
  51. {
  52. $uids = model('AuthInstitutionAccess')
  53. ->whereIn('institution_id',$ins_ids)
  54. ->column('uid');
  55. return $uids;
  56. }
  57. public function getAdminByPhone($phone)
  58. {
  59. return $this->model->get(['phone' => $phone]);
  60. }
  61. public function getPhones($admin_ids)
  62. {
  63. return $this->model
  64. ->whereIn('id', $admin_ids)
  65. ->column('phone');
  66. }
  67. }