admin
2019-08-26 d28bed1a1275131a5ca37f7da37961e2b518ac07
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java
@@ -148,7 +148,7 @@
      if (uid == null) {
         throw new UserTaoLiJinOriginException(1, "参数不能为空");
      }
      String value = configTaoLiJinService.getValueByKey("hongbao_newbies");
      String value = configTaoLiJinService.getValueByKey("hongbao_newbies",null);
      if (StringUtil.isNullOrEmpty(value)) {
         throw new UserTaoLiJinOriginException(1, "系统红包不存在");
      }
@@ -207,7 +207,7 @@
         throw new UserTaoLiJinOriginException(2, "用户等级不足");
      }
      
      String value = configTaoLiJinService.getValueByKey(key);
      String value = configTaoLiJinService.getValueByKey(key,null);
      if (StringUtil.isNullOrEmpty(value)) {
         throw new UserTaoLiJinOriginException(1, "系统红包不存在");
      }
@@ -246,7 +246,7 @@
         throw new UserTaoLiJinOriginException(1, "参数不能为空");
      }
      
      String value = configTaoLiJinService.getValueByKey("hongbao_invite");
      String value = configTaoLiJinService.getValueByKey("hongbao_invite",null);
      if (StringUtil.isNullOrEmpty(value)) {
         throw new UserTaoLiJinOriginException(1, "系统红包不存在");
      }
@@ -285,7 +285,7 @@
         throw new UserTaoLiJinOriginException(1, "用户未登录");
      }
      
      String value = configTaoLiJinService.getValueByKey("hongbao_share");
      String value = configTaoLiJinService.getValueByKey("hongbao_share",null);
      if (StringUtil.isNullOrEmpty(value)) {
         throw new UserTaoLiJinOriginException(1, "系统红包不存在");
      }
@@ -404,31 +404,43 @@
   @Override
   public void overdueHongBao(Long uid) {
      // 15天前过期
      Date date = null;
      if (uid == null) {
         return;
      }
      // 15天前过期- 非等级红包
      try {
         date = DateUtil.reduceDay(14, new Date());
         Date date = DateUtil.reduceDay(14, new Date());
         List<UserTaoLiJinOrigin> list = userTaoLiJinOriginMapper.getOverdueTaoLiJin(uid, date);
         executeOverdueHongBao(uid, date, list);
      } catch (ParseException e) {
         e.printStackTrace();
      }
      
      if (date == null) {
         return;
      // 30天前过期 - 等级红包
      try {
         Date date = DateUtil.reduceDay(29, new Date());
         List<UserTaoLiJinOrigin> list = userTaoLiJinOriginMapper.getOverdueTaoLiJinByRank(uid, date);
         executeOverdueHongBao(uid, date, list);
      } catch (ParseException e) {
         e.printStackTrace();
      }
      List<UserTaoLiJinOrigin> list = userTaoLiJinOriginMapper.getOverdueTaoLiJin(uid, date);
   }
   public void executeOverdueHongBao(Long uid, Date date, List<UserTaoLiJinOrigin> list) {
      if (list == null || list.size() == 0) {
         return;
      }
      BigDecimal total = new BigDecimal(0);
      for (UserTaoLiJinOrigin userTaoLiJinOrigin: list) {
      for (UserTaoLiJinOrigin userTaoLiJinOrigin : list) {
         SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm");
         String time = sd.format(userTaoLiJinOrigin.getCreateTime());
         String time = sd.format(userTaoLiJinOrigin.getCreateTime());
         BigDecimal moneySurplus = userTaoLiJinOrigin.getMoneySurplus();
         total = MoneyBigDecimalUtil.add(total, moneySurplus);
         String rightsId = null;
         boolean refund = false;
         TaoLiJinOriginEnum originEnum = userTaoLiJinOrigin.getOrigin();
@@ -436,13 +448,13 @@
            refund = true;
            rightsId = userTaoLiJinOrigin.getRightsId();
         }
         UserTaoLiJinOrigin origin = new UserTaoLiJinOrigin();
         origin.setId(userTaoLiJinOrigin.getId());
         origin.setMoneySurplus(new BigDecimal(0));
         origin.setUpdateTime(new Date());
         userTaoLiJinOriginMapper.updateByPrimaryKeySelective(origin);
         if (refund) {
            UserTaoLiJinReport report = userTaoLiJinReportService.selectByPrimaryKey(rightsId);
            Date shareTime = null;
@@ -451,17 +463,17 @@
            } else {
               shareTime = report.getCreateTime();
            }
            // 消息
            MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO();
            content.setState("红包收回");
            content.setSource("于["+ sd.format(shareTime) + "]创建的分享未被领取部分");
            content.setSource("于[" + sd.format(shareTime) + "]创建的分享未被领取部分");
            content.setTimeDesc("退回于" + time);
            content.setMoney(moneySurplus);
            content.setReason("本笔退回推广红包从退回日起至今并未产生分享记录");
            content.setResult("长期未使用收回");
            userOtherMsgNotificationService.taoLiJinMsg(uid, "如有疑问请联系人工客服", content);
         } else {
            // 消息
            MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO();
@@ -474,16 +486,16 @@
            userOtherMsgNotificationService.taoLiJinMsg(uid, "如有疑问请联系人工客服", content);
         }
      }
      // 用户剩余淘礼金
      UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid);
      if (userMoneyExtra == null || userMoneyExtra.getTlj() == null) {
         return;
      }
      UserMoneyExtra updateExtra = new UserMoneyExtra();
      updateExtra.setUid(uid);
      BigDecimal tljSelf = userMoneyExtra.getTljSelf();
      if (tljSelf != null && tljSelf.compareTo(new BigDecimal(0)) > 0) { // 剩余淘礼金-- 自购
         BigDecimal sub = MoneyBigDecimalUtil.sub(tljSelf, total);
@@ -492,12 +504,11 @@
         } else {
            updateExtra.setTljSelf(new BigDecimal(0));
         }
      }
      }
      updateExtra.setTlj(MoneyBigDecimalUtil.sub(userMoneyExtra.getTlj(), total));
      updateExtra.setUpdateTime(new Date());
      userMoneyExtraService.updateByPrimaryKeySelective(updateExtra);
      // 插入明细
      UserTaoLiJinDetail detail = new UserTaoLiJinDetail();
      detail.setUid(uid);
@@ -507,7 +518,8 @@
      detail.setCreateTime(new Date());
      userTaoLiJinDetailService.insertSelective(detail);
   }
   @Override
   public List<UserTaoLiJinOrigin> getSurplusLiJin(long uid) {
      return userTaoLiJinOriginMapper.getSurplusLiJin(uid);
@@ -521,7 +533,7 @@
         throw new UserTaoLiJinOriginException(1, "参数不能为空");
      }
      
      String value = configTaoLiJinService.getValueByKey("hongbao_invite");
      String value = configTaoLiJinService.getValueByKey("hongbao_invite",null);
      if (StringUtil.isNullOrEmpty(value)) {
         throw new UserTaoLiJinOriginException(1, "系统红包不存在");
      }