yujian
2019-11-06 54e6398cabe1b32b1dbc9857c6a99d8f15b549f7
fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.impl.user.integral;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -493,4 +494,56 @@
      }
      userOtherMsgNotificationService.firstOrderRewardMsg(uid, null, msgOther);
   }
   /**
    * 推广红包折算金币
    * @param uid
    * @param addGoldCoin
    * @param tlj
    */
   @Override
   public void taoLiJinExchange(Long uid, Integer addGoldCoin, BigDecimal tlj) {
      String uniqueKey = "taoLiJinExchange-" + uid.toString();
      IntegralDetail detailRecord = integralDetailService.getDetailByUniqueKey(uniqueKey);
      if (detailRecord != null)
         return;
      UserInfoExtra userInfoExtra = userInfoExtraService.getByUidForUpdate(uid);
      if (userInfoExtra == null)
         return;
      Integer goldCoin = userInfoExtra.getGoldCoin();
      if (goldCoin == null)
         goldCoin = 0;
      goldCoin = goldCoin + addGoldCoin;
      try {
         UserInfoExtra extra = new UserInfoExtra();
         extra.setId(userInfoExtra.getId());
         extra.setGoldCoin(goldCoin);
         userInfoExtraService.saveUserInfoExtra(extra);
      } catch (UserInfoExtraException e) {
         LogHelper.errorDetailInfo(e);
         return;
      }
      // 金币详情
      IntegralDetail detail = new IntegralDetail();
      detail.setTitle("推广红包下线-系统折算成金币");
      detail.setUid(uid);
      detail.setMoney(addGoldCoin);
      detail.setUniqueKey(uniqueKey);
      detail.setCreateTime(new Date());
      integralDetailService.insertSelective(detail);
      // 消息
      MsgOtherRewardIntegralDTO msgOther = new MsgOtherRewardIntegralDTO();
      msgOther.setTitle("推广红包");
      msgOther.setTotal("推广红包¥" + tlj.setScale(2));
      msgOther.setNum(goldCoin + "枚");
      msgOther.setSource("已进入到可用金币中");
      msgOther.setExplain("原推广红包功能下线,剩余推广红包按照10:1折算为金币 ");
      userOtherMsgNotificationService.taoLiJinExchangeMsg(uid, "本折算有且仅有一次", msgOther);
   }
}