admin
2019-06-27 ab9e60fa9a8e43d797446730a5dc9ebfb6b3f4e6
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
@@ -98,6 +98,8 @@
      return userTaoLiJinRecordMapper.selectByPrimaryKey(id);
   }
   @Transactional
   @Override
   public UserTaoLiJinRecord createSelfBuyTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods)
         throws UserTaoLiJinRecordException {
@@ -138,6 +140,10 @@
         UserTaoLiJinRecord record = createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name,
               sendStartTime, sendEndTime, null, useEndTime, TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
         record.setSendUrl(record.getSendUrl() + "&relationId=" + relationId);
         UserTaoLiJinRecord updateRecoed=new UserTaoLiJinRecord();
         updateRecoed.setId(record.getId());
         updateRecoed.setSendUrl(record.getSendUrl());
         userTaoLiJinRecordMapper.updateByPrimaryKeySelective(record);
         return record;
      } else {// 返利库商品
         return createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name, sendStartTime, sendEndTime, null,
@@ -146,6 +152,7 @@
   }
   @Transactional
   @Override
   public UserTaoLiJinRecord createShareTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods)
         throws UserTaoLiJinRecordException {
@@ -196,6 +203,10 @@
            sendStartTime, sendEndTime, null, useEndTime, TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT);
      String sendUrl = record.getSendUrl() + "&relationId=" + relationId;
      record.setSendUrl(sendUrl);
      UserTaoLiJinRecord updateRecoed=new UserTaoLiJinRecord();
      updateRecoed.setId(record.getId());
      updateRecoed.setSendUrl(sendUrl);
      userTaoLiJinRecordMapper.updateByPrimaryKeySelective(record);
      return record;
   }
@@ -213,12 +224,24 @@
      // 过期
      userTaoLiJinOriginService.overdueHongBao(uid);
      BigDecimal tlj = userMoneyExtra.getTlj();
      // 总推广红包
      BigDecimal totalMoney = MoneyBigDecimalUtil.mul(perface, new BigDecimal(totalNum));
      if (totalMoney.compareTo(tlj) > 0) {
      // 自购时的红包余额
      if (origin == 1) {
         BigDecimal tljSelf = userMoneyExtra.getTljSelf();
         if (tljSelf == null || tljSelf.compareTo(totalMoney) < 0) {
            throw new UserTaoLiJinRecordException(101, "红包余额不足");
         }
      }
      // 分享时的红包余额
      BigDecimal tlj = userMoneyExtra.getTlj();
      if (tlj == null || tlj.compareTo(totalMoney) < 0) {
         throw new UserTaoLiJinRecordException(101, "红包余额不足");
      }
      // 创建淘礼金红包
      TaoLiJinDTO taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime,
@@ -243,10 +266,15 @@
      record.setCreateTime(new Date());
      userTaoLiJinRecordMapper.insertSelective(record);
      // 剩余淘礼金
      BigDecimal surplusTlj = MoneyBigDecimalUtil.sub(tlj, totalMoney);
      UserMoneyExtra updateExtra = new UserMoneyExtra();
      updateExtra.setUid(uid);
      if (origin == 1) { // 剩余淘礼金-- 自购
         updateExtra.setTljSelf(MoneyBigDecimalUtil.sub(userMoneyExtra.getTljSelf(), totalMoney));
      }
      // 剩余淘礼金
      BigDecimal surplusTlj = MoneyBigDecimalUtil.sub(tlj, totalMoney);
      updateExtra.setTlj(surplusTlj);
      updateExtra.setUpdateTime(new Date());
      userMoneyExtraService.updateByPrimaryKeySelective(updateExtra);