public static boolean checkFreezeResult(CashStream cashStream, String body) throws Exception {
    boolean flag = true;
    Gson gson = new Gson();
    List<Map<String, String>> res = (List<Map<String, String>>) gson.fromJson(body, List.class);

    if ((res == null || res.isEmpty()) && cashStream.getState() == cashStream.STATE_INIT) {
      return true;
    } else if ((res == null || res.isEmpty())
        && cashStream.getLenderAccountId() == null
        && cashStream.getBorrowerAccountId() != null) {
      return true;
    } else if (cashStream.getState() == cashStream.STATE_INIT) {
      List<CashStream> cash =
          cashStreamDao.findBySubmitAndActionAndState(
              cashStream.getSubmitId(), cashStream.getAction(), CashStream.STATE_SUCCESS);
      if (cash != null && !cash.isEmpty()) {
        return true;
      } else {
        Map<String, String> result = res.get(0);
        if ("支付超时".equals(cashStream.getDescription())) {
          return true;
        } else if ("0".equals(result.get("TransferState")) && "0".equals(result.get("ActState"))) {
          return true;
        } else {
          throw new Exception("现金流[ID:" + cashStream.getId() + "]有问题: 平台未处理的现金流在第三方上有对应的记录!");
        }
      }
    } else if ((res == null || res.isEmpty())) {
      throw new Exception("现金流[ID:" + cashStream.getId() + "]有问题: 投标冻结找不到第三方上对应的记录!");
    }

    String laccount = "";

    Lender lender = lenderDao.findByAccountID(cashStream.getLenderAccountId());

    if (lender != null) {
      laccount = lender.getThirdPartyAccount();
    } else {
      laccount =
          borrowerDao.findByAccountID(cashStream.getBorrowerAccountId()).getThirdPartyAccount();
    }

    Map<String, String> result = res.get(0);

    // 付款人乾多多标识
    String LoanOutMoneymoremore = result.get("LoanOutMoneymoremore");

    // 收款人乾多多标识
    String LoanInMoneymoremore = result.get("LoanInMoneymoremore");

    // 额度
    String Amount = result.get("Amount");
    // 乾多多流水号
    String LoanNo = result.get("LoanNo");

    // 转账类型
    String TransferAction = result.get("TransferAction");

    boolean accountflag = laccount.equals(LoanOutMoneymoremore);

    boolean loanflag =
        cashStream.getLoanNo() == null ? false : cashStream.getLoanNo().equals(LoanNo);

    // 投标
    boolean actionflag = lender == null ? TransferAction.equals("2") : TransferAction.equals("1");

    boolean totalflag =
        cashStream
                .getChiefamount()
                .add(cashStream.getInterest())
                .negate()
                .compareTo(new BigDecimal(Amount))
            == 0;

    flag = flag && loanflag && totalflag && accountflag && actionflag;

    StringBuilder message = new StringBuilder();

    message.append("现金流[ID:" + cashStream.getId() + "]: ");

    if (loanflag == false) {
      message.append(" 乾多多流水号不一致:[平台" + cashStream.getLoanNo() + "][钱多多" + LoanNo + "] ");
    }

    if (totalflag == false) {
      message.append(
          " 金额不一致:[平台" + cashStream.getChiefamount().negate().toString() + "][钱多多" + Amount + "] ");
    }

    if (accountflag == false) {
      message.append(" 账户不一致:[平台:" + laccount + "][钱多多 :" + LoanOutMoneymoremore + "] ");
    }

    if (actionflag == false) {
      message.append(" 行为不一致:[平台 投标][钱多多 还款] ");
    }

    if (!flag) {
      throw new Exception(message.toString());
    }

    return flag;
  }