admin
2019-10-26 96382ae55d8c2ad66954030e8ba8ada07852757f
fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
@@ -151,7 +151,6 @@
   @Resource
   private ExtractWeiXinRecordService extractWeiXinRecordService;
   
   @Transactional
   public Integer addExtract(Extract extract) {
      Integer integer = extract(extract);
@@ -425,7 +424,8 @@
         CMQManager.getInstance().addExtractResultMsg(extract, response, adminUser);
         LogHelper.userErrorInfo("提现:添加处理队列成功-"+extract.getId());
      } catch (Exception e) {
         LogHelper.userErrorInfo("提现:支付宝提现CMQ异常:" + new Gson().toJson(response) + ",提现信息" + GsonUtil.toJson(extract));
         LogHelper
               .userErrorInfo("提现:支付宝提现CMQ异常:" + new Gson().toJson(response) + ",提现信息" + GsonUtil.toJson(extract));
      }
   }
@@ -683,7 +683,16 @@
         // 更新提现记录审核表
         extractAuditRecordMapper.updateByPrimaryKeySelective(auditRecord);
      }
      // 外显账户明细
      UserMoneyDetail userMoneyDetail = userMoneyDetailMapper.selectByTypeAndUidAndIdentifyCode(
            UserMoneyDetailTypeEnum.extract, extract.getUserInfo().getId(), extract.getId());
      if (userMoneyDetail != null) {
         UserMoneyDetail detail = new UserMoneyDetail(userMoneyDetail.getId());
         detail.setShow(true);
         detail.setUpdateTime(new Date());
         userMoneyDetailMapper.updateByPrimaryKeySelective(detail);
      }
   }
@@ -753,13 +762,11 @@
         return money;
   }
   
   @Transactional(rollbackFor = Exception.class)
   @Override
   public void autoExtract(UserInfo user) {
      if (user == null || user.getWxOpenId() == null || user.getWxUnionId() == null ||
            user.getState() != UserInfo.STATE_NORMAL)
      if (user == null || user.getWxOpenId() == null || user.getWxUnionId() == null
            || user.getState() != UserInfo.STATE_NORMAL)
         return;
      
      Date date = new Date();
@@ -803,12 +810,12 @@
      //redPackParams.setSceneId(null);
      //redPackParams.setRiskInfo(null);
      
      // 发生红包状态
      boolean stateRedPack = false;
      
      String pwd = "1520950211";
      InputStream cert = ExtractServiceImpl.class.getClassLoader().getResourceAsStream("certificate/apiclient_cert.p12"); // 读取.p12文件
      InputStream cert = ExtractServiceImpl.class.getClassLoader()
            .getResourceAsStream("certificate/apiclient_cert.p12"); // 读取.p12文件
      // 执行发放红包
      try {
         String result = WXPayUtil.redPackToOpenId(redPackParams, pwd, cert);
@@ -872,7 +879,6 @@
      userMoneyMsgNotificationService.extractAuto(extractRecord, "未领取-提现中", desc, beizu);
   }
   private boolean parseSendResult(String result) {
      try {
         Document document = DocumentHelper.parseText(result);
@@ -900,7 +906,6 @@
      }
      return false;
   }
   
   private ExtractWeiXinRecord parseDTO(String result) {
      try {
@@ -953,8 +958,6 @@
      return null;
   }
   
   @Override
   public List<UserInfo> preAutoUser() throws Exception {
      int page = 0;
@@ -976,7 +979,8 @@
      
      while (true) {
         // 查询满足条件 1、2 的uid
         List<UserInfo> listUser = userInfoService.getAutoExtractUser(page * pageSize, pageSize, minSurplus, beganDate, endDate);
         List<UserInfo> listUser = userInfoService.getAutoExtractUser(page * pageSize, pageSize, minSurplus,
               beganDate, endDate);
         if (listUser == null || listUser.isEmpty())
            break;
         
@@ -1014,8 +1018,6 @@
      return list;
   }
   
   @Override
   public List<String> getAutoExtractOpenIds() throws Exception {
      int page = 0;
@@ -1041,7 +1043,8 @@
      
      while (true) {
         // 查询满足条件 1、2 的uid
         List<UserInfo> listUser = userInfoService.getAutoExtractUser(page * pageSize, pageSize, minSurplus, beganDate, endDate);
         List<UserInfo> listUser = userInfoService.getAutoExtractUser(page * pageSize, pageSize, minSurplus,
               beganDate, endDate);
         if (listUser == null || listUser.isEmpty())
            break;
         
@@ -1074,13 +1077,12 @@
      return listOpendIDs;
   }
   
   @Transactional(rollbackFor = Exception.class)
   private UserInfo subHongBaoByUid(Long uid, BigDecimal money, BigDecimal minSurplus) {
      UserInfo userInfo = userInfoMapper.selectByPrimaryKeyForUpdate(uid);
      if (userInfo != null && !StringUtil.isNullOrEmpty(userInfo.getWxOpenId())
            && !StringUtil.isNullOrEmpty(userInfo.getWxUnionId()) && userInfo.getMyHongBao().compareTo(minSurplus) >= 0) {
            && !StringUtil.isNullOrEmpty(userInfo.getWxUnionId())
            && userInfo.getMyHongBao().compareTo(minSurplus) >= 0) {
         // 微信提现记录
         ExtractWeiXinRecord extractRecord = new ExtractWeiXinRecord();
         extractRecord.setUid(uid);
@@ -1119,7 +1121,6 @@
      return null;
   }
   
   @Override
   public void updateManualExtractRecord(List<RedPackRecord> list) throws ExtractException{
      if (list == null || list.isEmpty())
@@ -1130,13 +1131,13 @@
      }
   }
   
   @Transactional(rollbackFor = Exception.class)
   private void updateWeiXinRecord(RedPackRecord redPackRecord){
      if (StringUtil.isNullOrEmpty(redPackRecord.getOpenId()))
         return;
      
      ExtractWeiXinRecord record  = extractWeiXinRecordService.getByOpenIdAndType(redPackRecord.getOpenId(), ExtractWeiXinRecord.TYPE_MANUAL);
      ExtractWeiXinRecord record = extractWeiXinRecordService.getByOpenIdAndType(redPackRecord.getOpenId(),
            ExtractWeiXinRecord.TYPE_MANUAL);
      if (record == null)
         return;
         
@@ -1206,7 +1207,8 @@
         // 资金明细
         UserMoneyDetail detail = new UserMoneyDetail();
         detail.setCreateTime(new Date());
         detail.setIdentifyCode(StringUtil.Md5(UserMoneyDetailTypeEnum.extractAutoWXRefund.name() + ":" + record.getId()));
         detail.setIdentifyCode(
               StringUtil.Md5(UserMoneyDetailTypeEnum.extractAutoWXRefund.name() + ":" + record.getId()));
         detail.setMoney(record.getMoney());
         detail.setTitle(UserMoneyDetailTypeEnum.extractAutoWXRefund.getDesc());
         detail.setType(UserMoneyDetailTypeEnum.extractAutoWXRefund);