UserTrait.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wangzhiqiang
  5. * Date: 2019/5/5
  6. * Time: 17:11
  7. */
  8. namespace App\Traits;
  9. use Illuminate\Support\Facades\Redis;
  10. use Tymon\JWTAuth\Facades\JWTAuth;
  11. trait UserTrait
  12. {
  13. public function getUserInfo() {
  14. try {
  15. $sign = generateSign([], config('customer.app_secret'));
  16. $url = config("customer.app_service_url").'/user/userInfo';
  17. $array = [
  18. 'json' => ['sign' => $sign], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  19. ];
  20. return http($url,$array);
  21. } catch (\Exception $e) {
  22. return [];
  23. }
  24. }
  25. //获取用户信息
  26. public function userInfo($uid) {
  27. $user = Redis::HGETALL('userInfo:' . $uid);
  28. if(!$user){
  29. try {
  30. $sign = generateSign(['uid' => $uid], config('customer.app_secret'));
  31. $url = config("customer.app_service_url").'/user/getUserInfo';
  32. $array = [
  33. 'json' => ['sign' => $sign,'uid' => $uid], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  34. ];
  35. $user = http($url,$array,'get');
  36. } catch (\Exception $e) {
  37. $user = [];
  38. }
  39. }
  40. if(!$user){
  41. $user = [
  42. 'uid' => $uid,
  43. 'username' => '老板',
  44. 'avatar' => 'http://oss.caihongxingqiu.net/201907/1564471458_5d3ff0a231721.png?280_280',
  45. 'gender' => 2,
  46. 'invite_code' => ''
  47. ];
  48. }
  49. return $user;
  50. }
  51. public function getBanner($ids) {
  52. try {
  53. $sign = generateSign(['ids' => $ids], config('customer.app_secret'));
  54. $url = config("customer.app_service_url").'/config/v2/bannerSet/lists';
  55. $array = [
  56. 'json' => ['sign' => $sign, 'ids' => $ids], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  57. ];
  58. return http($url,$array,'get');
  59. } catch (\Exception $e) {
  60. return [];
  61. }
  62. }
  63. public function getTopic($ids) {
  64. try {
  65. $sign = generateSign(['ids' => $ids], config('customer.app_secret'));
  66. $url = config("customer.app_service_url").'/community/topic/group';
  67. $array = [
  68. 'json' => ['sign' => $sign, 'ids' => $ids], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  69. ];
  70. return http($url,$array,'get');
  71. } catch (\Exception $e) {
  72. return [];
  73. }
  74. }
  75. public function getPostVideo($ids) {
  76. try {
  77. $sign = generateSign(['ids' => $ids], config('customer.app_secret'));
  78. $url = config("customer.app_service_url").'/community/post/video/group';
  79. $array = [
  80. 'json' => ['sign' => $sign, 'ids' => $ids], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  81. ];
  82. return http($url,$array,'get');
  83. } catch (\Exception $e) {
  84. return [];
  85. }
  86. }
  87. public function getMemberGroup($ids) {
  88. try {
  89. $sign = generateSign(['ids' => $ids], config('customer.app_secret'));
  90. $url = config("customer.app_service_url").'/user/userGroup';
  91. $array = [
  92. 'json' => ['sign' => $sign, 'ids' => $ids], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  93. ];
  94. return http($url,$array,'get');
  95. } catch (\Exception $e) {
  96. return [];
  97. }
  98. }
  99. //获取推荐用户根据id排序
  100. public function getMemberSortIdList($ids) {
  101. try {
  102. $sign = generateSign(['uids' => $ids], config('customer.app_secret'));
  103. $url = config("customer.app_service_url").'/user/v2/member/memberSortIdList';
  104. //$url = 'http://localhost:8080/v2/member/memberSortIdList';
  105. $array = [
  106. 'json' => ['sign' => $sign, 'uids' => $ids], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  107. ];
  108. return http($url,$array,'get');
  109. } catch (\Exception $e) {
  110. return [];
  111. }
  112. }
  113. //获取关注状态
  114. public function getFollowStatus($uid, $followUid)
  115. {
  116. $status = 0;
  117. if(Redis::ZSCORE('follow:'.$uid, $followUid)){
  118. $status = 1;
  119. if(Redis::ZSCORE('follow:'.$followUid, $uid)){
  120. $status = 2;
  121. }
  122. }
  123. return $status;
  124. }
  125. }