AdminService.php 4.2 KB

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