pingan_api 0.1.0 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
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