Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
SiEn
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
SiEn
Commits
3cfe2dde
Commit
3cfe2dde
authored
Mar 10, 2021
by
giaogiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信支付
parent
818dc09f
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
152 additions
and
7 deletions
+152
-7
bootstrap/src/test/java/io/geekidea/springbootplus/test/WxPayTest.java
+16
-0
common/pom.xml
+6
-0
common/src/main/java/com/sien/common/config/WxPayConfiguration.java
+44
-0
common/src/main/java/com/sien/common/controller/VipRecordController.java
+5
-5
common/src/main/java/com/sien/common/controller/WechatUserController.java
+1
-2
config/src/main/java/io/geekidea/springbootplus/config/properties/WxPayProperties.java
+44
-0
config/src/main/java/io/geekidea/springbootplus/config/properties/apiclient_cert.p12
+0
-0
config/src/main/java/io/geekidea/springbootplus/config/properties/apiclient_key.pem
+28
-0
config/src/main/resources/config/application-dev.yml
+8
-0
No files found.
bootstrap/src/test/java/io/geekidea/springbootplus/test/WxPayTest.java
0 → 100644
View file @
3cfe2dde
package
io
.
geekidea
.
springbootplus
.
test
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
/**
* 微信支付测试
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
public
class
WxPayTest
{
}
common/pom.xml
View file @
3cfe2dde
...
...
@@ -29,6 +29,12 @@
<version>
4.0.0
</version>
</dependency>
<dependency>
<groupId>
com.github.binarywang
</groupId>
<artifactId>
weixin-java-pay
</artifactId>
<version>
4.0.0
</version>
</dependency>
<!-- fastbootWeixin的核心依赖 -->
<dependency>
...
...
common/src/main/java/com/sien/common/config/WxPayConfiguration.java
0 → 100644
View file @
3cfe2dde
package
com
.
sien
.
common
.
config
;
import
com.github.binarywang.wxpay.config.WxPayConfig
;
import
com.github.binarywang.wxpay.service.WxPayService
;
import
com.github.binarywang.wxpay.service.impl.WxPayServiceImpl
;
import
io.geekidea.springbootplus.config.properties.WxPayProperties
;
import
lombok.AllArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
/**
* @author Binary Wang
*/
@Configuration
@ConditionalOnClass
(
WxPayService
.
class
)
@EnableConfigurationProperties
(
WxPayProperties
.
class
)
@AllArgsConstructor
public
class
WxPayConfiguration
{
private
WxPayProperties
properties
;
@Bean
@ConditionalOnMissingBean
public
WxPayService
wxService
()
{
WxPayConfig
payConfig
=
new
WxPayConfig
();
payConfig
.
setAppId
(
StringUtils
.
trimToNull
(
this
.
properties
.
getAppId
()));
payConfig
.
setMchId
(
StringUtils
.
trimToNull
(
this
.
properties
.
getMchId
()));
payConfig
.
setMchKey
(
StringUtils
.
trimToNull
(
this
.
properties
.
getMchKey
()));
payConfig
.
setSubAppId
(
StringUtils
.
trimToNull
(
this
.
properties
.
getSubAppId
()));
payConfig
.
setSubMchId
(
StringUtils
.
trimToNull
(
this
.
properties
.
getSubMchId
()));
payConfig
.
setKeyPath
(
StringUtils
.
trimToNull
(
this
.
properties
.
getKeyPath
()));
// 可以指定是否使用沙箱环境
payConfig
.
setUseSandboxEnv
(
false
);
WxPayService
wxPayService
=
new
WxPayServiceImpl
();
wxPayService
.
setConfig
(
payConfig
);
return
wxPayService
;
}
}
common/src/main/java/com/sien/common/controller/VipRecordController.java
View file @
3cfe2dde
...
...
@@ -34,13 +34,13 @@ public class VipRecordController extends BaseController {
/**
*
添加Vip开通记录
*
Vip开通
*/
@PostMapping
(
"/open"
)
@OperationLog
(
name
=
"
添加Vip开通记录
"
,
type
=
OperationLogType
.
ADD
)
@ApiOperation
(
value
=
"
添加Vip开通记录
"
)
public
ApiResult
<
Boolean
>
addVipRecord
(
@Validated
(
Add
.
class
)
@RequestBody
VipRecordOpenParam
vipRecordOpenParam
)
throws
Exception
{
boolean
flag
=
vipRecordService
.
openVip
(
vipRecordOpenParam
);
@OperationLog
(
name
=
"
Vip开通
"
,
type
=
OperationLogType
.
ADD
)
@ApiOperation
(
value
=
"
Vip开通
"
)
public
ApiResult
<
Boolean
>
addVipRecord
(
@Validated
(
Add
.
class
)
@RequestBody
VipRecordOpenParam
vipRecordOpenParam
)
throws
Exception
{
boolean
flag
=
vipRecordService
.
openVip
(
vipRecordOpenParam
);
return
ApiResult
.
result
(
flag
);
}
...
...
common/src/main/java/com/sien/common/controller/WechatUserController.java
View file @
3cfe2dde
package
com
.
sien
.
common
.
controller
;
import
com.sien.common.service.AppUserService
;
import
com.sien.common.vo.AppUserQueryVo
;
import
com.sien.common.vo.app.LoginAppUserTokenVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
...
...
@@ -39,7 +38,7 @@ public class WechatUserController extends BaseController {
@GetMapping
(
"/check/"
)
@OperationLog
(
name
=
"根据微信重定向code查询用户是否绑定"
,
type
=
OperationLogType
.
INFO
)
@ApiOperation
(
value
=
"根据微信重定向code查询用户是否绑定"
,
notes
=
"用户每次从微信公众号菜单页跳转,都必须调用此接口,来判断用户是否已经绑定用户,"
+
" 如果已经绑定就直接返回绑定用户的token,如没有绑定则需要用户进行注册,"
,
response
=
AppUserQuery
Vo
.
class
)
" 如果已经绑定就直接返回绑定用户的token,如没有绑定则需要用户进行注册,"
,
response
=
LoginAppUserToken
Vo
.
class
)
public
ApiResult
<
LoginAppUserTokenVo
>
checkAppUser
(
@RequestParam
(
"code"
)
String
code
)
throws
Exception
{
return
appUserService
.
checkWechatUserBinding
(
code
);
...
...
config/src/main/java/io/geekidea/springbootplus/config/properties/WxPayProperties.java
0 → 100644
View file @
3cfe2dde
package
io
.
geekidea
.
springbootplus
.
config
.
properties
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
/**
* wxpay pay properties.
*
* @author Binary Wang
*/
@Data
@ConfigurationProperties
(
prefix
=
"wx.pay"
)
public
class
WxPayProperties
{
/**
* 设置微信公众号或者小程序等的appid
*/
private
String
appId
;
/**
* 微信支付商户号
*/
private
String
mchId
;
/**
* 微信支付商户密钥
*/
private
String
mchKey
;
/**
* 服务商模式下的子商户公众账号ID,普通模式请不要配置,请在配置文件中将对应项删除
*/
private
String
subAppId
;
/**
* 服务商模式下的子商户号,普通模式请不要配置,最好是请在配置文件中将对应项删除
*/
private
String
subMchId
;
/**
* apiclient_cert.p12文件的绝对路径,或者如果放在项目中,请以classpath:开头指定
*/
private
String
keyPath
;
}
config/src/main/java/io/geekidea/springbootplus/config/properties/apiclient_cert.p12
0 → 100644
View file @
3cfe2dde
File added
config/src/main/java/io/geekidea/springbootplus/config/properties/apiclient_key.pem
0 → 100644
View file @
3cfe2dde
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSjHhuFz7Gd6WP
dJdMcwoBb1OUESIvsFcWQfBoKaSz8/mwVOBhaWVRl818ufuTPfdiELYe+szslWtc
RhGTFNM8lcVk5RsPQH1Eg7ZvxlRs0irFJNk6YFhbcUOpMTI/ynL1yyeEebcADcc0
0tNGIMJb2w7WTC8W/VuUDn1Ten357Ba6ZXYZItFyL5ERPoxH91ShG9A2i3evGtfI
aAABgmrROCc8bzCtiKPv5AqH/WONXDxsL+IzeO4mjln1sJ4sTpZ55fpUcv3VkUw0
Ltaq60YfafgEL7MrKe3+e2WAZ8f2dKHI9BSwko4/KPDerWFs/3UfMfuzDlo62Bj1
YK6dZY01AgMBAAECggEBAL4J/fVYU9ftTGkkUh+1wfUzl5uQr2ud3a0ATU6nL7sh
XmBS68fgyouP2fBXKgRnrO89qDRkKSztXN8He3tnE5aelHGR/Q+SJL7/p15SBAfI
1sPkk5GGPpoirHB9MB61y3ehK4T+GzgYN5KtK/cjQGqKWWUBlItKmSsUvPfpGuXF
GCh2ibVeF38bDARHhCwS2l12Ur3laD89zTH+PcXLaI/6bKz5Z+HFWiAjtbaD7Ot3
2PA8/La8RJNUCKNkheG04gkN/sw1Txv/V+I9lnlcQ0Ppa6hiVrUgnIaSJHMX5IM+
mDJmcwP8sok2Br0FQMECEoRK5pgvs9O47qWPYEQ3fYECgYEA7oaZL8R0ohnBEVem
m4t6Jyuy8ZyHMkrEcXm+NSc6GT4/0D8VZV7l4KObr2gGKekcWJKQ5Ug30hcJieGP
EVNZ+xS21uLbVeP5jv3WSjYxL/YZeU1ysBAjtdELSxjzY6UnyFog7VqkNmThgUhh
Q2D7VrZSIRb1Q6I4vkPeQmCyR+ECgYEA4fkuBDYwGKMG4hbXaecBOWtQd/+GDj6s
PAsTIY8m2/PbD0bleAtstsRZMQuKTnlGoqBD++lrYKPavrWhH2osrJyBeYfYZMRT
pG7vA1yEv6CHPRn7h9KuGV4Mel8Fz4Y1/zJsfjjjf/eRH/gWYoc9vH8w3aOJQDJ1
RQAi2E/Ln9UCgYAaoXJ279MpygBRRFz4ntDrkKhw60344noeRT5kRtXovZd4U6K6
56Z4tyuJoO6XPUyJ4wtEXhTFYwcQmttTTuAL9VsYkMl2RHa3bUXAkV5agXqEnY4B
dDvYb9d38fgyltzjNJTaizUsUYUP3xnk4O4O11pCEYMeovz82Sz2cj9VYQKBgQDF
/v4p5Izp2VZ7nUXr3eN9uyDLs9FzA8kH5zBBFFwZFybW0OjY8TG1Rn9b8N+jeLHC
ZqiKvnA+QfO1bBGcI/y21X7AzJ13VWpwRl8YU+Vgvjgg+nYhASFYysYmJsJBnjgL
vdPAGPqFMpcvKsH6XMNkORHI8bSd0lhcOA1P+ULSbQKBgQCshFNNJMbrOYq1ES9I
l7EMjtIgK/AWgG7ATi9QaaRIzgQIF2tUfZZF0wQLUXp+xPnUCul/Y7a6sXEFzs1N
6e7Tkmf7KeXUnYp9Pbgq4pFcvVEmM8rZyoq4JgAGf1VuwxX0IxqstTh7hdejGIuz
vIVpzBaXGRsRTolFGmacyC0iMQ==
-----END PRIVATE KEY-----
config/src/main/resources/config/application-dev.yml
View file @
3cfe2dde
...
...
@@ -36,6 +36,14 @@ wx:
token
:
111
aesKey
:
111
pay
:
appId
:
wxe4a696e431b0456b
#微信公众号或者小程序等的appid
mchId
:
1606818547
#微信支付商户号
mchKey
:
H0p6dhiXRr5FocmzZluNVqyG7QALISj1
#微信支付商户密钥
# subAppId: #服务商模式下的子商户公众账号ID
# subMchId: #服务商模式下的子商户号
keyPath
:
classpath:src/main/java/io/geekidea/springbootplus/config/properties/apiclient_cert.p12
# p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
spring
:
datasource
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment