kuai_jie_qian 0.2.0 → 0.3.0

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: 4b31b5d737f12e893068a9a8f03a904c903f7dd4
4
- data.tar.gz: 2b63a115fe87d393763b523c274fd85979a83c8d
3
+ metadata.gz: b0c8c7da33b874568b4364f198384555ff7906bb
4
+ data.tar.gz: abc08626958873da930b3a10fc140b9a6ce478b2
5
5
  SHA512:
6
- metadata.gz: 7b0a021b7dd7f7787f541e68d7a187d6f5cce0401ced840b89f6099aff0c3ee1545a32d117527d03ec95bfa12d9afe47a301832806687da9656707833bd94ee4
7
- data.tar.gz: 453d503b7c55d965fab8b5731ed247f1e8976fde4d37960c861b25977e178f80c9029acd9d39a4240c8c7632c1df5dae75b6330dc342646c8bc1b2f3bbc20b0c
6
+ metadata.gz: dad7cc8d77a81c56d46c40c0daa01a5a2635016b0e6d93188e4d866f59832d901d9bc5d77e36415bf19af72aa54ae124b8ad25cc3b445e636349809d679186e7
7
+ data.tar.gz: c859df6d305b82b00029d28ecf8e174d300c4fd6af9b0b30a221ae044381c3bc2ba7e3ea693100d5fefd721e1b85de7ee1b1d5e68e57db4bcba08f188136bbcc
@@ -40,6 +40,5 @@ Gem::Specification.new do |spec|
40
40
  spec.add_dependency 'rest-client', '~> 2.0', '>= 2.0.2'
41
41
  spec.add_dependency 'pdfkit', '~> 0.8.2'
42
42
  spec.add_dependency 'wkhtmltopdf-binary', '~> 0.12.3.1'
43
- spec.add_dependency 'grim'
44
43
  spec.add_dependency 'rmagick', '~>2.16.0'
45
44
  end
@@ -4,8 +4,7 @@ require "json"
4
4
  require "rest-client"
5
5
  require "pdfkit"
6
6
  require "base64"
7
- require "grim"
8
- require 'RMagick'
7
+ require 'rmagick'
9
8
 
10
9
  require "kuai_jie_qian/version"
11
10
  require "kuai_jie_qian/logger"
@@ -6,7 +6,6 @@ module KuaiJieQian
6
6
  #
7
7
  # 平台自身签署摘要(文件流)
8
8
  # @param file_stream [file] 文件流
9
- # @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
10
9
  # @param seal_position_info [hash] 签章信息
11
10
  # * pos_page [String] 签署页码, 若为多页签章,支持页码格式“1-3,5,8“, 坐标定位时不可空
12
11
  # * pos_type [Integer] 默认0(若为关键字定位,签章类型(signType)必须指定为关键字定位才生效)
@@ -14,15 +13,16 @@ module KuaiJieQian
14
13
  # * pos_x [Float] 签署位置X坐标
15
14
  # * pos_y [Float] 签署位置Y坐标
16
15
  # * width [Float] 印章展现高度
16
+ # @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
17
17
  #
18
18
  # @return [ Hash ] 结果集
19
19
  # * errCode [Integer] 错误码
20
20
  # * msg [String] 错误信息
21
21
  # * errShow [Boolean] 错误信息是否显示
22
22
  # * signServiceId [String] 签署记录id
23
- # * stream [String] 签署后的文件base64
23
+ # * stream [String] 签署后的文件 base64
24
24
  #
25
- def merchant_sign(file_stream, sign_type, seal_position_info)
25
+ def merchant_sign(file_stream, seal_position_info, sign_type="Key")
26
26
  path = "tech-sdkwrapper/timevale/sign/selfStreamSign"
27
27
 
28
28
  params = {
@@ -31,7 +31,9 @@ module KuaiJieQian
31
31
  :signPos => seal_position_info.to_json,
32
32
  }
33
33
 
34
- KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
34
+ result = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
35
+
36
+ Base64.decode64(result[:stream])
35
37
  end
36
38
  #
37
39
  # 平台自身签署摘要(本地)
@@ -16,67 +16,51 @@ module KuaiJieQian
16
16
  # * seal_data [String] 电子印章图片base64数据
17
17
  #
