InviteClass.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace bizHd\invite\classes;
  3. use bizHd\user\classes\UserClass;
  4. use bizHd\user\services\UserService;
  5. use Yii;
  6. use bizHd\base\classes\BaseClass;
  7. class InviteClass extends BaseClass
  8. {
  9. public static $baseFile = '\bizHd\invite\models\Invite';
  10. public static function groupInviteBaseInfo($list)
  11. {
  12. if (empty($list)) {
  13. return [];
  14. }
  15. $ids = array_column($list, 'userId');
  16. $introUserIds = array_column($list, 'introUserId');
  17. $idList = array_merge($ids, $introUserIds);
  18. $idList = array_unique(array_filter($idList));
  19. $userInfo = UserService::getUserByIds($idList);
  20. foreach ($list as $key => $val) {
  21. $userId = $val['userId'];
  22. $introUserId = $val['introUserId'];
  23. $list[$key]['userAvatar'] = isset($userInfo[$userId]['smallAvatarUrl']) ? $userInfo[$userId]['smallAvatarUrl'] : '';
  24. $list[$key]['introUserName'] = isset($userInfo[$userId]['userName']) ? $userInfo[$userId]['userName'] : '';
  25. $list[$key]['introUserAvatar'] = isset($userInfo[$introUserId]['avatar']) ? $userInfo[$introUserId]['avatar'] : '';
  26. }
  27. return $list;
  28. }
  29. //判断用户是否被邀请并领过优惠券 ssh 2019.12.14
  30. public static function hasInvited($user)
  31. {
  32. $userId = $user['id'];
  33. $invite = self::getByCondition(['userId' => $userId]);
  34. if (!empty($invite)) {
  35. return true;
  36. }
  37. return false;
  38. }
  39. //邀请有礼是否有效 ssh 2020.5.5
  40. public static function hasNewGift($userInfo)
  41. {
  42. $newUser = UserClass::newUser($userInfo);
  43. if ($newUser == false) {
  44. return [];
  45. }
  46. $hasInvited = self::hasInvited($userInfo);
  47. if ($hasInvited) {
  48. return [];
  49. }
  50. $sjId = $userInfo['sjId'];
  51. $asset = InviteAssetClass::newGift($sjId);
  52. return $asset;
  53. }
  54. //添加邀请 ssh 2020.5.26
  55. public static function add($data, $returnObject = false)
  56. {
  57. $model = Yii::createObject(['class' => static::$baseFile]);
  58. //增加邀请人数
  59. $introUserId = $data['introUserId'];
  60. InviteStatClass::addInviteNum($introUserId);
  61. return $model->add($data, $returnObject);
  62. }
  63. }