yujian
2019-12-12 8c04d27e5cebb7e654c208533e9567c4df2c8acc
fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralGetServiceImpl.java
@@ -7,6 +7,7 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -17,17 +18,20 @@
import com.yeshi.fanli.entity.integral.IntegralTask.TaskUniqueKeyEnum;
import com.yeshi.fanli.entity.integral.IntegralTaskRank;
import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
import com.yeshi.fanli.entity.integral.UserGetIntegralFromOrderRecord;
import com.yeshi.fanli.exception.integral.IntegralGetException;
import com.yeshi.fanli.exception.integral.IntegralTaskRecordException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRankService;
import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService;
import com.yeshi.fanli.service.inter.user.integral.IntegralTaskService;
import com.yeshi.fanli.service.inter.user.integral.UserGetIntegralFromOrderRecordService;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService;
import com.yeshi.fanli.util.annotation.integral.IntegralGetFrequencyLimit;
import com.yeshi.fanli.util.annotation.integral.IntegralGetVersionLimit;
import com.yeshi.fanli.util.factory.integral.UserGetIntegralFromOrderRecordFactory;
@Lazy
@Service
@@ -51,12 +55,15 @@
   @Resource
   private IntegralTaskRankService integralTaskRankService;
   // TODO 有bug
   @Resource
   private UserGetIntegralFromOrderRecordService userGetIntegralFromOrderRecordService;
   private UserInfo getBossByUid(Long uid) {
      return threeSaleMapper.selectBoss(uid);
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid + '-' + #event")
   @Override
   public IntegralTaskRecord addEventStatistic(Long uid, String event) throws IntegralGetException {
      Date nowDate = new Date();
@@ -142,7 +149,7 @@
      return null;
   }
   @IntegralGetFrequencyLimit(key = "'addShareInvite-'+#uid", time = 30)
   @Override
   public IntegralTaskRecord addShareInvite(Long uid) {
@@ -175,7 +182,7 @@
         addEventStatistic(uid, TaskUniqueKeyEnum.inShopLevelOne.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -185,7 +192,7 @@
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.inShopLevelTwo.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -253,11 +260,12 @@
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.taoLiJinBuy.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addInviteLevelOne(Long uid, Long workerId) {
@@ -268,7 +276,7 @@
         addEventStatistic(uid, TaskUniqueKeyEnum.inviteLevelOne.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -278,12 +286,13 @@
    * @param uid
    */
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   private void addInviteLevelTwo(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.inviteLevelTwo.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -295,7 +304,7 @@
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.shareSingleGoods.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -307,7 +316,7 @@
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.shareMultipleGoods.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -319,40 +328,43 @@
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.shareTLJGoods.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addGiveRebateCoupon(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.giveRebateCoupon.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addGiveFreeCoupon(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.giveFreeCoupon.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addGiveTaoLiJin(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.giveTaoLiJin.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -364,7 +376,7 @@
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.closeRecommendGoods.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -380,7 +392,7 @@
         addEventStatistic(uid, TaskUniqueKeyEnum.couponRebate.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -390,6 +402,7 @@
    * @param uid
    */
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   private void addCouponRebateLevelOne(Long uid) {
      try {
@@ -399,7 +412,7 @@
         addEventStatistic(uid, TaskUniqueKeyEnum.couponRebateLevelOne.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -409,23 +422,31 @@
    * @param uid
    */
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   private void addCouponRebateLevelTwo(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.couponRebateLevelTwo.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Transactional
   @Override
   public void addRebateOrder(Long uid) {
   public void addRebateOrder(Long uid, String orderNo, int sourceType) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.rebateOrder.name());
         IntegralTaskRecord record = addEventStatistic(uid, TaskUniqueKeyEnum.rebateOrder.name());
         if (record != null) {
            userGetIntegralFromOrderRecordService.addRecord(
                  UserGetIntegralFromOrderRecordFactory.create(UserGetIntegralFromOrderRecord.TYPE_RECIEVE_MONEY,
                        uid, orderNo, sourceType, record.getGoldCoin()));
         }
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -435,13 +456,21 @@
    * @param uid
    */
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Transactional
   @Override
   public void addInviteOrderLevelOne(Long uid) {
   public void addInviteOrderLevelOne(Long uid, String orderNo, int sourceType) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.inviteOrderLevelOne.name());
         IntegralTaskRecord record = addEventStatistic(uid, TaskUniqueKeyEnum.inviteOrderLevelOne.name());
         if (record != null) {
            userGetIntegralFromOrderRecordService.addRecord(
                  UserGetIntegralFromOrderRecordFactory.create(UserGetIntegralFromOrderRecord.TYPE_RECIEVE_MONEY,
                        uid, orderNo, sourceType, record.getGoldCoin()));
         }
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
@@ -451,123 +480,147 @@
    * @param uid
    */
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Transactional
   @Override
   public void addInviteOrderLevelTwo(Long uid) {
   public void addInviteOrderLevelTwo(Long uid, String orderNo, int sourceType) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.inviteOrderLevelTwo.name());
         IntegralTaskRecord record = addEventStatistic(uid, TaskUniqueKeyEnum.inviteOrderLevelTwo.name());
         if (record != null) {
            userGetIntegralFromOrderRecordService.addRecord(
                  UserGetIntegralFromOrderRecordFactory.create(UserGetIntegralFromOrderRecord.TYPE_RECIEVE_MONEY,
                        uid, orderNo, sourceType, record.getGoldCoin()));
         }
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Transactional
   @Override
   public void addShareOrder(Long uid) {
   public void addShareOrder(Long uid, String orderNo, int sourceType) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.shareOrder.name());
         IntegralTaskRecord record = addEventStatistic(uid, TaskUniqueKeyEnum.shareOrder.name());
         if (record != null) {
            userGetIntegralFromOrderRecordService.addRecord(
                  UserGetIntegralFromOrderRecordFactory.create(UserGetIntegralFromOrderRecord.TYPE_RECIEVE_MONEY,
                        uid, orderNo, sourceType, record.getGoldCoin()));
         }
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addBindWeiXin(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.bindWeiXin.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addBindPhone(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.bindPhone.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addBindTaoBao(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.bindTaoBao.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addSetWeiXinNum(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.setWeiXinNum.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addSetGender(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.setGender.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addSetPortrait(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.setPortrait.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addSetNickname(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.setNickName.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addBindAlipay(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.bindAlipay.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }
   @IntegralGetVersionLimit(uid = "#uid")
   @RequestSerializableByKeyService(key = "#uid")
   @Async()
   @Override
   public void addInviteActivate(Long uid) {
      try {
         addEventStatistic(uid, TaskUniqueKeyEnum.inviteActivate.name());
      } catch (Exception e) {
         LogHelper.errorDetailInfo(e);
         // LogHelper.errorDetailInfo(e);
      }
   }