AdminService.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. namespace biz\admin\services;
  3. use biz\admin\classes\AdminClass;
  4. use biz\auth\services\AuthService;
  5. use biz\base\services\BaseService;
  6. use biz\merchant\services\MerchantService;
  7. use common\components\error;
  8. use common\components\stringUtil;
  9. use common\components\util;
  10. use common\services\xhTMessageService;
  11. use Yii;
  12. class AdminService extends BaseService
  13. {
  14. public static $baseFile = '\biz\admin\classes\AdminClass';
  15. public static function generateSessionId($account)
  16. {
  17. return 'SID_HT_' . $account . '_' . date("mdHis") . '_' . stringUtil::charsShuffle(18);
  18. }
  19. public static function verifyConfirmPassword($adminId, $password)
  20. {
  21. $admin = AdminClass::getById($adminId);
  22. $hash = isset($admin['confirmPassword']) ? $admin['confirmPassword'] : '';
  23. if (password_verify($password, $hash) == false) {
  24. util::fail('密码错误');
  25. }
  26. }
  27. //发送到手机上 shish 2019.8.11
  28. public static function sendUrlToMobile($url, $merchant)
  29. {
  30. $class = self::$baseFile;
  31. $noticeAdminList = $class::$noticeAdmin;
  32. $appId = $merchant['wxAppId'];
  33. $openId = isset($noticeAdminList[$appId][0]) ? $noticeAdminList[$appId][0] : '';
  34. if (empty($openId)) {
  35. error::instance()->setError('没有设置通知人');
  36. return false;
  37. }
  38. xhTMessageService::sendUrlToMobile($url, $openId, $merchant);
  39. return true;
  40. }
  41. //员工获取权限 shish 2019.11.25
  42. public static function getAuth($adminId,$merchantId)
  43. {
  44. $admin = self::getById($adminId);
  45. $roleId = isset($admin['roleId']) ? $admin['roleId'] : 0;
  46. if (empty($roleId)) {
  47. return [['endId' => 1, 'endName' => '零售', 'frontUrl' => [], 'backUrl' => []]];
  48. }
  49. //零售端
  50. $endId = 1;
  51. //商家在业务端的权限
  52. $merchantIdList = MerchantService::getAuthIdList($merchantId, $endId);
  53. if (empty($merchantIdList)) {
  54. return [['endId' => 1, 'endName' => '零售', 'frontUrl' => [], 'backUrl' => []]];
  55. }
  56. //角色在业务端的权限
  57. $roleIdList = AdminRoleAuthService::getAuthIdList($roleId, $endId);
  58. if (empty($roleIdList)) {
  59. return [['endId' => 1, 'endName' => '零售', 'front' => [], 'back' => []]];
  60. }
  61. $commonIdList = in_array('*', $roleIdList) ? $merchantIdList : array_intersect($roleIdList, $merchantIdList);
  62. $all = AuthService::getByIds($commonIdList);
  63. $front = array_column($all, 'frontUrl');
  64. $back = array_column($all, 'backUrl');
  65. return [['endId' => 1, 'endName' => '零售', 'frontUrl' => $front, 'backUrl' => []]];
  66. }
  67. //员工列表 shish 2019.12.9
  68. public static function getAdminList($where)
  69. {
  70. $data = AdminClass::getList('*', $where, 'addTime DESC');
  71. $list = isset($data['list']) && !empty($data['list']) ? $data['list'] : [];
  72. if (empty($list)) {
  73. return $data;
  74. }
  75. $data['list'] = AdminClass::groupAdminBaseInfo($list);
  76. return $data;
  77. }
  78. //添加员工
  79. public static function addAdmin($data)
  80. {
  81. return AdminClass::addAdmin($data);
  82. }
  83. public static function updateAdmin($admin, $post)
  84. {
  85. return AdminClass::updateAdmin($admin,$post);
  86. }
  87. //获取员工信息 shish 2019.12.8
  88. public static function getDetail($id)
  89. {
  90. return AdminClass::getDetail($id);
  91. }
  92. //考虑权限情况下删除员工 shish 2019.12.9
  93. public static function deleteAdmin($admin, $adminId)
  94. {
  95. return AdminClass::deleteAdmin($admin, $adminId);
  96. }
  97. //验证权限 shish 2019.12.9
  98. public static function valid($admin, $merchantId)
  99. {
  100. return AdminClass::valid($admin, $merchantId);
  101. }
  102. }