yujian
2019-06-27 c8112d757b901efc582633e49423c81482555ea9
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
@@ -224,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,
@@ -252,12 +264,21 @@
      record.setRightsId(taoLiJinDTO.getRightsId());
      record.setSendUrl(taoLiJinDTO.getSendUrl());
      record.setCreateTime(new Date());
      if (origin == 1) { //  自购
         record.setUseType(1);
      } else { //  分享
         record.setUseType(2);
      }
      userTaoLiJinRecordMapper.insertSelective(record);
      // 剩余淘礼金
      BigDecimal surplusTlj = MoneyBigDecimalUtil.sub(tlj, totalMoney);
      BigDecimal surplusTlj = MoneyBigDecimalUtil.sub(tlj, totalMoney);
      UserMoneyExtra updateExtra = new UserMoneyExtra();
      updateExtra.setUid(uid);
      if (origin == 1) { // 剩余淘礼金-- 自购
         updateExtra.setTljSelf(MoneyBigDecimalUtil.sub(userMoneyExtra.getTljSelf(), totalMoney));
      }
      updateExtra.setTlj(surplusTlj);
      updateExtra.setUpdateTime(new Date());
      userMoneyExtraService.updateByPrimaryKeySelective(updateExtra);
@@ -315,6 +336,19 @@
               LogHelper.errorDetailInfo(e);
            }
            // 创建报告
            try {
               userTaoLiJinReportService.insertDefault(rightsId);
            } catch (Exception e) {
               LogHelper.errorDetailInfo(e);
            }
            if (origin == 1) {
               return; //  自购不推送消息
            }
            // 使用成功消息
            try {
               String beizhu = "未被领取/使用的部分将会退回";
@@ -327,13 +361,6 @@
               content.setMoney(totalMoney);
               userOtherMsgNotificationService.taoLiJinMsg(uid, beizhu, content);
            } catch (Exception e) {
               LogHelper.errorDetailInfo(e);
            }
            // 创建报告
            try {
               userTaoLiJinReportService.insertDefault(rightsId);
            } catch (Exception e) {
               LogHelper.errorDetailInfo(e);
            }
@@ -406,10 +433,9 @@
         // 计算分享奖金
         BigDecimal shareMoney = new BigDecimal(0);
         BigDecimal commission = userTaoLiJinRecordVO.getCommission();
         if (commission != null && commission.compareTo(shareMoney) > 1) {
         if (commission != null && commission.compareTo(shareMoney) > 0) {
            BigDecimal shareRate = hongBaoManageService.getShareRate();
            shareMoney = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(commission, new BigDecimal("0.01")),
                  MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
            shareMoney = MoneyBigDecimalUtil.mul(commission, MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
            shareMoney = BigDecimalUtil.getWithNoZera(shareMoney);
         }