Module: Reapal::Api::Order::QueryBySingleFlowId

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

Instance Method Summary collapse

Instance Method Details

#query_by_single_flow_id(flow_id, service_type) ⇒ Hash

4.2 订单号查询(单笔)

Parameters:

  • flow_id (String)

    业务订单号【对应发标、投标订单号】

  • service_type (Symbol)

    查询类型,取值如下

    • :tender_apply 发标单笔查询

    • :tender_invest 投标单笔查询

Returns:

  • (Hash)

    结果集

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

    • :request_params [Hash] 请求参数

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

    • :error_code [String] 错误代号

    • :error_msg [String] 错误信息

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

      * :orderNo [String] 


27
28
29
30
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
# File 'lib/reapal/api/order/query_by_single_flow_id.rb', line 27

def query_by_single_flow_id(flow_id, service_type)
  service = case service_type.to_sym
            when :tender_apply
              'reapal.trust.tenderApplySQuery'
            when :tender_invest
              'reapal.trust.tenderInvestSQuery'
            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_single_flow_id, ['0000'])

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

  Reapal.logger.info res

  res
end