pingan_api 0.1.0 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6034e377df491bbd6661177df11cac41f919df32
4
- data.tar.gz: 10151d9e1260f5713a46d7ce45798448e45231f5
3
+ metadata.gz: 7749105cca23336dc92354127ff62eff0bac74c8
4
+ data.tar.gz: 6af0fba49c3f28a954a611429d75ca52047ff63d
5
5
  SHA512:
6
- metadata.gz: b5fd4403b6ec4d28fb56538f80510e4ba4c1d1e474cb5f6e6d715dd062ece9704842b0f2e8393fec3f4d3cbc1acef5c652e4d9a5febd22cc9ef498e644d82037
7
- data.tar.gz: fa8610af10cddff123de18404dd75112a9c9553d3218080391faf4744fd43889e5605c93c20dfdb5d34074609f6632ff7b2758a54b8ce3661efa838fa5af8991
6
+ metadata.gz: 05fe6cbf53fcde1aef662933e8b467dfc357c0535b044707a78a0d54bef3a2ab83a2881aeaa5611c65198c769818d27047bdb08589873b0b1a36ef2e98a4db0f
7
+ data.tar.gz: e4cb5ec1c9829a27d85ba52adec979c3145c82f25da08a9b07a05ac3cef937d1ec7444ff58cf2b59692c4275b84753d1dc2dd4124c0ab2590c4f09d5cd306b06
data/lib/pingan_api.rb CHANGED
@@ -11,6 +11,7 @@ require 'pingan_api/models/assistance/operation_send_request'
11
11
  require 'pingan_api/models/assistance/operation_send_response'
12
12
  require 'pingan_api/models/assistance/salvation_query_request'
13
13
  require 'pingan_api/models/assistance/salvation_query_response'
14
+ require 'pingan_api/models/assistance/upload_photo_send_request'
14
15
 
15
16
  module PinganApi
16
17
 
@@ -23,5 +23,11 @@ module PinganApi
23
23
  data = send_request_with_data_and_template(salvation_query, PinganApi.config.salvation_query_request_template)
24
24
  return PinganApi::Models::Assistance::SalvationQueryResponse.from_xml(data)
25
25
  end
26
+
27
+ # 发送照片
28
+ def send_photo(photo)
29
+ data = send_request_with_data_and_template(photo, PinganApi.config.upload_photo_send_request_template)
30
+ return PinganApi::Models::Assistance::OperationSendResponse.from_xml(data)
31
+ end
26
32
  end
27
33
  end
@@ -16,13 +16,14 @@ module PinganApi
16
16
  http = Net::HTTP.new(uri.host, uri.port)
17
17
  http.use_ssl = true if uri.scheme == "https"
18
18
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
19
+ http.read_timeout = 10
19
20
 
20
21
  pem = File.read(PinganApi.config.cert)
21
22
  http.cert = OpenSSL::X509::Certificate.new(pem)
22
23
  http.key = OpenSSL::PKey::RSA.new(pem)
23
24
 
24
- request = Net::HTTP::Post.new("/", initheader = {'Content-Type' =>'application/xml;charset=GBK'})
25
- request.body = body.encode('GBK')
25
+ request = Net::HTTP::Post.new("/", initheader = {'Content-Type' => 'application/xml;charset=' + PinganApi.config.encoding})
26
+ request.body = body.encode(PinganApi.config.encoding)
26
27
 
27
28
  return send_request_and_log(http, request)
28
29
  end
@@ -33,12 +34,16 @@ module PinganApi
33
34
  #log.write_request(request)
34
35
  #begin
35
36
  # TODO, save response
36
- #File.open("tmp/#{Time.now.to_i}_request.xml", "w") { |file| file.write request.body }
37
+ if PinganApi.config.output_log
38
+ File.open("tmp/#{Time.now.to_i}_request.xml", "w") { |file| file.write request.body }
39
+ end
37
40
  res = http.request(request)
38
41
  #log.write_response(res)
39
- #File.open("tmp/#{Time.now.to_i}_response.xml", "w") { |file| file.write res.body.force_encoding("GBK") }
42
+ if PinganApi.config.output_log
43
+ File.open("tmp/#{Time.now.to_i}_response.xml", "w") { |file| file.write res.body.force_encoding(PinganApi.config.encoding) }
44
+ end
40
45
 
