Bladeren bron

邀请代码优化

zhangchen 1 maand geleden
bovenliggende
commit
8a2847c7ae

+ 10 - 2
alien-gateway/src/main/java/shop/alien/gateway/service/LifeUserService.java

@@ -76,7 +76,11 @@ public class LifeUserService extends ServiceImpl<LifeUserGatewayMapper, LifeUser
                 baseRedisService.setString("user_" + phoneNum, token);
                 // 生成邀请记录
                 if (StringUtils.isNotEmpty(inviteCode)) {
-                    activityInviteConfigService.bindInviteCode(lifeUser.getId(), inviteCode);
+                    try{
+                        activityInviteConfigService.bindInviteCode(lifeUser.getId(), inviteCode);
+                    } catch (Exception e) {
+                        log.error("邀请码绑定异常");
+                    }
                 }
 
                 // 二手平台登录log,同一个macip登录多账号记录
@@ -99,7 +103,11 @@ public class LifeUserService extends ServiceImpl<LifeUserGatewayMapper, LifeUser
             baseRedisService.setString("user_" + phoneNum, token);
             if (StringUtils.isNotEmpty(inviteCode)) {
                 // 生成邀请记录
-                activityInviteConfigService.bindInviteCode(user.getId(), inviteCode);
+                try{
+                    activityInviteConfigService.bindInviteCode(user.getId(), inviteCode);
+                } catch (Exception e) {
+                    log.error("邀请码绑定异常");
+                }
             }
 
             // 二手平台登录log,同一个macip登录多账号记录

+ 34 - 12
alien-gateway/src/main/java/shop/alien/gateway/service/impl/ActivityInviteConfigServiceImpl.java

@@ -7,14 +7,10 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
-import shop.alien.entity.store.ActivityInviteConfig;
-import shop.alien.entity.store.ActivityInviteLog;
-import shop.alien.entity.store.LifeUser;
+import shop.alien.entity.store.*;
 import shop.alien.gateway.service.ActivityInviteConfigService;
 import shop.alien.gateway.service.UserPointService;
-import shop.alien.mapper.ActivityInviteConfigMapper;
-import shop.alien.mapper.ActivityInviteLogMapper;
-import shop.alien.mapper.LifeUserMapper;
+import shop.alien.mapper.*;
 
 import java.time.Instant;
 import java.time.LocalDate;
@@ -36,6 +32,9 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
 
     private final ActivityInviteLogMapper activityInviteLogMapper;
 
+    private final LifeDiscountCouponMapper lifeDiscountCouponMapper;
+
+    private final LifeDiscountCouponUserMapper LifeDiscountCouponUser;
 
     @Override
     public String bindInviteCode(Integer invitedUserId, String inviteCode) {
@@ -98,12 +97,18 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
                     activityInviteLog.setInvitedRewardPoint(activityInviteConfig.getInvitedRewardPoint());
                     activityInviteLog.setInviteTime(Date.from(Instant.now()));
                     activityInviteLogMapper.insert(activityInviteLog);
-
-                    if (activityInviteConfig.getInviteRewardType() == 2) {
-                        userPointService.addPoint(inviteUserId, activityInviteConfig.getInviteRewardPoint());
-                    }
-                    if (activityInviteConfig.getInvitedRewardType() == 2) {
-                        userPointService.addPoint(invitedUserId, activityInviteConfig.getInvitedRewardPoint());
+                    int inviteCondition =  activityInviteConfig.getInviteCondition();
+                    if(inviteCondition == 1){
+                        if(activityInviteConfig.getInviteRewardType() == 2){
+                           userPointService.addPoint(inviteUserId, activityInviteConfig.getInviteRewardPoint());
+                       } else if(activityInviteConfig.getInviteRewardType() == 1 && activityInviteConfig.getInviteRewardCoupon() > 0){
+                            issuePlatformCoupon(inviteUserId, activityInviteConfig.getInviteRewardCoupon());
+                       }
+                       if(activityInviteConfig.getInvitedRewardType() == 2){
+                           userPointService.addPoint(invitedUserId, activityInviteConfig.getInvitedRewardPoint());
+                       } else if (activityInviteConfig.getInvitedRewardType() == 1 && activityInviteConfig.getInvitedRewardCoupon() > 0) {
+                           issuePlatformCoupon(invitedUserId, activityInviteConfig.getInvitedRewardCoupon());
+                       }
                     }
                     LifeUser updateLifeUser = new LifeUser();
                     updateLifeUser.setId(invitedLifeUser.getId());
@@ -117,4 +122,21 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
         }
         return "参数异常";
     }
+
+    public void issuePlatformCoupon(Integer userId, Integer couponId) {
+        LifeDiscountCoupon lifeDiscountCoupon = lifeDiscountCouponMapper.selectById(couponId);
+        if(lifeDiscountCoupon == null){
+            //如果优惠券为空,则返回失败
+            return;
+        }
+        LifeDiscountCouponUser lifeDiscountCouponUser = new LifeDiscountCouponUser();
+        lifeDiscountCouponUser.setUserId(userId);
+        lifeDiscountCouponUser.setCouponId(couponId);
+        lifeDiscountCouponUser.setReceiveTime(new Date());
+        lifeDiscountCouponUser.setExpirationTime(LocalDate.now().plusDays(Long.parseLong(lifeDiscountCoupon.getSpecifiedDay())));
+        lifeDiscountCouponUser.setStatus(0);
+        lifeDiscountCouponUser.setDeleteFlag(0);
+        lifeDiscountCouponUser.setCreatedTime(new Date());
+        LifeDiscountCouponUser.insert(lifeDiscountCouponUser);
+    }
 }