yujian
2019-09-03 d1dccd08a249b830a95eeeb04af25f87d5c056be
fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java
@@ -8,6 +8,7 @@
import javax.annotation.Resource;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Service;
@@ -57,6 +58,7 @@
   private UserInfoService userInfoService;
   @Resource
   @Lazy
   private UserSystemCouponService userSystemCouponService;
   @Resource
@@ -80,6 +82,7 @@
   @Resource
   private UserOtherMsgNotificationService userOtherMsgNotificationService;
   
   @Lazy
   @Resource
   private IntegralGetService  integralGetService;
   
@@ -117,8 +120,8 @@
         throw new TokenRecordException(1, "口令不存在");
      Long uidToken = rokenRecord.getUid();
//      if (uid != null && uidToken != null && uid.longValue() == uidToken.longValue())
//         throw new TokenRecordException(1, "不能自己赠送给自己");
      if (uid != null && uidToken != null && uid.longValue() == uidToken.longValue())
         throw new TokenRecordException(1, "不能自己赠送给自己");
      
      Date now = new Date();
      Date endTimeToken = rokenRecord.getEndTime();
@@ -255,7 +258,7 @@
      }
      if (StringUtil.isNullOrEmpty(nickName))
         nickName = Constant.systemCommonConfig.getDefaultNickName();
         nickName = Constant.systemCommonConfig.getDefaultNickName() + inviteId;
      if (StringUtil.isNullOrEmpty(portrait))
         portrait = Constant.systemCommonConfig.getDefaultPortrait();
@@ -289,9 +292,9 @@
      if (rokenRecord == null)
         throw new TokenRecordException(1, "口令已失效");
      
//      Long uidToken = rokenRecord.getUid();
//      if (uidToken != null && uid.longValue() == uidToken.longValue())
//         throw new TokenRecordException(1, "不能自己赠送给自己");
      Long uidToken = rokenRecord.getUid();
      if (uidToken != null && uid.longValue() == uidToken.longValue())
         throw new TokenRecordException(1, "不能自己赠送给自己");
      
      Date now = new Date();
      Date endTimeToken = rokenRecord.getEndTime();
@@ -329,11 +332,10 @@
         if (userCoupon == null || userCoupon.getGive() == null || !userCoupon.getGive()
               || userCoupon.getState() != UserSystemCoupon.STATE_IN_USE)
            throw new TokenRecordException(1, "该券不存在或非赠送");
         
         UserSystemCoupon userSystemCoupon= null;
         try {
            userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(),
            userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(),
                  UserSystemCoupon.SOURCE_GIVE, null);
         } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
@@ -360,9 +362,13 @@
         // 更新赠送记录
         UserSystemCouponGiveRecord updateGiveRecord = new UserSystemCouponGiveRecord();
         updateGiveRecord.setId(giveRecord.getId());
         updateGiveRecord.setReceiveUid(uid);
         updateGiveRecord.setReceiveTime(new Date());
         updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE);
         if (userSystemCoupon != null) {
            updateGiveRecord.setReceiveId(userSystemCoupon.getId());
         }
         userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord);
         integralGetService.addGiveFreeCoupon(giveUid);
@@ -417,8 +423,9 @@
         if (systemCoupon == null)
            throw new TokenRecordException(1, "该券不存在");
         
         UserSystemCoupon userSystemCoupon= null;
         try {
            userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(),
            userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(),
                  UserSystemCoupon.SOURCE_GIVE, systemCoupon.getPercent());
         } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
@@ -445,9 +452,13 @@
         // 更新赠送记录
         UserSystemCouponGiveRecord updateGiveRecord = new UserSystemCouponGiveRecord();
         updateGiveRecord.setId(giveRecord.getId());
         updateGiveRecord.setReceiveUid(uid);
         updateGiveRecord.setReceiveTime(new Date());
         updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE);
         if (userSystemCoupon != null) {
            updateGiveRecord.setReceiveId(userSystemCoupon.getId());
         }
         userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord);
         integralGetService.addGiveRebateCoupon(giveUid);
@@ -472,7 +483,7 @@
               msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
               msgOther.setTitle("赠送奖励券");
               msgOther.setGiveType("你赠送的奖励券被成功领取");
               msgOther.setReceiveInfo("昵称:  " + userName + " ID:" + uid);
               msgOther.setReceiveInfo("昵称: " + userName + " ID:" + uid);
               msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
               msgOther.setReceiveTime(sd.format(new Date()));
               userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
@@ -524,7 +535,7 @@
                  msgOther.setType(MsgOtherGiveContentDTO.TYEP_TLJ);
                  msgOther.setTitle("赠送推广红包");
                  msgOther.setGiveType("你赠送的推广红包被成功领取");
                  msgOther.setReceiveInfo("昵称:  " + userName + " ID:" + uid);
                  msgOther.setReceiveInfo("昵称:" + userName + " ID:" + uid);
                  msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
                  msgOther.setReceiveTime(sd.format(new Date()));
                  userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
@@ -566,5 +577,23 @@
      }
      return invite;
   }
   @Override
   public List<TokenRecord> overdueList(int count) {
      return tokenRecordMapper.overdueList(count);
   }
   @Override
   public void overdue(List<TokenRecord> list) {
      if (list == null || list.size() == 0)
         return;
      Date date = new Date();
      for (TokenRecord tokenRecord: list) {
         tokenRecord.setState(1);
         tokenRecord.setUpdateTime(date);
         tokenRecordMapper.updateByPrimaryKeySelective(tokenRecord);
      }
   }
}