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 +4 -4
- data/README.md +4 -4
- data/app/controllers/wechat_payment/payment_orders_controller.rb +9 -0
- data/app/models/wechat_payment/payment_order.rb +6 -2
- data/db/migrate/20210706075217_create_wechat_payment_payment_orders.rb +2 -2
- data/lib/generators/wechat_payment/install/install_generator.rb +7 -2
- data/lib/wechat_payment/concern/goods.rb +3 -3
- data/lib/wechat_payment/concern/user.rb +2 -2
- data/lib/wechat_payment/version.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c61c4ab32413e5389896bde1f772149d3df02e74c4cdcd76973ed942c6e25009
|
4
|
+
data.tar.gz: b5d53616d2f40fa7c112ca57319f5d4c29606053ae291fb09aee8a8280674ea5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 之前,需要先建立`用户模型`,`商品模型`,`用户商品关联模型`,用户表需要有
|
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).
|
@@ -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.
|
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:
|
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 :
|
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, :
|
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
|
-
|
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
|
-
**
|
38
|
+
**with_info,
|
39
|
+
**persist_goods_data,
|
40
40
|
)
|
41
41
|
|
42
42
|
user_goods.payment_orders.create(
|
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
|
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:
|
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:
|
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:
|
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:
|
101
|
+
homepage: http://dev.com
|
101
102
|
licenses:
|
102
103
|
- MIT
|
103
104
|
metadata:
|
104
|
-
homepage_uri:
|
105
|
-
source_code_uri:
|
106
|
-
changelog_uri:
|
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.
|
123
|
+
rubygems_version: 3.3.3
|
123
124
|
signing_key:
|
124
125
|
specification_version: 4
|
125
126
|
summary: Summary of WechatPayment.
|