Module: Reapal::Api::Order::QueryByFlowId

Defined in:
lib/reapal/api/order/query_by_flow_id.rb

Instance Method Summary collapse

Instance Method Details

#query_by_flow_id(flow_id, service_type) ⇒ Hash

4.3 订单号查询(批量)

Parameters:

  • flow_id (String)

    业务订单号【对应还款、债权转让、投标撤销、满标操作订单号】

  • service_type (Symbol)

    查询类型,取值如下

    • :tender_cancel 投标撤销查询

    • :tender_finish 满标查询

    • :tender_refund 还款查询

    • :tender_transfer 债权转让查询查询

Returns:

  • (Hash)

    结果集

    • :result [String] 业务结果:‘S/F/P’

    • :request_params [Hash] 请求参数

    • :response [Object] 请求返回对象

    • :error_code [String] 错误代号

    • :error_msg [String] 错误信息

    • :data: 具体业务返回信息

      * :orderNo [String] 商户订单号
      * :resultCode [String] 结果代码
      * :failDetails [String] 失败明细
          * :seriaNo [String] 业务流水号
          * :errorCode [String] 错误代码
          * :errorMsg [String]  错误信息
      


31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/reapal/api/order/query_by_flow_id.rb', line 31

def query_by_flow_id(flow_id, service_type)
  service = case service_type.to_sym
            when :tender_cancel
              'reapal.trust.tenderCancelMQuery'
            when :tender_finish
              'reapal.trust.tenderFinishMQuery'
            when :tender_refund
              'reapal.trust.tenderRefundMQuery'
            when :tender_transfer
              'reapal.trust.tenderTransferMQuery'
            else
              nil
            end

  if service.nil?
    res[:result] = "F"
    res[:error_msg] = "参数 service_type 错误"
    return res
  end

  post_path = '/tender/rest.htm'

  params = {
    orderNo: flow_id,
    queryTime: Time.now.strftime('%Y-%m-%d %H:%M:%S'),
  }

  res = operate_post(:query, service, params, post_path, Http::ErrorCode.query_by_flow_id, ['0000'])

  if 'P' == res[:result] && ('0001' || '0003') == res[:data][:resultCode]
    res[:result] = 'F'
  end

  Reapal.logger.info res

  res
end