WebUserService.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Bear
  5. * Date: 2019/4/10
  6. * Time: 下午5:09
  7. */
  8. namespace app\main\service;
  9. use app\common\model\ClientConfig;
  10. use app\common\model\User;
  11. use app\main\constants\AdminConstants;
  12. use app\main\constants\ErrorCodeConstants;
  13. use app\main\model\object\ReturnObject;
  14. use app\main\model\object\UserObject;
  15. class WebUserService extends BaseService
  16. {
  17. /**
  18. * @var UserObject
  19. */
  20. public $user;
  21. /**
  22. * @var WebUserService
  23. */
  24. protected static $self = null;
  25. /**
  26. * @return $this\WebUserService
  27. */
  28. public static function instance()
  29. {
  30. if (self::$self == null) {
  31. self::$self = new self();
  32. }
  33. return self::$self;
  34. }
  35. /**
  36. * @return ClientConfig
  37. */
  38. public function getClientConfigModel()
  39. {
  40. return model('ClientConfig');
  41. }
  42. /**
  43. * @return User
  44. */
  45. public function getUserModel()
  46. {
  47. return model('User');
  48. }
  49. /**
  50. * @return UserObject
  51. */
  52. public function getUserInfo()
  53. {
  54. if(!$this->user){
  55. $this->user = new UserObject();
  56. }
  57. return $this->user;
  58. }
  59. /**
  60. * @param $userId
  61. * @param $token
  62. * @return ReturnObject
  63. */
  64. public function setUserInfo($userId, $token)
  65. {
  66. $mUser = $this->getUserModel()->getUserInfo($userId);
  67. if (empty($mUser['openid'])) {
  68. return $this->setCode(ErrorCodeConstants::PARAMS_ERROR_INVALID)->setMsg('没有找到此用户')->getReturn();
  69. }
  70. if ($mUser['openid'] != $token) {
  71. return $this->setCode(ErrorCodeConstants::PARAMS_ERROR_INVALID)->setMsg('用户信息错误')->getReturn();
  72. }
  73. $this->user = (new UserObject())->bind($mUser);
  74. return $this->getReturn();
  75. }
  76. /**
  77. * @return ReturnObject
  78. */
  79. public function getUserAdminId()
  80. {
  81. $user = WebUserService::instance()->getUserInfo();
  82. $adminId = $user->agent_id ? $user->agent_id : $user->channel_id;
  83. return $this->setData($adminId)->getReturn();
  84. }
  85. /**
  86. * @return ReturnObject
  87. */
  88. public function getUserChannelId()
  89. {
  90. $channelAgentId = WebUserService::instance()->getUserInfo()->channel_id;
  91. $groupId = AdminService::instance()->getAuthGroupAccessModel()->getGroupId($channelAgentId);
  92. if ($groupId == AdminConstants::ADMIN_GROUP_ID_AGENT) {
  93. $adminExtend = AdminService::instance()->getAdminExtendModel()->getInfo($channelAgentId);
  94. return $this->setData($adminExtend['create_by'])->getReturn();
  95. }
  96. return $this->setData($channelAgentId)->getReturn();
  97. }
  98. /**
  99. * @return ReturnObject
  100. */
  101. public function getAdminBenefit()
  102. {
  103. $admin_id = $this->getUserAdminId()->data;
  104. $adminExtend = AdminService::instance()->getAdminExtendModel()->where(['admin_id' => $admin_id])->find();
  105. return $this->setData($adminExtend['benefit'])->getReturn();
  106. }
  107. }