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
fb429e15
Commit
fb429e15
authored
Jun 15, 2024
by
程裕兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:CashierEvent
parent
a1ed70ab
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
1 deletions
+23
-1
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/PayServiceImpl.java
+12
-1
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/RefundServiceImpl.java
+11
-0
No files found.
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/PayServiceImpl.java
View file @
fb429e15
...
...
@@ -10,9 +10,11 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import
com.google.common.collect.Lists
;
import
com.jiejing.common.exception.BizException
;
import
com.jiejing.common.utils.collection.CollectionUtil
;
import
com.jiejing.common.utils.convert.BeanUtil
;
import
com.jiejing.fitness.enums.auth.AuthDomainEnum
;
import
com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum
;
import
com.jiejing.fitness.enums.tenant.TenantTypeEnum
;
import
com.jiejing.fitness.event.finance.CashierEvent
;
import
com.jiejing.fitness.finance.repository.entity.GlobalConfig
;
import
com.jiejing.fitness.finance.repository.entity.StudioCashierRecord
;
import
com.jiejing.fitness.finance.repository.entity.PartyToMerchant
;
...
...
@@ -180,8 +182,8 @@ public class PayServiceImpl implements PayService {
return
;
}
Long
id
=
Long
.
parseLong
(
event
.
getTransNo
());
Boolean
result
=
transactionTemplate
.
execute
(
action
->
{
Long
id
=
Long
.
parseLong
(
event
.
getTransNo
());
StudioCashierRecord
record
=
studioCashierRecordRpService
.
getByIdForUpdate
(
id
).
orElse
(
null
);
if
(
null
==
record
)
{
return
false
;
...
...
@@ -202,6 +204,9 @@ public class PayServiceImpl implements PayService {
return
true
;
});
// 发布收银事件
this
.
triggerCashierEvent
(
id
);
if
(
null
!=
result
&&
result
)
{
if
(
PayStateEnums
.
SUCCESS
.
getCode
().
equals
(
event
.
getPayState
()))
{
executor
.
execute
(()
->
this
.
sendPaySuccessMessage
(
event
));
...
...
@@ -210,6 +215,12 @@ public class PayServiceImpl implements PayService {
}
private
void
triggerCashierEvent
(
Long
id
)
{
// 发布收银事件
StudioCashierRecord
record
=
studioCashierRecordRpService
.
getById
(
id
).
orElse
(
null
);
EventAgent
.
of
(
CashierEvent
.
class
).
triggerEvent
(
BeanUtil
.
map
(
record
,
CashierEvent
.
class
));
}
private
List
<
Long
>
getAdminIds
(
Long
studioId
)
{
List
<
Long
>
userIds
=
this
.
getUserIds
(
studioId
);
if
(
CollectionUtil
.
isEmpty
(
userIds
))
{
...
...
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/RefundServiceImpl.java
View file @
fb429e15
...
...
@@ -6,10 +6,12 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import
com.google.common.collect.Lists
;
import
com.jiejing.common.exception.BizException
;
import
com.jiejing.common.utils.collection.CollectionUtil
;
import
com.jiejing.common.utils.convert.BeanUtil
;
import
com.jiejing.common.utils.text.StringUtil
;
import
com.jiejing.common.utils.time.TimeUtil
;
import
com.jiejing.fitness.enums.auth.AuthDomainEnum
;
import
com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum
;
import
com.jiejing.fitness.event.finance.CashierEvent
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO.CheckRefundCodeEnum
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantRefundVO
;
...
...
@@ -151,10 +153,19 @@ public class RefundServiceImpl implements RefundService {
StudioCashierRecord
toModify
=
RefundConvert
.
convertRefund
(
record
,
event
);
studioCashierRecordRpService
.
updateById
(
toModify
);
// 发布收银事件
this
.
triggerCashierEvent
(
record
.
getId
());
// 执行后续处理
this
.
doAfterRefund
(
event
,
record
);
}
private
void
triggerCashierEvent
(
Long
id
)
{
// 发布收银事件
StudioCashierRecord
record
=
studioCashierRecordRpService
.
getById
(
id
).
orElse
(
null
);
EventAgent
.
of
(
CashierEvent
.
class
).
triggerEvent
(
BeanUtil
.
map
(
record
,
CashierEvent
.
class
));
}
private
void
doAfterRefund
(
RefundEvent
event
,
StudioCashierRecord
record
)
{
TransStateEnums
state
=
TransStateEnums
.
getByCode
(
event
.
getRefundState
());
switch
(
state
)
{
...
...
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