41
- return res.body.force_encoding("GBK")
46
+ return res.body.force_encoding(PinganApi.config.encoding)
42
47
  #rescue => e
43
48
  #log.write_error(e.to_s)
44
49
  # return nil
@@ -39,5 +39,29 @@ module PinganApi
39
39
  def operation_send_request_template=(template)
40
40
  @operation_send_request_template = template
41
41
  end
42
+
43
+ def upload_photo_send_request_template
44
+ @upload_photo_send_request_template ||= File.join(File.dirname(File.expand_path(__FILE__)), "templates/assistance/upload_photo_send_request.xml.erb")
45
+ end
46
+
47
+ def upload_photo_send_request_template=(template)
48
+ @upload_photo_send_request_template = template
49
+ end
50
+
51
+ def output_log
52
+ @output_log ||= false
53
+ end
54
+
55
+ def output_log=(output_log)
56
+ @output_log = output_log
57
+ end
58
+
59
+ def encoding
60
+ @encoding ||= "GBK"
61
+ end
62
+
63
+ def encoding=(encoding)
64
+ @encoding = encoding
65
+ end
42
66
  end
43
67
  end
@@ -36,7 +36,9 @@ module PinganApi
36
36
  :gps_x,
37
37
  :gps_y,
38
38
  :salvation_factory_id,
39
- :data_source
39
+ :data_source,
40
+ :salvation_flag,
41
+ :client_type
40
42
 
41
43
  end
42
44
  end
@@ -0,0 +1,57 @@
1
+ require 'pingan_api/models/extensions/attributes'
2
+ require 'pingan_api/models/extensions/map'
3
+
4
+ module PinganApi
5
+ module Models
6
+ module Assistance
7
+ class UploadPhotoSendRequest
8
+ include PinganApi::Models::Extensions::Attributes
9
+ include PinganApi::Models::Extensions::Map
10
+
11
+ attr_accessor :tran_code,
12
+ :bank_code,
13
+ :brno,
14
+ :tellerno,
15
+ :bk_acct_datetime,
16
+ :bk_serial,
17
+ :bk_orgn_sril,
18
+ :bk_tran_chnl,
19
+ :region_code,
20
+
21
+ :salvation_id,
22
+ :salvation_company_id,
23
+ :car_mark,
24
+
25
+ :photo1_shot_date,
26
+ :photo1_uploaded_date,
27
+ :photo1_gps_x,
28
+ :photo1_gps_y,
29
+ :photo1_name,
30
+
31
+ :photo2_shot_date,
32
+ :photo2_uploaded_date,
33
+ :photo2_gps_x,
34
+ :photo2_gps_y,
35
+ :photo2_name,
36
+
37
+ :photo3_shot_date,
38
+ :photo3_uploaded_date,
39
+ :photo3_gps_x,
40
+ :photo3_gps_y,
41
+ :photo3_name,
42
+
43
+ :photo4_shot_date,
44
+ :photo4_uploaded_date,
45
+ :photo4_gps_x,
46
+ :photo4_gps_y,
47
+ :photo4_name,
48
+
49
+ :photo5_shot_date,
50
+ :photo5_uploaded_date,
51
+ :photo5_gps_x,
52
+ :photo5_gps_y,
53
+ :photo5_name
54
+ end
55
+ end
56
+ end
57
+ end
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="GBK" ?>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
2
  <Request>
3
3
  <Head>
4
4
  <TRAN_CODE><%= tran_code %></TRAN_CODE>
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="GBK" ?>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
2
  <Request>
3
3
  <Head>
4
4
  <TRAN_CODE><%= tran_code %></TRAN_CODE>
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
2
  <Response>
3
3
  <Head>
