Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
6055e6c1
Commit
6055e6c1
authored
Oct 12, 2019
by
libin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提现
parent
88c275cb
Changes
25
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
645 additions
and
232 deletions
+645
-232
BaseException.java
...thub/wxiaoqi/security/common/exception/BaseException.java
+14
-1
WalletCathListDTO.java
.../github/wxiaoqi/security/admin/dto/WalletCathListDTO.java
+8
-1
WalletDetailListDTO.java
...ithub/wxiaoqi/security/admin/dto/WalletDetailListDTO.java
+4
-1
MyWalletCath.java
...om/github/wxiaoqi/security/admin/entity/MyWalletCath.java
+5
-5
MyWalletDetail.java
.../github/wxiaoqi/security/admin/entity/MyWalletDetail.java
+5
-1
PayAccountVo.java
...va/com/github/wxiaoqi/security/admin/vo/PayAccountVo.java
+29
-0
WalletCathAdminVo.java
...m/github/wxiaoqi/security/admin/vo/WalletCathAdminVo.java
+9
-2
WalletCathDetailVo.java
.../github/wxiaoqi/security/admin/vo/WalletCathDetailVo.java
+18
-1
WalletDetailAdminVo.java
...github/wxiaoqi/security/admin/vo/WalletDetailAdminVo.java
+3
-0
AppUserSellingWaterBiz.java
...ub/wxiaoqi/security/admin/biz/AppUserSellingWaterBiz.java
+7
-1
MyWalletBiz.java
...va/com/github/wxiaoqi/security/admin/biz/MyWalletBiz.java
+274
-179
MyWalletCathBiz.java
...om/github/wxiaoqi/security/admin/biz/MyWalletCathBiz.java
+19
-11
MyWalletController.java
...ithub/wxiaoqi/security/admin/rest/MyWalletController.java
+13
-0
WalletCathAdminController.java
.../security/admin/rest/admin/WalletCathAdminController.java
+1
-2
MyWalletCathMapper.xml
...ce-admin/src/main/resources/mapper/MyWalletCathMapper.xml
+1
-0
MyWalletDetailMapper.xml
...-admin/src/main/resources/mapper/MyWalletDetailMapper.xml
+1
-0
ThirdFeign.java
...in/java/com/xxfc/platform/universal/feign/ThirdFeign.java
+4
-4
FundPayVo.java
...c/main/java/com/xxfc/platform/universal/vo/FundPayVo.java
+14
-0
WXSuppToUserPay.java
...m/xxfc/platform/universal/weixin/api/WXSuppToUserPay.java
+4
-4
AliNeedPayErrorEnum.java
...atform/universal/weixin/constant/AliNeedPayErrorEnum.java
+33
-0
PaySubErrorCodeEnum.java
...atform/universal/weixin/constant/PaySubErrorCodeEnum.java
+33
-0
WxNeedPayErrorEnum.java
...latform/universal/weixin/constant/WxNeedPayErrorEnum.java
+42
-0
WxResponseProperties.java
...tform/universal/weixin/constant/WxResponseProperties.java
+18
-0
OrderPayBiz.java
...ain/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
+78
-19
OrderPayController.java
...xfc/platform/universal/controller/OrderPayController.java
+8
-0
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/exception/BaseException.java
View file @
6055e6c1
...
...
@@ -11,7 +11,7 @@ import java.util.Set;
*/
public
class
BaseException
extends
RuntimeException
{
private
int
status
=
200
;
private
String
subCode
;
public
int
getStatus
()
{
return
status
;
}
...
...
@@ -20,6 +20,14 @@ public class BaseException extends RuntimeException {
this
.
status
=
status
;
}
public
String
getSubCode
()
{
return
subCode
;
}
public
void
setSubCode
(
String
subCode
)
{
this
.
subCode
=
subCode
;
}
public
BaseException
()
{
}
...
...
@@ -28,6 +36,11 @@ public class BaseException extends RuntimeException {
this
.
status
=
status
;
}
public
BaseException
(
String
message
,
String
subCode
){
super
(
message
);
this
.
subCode
=
subCode
;
}
public
BaseException
(
String
message
)
{
super
(
message
);
}
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/WalletCathListDTO.java
View file @
6055e6c1
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
...
...
@@ -12,6 +14,8 @@ import java.math.BigDecimal;
* @data 2019/7/17 20:40
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
WalletCathListDTO
{
private
Long
id
;
...
...
@@ -41,9 +45,12 @@ public class WalletCathListDTO {
@ApiModelProperty
(
value
=
"审核日期"
)
private
Long
finishTime
;
@ApiModelProperty
(
"单号"
)
@ApiModelProperty
(
"
第三方
单号"
)
private
String
cono
;
@ApiModelProperty
(
"提现单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"用户账号"
)
private
String
accountNumber
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/WalletDetailListDTO.java
View file @
6055e6c1
...
...
@@ -52,9 +52,12 @@ public class WalletDetailListDTO {
private
String
activityName
;
@ApiModelProperty
(
value
=
"单号"
)
@ApiModelProperty
(
value
=
"
第三方
单号"
)
private
Integer
cono
;
@ApiModelProperty
(
value
=
"提现单号"
)
private
String
withDrawOrderNo
;
@ApiModelProperty
(
value
=
"操作时间"
,
hidden
=
true
)
private
Long
crtTime
;
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/MyWalletCath.java
View file @
6055e6c1
...
...
@@ -47,11 +47,9 @@ public class MyWalletCath implements Serializable {
@ApiModelProperty
(
value
=
"用户账号"
)
private
String
accountNumber
;
/**
* 第三方订单号:如微信,支付宝,银行卡等
*/
@Column
(
name
=
"cono"
)
@ApiModelProperty
(
value
=
"
第三方订单号:如微信,支付宝,银行卡等
"
)
@ApiModelProperty
(
value
=
"
提现单号
"
)
private
String
cono
;
...
...
@@ -122,5 +120,7 @@ public class MyWalletCath implements Serializable {
@ApiModelProperty
(
value
=
"操作者ID"
)
private
String
updUser
;
@Column
(
name
=
"order_no"
)
@ApiModelProperty
(
value
=
"第三方订单号:如微信,支付宝,银行卡等"
)
private
String
orderNo
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/MyWalletDetail.java
View file @
6055e6c1
...
...
@@ -109,4 +109,8 @@ public class MyWalletDetail implements Serializable {
@ApiModelProperty
(
value
=
"操作时间"
,
hidden
=
true
)
private
Long
crtTime
;
@ApiModelProperty
(
value
=
"提现"
)
@Column
(
name
=
"with_draw_order_no"
)
private
String
withDrawOrderNo
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/PayAccountVo.java
0 → 100644
View file @
6055e6c1
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/10 17:52
*/
@Data
@Builder
(
toBuilder
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
class
PayAccountVo
{
@ApiModelProperty
(
value
=
"微信用户名 | 支付宝帐号"
)
private
String
accountDesc
;
@ApiModelProperty
(
"微信用户名 | 支付宝账号"
)
private
String
account
;
@ApiModelProperty
(
value
=
"帐户类型 0:微信 1:支付宝 2:银行卡"
)
private
Integer
accountType
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/WalletCathAdminVo.java
View file @
6055e6c1
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
...
...
@@ -12,6 +14,8 @@ import java.math.BigDecimal;
* @data 2019/7/17 20:22
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
WalletCathAdminVo
{
private
Long
id
;
...
...
@@ -37,10 +41,13 @@ public class WalletCathAdminVo {
@ApiModelProperty
(
value
=
"审核日期"
)
private
Long
finishTime
;
@ApiModelProperty
(
"单号"
)
private
String
con
o
;
@ApiModelProperty
(
"
提现
单号"
)
private
String
withDrawOrderN
o
;
@ApiModelProperty
(
value
=
"用户账号"
)
private
String
accountNumber
;
@ApiModelProperty
(
value
=
"用户账号描述"
)
private
String
accountNumberDesc
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/WalletCathDetailVo.java
View file @
6055e6c1
...
...
@@ -3,6 +3,8 @@ package com.github.wxiaoqi.security.admin.vo;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* @author libin
* @version 1.0
...
...
@@ -30,9 +32,24 @@ public class WalletCathDetailVo {
@ApiModelProperty
(
value
=
"审核日期"
)
private
Long
finishTime
;
@ApiModelProperty
(
value
=
"帐号"
)
@ApiModelProperty
(
value
=
"帐号
:支付宝帐号|微信名
"
)
private
String
accountNumber
;
@ApiModelProperty
(
"审核失败原因"
)
private
String
reason
;
@ApiModelProperty
(
value
=
"提现类别,第三方提现类别(0-微信,1-支付宝,2-银行卡)"
)
private
Integer
cathType
;
@ApiModelProperty
(
value
=
"提现单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"手续费"
)
private
BigDecimal
commission
;
@ApiModelProperty
(
value
=
"提现金额"
)
private
BigDecimal
amount
;
@ApiModelProperty
(
value
=
"到账金额"
)
private
BigDecimal
realAmount
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/WalletDetailAdminVo.java
View file @
6055e6c1
...
...
@@ -46,6 +46,9 @@ public class WalletDetailAdminVo {
@ApiModelProperty
(
value
=
"单号"
)
private
Integer
cono
;
@ApiModelProperty
(
value
=
"提现单号"
)
private
String
withDrawOrderNo
;
@ApiModelProperty
(
value
=
"操作时间"
,
hidden
=
true
)
private
Long
crtTime
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserSellingWaterBiz.java
View file @
6055e6c1
...
...
@@ -184,7 +184,9 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
BigDecimal
amount
=
new
BigDecimal
(
"0.00"
);
Integer
userId
=
0
;
Integer
orderType
=
0
;
String
orderNo
=
""
;
if
(
list
.
size
()
>
0
)
{
orderNo
=
list
.
get
(
0
).
getOrderNo
();
for
(
AppUserSellingWater
sellingWater
:
list
)
{
Integer
id
=
sellingWater
.
getId
();
orderType
=
sellingWater
.
getOrderType
();
...
...
@@ -204,6 +206,7 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
detail
.
setUserId
(
userId
);
detail
.
setAmount
(
amount
);
detail
.
setCono
(
orderId
);
detail
.
setWithDrawOrderNo
(
orderNo
);
detail
.
setSource
(
1
);
myWaterBiz
.
updMyWater
(
detail
);
if
(
orderType
==
1
||
orderType
==
2
)
{
...
...
@@ -229,7 +232,9 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
BigDecimal
unbooked
=
new
BigDecimal
(
"0.00"
);
Integer
userId
=
0
;
Integer
orderType
=
0
;
String
orderNo
=
""
;
if
(
list
.
size
()
>
0
)
{
orderNo
=
list
.
get
(
0
).
getOrderNo
();
for
(
AppUserSellingWater
sellingWater
:
list
)
{
Integer
id
=
sellingWater
.
getId
();
orderType
=
sellingWater
.
getOrderType
();
...
...
@@ -251,6 +256,7 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
detail
.
setUserId
(
userId
);
detail
.
setAmount
(
amount
);
detail
.
setCono
(
orderId
);
detail
.
setWithDrawOrderNo
(
orderNo
);
detail
.
setSource
(
1
);
myWaterBiz
.
updMyWater
(
detail
);
}
...
...
@@ -370,7 +376,7 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
sellingWalletVo
.
setUsername
(
username
);
if
(
userIdAndAppUserDetailMap
!=
null
)
{
AppUserDetail
appUserDetail
=
userIdAndAppUserDetailMap
.
get
(
sellingWalletVo
.
getSourceId
());
sellingWalletVo
.
setNickName
(
appUserDetail
==
null
?
""
:
appUserDetail
.
get
Nick
name
());
sellingWalletVo
.
setNickName
(
appUserDetail
==
null
?
""
:
appUserDetail
.
get
Real
name
());
sellingWalletVo
.
setHeadUrl
(
appUserDetail
==
null
?
""
:
appUserDetail
.
getHeadimgurl
());
}
//取消单
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/MyWalletBiz.java
View file @
6055e6c1
This diff is collapsed.
Click to expand it.
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/MyWalletCathBiz.java
View file @
6055e6c1
...
...
@@ -95,16 +95,24 @@ public class MyWalletCathBiz extends BaseBiz<MyWalletCathMapper, MyWalletCath> {
()
->
mapper
.
selectByUserNameOrPhoneOrWithDrawSate
(
walletCathFindDTO
.
getUsername
(),
walletCathFindDTO
.
getPhone
(),
walletCathFindDTO
.
getState
()));
List
<
WalletCathListDTO
>
walletCathListDTOList
=
walletCathListDTOPage
.
getData
();
if
(
CollectionUtils
.
isEmpty
(
walletCathListDTOList
)){
if
(
CollectionUtils
.
isEmpty
(
walletCathListDTOList
))
{
return
walletCathAdminVoPage
;
}
List
<
WalletCathAdminVo
>
walletCathAdminVos
=
new
ArrayList
<>();
WalletCathAdminVo
walletCathAdminVo
;
WalletCathAdminVo
walletCathAdminVo
;
for
(
WalletCathListDTO
walletCathListDTO
:
walletCathListDTOList
)
{
walletCathAdminVo
=
new
WalletCathAdminVo
();
BeanUtils
.
copyProperties
(
walletCathListDTO
,
walletCathAdminVo
);
walletCathAdminVo
.
setUsername
(
StringUtils
.
isEmpty
(
walletCathListDTO
.
getRealname
())
?
walletCathListDTO
.
getNickname
():
walletCathListDTO
.
getRealname
());
BeanUtils
.
copyProperties
(
walletCathListDTO
,
walletCathAdminVo
);
walletCathAdminVo
.
setUsername
(
StringUtils
.
isEmpty
(
walletCathListDTO
.
getRealname
())
?
walletCathListDTO
.
getNickname
()
:
walletCathListDTO
.
getRealname
());
walletCathAdminVo
.
setPhone
(
walletCathListDTO
.
getUsername
());
//微信
if
(
walletCathListDTO
.
getCathType
()==
0
){
walletCathAdminVo
.
setAccountNumberDesc
(
String
.
format
(
"%s%s%s"
,
"提现到微信("
,
walletCathListDTO
.
getAccountNumber
(),
")"
));
}
//支付宝
if
(
walletCathListDTO
.
getCathType
()==
1
){
walletCathAdminVo
.
setAccountNumberDesc
(
String
.
format
(
"%s%s%s"
,
"提现到支付宝("
,
walletCathListDTO
.
getAccountNumber
(),
")"
));
}
walletCathAdminVos
.
add
(
walletCathAdminVo
);
}
walletCathAdminVos
.
sort
(
Comparator
.
comparing
(
WalletCathAdminVo:
:
getCrtTime
).
reversed
());
...
...
@@ -123,14 +131,14 @@ public class MyWalletCathBiz extends BaseBiz<MyWalletCathMapper, MyWalletCath> {
return
userIdAndPersonalConsumptionMap
;
}
public
WalletCathSumDto
sumCathAmount
(
Integer
userId
,
Integer
type
)
{
return
mapper
.
sumCathAmount
(
userId
,
type
);
public
WalletCathSumDto
sumCathAmount
(
Integer
userId
,
Integer
type
)
{
return
mapper
.
sumCathAmount
(
userId
,
type
);
}
public
void
deleteByUserIds
(
Collection
<
Integer
>
userIds
)
{
Example
example
=
new
Example
(
MyWalletCath
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andIn
(
"userId"
,
userIds
);
criteria
.
andIn
(
"userId"
,
userIds
);
mapper
.
deleteByExample
(
example
);
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/MyWalletController.java
View file @
6055e6c1
...
...
@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.admin.biz.AppUserAlipayBiz;
import
com.github.wxiaoqi.security.admin.biz.MyWalletBiz
;
import
com.github.wxiaoqi.security.admin.vo.AppletWalletVo
;
import
com.github.wxiaoqi.security.admin.vo.ApplyCathVo
;
import
com.github.wxiaoqi.security.admin.vo.PayAccountVo
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil
;
import
com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo
;
...
...
@@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* @author libin
...
...
@@ -125,4 +127,15 @@ public class MyWalletController {
}
}
@ApiOperation
(
"获取支付账号(微信|支付宝|银行卡)"
)
@GetMapping
(
"/pay_account_list"
)
public
ObjectRestResponse
listPayAccount
(
HttpServletRequest
request
){
try
{
Integer
userId
=
Integer
.
parseInt
(
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
)).
getId
());
List
<
PayAccountVo
>
payAccountVos
=
myWalletBiz
.
listPayAccountByUserId
(
userId
);
return
ObjectRestResponse
.
succ
(
payAccountVos
);
}
catch
(
Exception
ex
){
throw
new
BaseException
(
ex
);
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/admin/WalletCathAdminController.java
View file @
6055e6c1
...
...
@@ -37,11 +37,10 @@ public class WalletCathAdminController {
@ApiOperation
(
"提现审核"
)
public
ObjectRestResponse
verifyCath
(
@RequestParam
(
value
=
"cathId"
,
defaultValue
=
"0"
)
Integer
cathId
,
@RequestParam
(
value
=
"cono"
,
defaultValue
=
""
)
String
cono
,
@RequestParam
(
value
=
"reason"
,
defaultValue
=
""
)
String
reason
,
@RequestParam
(
value
=
"status"
,
defaultValue
=
"1"
)
Integer
status
){
try
{
return
myWalletBiz
.
verifyCath
(
cathId
,
cono
,
reason
,
status
);
return
myWalletBiz
.
verifyCath
(
cathId
,
reason
,
status
);
}
catch
(
Exception
e
)
{
throw
new
BaseException
(
e
);
}
...
...
ace-modules/ace-admin/src/main/resources/mapper/MyWalletCathMapper.xml
View file @
6055e6c1
...
...
@@ -15,6 +15,7 @@
wc.crt_time AS `crtTime`,
wc.finish_time AS `finishTime`,
wc.cono,
wc.order_no AS `orderNo`,
wc.account_number AS `accountNumber`
FROM
(SELECT * FROM `my_wallet_cath`
<if
test=
"state != null"
>
...
...
ace-modules/ace-admin/src/main/resources/mapper/MyWalletDetailMapper.xml
View file @
6055e6c1
...
...
@@ -8,6 +8,7 @@
wd.source,
wd.amount,
wd.cono,
wd.with_draw_order_no AS `withDrawOrderNo`,
wd.itype,
wd.activity_id AS `activityId`,
wd.activity_name AS `activityName`,
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/feign/ThirdFeign.java
View file @
6055e6c1
...
...
@@ -5,10 +5,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.xxfc.platform.universal.dto.SmsTemplateDTO
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.entity.IdInformation
;
import
com.xxfc.platform.universal.vo.OrderPayVo
;
import
com.xxfc.platform.universal.vo.OrderRefundVo
;
import
com.xxfc.platform.universal.vo.TrafficViolations
;
import
com.xxfc.platform.universal.vo.ViolationVO
;
import
com.xxfc.platform.universal.vo.*
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -83,4 +80,7 @@ public interface ThirdFeign {
public
ObjectRestResponse
<
List
<
ViolationVO
>>
getRentViolation
(
@RequestParam
(
value
=
"rentViolationDTO"
)
Map
<
String
,
Object
>
rentViolationDTO
);
/*************************************支付***************************************/
@PostMapping
(
"/pay/app/unauth/transfer_account"
)
String
transferAccount
(
@RequestBody
FundPayVo
fundPayVo
)
throws
Exception
;
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/vo/FundPayVo.java
View file @
6055e6c1
package
com
.
xxfc
.
platform
.
universal
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@Builder
(
toBuilder
=
true
)
@NoArgsConstructor
@AllArgsConstructor
public
class
FundPayVo
{
//转账单号
...
...
@@ -19,4 +25,12 @@ public class FundPayVo {
//转账备注
private
String
remark
;
//转账类型
private
Integer
type
;
private
String
creatIp
;
private
String
checkName
;
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/weixin/api/WXSuppToUserPay.java
View file @
6055e6c1
...
...
@@ -55,7 +55,7 @@ public class WXSuppToUserPay {
private
String
key
;
public
static
void
main
(
String
[]
args
)
throws
Exception
,
IOException
{
Map
<
String
,
String
>
map
=
WXSuppToUserPay
.
WeiXinTiXian
(
"oRhMfwKwjNq2Ce-TxlqfoAqsYfww"
,
"NO_CHECK"
,
500
+
""
,
"活动提现"
,
"192.168.8.109"
);
Map
<
String
,
String
>
map
=
WXSuppToUserPay
.
WeiXinTiXian
(
"oRhMfwKwjNq2Ce-TxlqfoAqsYfww"
,
OrderUtil
.
GetOrderNumber
(
"TX"
),
"NO_CHECK"
,
500
+
""
,
"活动提现"
,
"192.168.8.109"
);
if
(
"SUCCESS"
.
equals
(
map
.
get
(
"return_code"
)))
{
if
(!
StringUtils
.
isBlank
(
map
.
get
(
"payment_no"
))
&&
!
StringUtils
.
isBlank
(
map
.
get
(
"partner_trade_no"
))
)
...
...
@@ -108,14 +108,14 @@ public class WXSuppToUserPay {
// System.out.println(map.get("payment_time"));
}
public
static
Map
<
String
,
String
>
WeiXinTiXian
(
String
openid
,
String
check_name
,
String
amount
,
String
desc
,
String
spbill_create_ip
)
throws
Exception
public
static
Map
<
String
,
String
>
WeiXinTiXian
(
String
openid
,
String
partnerTradeNo
,
String
check_name
,
String
amount
,
String
desc
,
String
spbill_create_ip
)
throws
Exception
{
WXSuppToUserPay
prePay
=
new
WXSuppToUserPay
();
prePay
.
setMch_appid
(
SystemConfig
.
WINXIN_AppID
);
prePay
.
setMchid
(
SystemConfig
.
WINXIN_PARTNER
);
prePay
.
setNonce_str
(
OrderUtil
.
CreateNoncestr
());
prePay
.
setPartner_trade_no
(
OrderUtil
.
GetOrderNumber
(
"TX"
)
);
prePay
.
setPartner_trade_no
(
partnerTradeNo
);
prePay
.
setOpenid
(
openid
);
prePay
.
setCheck_name
(
check_name
);
prePay
.
setAmount
(
amount
);
...
...
@@ -130,7 +130,7 @@ public class WXSuppToUserPay {
CloseableHttpClient
httpclient
=
null
;
try
{
KeyStore
keyStore
=
KeyStore
.
getInstance
(
"PKCS12"
);
//FileInputStream instream = new FileInputStream(new File("E:
/apiclient_cert.p12"));
// FileInputStream instream = new FileInputStream(new File("E:/cert
/apiclient_cert.p12"));
String
path
=
Thread
.
currentThread
().
getContextClassLoader
().
getResource
(
"/"
).
getPath
();
FileInputStream
instream
=
new
FileInputStream
(
new
File
(
path
+
"/apiclient_cert.p12"
));
try
{
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/weixin/constant/AliNeedPayErrorEnum.java
0 → 100644
View file @
6055e6c1
package
com
.
xxfc
.
platform
.
universal
.
weixin
.
constant
;
import
lombok.AllArgsConstructor
;
/**
* @author libin
* @version 1.0
* @description 以下错误 如需继续打款,要使用原来的订单号
* @data 2019/10/12 9:40
*/
@AllArgsConstructor
public
enum
AliNeedPayErrorEnum
{
SYSTEM_ERROR
(
"系统繁忙"
,
"系统繁忙"
);
private
String
desc
;
private
String
reason
;
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
String
getReason
()
{
return
reason
;
}
public
void
setReason
(
String
reason
)
{
this
.
reason
=
reason
;
}
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/weixin/constant/PaySubErrorCodeEnum.java
0 → 100644
View file @
6055e6c1
package
com
.
xxfc
.
platform
.
universal
.
weixin
.
constant
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/12 10:22
*/
public
enum
PaySubErrorCodeEnum
{
/**
* 普通付款异常
*/
PAY_ERROR
(
"EPAY_10000"
),
/**
* 需要继续付款错误码
*/
PAY_NEED_ERROR
(
"EPAY_10001"
);
private
String
subCode
;
PaySubErrorCodeEnum
(
String
subCode
)
{
this
.
subCode
=
subCode
;
}
public
String
getSubCode
()
{
return
subCode
;
}
public
void
setSubCode
(
String
subCode
)
{
this
.
subCode
=
subCode
;
}
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/weixin/constant/WxNeedPayErrorEnum.java
0 → 100644
View file @
6055e6c1
package
com
.
xxfc
.
platform
.
universal
.
weixin
.
constant
;
import
lombok.AllArgsConstructor
;
/**
* @author libin
* @version 1.0
* @description 以下错误 如需继续打款,要使用原来的商户订单号
* @data 2019/10/12 9:11
*/
@AllArgsConstructor
public
enum
WxNeedPayErrorEnum
{
NOTENOUGH
(
"余额不足"
,
"付款帐号余额不足或资金未到账"
),
SYSTEMERROR
(
"系统繁忙,请稍后再试"
,
"微信内部接口调用发生错误"
),
NAME_MISMATCH
(
"姓名校验出错"
,
"付款人身份校验不通过"
),
SIGN_ERROR
(
"签名错误"
,
"校验签名错误"
),
FREQ_LIMIT
(
"超过频率限制,请稍后再试"
,
"接口请求频率超时接口限制"
),
MONEY_LIMIT
(
"已经达到今日付款总额上限/已达到付款给此用户额度上限"
,
"请关注接口的付款限额条件"
),
CA_ERROR
(
"商户API证书校验出错"
,
"请求没带商户API证书或者带上了错误的商户API证书"
),
V2_ACCOUNT_SIMPLE_BAN
(
"无法给非实名用户付款"
,
"用户微信支付账户未知名,无法付款"
),
PARAM_IS_NOT_UTF8
(
"请求参数中包含非utf8编码字符"
,
"接口规范要求所有请求参数都必须为utf8编码"
),
SENDNUM_LIMIT
(
"该用户今日付款次数超过限制"
,
"该用户今日付款次数超过限制"
);
private
String
desc
;
private
String
reason
;
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
String
getReason
()
{
return
reason
;
}
public
void
setReason
(
String
reason
)
{
this
.
reason
=
reason
;
}
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/weixin/constant/WxResponseProperties.java
0 → 100644
View file @
6055e6c1
package
com
.
xxfc
.
platform
.
universal
.
weixin
.
constant
;
/**
* @author libin
* @version 1.0
* @description 微信请求响应字段
* @data 2019/10/12 9:57
*/
public
class
WxResponseProperties
{
public
static
final
String
ERROR_CODE
=
"err_code"
;
public
static
final
String
RETURN_CODE
=
"return_code"
;
public
static
final
String
RESULT_CODE
=
"result_code"
;
public
static
final
String
ERR_CODE_DES
=
"err_code_des"
;
public
static
final
String
PARTNER_TRADE_NO
=
"partner_trade_no"
;
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
View file @
6055e6c1
This diff is collapsed.
Click to expand it.
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/OrderPayController.java
View file @
6055e6c1
...
...
@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.universal.biz.OrderPayBiz
;
import
com.xxfc.platform.universal.entity.OrderPay
;
import
com.xxfc.platform.universal.vo.FundPayVo
;
import
com.xxfc.platform.universal.vo.OrderPayVo
;
import
com.xxfc.platform.universal.weixin.util.XMLUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -102,4 +103,11 @@ public class OrderPayController extends BaseController<OrderPayBiz,OrderPay> {
}
@PostMapping
(
"/app/unauth/transfer_account"
)
@IgnoreUserToken
public
String
transferAccount
(
@RequestBody
FundPayVo
fundPayVo
)
throws
Exception
{
return
baseBiz
.
fundTrans
(
fundPayVo
);
}
}
\ No newline at end of file
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