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 +4 -4
- data/lib/pingan_api.rb +1 -0
- data/lib/pingan_api/assistance_business.rb +6 -0
- data/lib/pingan_api/base.rb +10 -5
- data/lib/pingan_api/configuration.rb +24 -0
- data/lib/pingan_api/models/assistance/salvation_receive_request.rb +3 -1
- data/lib/pingan_api/models/assistance/upload_photo_send_request.rb +57 -0
- data/lib/pingan_api/templates/assistance/operation_send_request.xml.erb +1 -1
- data/lib/pingan_api/templates/assistance/salvation_query_request.xml.erb +1 -1
- data/lib/pingan_api/templates/assistance/salvation_receive_response.xml.erb +1 -1
- data/lib/pingan_api/templates/assistance/upload_photo_send_request.xml.erb +67 -0
- data/lib/pingan_api/version.rb +3 -2
- data/spec/insurance_spec.rb +5 -5
- data/spec/send_photo_spec.rb +25 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7749105cca23336dc92354127ff62eff0bac74c8
|
4
|
+
data.tar.gz: 6af0fba49c3f28a954a611429d75ca52047ff63d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/pingan_api/base.rb
CHANGED
@@ -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=
|
25
|
-
request.body = body.encode(
|
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
|
-
|
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
|
-
|
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(
|
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
|
@@ -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
|
@@ -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>
|
data/lib/pingan_api/version.rb
CHANGED
data/spec/insurance_spec.rb
CHANGED
@@ -12,12 +12,12 @@ describe '' do
|
|
12
12
|
# end
|
13
13
|
|
14
14
|
it "should connect mongoid" do
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
log = PinganApi::Models::Log.new
|
16
|
+
log.request_body = "asdasdwwd"
|
17
|
+
log.save
|
18
18
|
|
19
|
-
|
20
|
-
#
|
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.
|
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:
|
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.
|
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
|