AdminShopService.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. namespace biz\admin\services;
  3. use biz\admin\classes\AdminClass;
  4. use biz\admin\classes\AdminShopClass;
  5. use biz\auth\services\AuthService;
  6. use biz\base\services\BaseService;
  7. use biz\merchant\classes\ShopClass;
  8. use biz\merchant\services\MerchantService;
  9. use biz\user\services\UserService;
  10. use common\components\error;
  11. use common\components\stringUtil;
  12. use common\components\util;
  13. use common\components\wxUtil;
  14. use common\services\xhTMessageService;
  15. use Yii;
  16. class AdminShopService extends BaseService
  17. {
  18. public static $baseFile = '\biz\admin\classes\AdminShopClass';
  19. ///创建管理员关联数据准备 shish 2020.4.17
  20. public static function prepareBindAdmin($data)
  21. {
  22. AdminShopClass::prepareBindAdmin($data);
  23. $page = 'admin/adminShop/bind';
  24. $isOpen = 1;
  25. $adminId = $data['adminId'];
  26. $shopId = $data['shopId'];
  27. $scene = 'adminId=' . $adminId . '&shopId=' . $shopId;
  28. $merchant = $data['merchant'];
  29. $imgUrl = wxUtil::generateUnlimitedMiniCode($merchant, $page, $scene, $isOpen);
  30. return ['miniCode' => $imgUrl];
  31. }
  32. public static function generateAdmin($data)
  33. {
  34. $recommendAdminId = isset($data['recommendAdminId']) ? $data['recommendAdminId'] : 0;
  35. $mobile = isset($data['mobile']) ? $data['mobile'] : '';
  36. $shopId = isset($data['shopId']) ? $data['shopId'] : 0;
  37. $adminId = isset($data['adminId']) ? $data['adminId'] : 0;
  38. $bindData = AdminShopClass::getBindAdminData($shopId, $recommendAdminId);
  39. $shop = ShopClass::getById($shopId);
  40. if (empty($shop)) {
  41. util::fail('没有找到门店');
  42. }
  43. $merchantId = isset($shop['merchantId']) ? $shop['merchantId'] : 0;
  44. if (empty($bindData)) {
  45. util::fail('小程序码已经失效,请重新创建员工');
  46. }
  47. $adminShop = AdminShopClass::getByCondition(['adminId' => $adminId, 'shopId' => $shopId]);
  48. if (!empty($adminShop)) {
  49. util::fail('您已经是管理员了');
  50. }
  51. $adminName = isset($bindData['adminName']) ? $bindData['adminName'] : '';
  52. if (isset($bindData['roleId']) == false || empty($bindData['roleId'])) {
  53. util::fail('添加管理员时请选择角色');
  54. }
  55. $admin = AdminClass::getById($adminId);
  56. if (isset($admin['subscribe']) == false || $admin['subscribe'] != 1) {
  57. util::fail('请关注公众号');
  58. }
  59. $roleId = $bindData['roleId'];
  60. $remind = isset($bindData['remind']) ? $bindData['remind'] : 0;
  61. $status = isset($bindData['status']) ? $bindData['status'] : 0;
  62. $password = isset($bindData['password']) ? password_hash($bindData['password'], PASSWORD_BCRYPT) : '';
  63. $remark = isset($bindData['remark']) ? $bindData['remark'] : '';
  64. $update = ['adminName' => $adminName, 'mobile' => $mobile, 'password' => $password, 'remark' => $remark];
  65. AdminClass::updateById($adminId, $update);
  66. $addData = [
  67. 'adminId' => $adminId,
  68. 'shopId' => $shopId,
  69. 'roleId' => $roleId,
  70. 'remind' => $remind,
  71. 'status' => $status,
  72. 'merchantId' => $merchantId,
  73. ];
  74. AdminShopClass::delBindAdminData($shopId, $recommendAdminId);
  75. return AdminShopClass::add($addData);
  76. }
  77. //获取管理员 shish 2020.4.21
  78. public static function getAdminList($where)
  79. {
  80. $data = AdminShopClass::getList('*', $where, 'addTime DESC');
  81. $list = isset($data['list']) && !empty($data['list']) ? $data['list'] : [];
  82. if (empty($list)) {
  83. return $data;
  84. }
  85. $params = [];
  86. foreach ($list as $val) {
  87. $adminId = $val['adminId'];
  88. $params[$adminId] = ['remind' => $val['remind'], 'status' => $val['status']];
  89. }
  90. //所有的管理员
  91. $ids = array_column($list, 'adminId');
  92. $newList = AdminClass::getByIds($ids);
  93. $newList = AdminClass::groupAdminBaseInfo($newList);
  94. foreach ($newList as $newKey => $newVal) {
  95. $adminId = $newVal['id'];
  96. $newList[$newKey]['remind'] = isset($params[$adminId]['remind']) ? $params[$adminId]['remind'] : 0;
  97. $newList[$newKey]['status'] = isset($params[$adminId]['status']) ? $params[$adminId]['status'] : 0;
  98. }
  99. $data['list'] = $newList;
  100. return $data;
  101. }
  102. public static function valid($adminShop, $shopId)
  103. {
  104. if (isset($adminShop['shopId']) == false || $adminShop['shopId'] != $shopId) {
  105. util::fail('不是您的员工,没有权限操作');
  106. }
  107. }
  108. }