4
4
  <TRAN_CODE><%= tran_code %></TRAN_CODE>
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0" encoding="GBK" ?>
2
+ <Request>
3
+ <Head>
4
+ <TRAN_CODE><%= tran_code %></TRAN_CODE>
5
+ <BANK_CODE><%= bank_code %></BANK_CODE>
6
+ <BRNO><%= brno %></BRNO>
7
+ <TELLERNO><%= tellerno %></TELLERNO>
8
+ <BK_ACCT_DATE><%= bk_acct_datetime.strftime('%Y%m%d') %></BK_ACCT_DATE>
9
+ <BK_ACCT_TIME><%= bk_acct_datetime.strftime('%H:%M:%S') %></BK_ACCT_TIME>
10
+ <BK_SERIAL><%= bk_serial %></BK_SERIAL>
11
+ <BK_ORGN_SRIL><%= bk_orgn_sril %></BK_ORGN_SRIL>
12
+ <BK_TRAN_CHNL><%= bk_tran_chnl %></BK_TRAN_CHNL>
13
+ <REGION_CODE><%= region_code %></REGION_CODE>
14
+ </Head>
15
+ <Body>
16
+ <Apply>
17
+ <SALVATION_ID><%=salvation_id%></SALVATION_ID>
18
+ <SALVATION_COMPANY_ID><%=salvation_company_id%></SALVATION_COMPANY_ID>
19
+ <CAR_MARK><%=car_mark%></CAR_MARK>
20
+ <% if photo1_name %>
21
+ <PHOTO1>
22
+ <SHOT_DATE><%=photo1_shot_date.strftime('%Y-%m-%d %H:%M:%S') unless photo1_shot_date.nil? %></SHOT_DATE>
23
+ <UPLOADE_DATE><%=photo1_uploaded_date.strftime('%Y-%m-%d %H:%M:%S') unless photo1_uploaded_date.nil?%></UPLOADE_DATE>
24
+ <GPS_X><%=photo1_gps_x%></GPS_X>
25
+ <GPS_Y><%=photo1_gps_y%></GPS_Y>
26
+ <PHOTO_NAME><%=photo1_name%></PHOTO_NAME>
27
+ </PHOTO1>
28
+ <% end %>
29
+ <% if photo2_name %>
30
+ <PHOTO2>
31
+ <SHOT_DATE><%=photo2_shot_date.strftime('%Y-%m-%d %H:%M:%S') unless photo2_shot_date.nil? %></SHOT_DATE>
32
+ <UPLOADE_DATE><%=photo2_uploaded_date.strftime('%Y-%m-%d %H:%M:%S') unless photo2_uploaded_date.nil? %></UPLOADE_DATE>
33
+ <GPS_X><%=photo2_gps_x%></GPS_X>
34
+ <GPS_Y><%=photo2_gps_y%></GPS_Y>
35
+ <PHOTO_NAME><%=photo2_name%></PHOTO_NAME>
36
+ </PHOTO2>
37
+ <% end %>
38
+ <% if photo3_name %>
39
+ <PHOTO3>
40
+ <SHOT_DATE><%=photo3_shot_date.strftime('%Y-%m-%d %H:%M:%S') unless photo3_shot_date.nil? %></SHOT_DATE>
41
+ <UPLOADE_DATE><%=photo3_uploaded_date.strftime('%Y-%m-%d %H:%M:%S') unless photo3_uploaded_date.nil? %></UPLOADE_DATE>
42
+ <GPS_X><%=photo3_gps_x%></GPS_X>
43
+ <GPS_Y><%=photo3_gps_y%></GPS_Y>
44
+ <PHOTO_NAME><%=photo3_name%></PHOTO_NAME>
45
+ </PHOTO3>
46
+ <% end %>
47
+ <% if photo4_name %>
48
+ <PHOTO4>
49
+ <SHOT_DATE><%=photo4_shot_date.strftime('%Y-%m-%d %H:%M:%S') unless photo4_shot_date.nil? %></SHOT_DATE>
50
+ <UPLOADE_DATE><%=photo4_uploaded_date.strftime('%Y-%m-%d %H:%M:%S') unless photo4_uploaded_date.nil? %></UPLOADE_DATE>
51
+ <GPS_X><%=photo4_gps_x%></GPS_X>
52
+ <GPS_Y><%=photo4_gps_y%></GPS_Y>
53
+ <PHOTO_NAME><%=photo4_name%></PHOTO_NAME>
54
+ </PHOTO4>
55
+ <% end %>
56
+ <% if photo5_name %>
57
+ <PHOTO5>
58
+ <SHOT_DATE><%=photo5_shot_date.strftime('%Y-%m-%d %H:%M:%S') unless photo5_shot_date.nil? %></SHOT_DATE>
59
+ <UPLOADE_DATE><%=photo5_uploaded_date.strftime('%Y-%m-%d %H:%M:%S') unless photo5_uploaded_date.nil? %></UPLOADE_DATE>
60
+ <GPS_X><%=photo5_gps_x%></GPS_X>
61
+ <GPS_Y><%=photo5_gps_y%></GPS_Y>
62
+ <PHOTO_NAME><%=photo5_name%></PHOTO_NAME>
63
+ </PHOTO5>
64
+ <% end %>
65
+ </Apply>
66
+ </Body>
67
+ </Request>
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  module PinganApi
2
- VERSION = "0.1.0"
3
- end
3
+ VERSION = "0.1.10"
4
+ end
@@ -12,12 +12,12 @@ describe '' do
12
12
  # end
