admin
2019-11-23 51a4ff5d777028d52a19c314a99f796334cb7b51
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
@@ -56,6 +56,7 @@
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TokenUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
@@ -69,7 +70,7 @@
   @Resource
   private RedisManager redisManager;
   @Resource
   private ConfigService configService;
@@ -111,13 +112,13 @@
   @Resource
   private ShareHotGoodsService shareHotGoodsService;
   @Resource
   private TokenRecordService tokenRecordService;
   @Resource
   private UserTaoLiJinGiveRecordService userTaoLiJinGiveRecordService;
   @Override
   public UserTaoLiJinRecord selectByPrimaryKey(Long id) {
      return userTaoLiJinRecordMapper.selectByPrimaryKey(id);
@@ -150,7 +151,7 @@
      // 新人红包 自购一元
      BigDecimal perface = new BigDecimal(1);
      if (goods.getMaterialLibType() == null || goods.getMaterialLibType() == 0) {// 非返利库商品
      if (!TaoBaoUtil.isSpecialGoods(goods.getMaterialLibType())) {// 非返利库商品
         String relationId = null;
         try {
            relationId = taoBaoBuyRelationMapService.getRelationId(uid);
@@ -512,25 +513,25 @@
   public UserTaoLiJinRecord getByRightsId(String rightsId) {
      return userTaoLiJinRecordMapper.getByRightsId(rightsId);
   }
   @Override
   public String giveTaolijin(Long uid, BigDecimal amount) throws UserTaoLiJinRecordException{
      if (uid == null || amount == null)
         throw new UserTaoLiJinRecordException(1,"参数不正确");
   public String giveTaolijin(Long uid, BigDecimal amount) throws UserTaoLiJinRecordException {
      if (uid == null || amount == null)
         throw new UserTaoLiJinRecordException(1, "参数不正确");
      String giveMin = configTaoLiJinService.getValueByKey("give_min_amount");
      if (amount.compareTo(new BigDecimal(giveMin)) < 0)
         throw new UserTaoLiJinRecordException(1,"赠送推广红包金额至少" + giveMin + "元");
         throw new UserTaoLiJinRecordException(1, "赠送推广红包金额至少" + giveMin + "元");
      // 用户剩余可以淘礼金验证
      UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid);
      if (userMoneyExtra == null || userMoneyExtra.getTlj() == null)
         throw new UserTaoLiJinRecordException(1, "红包余额不足");
      BigDecimal tlj = userMoneyExtra.getTlj();
      if (amount.compareTo(tlj) > 0)
         throw new UserTaoLiJinRecordException(1, "红包余额不足");
      Date nowDate = new Date();
      // 赠送记录
      UserTaoLiJinGiveRecord giveRecord = new UserTaoLiJinGiveRecord();
@@ -540,7 +541,7 @@
      giveRecord.setGiveTime(nowDate);
      giveRecord.setEndTime(DateUtil.plusDayDate(Constant.GIVE_DAYS, new Date()));
      userTaoLiJinGiveRecordService.insertSelective(giveRecord);
      // 口令记录
      TokenRecord tokenRecord = new TokenRecord();
      tokenRecord.setUid(uid);
@@ -550,27 +551,27 @@
      tokenRecord.setEndTime(DateUtil.plusDayDate(Constant.TOKEN_DAYS, new Date()));
      tokenRecord.setState(0);
      tokenRecordService.insertSelective(tokenRecord);
      // 创建口令
      String token = TokenUtil.createToken(tokenRecord.getId());
      tokenRecord.setToken(token);
      tokenRecordService.updateByPrimaryKeySelective(tokenRecord);
      // 更新余额
      UserMoneyExtra updateExtra = new UserMoneyExtra();
      updateExtra.setUid(uid);
      updateExtra.setTlj(MoneyBigDecimalUtil.sub(tlj, amount));
      updateExtra.setUpdateTime(new Date());
      userMoneyExtraService.updateByPrimaryKeySelective(updateExtra);
      String tips = configTaoLiJinService.getValueByKey("give_taolijin_tips");
      String projectChineseName = Constant.systemCommonConfig.getProjectChineseName();
      while(tips.contains("{APP名称}")) {
      while (tips.contains("{APP名称}")) {
         tips = tips.replace("{APP名称}", projectChineseName);
      }
      tips = tips.replace("{口令}", token).replace("{下载链接}", configService.get("app_down_link"))
            .replace("{面额}", amount.setScale(0).toString());
      tips = tips.replace("{口令}", token).replace("{下载链接}", configService.get("app_down_link")).replace("{面额}",
            amount.setScale(0).toString());
      executor.execute(new Runnable() {
         @Override
         public void run() {
@@ -620,9 +621,8 @@
            }
         }
      });
      return tips;
   }
}