18
18
  def user_register(name, id, color, template_type, reg_type)
19
- account_id = if 'PERSONAL' == reg_type
20
- create_person_account(name, id)
21
- else
22
- create_company_account(name, id, reg_type)
23
- end
24
-
25
- seal_data = create_company_seal(account_id, color, template_type)
19
+ account_id = create_account(name, id, reg_type)
20
+ seal_data = create_seal(reg_type, account_id, color, template_type)
26
21
 
27
22
  return { :account_id => account_id, :seal_data => seal_data}
28
23
  end
29
24
 
30
-
31
25
  private
32
26
 
33
- # 创建个人用户账号
34
- def create_person_account(user_name, id)
35
- path = "tech-sdkwrapper/timevale/account/addPerson"
36
- params = {
37
- "name": user_name,
38
- "idNo": id
39
- }
27
+ def create_account(user_name, id, reg_type)
28
+ if 'PERSONAL' == reg_type
29
+ path = "tech-sdkwrapper/timevale/account/addPerson"
30
+ params = {
31
+ name: user_name,
32
+ idNo: id
33
+ }
34
+ else
35
+ path = "tech-sdkwrapper/timevale/account/addOrganize"
36
+ params = {
37
+ name: user_name,
38
+ organCode: id,
39
+ regType: reg_type
40
+ }
41
+ end
42
+
40
43
  account_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
44
+
41
45
  return account_data[:accountId]
42
46
  end
43
47
 
44
- #创建个人用户印章
45
- def create_person_seal(account_id, color, template_type)
46
- path = "tech-sdkwrapper/timevale/seal/addPersonSeal"
48
+ def create_seal(reg_type, account_id, color, template_type)
49
+ path = if 'PERSONAL' == reg_type
50
+ "tech-sdkwrapper/timevale/seal/addPersonSeal"
51
+ else
52
+ "tech-sdkwrapper/timevale/seal/addOrganizeSeal"
53
+ end
54
+
47
55
  params = {
48
- "accountId": account_id,
49
- "color": color,
50
- "templateType": template_type
56
+ accountId: account_id,
57
+ color: color,
58
+ templateType: template_type
51
59
  }
52
60
  seal_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
53
- return seal_data[:sealData]
54
- end
55
61
 
56
- #创建企业用户账号
57
- def create_company_account(name, id, reg_type)
58
- path = "tech-sdkwrapper/timevale/account/addOrganize"
59
- params = {
60
- "name": name ,
61
- "organCode": id,
62
- "regType": reg_type
63
- }
64
- account_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
65
- return account_data[:accountId]
66
- end
67
-
68
- #创建企业用户印章
69
- def create_company_seal(account_id, color, template_type)
70
- path = "tech-sdkwrapper/timevale/seal/addOrganizeSeal"
71
- params = {
72
- "accountId": account_id,
73
- "color": color,
74
- "templateType": template_type
75
- }
76
- seal_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
77
62
  return seal_data[:sealData]
78
63
  end
79
-
80
64
  end # end module
81
65
  end
82
66
  end
@@ -8,7 +8,6 @@ module KuaiJieQian
8
8
  # @param account_id [String] 签署账户标识
9
9
  # @param seal_data [String] 印章图片base64
10
10
  # @param file_stream [file] 文件流
11
- # @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
12
11
  # @param seal_position_info [hash] 签章信息
13
12
  # * pos_page [String] 签署页码, 若为多页签章,支持页码格式“1-3,5,8“, 坐标定位时不可空
14
13
  # * pos_type [Integer] 默认0(若为关键字定位,签章类型(signType)必须指定为关键字定位才生效)
@@ -16,6 +15,7 @@ module KuaiJieQian
16
15
  # * pos_x [Float] 签署位置X坐标
17
16
  # * pos_y [Float] 签署位置Y坐标
18
17
  # * width [Float] 印章展现高度
18
+ # @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
19
19
  #
20
20
  # @return [ Hash ] 结果集
21
21
  # * errCode [Integer] 错误码
@@ -24,7 +24,7 @@ module KuaiJieQian
24
24
  # * signServiceId [String] 签署记录id
25
25
  # * stream [String] 签署后的文件base64
26
26
  #
