wechat_payment 0.2.0 → 2.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a2e445d0e1ce0d2cc83eef761a18bbd90ade6264e2798e2ce0a1bc1756b9139
4
- data.tar.gz: bcfbaf1b877b6a7656cb378a894293c593e96862b018c9415eac13ed00063961
3
+ metadata.gz: c61c4ab32413e5389896bde1f772149d3df02e74c4cdcd76973ed942c6e25009
4
+ data.tar.gz: b5d53616d2f40fa7c112ca57319f5d4c29606053ae291fb09aee8a8280674ea5
5
5
  SHA512:
6
- metadata.gz: e3157ecac086e7f9d491d1359f4ce3de8208068f277a041c9a57d9b20abd6406d1648fce5d11c25f6cbc9d8f6aea64b24e2477383c73a775212b2ac11d42bf2c
7
- data.tar.gz: 3e41d27212801e96e9c359cb60a6a51f6c7e63cd4dbcbcd3deaba2c0ee72c13a55423e538422b1ff952602ef05717cb5df3c6d0a75dda131c6f3befff9aa6dcd
6
+ metadata.gz: 9265a884ffd5b9a544644400bac0e2c89c75b87803fb95d9542e8e0cbfce76c8688928b9aad3aeaf54c67b261a0c7cb99d0f2021a749a7207cd4a35a40380c0c
7
+ data.tar.gz: 95e24b9a3941112ad5698a3cbbdf313c38f4755d0a2ecc0dcaca0c2ce4ddf62b4045bddac81b7fcdf24b394a4ede23d512b5db232436975f0165c60c08490df8
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
  ## Convention
6
- 在使用该 Engine 之前,需要先建立`用户模型`,`商品模型`,`用户商品关联模型`,用户表需要有 open_id 字段,
6
+ 在使用该 Engine 之前,需要先建立`用户模型`,`商品模型`,`用户商品关联模型`,用户表需要有 openid 字段,
7
7
  商品表需要有 price 和 name 字段。假设`商品模型`为`Product`,则用户和商品之间的关联模型为`UserProduct`,
8
8
  关联模型属于`user`和`product`。
9
9
 
@@ -17,8 +17,8 @@
17
17
 
18
18
  3. 初始化
19
19
  ```bash
20
- # rails g wechat_payment:install [GoodsModel] [UserModel]
21
- $ rails g wechat_payment:install Product User
20
+ # rails g wechat_payment:install [GoodsModel] [UserGoodRelationModel] [UserModel]
21
+ $ rails g wechat_payment:install Product UserProduct User
22
22
  $ rails db:migrate
23
23
  ```
24
24
 
@@ -227,4 +227,4 @@ TODO 待补充
227
227
  Contribution directions go here.
228
228
 
229
229
  ## License
230
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
230
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,9 @@
1
+
2
+ class PaymentOrdersController < ApplicationController
3
+ def index
4
+ @payment_orders = WechatPayment::PaymentOrder.by_state(params[:state])
5
+
6
+ render json: @payment_orders
7
+ end
8
+
9
+ end
@@ -8,6 +8,10 @@ module WechatPayment
8
8
  before_create :gen_out_trade_no
9
9
  belongs_to :goods, polymorphic: true
10
10
 
11
+ scope :by_state, ->(state)do
12
+ where(state: state) if state.present?
13
+ end
14
+
11
15
  enum state: {
12
16
  paid: "paid",
13
17
  pending: "pending",
@@ -17,7 +21,7 @@ module WechatPayment
17
21
 
18
22
  # 将部分用户信息保存至订单
19
23
  def set_customer_info
20
- self.open_id = customer.open_id if open_id.blank?
24
+ self.openid = customer.openid if openid.blank?
21
25
  self.spbill_create_ip = customer.spbill_create_ip
22
26
  end
23
27
 
@@ -50,7 +54,7 @@ module WechatPayment
50
54
  spbill_create_ip: spbill_create_ip,
51
55
  total_fee: total_fee,
52
56
  body: body,
53
- openid: open_id
57
+ openid: openid
54
58
  }
55
59
  end
56
60
 
@@ -1,7 +1,7 @@
1
1
  class CreateWechatPaymentPaymentOrders < ActiveRecord::Migration[6.1]
2
2
  def change
3
3
  create_table :wechat_payment_payment_orders do |t|
4
- t.string :open_id
4
+ t.string :openid
5
5
  t.string :out_trade_no
6
6
  t.references :goods, polymorphic: true, null: false
7
7
  t.references :customer, polymorphic: true, null: false
@@ -17,6 +17,6 @@ class CreateWechatPaymentPaymentOrders < ActiveRecord::Migration[6.1]
17
17
 
