Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fit-finance
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
fitness-server
fit-finance
Commits
65b619a2
Commit
65b619a2
authored
Apr 19, 2024
by
程裕兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:pay
parent
4730d1bf
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
59 additions
and
1 deletions
+59
-1
service/src/main/java/com/jiejing/fitness/finance/service/enums/FinanceErrorEnums.java
+1
-0
service/src/main/java/com/jiejing/fitness/finance/service/pay/enums/PayFailMessageReplaceEnums.java
+48
-0
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/PayServiceImpl.java
+10
-1
No files found.
service/src/main/java/com/jiejing/fitness/finance/service/enums/FinanceErrorEnums.java
View file @
65b619a2
...
...
@@ -25,6 +25,7 @@ public enum FinanceErrorEnums implements BaseBizError {
NOT_SUPPORT_FILE_TYPE
(
"不支持的文件类型"
),
EXIST_PROCESS_APPLY
(
"存在处理中的申请"
),
EXIST_BIND_RECORD
(
"存在已经绑定的流水"
),
PAY_FAIL
(
"支付失败"
),
;
@Getter
...
...
service/src/main/java/com/jiejing/fitness/finance/service/pay/enums/PayFailMessageReplaceEnums.java
0 → 100644
View file @
65b619a2
package
com
.
jiejing
.
fitness
.
finance
.
service
.
pay
.
enums
;
import
java.util.Arrays
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author chengyubing
* @since 2024/4/19 12:17
*/
@Getter
@AllArgsConstructor
public
enum
PayFailMessageReplaceEnums
{
/**
*
*/
E1
(
"交易失败,结算账户状态异常"
,
"收款账户状态异常,请联系场馆工作人员处理。"
),
E2
(
"参数buyerId和buyerLongId不能同时为空"
,
"网络异常支付失败,请重新支付。"
),
E3
(
"参数openId不能为空"
,
"网络异常支付失败,请重新支付。"
),
E4
(
"特约子商户该产品权限已被冻结,请前往商户平台>产品中心检查后重试"
,
"支付失败,请联系场馆工作人员处理。"
),
E5
(
"当前商户需补齐相关资料后,才可进行相应的支付交易,请商户联系对接的微信支付服务商"
,
"支付失败,请联系场馆工作人员进行微信授权。"
),
E6
(
"当前商户需补齐相关资料后,才可进行相应的支付交易,请商户联系对接的支付宝服务商"
,
"支付失败,请联系场馆工作人员进行支付宝授权。"
),
E7
(
"商户不存在"
,
"支付失败,请联系场馆工作人员处理。"
),
E8
(
"风控拦截[单笔限额拦截]"
,
"该场馆单笔收款有额度限制,请联系场馆提升收款额度或者分多笔订单支付。"
),
E9
(
"风控拦截[单日限额拦截]"
,
"该场馆单日收款有额度限制,请联系场馆提升收款额度。"
),
E10
(
"交易失败,请重试cashCode:38 cashDesc: 该商户无此通道入驻记录或商户不可用!"
,
"支付失败,请联系场馆工作人员处理。"
),
OTHER
(
"OTHER"
,
"支付失败,请联系场馆工作人员处理。"
),
;
private
final
String
source
;
private
final
String
target
;
public
static
String
convertBySource
(
String
source
)
{
if
(
null
==
source
)
{
return
OTHER
.
getTarget
();
}
return
Arrays
.
stream
(
PayFailMessageReplaceEnums
.
values
())
.
filter
(
e
->
e
.
getSource
().
contains
(
source
)
||
source
.
contains
(
e
.
getSource
())).
findFirst
()
.
orElse
(
OTHER
).
getTarget
();
}
}
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/PayServiceImpl.java
View file @
65b619a2
...
...
@@ -34,6 +34,7 @@ import com.jiejing.fitness.finance.service.enums.FinanceErrorEnums;
import
com.jiejing.fitness.finance.service.enums.GlobalConfigEnums
;
import
com.jiejing.fitness.finance.service.pay.PayService
;
import
com.jiejing.fitness.finance.service.pay.convert.PayConvert
;
import
com.jiejing.fitness.finance.service.pay.enums.PayFailMessageReplaceEnums
;
import
com.jiejing.fitness.finance.service.pay.params.BrandMerchantRefundParams
;
import
com.jiejing.fitness.finance.service.pay.params.NativePayParams
;
import
com.jiejing.fitness.finance.service.pay.params.StudioMerchantPayParams
;
...
...
@@ -185,7 +186,7 @@ public class PayServiceImpl implements PayService {
StudioVO
studio
=
studioRpcService
.
getStudio
(
params
.
getStudioId
());
PartyToMerchant
relation
=
partyToMerchantRpService
.
getByStudioId
(
studio
.
getId
(),
config
.
getCashier
());
if
(
null
==
relation
)
{
throw
new
BizException
(
FinanceErrorEnums
.
MERCHANT_NOT_OPEN
);
throw
new
BizException
(
FinanceErrorEnums
.
PAY_FAIL
,
PayFailMessageReplaceEnums
.
E7
.
getTarget
()
);
}
MerchantVO
merchant
=
merchantRpcService
.
getByMerchantId
(
relation
.
getMerchantId
());
...
...
@@ -197,9 +198,17 @@ public class PayServiceImpl implements PayService {
studioCashierRecordRpService
.
insert
(
record
);
PayVO
vo
=
payRpcService
.
pay
(
request
);
this
.
payCallback
(
PayConvert
.
convertEvent
(
request
,
vo
));
if
(
PayStateEnums
.
FAILED
==
PayStateEnums
.
getByCode
(
vo
.
getPayState
()))
{
throw
new
BizException
(
FinanceErrorEnums
.
PAY_FAIL
,
replaceFailMessage
(
vo
.
getFailMsg
()));
}
return
vo
;
}
private
String
replaceFailMessage
(
String
failMsg
)
{
return
PayFailMessageReplaceEnums
.
convertBySource
(
failMsg
);
}
@Override
public
void
payCallback
(
PayEvent
event
)
{
if
(!
event
.
getChannelNo
().
equals
(
config
.
getCashier
()))
{
...
...
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