Priv_codeModel.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Support\Facades\DB;
  4. class Priv_codeModel extends BaseModel
  5. {
  6. protected $table = 'dc_priv_code';
  7. //更具ids获取权限代码
  8. public function getCode($ids)
  9. {
  10. $data = $this->select('priv_code')->whereIn('id', $ids)->get();
  11. if (!$data) {
  12. return -7520135522; //没有权限
  13. }
  14. $data = $data->toArray();
  15. $arr = array();
  16. foreach ($data as $v) {
  17. $arr[] = trim($v['priv_code']);
  18. }
  19. return $arr;
  20. }
  21. //获取多有的权限代码
  22. protected function getAllcode()
  23. {
  24. $data = $this->select('priv_code')->get();
  25. if (!$data) {
  26. return -7520135522; //没有权限
  27. }
  28. $data = $data->toArray();
  29. $arr = array();
  30. foreach ($data as $v) {
  31. $arr[] = trim($v['priv_code']);
  32. }
  33. return $arr;
  34. }
  35. public function hasCode($code)
  36. {
  37. $res = $this->where('priv_code', $code)->first();
  38. if (!$res) {
  39. return -7030050022;
  40. }
  41. return 1;
  42. }
  43. //获取管理员权限代码
  44. protected function getUserCode($admin_id)
  45. {
  46. //获取权限id
  47. $data = \App\Models\Priv_roleModel::getPrivID($admin_id);
  48. if ($data < 0) {
  49. return array();
  50. }
  51. $reData = $this->select('priv_code')->whereIn('id', $data)->get();
  52. if (!$reData) {
  53. return array();
  54. }
  55. $reData = $reData->toArray();
  56. $res = array();
  57. foreach ($reData as $v) {
  58. $res[] = trim($v['priv_code']);
  59. }
  60. return $res;
  61. }
  62. //获取非超级管理员的权限代码
  63. protected function getAdminCode($admin_id)
  64. {
  65. $sql = 'SELECT priv_code from dc_priv_code WHERE id in (SELECT priv_id FROM dc_priv_role WHERE role_id in ( SELECT role_id FROM dc_role WHERE admin_id=' . $admin_id . ' ) )';
  66. $data = DB::select($sql);
  67. if (!$data) {
  68. return -802023003; //没有
  69. }
  70. $data = json_encode($data);
  71. $data = json_decode($data, 1);
  72. return $data;
  73. }
  74. }