18
18
  t.timestamps
19
19
  end
20
- add_index :wechat_payment_payment_orders, :open_id
20
+ add_index :wechat_payment_payment_orders, :openid
21
21
  end
22
22
  end
@@ -2,6 +2,7 @@ class WechatPayment::InstallGenerator < Rails::Generators::Base
2
2
  source_root File.expand_path('templates', __dir__)
3
3
 
4
4
  argument :goods, type: :string
5
+ argument :relation_model, type: :string
5
6
  argument :user, type: :string, default: :User
6
7
 
7
8
 
@@ -59,7 +60,11 @@ class WechatPayment::InstallGenerator < Rails::Generators::Base
59
60
  end
60
61
 
61
62
  def user_goods_model_file
62
- "app/models/#{user.to_s.underscore}_#{goods.to_s.underscore}.rb"
63
+ if relation_model
64
+ "app/models/#{relation_model.underscore}.rb"
65
+ else
66
+ "app/models/#{user.to_s.underscore}_#{goods.to_s.underscore}.rb"
67
+ end
63
68
  end
64
69
 
65
70
  def goods_model_name
@@ -71,7 +76,7 @@ class WechatPayment::InstallGenerator < Rails::Generators::Base
71
76
  end
72
77
 
73
78
  def user_goods_model_name
74
- user_model_name + goods_model_name
79
+ (relation_model&.camelize) || (user_model_name + goods_model_name)
75
80
  end
76
81
 
77
82
  def def_custom_user_model
@@ -25,8 +25,7 @@ module WechatPayment
25
25
  # 售出
26
26
  # @param [User] user
27
27
  # @return [WechatPaymentOrder]
28
- def sell_to(user)
29
-
28
+ def sell_to(user, with_info = {})
30
29
  persist_goods_data = {}.tap do |h|
31
30
  self.class.persist_goods_attrs.each do |attr|
32
31
  h[attr] = send(attr)
@@ -36,7 +35,8 @@ module WechatPayment
36
35
  user_goods = self.class.user_goods_model.constantize.create(
37
36
  self.class.goods_ref_field => self,
38
37
  self.class.user_ref_field => user,
39
- **persist_goods_data
38
+ **with_info,
39
+ **persist_goods_data,
40
40
  )
41
41
 
42
42
  user_goods.payment_orders.create(
@@ -14,8 +14,8 @@ module WechatPayment
14
14
  end
15
15
  end
16
16
 
17
- def buy(goods)
18
- goods.sell_to(me)
17
+ def buy(goods, with_info = {})
18
+ goods.sell_to(me, with_info)
19
19
  end
20
20
  end
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module WechatPayment
2
- VERSION = '0.2.0'
2
+ VERSION = '2.0.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat_payment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-18 00:00:00.000000000 Z
11
+ date: 2022-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 6.1.4
19
+ version: 7.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 6.1.4
26
+ version: 7.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: wx_pay
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,7 @@ files:
66
66
  - app/assets/stylesheets/wechat_payment/application.css
67
67
  - app/controllers/wechat_payment/application_controller.rb
68
68
  - app/controllers/wechat_payment/callback_controller.rb
69
+ - app/controllers/wechat_payment/payment_orders_controller.rb
69
70
  - app/helpers/wechat_payment/application_helper.rb
70
71
  - app/jobs/wechat_payment/application_job.rb
71
72
  - app/mailers/wechat_payment/application_mailer.rb
@@ -97,13 +98,13 @@ files:
97
98
  - lib/wechat_payment/service_result.rb
98
99
  - lib/wechat_payment/sign.rb
99
100
  - lib/wechat_payment/version.rb
100
- homepage: https://github.com/bkyz/wechat_payment
101
+ homepage: http://dev.com
101
102
  licenses:
102
103
  - MIT
103
104
  metadata:
104
- homepage_uri: https://github.com/bkyz/wechat_payment
105
- source_code_uri: https://github.com/bkyz/wechat_payment
106
- changelog_uri: https://github.com/bkyz/wechat_payment/CHANGELOG.md
105
+ homepage_uri: http://dev.com
106
+ source_code_uri: http://dev.com
107
+ changelog_uri: http://dev.com/CHANGELOG.md
107
108
  post_install_message:
108
109
  rdoc_options: []
109
110
  require_paths:
@@ -119,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
120
  - !ruby/object:Gem::Version
120
121
  version: '0'
121
122
  requirements: []
122
- rubygems_version: 3.2.15
123
+ rubygems_version: 3.3.3
123
124
  signing_key:
124
125
  specification_version: 4
125
126
  summary: Summary of WechatPayment.