cmcc_hxy 0.1.5 → 0.2.0
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/.gitignore +2 -0
- data/cmcc_hxy.gemspec +1 -0
- data/lib/cmcc_hxy.rb +1 -0
- data/lib/cmcc_hxy/client.rb +2 -17
- data/lib/cmcc_hxy/config.rb +2 -1
- data/lib/cmcc_hxy/rest_client.rb +24 -0
- data/lib/cmcc_hxy/sms_client.rb +80 -0
- data/lib/cmcc_hxy/version.rb +1 -1
- metadata +19 -5
- data/Gemfile.lock +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5bd2ac9ea657119d886c6603654661fb99c666ab06dac227bd3091b6560c11db
|
4
|
+
data.tar.gz: 38eebbbde7b839491f5cff2c5313254c96cef521d38ba62475c6aff0c6e33e96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f39de22d0ac1140f48731ecc4bbbc1ee5a4e60360094d97c01a1bebe2dd6b85586fb920b7d27f4639f53bcc2ee6509c4d3a74be8d592c8044e0c07528e8dc4fa
|
7
|
+
data.tar.gz: 228abea7a4f295108eaf8238f021a593431a9aea333b5d4c0e1c957cdb66bbcf3d6eb79fac312c13cc777ca78bd7fe1ce12328338960184aebe6068b57bf3e2e
|
data/.gitignore
CHANGED
data/cmcc_hxy.gemspec
CHANGED
@@ -27,5 +27,6 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency "bundler", "~> 1.16"
|
28
28
|
spec.add_development_dependency "rake", "~> 10.0"
|
29
29
|
spec.add_development_dependency "minitest", "~> 5.0"
|
30
|
+
spec.add_development_dependency "webmock", "~> 3.8.3"
|
30
31
|
spec.add_development_dependency "rest-client", "~> 2.0.2"
|
31
32
|
end
|
data/lib/cmcc_hxy.rb
CHANGED
data/lib/cmcc_hxy/client.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
require '
|
2
|
-
require 'rest-client'
|
3
|
-
require 'cmcc_hxy/error'
|
1
|
+
require 'cmcc_hxy/rest_client'
|
4
2
|
require 'cmcc_hxy/config'
|
5
3
|
|
6
4
|
class CmccHxy::Client
|
@@ -84,19 +82,6 @@ class CmccHxy::Client
|
|
84
82
|
private
|
85
83
|
|
86
84
|
def request(url, params)
|
87
|
-
|
88
|
-
response = RestClient.get(url, params)
|
89
|
-
result = JSON.parse(response)
|
90
|
-
rescue JSON::ParserError
|
91
|
-
raise CmccHxy::Error.new("移动和校园 JSON 解析出错")
|
92
|
-
rescue RestClient::ExceptionWithResponse => e
|
93
|
-
raise CmccHxy::Error.new("移动和校园请求出错 #{e.response.code}")
|
94
|
-
end
|
95
|
-
|
96
|
-
if response.code == 200 && result.is_a?(Hash) && result.key?('error_code')
|
97
|
-
raise CmccHxy::Error.new(result.fetch('error_msg'))
|
98
|
-
end
|
99
|
-
|
100
|
-
result
|
85
|
+
CmccHxy::RestClient.new(:get, url, params).request
|
101
86
|
end
|
102
87
|
end
|
data/lib/cmcc_hxy/config.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'rest-client'
|
3
|
+
require 'cmcc_hxy/error'
|
4
|
+
|
5
|
+
class CmccHxy::RestClient
|
6
|
+
def initialize(method, url, params)
|
7
|
+
@method, @url, @params = method, url, params
|
8
|
+
end
|
9
|
+
|
10
|
+
def request
|
11
|
+
response = RestClient::Request.execute(method: @method, url: @url, headers: {params: @params})
|
12
|
+
result = JSON.parse(response)
|
13
|
+
rescue JSON::ParserError
|
14
|
+
raise CmccHxy::Error.new("移动和校园 JSON 解析出错")
|
15
|
+
rescue RestClient::ExceptionWithResponse => e
|
16
|
+
raise CmccHxy::Error.new("移动和校园请求出错 #{e.response.code}")
|
17
|
+
else
|
18
|
+
if response.code == 200 && result.is_a?(Hash) && result.key?('error_code')
|
19
|
+
raise CmccHxy::Error.new(result.fetch('error_msg'))
|
20
|
+
end
|
21
|
+
|
22
|
+
result
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require 'cmcc_hxy/rest_client'
|
2
|
+
require 'cmcc_hxy/config'
|
3
|
+
|
4
|
+
class CmccHxy::SmsClient
|
5
|
+
def initialize(appid)
|
6
|
+
@appid = appid
|
7
|
+
end
|
8
|
+
|
9
|
+
# 接口权限:系统接口,需要分配IP鉴权才能调用
|
10
|
+
# MsgType:SYS_SEND_SMS_BYMOBILE
|
11
|
+
# 接口地址:http:// IP:PORT /typtInterface/interface/SmsSendServlet
|
12
|
+
#
|
13
|
+
# 请求:第三方应用–>开放平台
|
14
|
+
# 参数名称 类型 是否必需 描述
|
15
|
+
# ---------------------------------------------------------------
|
16
|
+
# appid String 是 第三方应用ID
|
17
|
+
# sendmobile String 是 发送人手机号
|
18
|
+
# smstype int 是 0:系统 1考勤 2通知 3 消费
|
19
|
+
# smscontent String 是 短信内容
|
20
|
+
# receivermobile String 是 接收人手机号
|
21
|
+
# receivers [{"receivermobile": receivermobile}]
|
22
|
+
#
|
23
|
+
# 响应:开放平台–>第三方应用
|
24
|
+
# 参数名称 类型 是否必需 描述
|
25
|
+
# ---------------------------------------------------------------
|
26
|
+
# smssn String 是 短信标示唯一码(用于短信报告查询)
|
27
|
+
def sys_send_sms(smstype: 0, sendmobile:, smscontent:, phones:)
|
28
|
+
params = {
|
29
|
+
MsgType: "SYS_SEND_SMS_BYMOBILE",
|
30
|
+
Data: {
|
31
|
+
appid: @appid,
|
32
|
+
smstype: smstype,
|
33
|
+
sendmobile: sendmobile,
|
34
|
+
smscontent: smscontent,
|
35
|
+
receivers: phones.map { |phone| {receivermobile: phone} }
|
36
|
+
}.to_json
|
37
|
+
}
|
38
|
+
|
39
|
+
CmccHxy::RestClient.new(:post, url, params).request
|
40
|
+
end
|
41
|
+
|
42
|
+
# 接口权限:系统接口,需要分配权限才能调用
|
43
|
+
# MsgType:QRY_SMS_RESULT
|
44
|
+
# 接口地址:http:// IP:PORT /typtInterface/interface/SmsSendServlet
|
45
|
+
#
|
46
|
+
# 请求:第三方应用–>开放平台
|
47
|
+
# 参数名称 类型 是否必需 描述
|
48
|
+
# ---------------------------------------------------------------
|
49
|
+
# smssn String 是 短信标示唯一码(用于短信报告查询)
|
50
|
+
#
|
51
|
+
# 响应:开放平台–>第三方应用
|
52
|
+
# 参数名称 类型 是否必需 描述
|
53
|
+
# ---------------------------------------------------------------
|
54
|
+
# smssn String 是 短信标示唯一码(用于短信报告查询)
|
55
|
+
# sendid int 是 发送人ID
|
56
|
+
# sendmobile String 发送人手机号
|
57
|
+
# username String 发送人姓名
|
58
|
+
# sendcount Int 接收人条数
|
59
|
+
# sendtime String 发送时间
|
60
|
+
# sends
|
61
|
+
# receiverid Int 是 接收人ID
|
62
|
+
# receivermobile String 是 接收人手机号
|
63
|
+
# receivername String 接收人姓名
|
64
|
+
# ismgstatus String 状态报告状态
|
65
|
+
# rpttime String 状态报告时间
|
66
|
+
def qry_sms_result(smssn)
|
67
|
+
params = {
|
68
|
+
MsgType: "QRY_SMS_RESULT",
|
69
|
+
Data: {appid: @appid, smssn: smssn}.to_json
|
70
|
+
}
|
71
|
+
|
72
|
+
CmccHxy::RestClient.new(:post, url, params).request
|
73
|
+
end
|
74
|
+
|
75
|
+
private
|
76
|
+
|
77
|
+
def url
|
78
|
+
@url ||= "#{CmccHxy::Config.hxy_sms_host}/typtInterface/sms/smsSend"
|
79
|
+
end
|
80
|
+
end
|
data/lib/cmcc_hxy/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cmcc_hxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zidcn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: webmock
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.8.3
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.8.3
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rest-client
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,7 +90,6 @@ files:
|
|
76
90
|
- ".gitignore"
|
77
91
|
- ".travis.yml"
|
78
92
|
- Gemfile
|
79
|
-
- Gemfile.lock
|
80
93
|
- LICENSE.txt
|
81
94
|
- README.md
|
82
95
|
- Rakefile
|
@@ -87,6 +100,8 @@ files:
|
|
87
100
|
- lib/cmcc_hxy/client.rb
|
88
101
|
- lib/cmcc_hxy/config.rb
|
89
102
|
- lib/cmcc_hxy/error.rb
|
103
|
+
- lib/cmcc_hxy/rest_client.rb
|
104
|
+
- lib/cmcc_hxy/sms_client.rb
|
90
105
|
- lib/cmcc_hxy/version.rb
|
91
106
|
homepage: https://github.com/zidcn/cmcc_hxy.git
|
92
107
|
licenses:
|
@@ -107,8 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
122
|
- !ruby/object:Gem::Version
|
108
123
|
version: '0'
|
109
124
|
requirements: []
|
110
|
-
|
111
|
-
rubygems_version: 2.7.6
|
125
|
+
rubygems_version: 3.1.3
|
112
126
|
signing_key:
|
113
127
|
specification_version: 4
|
114
128
|
summary: CMCC hxy.
|
data/Gemfile.lock
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
cmcc_hxy (0.1.5)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
domain_name (0.5.20180417)
|
10
|
-
unf (>= 0.0.5, < 1.0.0)
|
11
|
-
http-cookie (1.0.3)
|
12
|
-
domain_name (~> 0.5)
|
13
|
-
mime-types (3.2.2)
|
14
|
-
mime-types-data (~> 3.2015)
|
15
|
-
mime-types-data (3.2018.0812)
|
16
|
-
minitest (5.11.3)
|
17
|
-
netrc (0.11.0)
|
18
|
-
rake (10.5.0)
|
19
|
-
rest-client (2.0.2)
|
20
|
-
http-cookie (>= 1.0.2, < 2.0)
|
21
|
-
mime-types (>= 1.16, < 4.0)
|
22
|
-
netrc (~> 0.8)
|
23
|
-
unf (0.1.4)
|
24
|
-
unf_ext
|
25
|
-
unf_ext (0.0.7.5)
|
26
|
-
|
27
|
-
PLATFORMS
|
28
|
-
ruby
|
29
|
-
|
30
|
-
DEPENDENCIES
|
31
|
-
bundler (~> 1.16)
|
32
|
-
cmcc_hxy!
|
33
|
-
minitest (~> 5.0)
|
34
|
-
rake (~> 10.0)
|
35
|
-
rest-client (~> 2.0.2)
|
36
|
-
|
37
|
-
BUNDLED WITH
|
38
|
-
1.16.2
|