wechat_payment 0.2.0 → 2.0.2

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
  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.