admin
2019-10-26 a56bd9db6b5c989fb2eaecd3a854ac6782b55f95
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
@@ -961,6 +961,9 @@
      int pageSize = 100;
      int maxSize = 300;
      Date nowDate = new Date();
      // 一、自动提现针对的用户群: 前提条件:用户在距今60天到90天内未活跃过的用户
      String beganDate = DateUtil.reduceDayTostring(90, nowDate);
      String endDate = DateUtil.reduceDayTostring(60, nowDate);
      // 条件3:距离上一次成功领取微信红包已经超过了30天时间,可在第31天再次下发;
      String receivedDate = DateUtil.reduceDayTostring(30, nowDate);
      // 条件4:距离上一次未成功领取微信红包已经超过了15天时间,可在第16天再次下发;
@@ -973,7 +976,7 @@
      
      while (true) {
         // 查询满足条件 1、2 的uid
         List<UserInfo> listUser = userInfoService.getAutoExtractUserIds(page * pageSize, pageSize, minSurplus);
         List<UserInfo> listUser = userInfoService.getAutoExtractUser(page * pageSize, pageSize, minSurplus, beganDate, endDate);
         if (listUser == null || listUser.isEmpty())
            break;
         
@@ -1019,6 +1022,9 @@
      int pageSize = 100;
      int maxSize = 301; // appId + 实际openid300个
      Date nowDate = new Date();
      // 一、自动提现针对的用户群: 前提条件:用户在距今60天到90天内未活跃过的用户
      String beganDate = DateUtil.reduceDayTostring(90, nowDate);
      String endDate = DateUtil.reduceDayTostring(60, nowDate);
      // 条件3:距离上一次成功领取微信红包已经超过了30天时间,可在第31天再次下发;
      String receivedDate = DateUtil.reduceDayTostring(30, nowDate);
      // 条件4:距离上一次未成功领取微信红包已经超过了15天时间,可在第16天再次下发;
@@ -1035,7 +1041,7 @@
      
      while (true) {
         // 查询满足条件 1、2 的uid
         List<UserInfo> listUser = userInfoService.getAutoExtractUserIds(page * pageSize, pageSize, minSurplus);
         List<UserInfo> listUser = userInfoService.getAutoExtractUser(page * pageSize, pageSize, minSurplus, beganDate, endDate);
         if (listUser == null || listUser.isEmpty())
            break;
         
@@ -1136,8 +1142,8 @@
         
      // 状态过滤
      String statusOld = record.getStatus();
      if (StringUtil.isNullOrEmpty(statusOld) ||ExtractWeiXinRecord.REFUND.equals(statusOld)
            || ExtractWeiXinRecord.RFUND_ING.equals(statusOld))
      if (StringUtil.isNullOrEmpty(statusOld) || ExtractWeiXinRecord.REFUND.equals(statusOld)
            || ExtractWeiXinRecord.RECEIVED.equals(statusOld))
         return;
      
      ExtractWeiXinRecord updeteRecord = new ExtractWeiXinRecord();
@@ -1191,25 +1197,28 @@
         }  
      }
      updeteRecord.setStatus(status);
      // 更新红包记录
      extractWeiXinRecordService.updateByPrimaryKeySelective(updeteRecord);
      
      if (!ExtractWeiXinRecord.REFUND.equals(status))
         return;
      // 资金明细
      UserMoneyDetail detail = new UserMoneyDetail();
      detail.setCreateTime(new Date());
      detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.extractAutoWXRefund.name() + ":" + record.getId()));
      detail.setMoney(record.getMoney());
      detail.setTitle(UserMoneyDetailTypeEnum.extractAutoWXRefund.getDesc());
      detail.setType(UserMoneyDetailTypeEnum.extractAutoWXRefund);
      detail.setUpdateTime(new Date());
      detail.setUserInfo(new UserInfo(record.getUid()));
      // 资金计算
      userMoneyService.addUserMoney(record.getUid(), record.getMoney(), detail);
      if (ExtractWeiXinRecord.RECEIVED.equals(status)) {
         // 发送消息通知
         userMoneyMsgNotificationService.extractAuto(record, "已领取-已提现", null, null);
      } else if (ExtractWeiXinRecord.REFUND.equals(status)) {
         // 资金明细
         UserMoneyDetail detail = new UserMoneyDetail();
         detail.setCreateTime(new Date());
         detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.extractAutoWXRefund.name() + ":" + record.getId()));
         detail.setMoney(record.getMoney());
         detail.setTitle(UserMoneyDetailTypeEnum.extractAutoWXRefund.getDesc());
         detail.setType(UserMoneyDetailTypeEnum.extractAutoWXRefund);
         detail.setUpdateTime(new Date());
         detail.setUserInfo(new UserInfo(record.getUid()));
         // 资金计算
         userMoneyService.addUserMoney(record.getUid(), record.getMoney(), detail);
         // 发送消息通知
         userMoneyMsgNotificationService.extractAuto(record, "已退回-余额中", null, null);
      }
   }
   
}