13
13
 
14
14
  it "should connect mongoid" do
15
- # log = PinganApi::Models::Log.new
16
- # log.request_body = "asdasdwwd"
17
- # log.save
15
+ log = PinganApi::Models::Log.new
16
+ log.request_body = "asdasdwwd"
17
+ log.save
18
18
 
19
- # p log
20
- # PinganApi::Models::Log.write
19
+ p log
20
+ #PinganApi::Models::Log.write
21
21
  true.should be_true
22
22
  end
23
23
 
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe "AssistanceBusiness", "#feature" do
4
+
5
+ it "can send photo" do
6
+ data = PinganApi::Models::Assistance::UploadPhotoSendRequest.new
7
+ data.tran_code = "100285"
8
+ data.bank_code = "99940000"
9
+ #data.salvation_id = aa_case.out_source_no
10
+ data.brno = "000000"
11
+ data.tellerno = ""
12
+ data.bk_acct_datetime = Time.now
13
+ data.bk_serial = ""
14
+ data.bk_orgn_sril = ""
15
+ data.bk_tran_chnl = "WEB"
16
+ data.region_code = "999999"
17
+ p data
18
+ back = PinganApi::AssistanceBusiness.new.send_photo(data)
19
+ p back
20
+ 'back'.should_not be_empty
21
+ end
22
+
23
+
24
+
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pingan_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - liuzelei
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-13 00:00:00.000000000 Z
11
+ date: 2015-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -118,12 +118,14 @@ files:
118
118
  - lib/pingan_api/models/assistance/salvation_query_response.rb
119
119
  - lib/pingan_api/models/assistance/salvation_receive_request.rb
120
120
  - lib/pingan_api/models/assistance/salvation_receive_response.rb
121
+ - lib/pingan_api/models/assistance/upload_photo_send_request.rb
121
122
  - lib/pingan_api/models/extensions/attributes.rb
122
123
  - lib/pingan_api/models/extensions/map.rb
123
124
  - lib/pingan_api/models/log.rb
124
125
  - lib/pingan_api/templates/assistance/operation_send_request.xml.erb
125
126
  - lib/pingan_api/templates/assistance/salvation_query_request.xml.erb
126
127
  - lib/pingan_api/templates/assistance/salvation_receive_response.xml.erb
128
+ - lib/pingan_api/templates/assistance/upload_photo_send_request.xml.erb
127
129
  - lib/pingan_api/templates/samples/assistance/operation_send_request.xml.erb
128
130
  - lib/pingan_api/templates/samples/assistance/operation_send_response.xml.erb
129
131
  - lib/pingan_api/templates/samples/assistance/salvation_query_request.xml.erb
@@ -141,6 +143,7 @@ files:
141
143
  - spec/samples/assistance/salvation_query_response.xml.erb
142
144
  - spec/samples/assistance/salvation_receive_request.xml.erb
143
145
  - spec/samples/assistance/salvation_receive_response.xml.erb
146
+ - spec/send_photo_spec.rb
144
147
  - spec/spec_helper.rb
145
148
  - test/test_assistance_bussiness.rb
146
149
  - test/test_helper.rb
@@ -165,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
168
  version: '0'
166
169
  requirements: []
167
170
  rubyforge_project:
168
- rubygems_version: 2.1.3
171
+ rubygems_version: 2.4.5
169
172
  signing_key:
170
173
  specification_version: 4
171
174
  summary: "平安银行业务接口"
@@ -179,6 +182,7 @@ test_files:
179
182
  - spec/samples/assistance/salvation_query_response.xml.erb
180
183
  - spec/samples/assistance/salvation_receive_request.xml.erb
181
184
  - spec/samples/assistance/salvation_receive_response.xml.erb
185
+ - spec/send_photo_spec.rb
182
186
  - spec/spec_helper.rb
183
187
  - test/test_assistance_bussiness.rb
184
188
  - test/test_helper.rb