27
- def user_sign(account_id, seal_data, file_stream, sign_type, seal_position_info)
27
+ def user_sign(account_id, seal_data, file_stream, seal_position_info, sign_type="Key")
28
28
  path = "tech-sdkwrapper/timevale/sign/userStreamSign"
29
29
 
30
30
  params = {
@@ -35,8 +35,9 @@ module KuaiJieQian
35
35
  "signPos": seal_position_info.to_json
36
36
  }
37
37
 
38
- KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
38
+ result = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
39
39
 
40
+ Base64.decode64(result[:stream])
40
41
  end
41
42
 
42
43
  def user_sign_with_file(account_id, seal_data, file_info, sign_type, sign_pos)
@@ -17,11 +17,11 @@ module KuaiJieQian
17
17
  request_body = params
18
18
  end
19
19
 
20
- KuaiJieQian.logger.info "post [#{final_url}] with header: [#{header}], params: [#{params}]"
20
+ # KuaiJieQian.logger.info "post [#{final_url}] with header: [#{header}], params: [#{params}]"
21
21
 
22
22
  response = RestClient.post(final_url, request_body, header)
23
23
 
24
- KuaiJieQian.logger.debug "post [#{final_url}] got result: [#{response}]\n"
24
+ # KuaiJieQian.logger.info "post [#{final_url}] got result: [#{response}]\n"
25
25
 
26
26
  begin
27
27
  res = Utils.symbolize_keys(JSON.parse(response))
@@ -29,7 +29,7 @@ module KuaiJieQian
29
29
  raise "post [#{final_url}] 解析结果出错"
30
30
  end
31
31
 
32
- KuaiJieQian.logger.debug "res: [#{res}]\n"
32
+ # KuaiJieQian.logger.debug "res: [#{res}]\n"
33
33
  res
34
34
  end
35
35
 
@@ -21,12 +21,35 @@ module KuaiJieQian
21
21
  kit.to_pdf
22
22
  end
23
23
 
24
- def self.pdf_to_png(file)
25
- pdf = Grim.reap(file)
26
- png = pdf[0].save(file.split(".").first + '.png',
27
- {:quality => 90, :alpha => "remove", :colorspace => "RGB"}
28
- )
24
+ def self.pdf_to_png(pdf_file_path, png_path_dir, png_name)
25
+ pngs = []
29
26
 
27
+ pdf = Magick::ImageList.new(pdf_file_path){self.background_color = 'white'}
28
+
29
+ pdf.each_with_index{ |obj, i|
30
+ png_file_fullname ="#{png_path_dir}/#{png_name}_#{i+1}.png"
31
+ res = obj.write(png_file_fullname)
32
+ pngs << {fullname: png_file_fullname, successd: !res.nil?}
33
+ }
34
+
35
+ # pdf = Grim.reap(pdf_file_path)
36
+
37
+ # KuaiJieQian.logger.info pdf_file_path
38
+ # KuaiJieQian.logger.info pdf
39
+
40
+ # count = pdf.count
41
+
42
+ # KuaiJieQian.logger.info count
43
+
44
+ # (0..count-1).each{ |i|
45
+ # png_file_fullname ="#{png_path_dir}/#{png_name}_#{i+1}.png"
46
+ # KuaiJieQian.logger.info i
47
+ # successd = pdf[i].save(png_file_fullname,
48
+ # {:quality => 90, :alpha => "remove", :colorspace => "RGB"})
49
+ # pngs << {fullname: png_file_fullname, successd: successd}
50
+ # }
51
+
52
+ pngs
30
53
  end
31
54
 
32
55
  end # end module
@@ -1,3 +1,3 @@
1
1
  module KuaiJieQian
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kuai_jie_qian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - tony
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-19 00:00:00.000000000 Z
11
+ date: 2017-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -134,20 +134,6 @@ dependencies:
134
134
  - - "~>"
135
135
  - !ruby/object:Gem::Version
136
136
  version: 0.12.3.1
137
- - !ruby/object:Gem::Dependency
138
- name: grim
139
- requirement: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- version: '0'
144
- type: :runtime
145
- prerelease: false
146
- version_requirements: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- version: '0'
151
137
  - !ruby/object:Gem::Dependency
152
138
  name: rmagick
153
139
  requirement: !ruby/object:Gem::Requirement