| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- namespace bizHd\invite\services;
- use bizHd\base\services\BaseService;
- use bizHd\invite\classes\InviteAssetClass;
- use bizHd\invite\classes\InviteClass;
- use bizHd\promote\classes\CouponClass;
- use bizHd\user\classes\UserClass;
- use bizHd\user\services\UserService;
- use common\components\util;
- class InviteService extends BaseService
- {
-
- public static $baseFile = '\bizHd\invite\classes\InviteClass';
-
- //取详情 ssh 2019.12.18
- public static function getDetail($id)
- {
- $list = InviteClass::getByIds([$id]);
- $list = InviteClass::groupInviteBaseInfo($list);
- $info = current($list);
- $introUserId = $info['introUserId'];
- //用户的邀请资产
- $stat = InviteStatService::getStat($introUserId);
- $info['inviteNum'] = isset($stat['inviteNum']) ? $stat['inviteNum'] : 0;
- $info['orderNum'] = isset($stat['orderNum']) ? $stat['orderNum'] : 0;
- return $info;
- }
-
- public static function getInviteList($where)
- {
- $data = InviteClass::getList('*', $where, 'addTime DESC');
- $list = isset($data['list']) && !empty($data['list']) ? $data['list'] : [];
- if (empty($list)) {
- return $data;
- }
- $data['list'] = InviteClass::groupInviteBaseInfo($list);
- return $data;
- }
-
- //用户是否被邀请过 ssh 2019.12.14
- public static function hasInvited($user)
- {
- return InviteClass::hasInvited($user);
- }
-
- //邀请有礼 新人 优惠券 ssh 2019.12.14
- public static function hasNewGift($userInfo)
- {
- return InviteClass::hasNewGift($userInfo);
- }
-
- //领取邀请有礼 ssh 2019.12.14
- public static function getNewGift($userInfo, $introUserId)
- {
- $newUser = UserService::newUser($userInfo);
- if ($newUser == false) {
- util::fail('新人才能领哦');
- }
- $sjId = $userInfo['sjId'];
- $gift = InviteAssetClass::newGift($sjId);
- if (empty($gift)) {
- util::fail('没有找到奖励');
- }
- $hasInvite = InviteClass::hasInvited($userInfo);
- if ($hasInvite) {
- util::fail('已经领过了');
- }
- $userId = $userInfo['id'];
- $time = time();
- $deadline = $time + $gift['duration'] * 86400;
- $prize = $gift['prize'];
- $introduce = UserClass::getById($introUserId);
- if (empty($introduce)) {
- util::fail('没有找到介绍人');
- }
- $introMobile = $introduce['mobile'];
- $introUserName = $introduce['userName'];
- $userName = $userInfo['userName'];
- $mobile = $userInfo['mobile'];
- $data = [
- 'userId' => $userId,
- 'userName' => $userName,
- 'mobile' => $mobile,
- 'introUserId' => $introUserId,
- 'introMobile' => $introMobile,
- 'introUserName' => $introUserName,
- 'prize' => $prize,
- 'addTime' => $time,
- 'sjId' => $sjId
- ];
- $invite = InviteClass::add($data);
- $id = $invite['id'];
- $now = time();
- $amount = $gift['amount'];
- $miniCost = $gift['miniCost'];
- $couponData = [
- 'sjId' => $sjId,
- 'introUserId' => $introUserId,
- 'userId' => $userId,
- 'mobile' => $userInfo['mobile'],
- 'amount' => $amount,
- 'miniCost' => $miniCost,
- 'beginTime' => $now,
- 'deadline' => $deadline,
- 'source' => 1,
- 'sourceId' => $id,
- 'addTime' => $now,
- 'createTime' => date("Y-m-d H:i:s")
- ];
- $coupon = CouponClass::add($couponData);
- $couponId = $coupon['id'];
- InviteClass::updateById($id, ['couponId' => $couponId]);
- }
-
- //检查邀请有礼的权限 ssh 2019.12.18
- public static function valid($invite, $sjId)
- {
- if (empty($invite)) {
- util::fail('邀请无效');
- }
- if ($invite['sjId'] != $sjId) {
- util::fail('您无法操作');
- }
- }
-
- //兑奖
- public static function give($invite)
- {
- if ($invite['status'] != 1) {
- util::fail('请确认是否可以兑奖');
- }
- $time = time();
- $id = $invite['id'];
- InviteClass::updateById($id, ['status' => 2, 'giveTime' => $time]);
- }
-
- }
|