ly-hotel 0.1.2 → 0.1.3
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/ly/hotel.rb +13 -9
- data/lib/ly/hotel/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 21ff49c907096602f79746e2bddd55745f2b86c5
|
|
4
|
+
data.tar.gz: dec4b48e9c89cc94a16f8c6330628d340af7b01e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 55b0c3143f592c4e9a205da85b2fa7f24fa397c2afef57fa111e07bfb88f08b5aa581e116a5b1d4c315228630f36c3fdd0cc0f87914b35338bfe4533c8ee2744
|
|
7
|
+
data.tar.gz: 5e2251346a5e0fb8cd3859028db23168f33ea3a863fd8963d32facda728775a94688d708ea4e3017b75346845922d0c5385aa31bfb369fcc99e1d12dac61018a
|
data/lib/ly/hotel.rb
CHANGED
|
@@ -16,10 +16,10 @@ module Ly
|
|
|
16
16
|
@api_host = api_host
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def generate_digital_sign(service_name,
|
|
19
|
+
def generate_digital_sign(service_name, req_time)
|
|
20
20
|
token_keys = {
|
|
21
21
|
"AccountID" => @account_id,
|
|
22
|
-
"ReqTime" =>
|
|
22
|
+
"ReqTime" => req_time,
|
|
23
23
|
"ServiceName" => service_name,
|
|
24
24
|
"Version" => @version
|
|
25
25
|
}
|
|
@@ -27,6 +27,10 @@ module Ly
|
|
|
27
27
|
md5.update token_keys.map { |k, v| "#{k}=#{v}" }.join("&") << @password
|
|
28
28
|
md5.hexdigest
|
|
29
29
|
end
|
|
30
|
+
|
|
31
|
+
def generate_req_time
|
|
32
|
+
Time.now.getgm.getlocal("+08:00").strftime("%Y-%m-%d %H:%M:%S.%L")
|
|
33
|
+
end
|
|
30
34
|
|
|
31
35
|
def credit_card_encrypt(key, data)
|
|
32
36
|
cipher = OpenSSL::Cipher::AES.new(128, :ECB)
|
|
@@ -35,14 +39,14 @@ module Ly
|
|
|
35
39
|
Base64.encode64(cipher.update(data) << cipher.final)
|
|
36
40
|
end
|
|
37
41
|
|
|
38
|
-
def request_xml(service_name, body = {},
|
|
42
|
+
def request_xml(service_name, body = {}, req_time = generate_req_time, digital_sign = generate_digital_sign(service_name, req_time), options = {})
|
|
39
43
|
req = {
|
|
40
44
|
"header" => {
|
|
41
45
|
"version" => @version,
|
|
42
46
|
"accountID" => @account_id,
|
|
43
47
|
"serviceName" => service_name,
|
|
44
|
-
"digitalSign" =>
|
|
45
|
-
"reqTime" =>
|
|
48
|
+
"digitalSign" => digital_sign,
|
|
49
|
+
"reqTime" => req_time
|
|
46
50
|
},
|
|
47
51
|
"body" => body
|
|
48
52
|
}
|
|
@@ -62,11 +66,11 @@ module Ly
|
|
|
62
66
|
|
|
63
67
|
def service_request(handler, service_name, req_data = {}, req_options = {}, resp_options = {})
|
|
64
68
|
|
|
65
|
-
# Current time
|
|
66
|
-
|
|
69
|
+
# Current request time
|
|
70
|
+
req_time = generate_req_time
|
|
67
71
|
|
|
68
72
|
# Generate digitalSign
|
|
69
|
-
digital_sign = generate_digital_sign(service_name,
|
|
73
|
+
digital_sign = generate_digital_sign(service_name, req_time)
|
|
70
74
|
|
|
71
75
|
# Request & Response, Xml conversion options.
|
|
72
76
|
if req_options.empty? || resp_options.empty?
|
|
@@ -83,7 +87,7 @@ module Ly
|
|
|
83
87
|
end
|
|
84
88
|
|
|
85
89
|
# Request
|
|
86
|
-
req_xml = request_xml(service_name, req_data,
|
|
90
|
+
req_xml = request_xml(service_name, req_data, req_time, digital_sign, req_options)
|
|
87
91
|
resp_xml = request(handler, req_xml)
|
|
88
92
|
result = XmlSimple.xml_in(resp_xml, resp_options)
|
|
89
93
|
|
data/lib/ly/hotel/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ly-hotel
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- UVzxV6cy
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-10-
|
|
11
|
+
date: 2016-10-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|