AdminRoleClass.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace bizGhs\admin\classes;
  3. use common\components\util;
  4. use Yii;
  5. use bizGhs\base\classes\BaseClass;
  6. class AdminRoleClass extends BaseClass
  7. {
  8. public static $baseFile = '\bizGhs\admin\models\AdminRole';
  9. //验证权限 ssh 2019.12.9
  10. public static function valid($role, $sjId)
  11. {
  12. if (empty($role)) {
  13. util::fail('角色无效');
  14. }
  15. if ($role['sjId'] != $sjId) {
  16. util::fail('无法操作');
  17. }
  18. }
  19. //添加角色 ssh 2019.12.10
  20. public static function addRole($data)
  21. {
  22. $roleName = $data['roleName'];
  23. $sjId = $data['sjId'];
  24. $nameList = self::getNameList($sjId);
  25. if (in_array($roleName, $nameList)) {
  26. util::fail('角色已经存在');
  27. }
  28. $data['addTime'] = time();
  29. return self::add($data);
  30. }
  31. //获取商家角色列表 ssh 2019.12.10
  32. public static function getRoleList($mainId)
  33. {
  34. $where = ['mainId' => $mainId, 'delStatus' => 0];
  35. return self::getList('*', $where, 'addTime DESC');
  36. }
  37. //获取商家所有的角色名称 ssh 2019.12.10
  38. public static function getNameList($sjId)
  39. {
  40. $respond = self::getRoleList($sjId);
  41. return isset($respond['list']) && !empty($respond['list']) ? array_column($respond['list'], 'roleName') : [];
  42. }
  43. //更新角色 ssh 2019.12.10
  44. public static function updateRole($role, $data)
  45. {
  46. $sjId = $role['sjId'];
  47. if ($role['roleName'] != $data['roleName']) {
  48. $name = $data['roleName'];
  49. $nameList = self::getNameList($sjId);
  50. if (in_array($name, $nameList)) {
  51. util::fail('名称已经存在');
  52. }
  53. }
  54. $id = $role['id'];
  55. return self::updateById($id, $data);
  56. }
  57. //删除角色 ssh 2019.12.10
  58. public static function deleteRole($role)
  59. {
  60. if (isset($role['num']) && !empty($role['num'])) {
  61. util::fail('还有成员,不能删除');
  62. }
  63. $id = $role['id'];
  64. return self::updateById($id, ['delStatus' => 1]);
  65. }
  66. //创建管理员角色 ssh 2020.2.8
  67. public static function addAdminRole($data)
  68. {
  69. return self::add($data);
  70. }
  71. }