Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
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
wecloud_im_server
Commits
3cfe2dde
Commit
3cfe2dde
authored
Mar 10, 2021
by
giaogiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信支付
parent
818dc09f
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
155 additions
and
10 deletions
+155
-10
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
+8
-8
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
...
...
@@ -33,16 +33,16 @@ public class VipRecordController extends BaseController {
private
VipRecordService
vipRecordService
;
/**
*
添加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
);
return
ApiResult
.
result
(
flag
);
}
@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
);
}
// /**
// * 添加Vip开通记录
...
...
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