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
5e1bb2a0
Commit
5e1bb2a0
authored
Feb 13, 2025
by
baihe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updated
parent
2d0c494e
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
39 additions
and
109 deletions
+39
-109
pom.xml
+1
-6
service/pom.xml
+0
-4
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/StudioMerchantServiceImpl.java
+15
-24
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/PayServiceImpl.java
+7
-24
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/RefundServiceImpl.java
+16
-51
No files found.
pom.xml
View file @
5e1bb2a0
...
...
@@ -77,11 +77,6 @@
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.jiejing.base
</groupId>
<artifactId>
message-api
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.jiejing.app
</groupId>
<artifactId>
promotion-api
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
...
...
@@ -89,7 +84,7 @@
<dependency>
<groupId>
com.jiejing.fitness
</groupId>
<artifactId>
message-sdk
</artifactId>
<version>
0.0.
2
-SNAPSHOT
</version>
<version>
0.0.
3
-SNAPSHOT
</version>
<exclusions>
<exclusion>
<groupId>
com.jiejing.base
</groupId>
...
...
service/pom.xml
View file @
5e1bb2a0
...
...
@@ -28,10 +28,6 @@
<artifactId>
studio-api
</artifactId>
</dependency>
<dependency>
<groupId>
com.jiejing.base
</groupId>
<artifactId>
message-api
</artifactId>
</dependency>
<dependency>
<groupId>
com.jiejing.app
</groupId>
<artifactId>
promotion-api
</artifactId>
</dependency>
...
...
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/StudioMerchantServiceImpl.java
View file @
5e1bb2a0
...
...
@@ -38,9 +38,10 @@ import com.jiejing.fitness.finance.service.rpc.MerchantRpcService;
import
com.jiejing.fitness.finance.service.rpc.MessageRpcService
;
import
com.jiejing.fitness.finance.service.rpc.ResourceRpcService
;
import
com.jiejing.fitness.finance.service.rpc.StudioRpcService
;
import
com.jiejing.fitness.studio.FitVerifyCodeRpcService
;
import
com.jiejing.fitness.studio.StudioMsgRpcService
;
import
com.jiejing.fos.api.vo.ResourceInfoVO
;
import
com.jiejing.message.enums.MsgChannelEnum
;
import
com.jiejing.message.event.SendCommonMsgEvent
;
import
com.jiejing.msg.enums.MsgChannelEnum
;
import
com.jiejing.paycenter.api.merchant.request.ApplyMerchantRequest
;
import
com.jiejing.paycenter.common.enums.common.OpenStateEnums
;
import
com.jiejing.paycenter.common.enums.merchant.ResourceTypeEnums
;
...
...
@@ -127,6 +128,12 @@ public class StudioMerchantServiceImpl implements StudioMerchantService {
@Resource
(
name
=
"financeThreadPool"
)
private
Executor
executor
;
@Resource
private
FitVerifyCodeRpcService
fitVerifyCodeRpcService
;
@Resource
private
StudioMsgRpcService
studioMsgRpcService
;
/**
* 第三方平台appId
*/
...
...
@@ -689,35 +696,19 @@ public class StudioMerchantServiceImpl implements StudioMerchantService {
}
private
void
sendOpenFailMessage
(
StudioMerchantApplyVO
apply
)
{
List
<
Map
<
String
,
Object
>>
paramList
=
new
ArrayList
<>(
1
);
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>(
1
);
paramMap
.
put
(
"targetId"
,
apply
.
getOperatorId
());
paramMap
.
put
(
"studioId"
,
apply
.
getStudioId
());
paramList
.
add
(
paramMap
);
SendCommonMsgEvent
event
=
new
SendCommonMsgEvent
();
event
.
setChannelEnums
(
Lists
.
newArrayList
(
MsgChannelEnum
.
SMS
));
event
.
setCovertTarget
(
true
);
event
.
setEventId
(
IdWorker
.
getId
());
event
.
setSourceId
(
apply
.
getStudioId
());
event
.
setBizType
(
"OPEN_MERCHANT_FAIL"
);
event
.
setParams
(
paramList
);
EventAgent
.
of
(
SendCommonMsgEvent
.
class
).
triggerEvent
(
event
);
studioMsgRpcService
.
sendMessage
(
apply
.
getBrandId
(),
apply
.
getStudioId
(),
"OPEN_MERCHANT_FAIL"
,
Lists
.
newArrayList
(
MsgChannelEnum
.
SMS
),
"ADMIN"
,
apply
.
getOperatorId
(),
paramMap
);
}
private
void
sendOpenSuccessMessage
(
StudioMerchantApplyVO
apply
)
{
List
<
Map
<
String
,
Object
>>
paramList
=
new
ArrayList
<>(
1
);
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>(
1
);
paramMap
.
put
(
"targetId"
,
apply
.
getOperatorId
());
paramMap
.
put
(
"studioId"
,
apply
.
getStudioId
());
paramList
.
add
(
paramMap
);
SendCommonMsgEvent
event
=
new
SendCommonMsgEvent
();
event
.
setChannelEnums
(
Lists
.
newArrayList
(
MsgChannelEnum
.
SMS
));
event
.
setCovertTarget
(
true
);
event
.
setEventId
(
IdWorker
.
getId
());
event
.
setSourceId
(
apply
.
getStudioId
());
event
.
setBizType
(
"OPEN_MERCHANT_SUCCESS"
);
event
.
setParams
(
paramList
);
EventAgent
.
of
(
SendCommonMsgEvent
.
class
).
triggerEvent
(
event
);
studioMsgRpcService
.
sendMessage
(
apply
.
getBrandId
(),
apply
.
getStudioId
(),
"OPEN_MERCHANT_SUCCESS"
,
Lists
.
newArrayList
(
MsgChannelEnum
.
SMS
),
"ADMIN"
,
apply
.
getOperatorId
(),
paramMap
);
}
private
void
doOpenMerchantProcess
(
Long
id
)
{
...
...
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/PayServiceImpl.java
View file @
5e1bb2a0
...
...
@@ -3,12 +3,7 @@ package com.jiejing.fitness.finance.service.pay.impl;
import
static
com
.
jiejing
.
fitness
.
enums
.
finance
.
BrandCashierTransStateEnum
.
PAY_FAIL
;
import
static
com
.
jiejing
.
fitness
.
enums
.
finance
.
BrandCashierTransStateEnum
.
PAY_IN
;
import
static
com
.
jiejing
.
fitness
.
enums
.
finance
.
BrandCashierTransStateEnum
.
PAY_SUCCESS
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
import
com.alibaba.fastjson.JSON
;
import
com.alipay.api.AlipayApiException
;
import
com.alipay.api.DefaultAlipayClient
;
import
com.alipay.api.response.AlipaySystemOauthTokenResponse
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.google.common.collect.Lists
;
import
com.jiejing.common.exception.BizException
;
...
...
@@ -16,9 +11,7 @@ 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
;
import
com.jiejing.fitness.finance.repository.service.GlobalConfigRpService
;
...
...
@@ -27,7 +20,6 @@ import com.jiejing.fitness.finance.repository.service.PartyToMerchantRpService;
import
com.jiejing.fitness.finance.service.config.AppUrlProperties
;
import
com.jiejing.fitness.finance.service.config.PayChannelProperties
;
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.params.AppPayParams
;
...
...
@@ -39,8 +31,8 @@ import com.jiejing.fitness.finance.service.rpc.PermissionRpcService;
import
com.jiejing.fitness.finance.service.rpc.StudioRpcService
;
import
com.jiejing.fitness.finance.service.utils.FeeUtil
;
import
com.jiejing.fitness.finance.service.utils.MoneyUtil
;
import
com.jiejing.
message.enums.MsgChannelEnum
;
import
com.jiejing.m
essage.event.SendCommonMsgEvent
;
import
com.jiejing.
fitness.studio.StudioMsgRpcService
;
import
com.jiejing.m
sg.enums.MsgChannelEnum
;
import
com.jiejing.paycenter.common.enums.common.PayChannelEnums
;
import
com.jiejing.paycenter.common.enums.pay.PayStateEnums
;
import
com.jiejing.paycenter.common.model.vo.MerchantVO
;
...
...
@@ -56,7 +48,6 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.concurrent.Executor
;
import
java.util.stream.Collectors
;
import
javax.annotation.PostConstruct
;
...
...
@@ -113,6 +104,9 @@ public class PayServiceImpl implements PayService {
@Resource
(
name
=
"financeThreadPool"
)
private
Executor
executor
;
@Resource
private
StudioMsgRpcService
studioMsgRpcService
;
// private final Map<String, DefaultAlipayClient> aliClientMap = new HashMap<>();
@PostConstruct
...
...
@@ -253,24 +247,13 @@ public class PayServiceImpl implements PayService {
return
;
}
List
<
Map
<
String
,
Object
>>
paramList
=
targetIds
.
stream
().
map
(
targetId
->
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>(
1
);
paramMap
.
put
(
"targetId"
,
targetId
);
paramMap
.
put
(
"studioId"
,
studioId
);
paramMap
.
put
(
"buyerName"
,
buyerName
);
paramMap
.
put
(
"amount"
,
e
.
getAmount
());
paramMap
.
put
(
"appUrl"
,
appUrlProperties
.
getTransDetail
()
+
e
.
getTransNo
());
return
paramMap
;
}).
collect
(
Collectors
.
toList
());
SendCommonMsgEvent
event
=
new
SendCommonMsgEvent
();
event
.
setChannelEnums
(
Lists
.
newArrayList
(
MsgChannelEnum
.
APP_PUSH
));
event
.
setCovertTarget
(
true
);
event
.
setEventId
(
IdWorker
.
getId
());
event
.
setSourceId
(
studioId
);
event
.
setBizType
(
"CASHIER_PAY_SUCCESS"
);
event
.
setParams
(
paramList
);
EventAgent
.
of
(
SendCommonMsgEvent
.
class
).
triggerEvent
(
event
);
studioMsgRpcService
.
sendMessageBatch
(
null
,
studioId
,
"CASHIER_PAY_SUCCESS"
,
Lists
.
newArrayList
(
MsgChannelEnum
.
APP_PUSH
),
"ADMIN"
,
targetIds
,
paramMap
,
new
HashMap
<>(),
null
);
}
private
boolean
isPaying
(
BrandCashierTransStateEnum
state
)
{
...
...
service/src/main/java/com/jiejing/fitness/finance/service/pay/impl/RefundServiceImpl.java
View file @
5e1bb2a0
...
...
@@ -12,10 +12,8 @@ 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.WeChatInstParam
;
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.api.merchant.vo.StudioMerchantCheckRefundVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO.CheckRefundCodeEnum
;
...
...
@@ -37,8 +35,8 @@ import com.jiejing.fitness.finance.service.rpc.PayRpcService;
import
com.jiejing.fitness.finance.service.rpc.PermissionRpcService
;
import
com.jiejing.fitness.finance.service.rpc.StudioRpcService
;
import
com.jiejing.fitness.finance.service.utils.MoneyUtil
;
import
com.jiejing.
message.enums.MsgChannelEnum
;
import
com.jiejing.m
essage.event.SendCommonMsgEvent
;
import
com.jiejing.
fitness.studio.StudioMsgRpcService
;
import
com.jiejing.m
sg.enums.MsgChannelEnum
;
import
com.jiejing.paycenter.api.pay.request.RefundPayRequest
;
import
com.jiejing.paycenter.common.enums.common.TransStateEnums
;
import
com.jiejing.paycenter.common.event.RefundEvent
;
...
...
@@ -94,7 +92,7 @@ public class RefundServiceImpl implements RefundService {
private
FitConfigService
fitConfigService
;
@Resource
private
WeChatInstParam
weChatInstParam
;
private
StudioMsgRpcService
studioMsgRpcService
;
@Resource
(
name
=
"financeThreadPool"
)
private
Executor
executor
;
...
...
@@ -232,50 +230,25 @@ public class RefundServiceImpl implements RefundService {
Boolean
wx
=
fitConfigService
.
getStudioBoolConfig
(
record
.
getStudioId
(),
"WECHAT_MEMBER_REFUND_SUCCESS"
);
Boolean
sms
=
fitConfigService
.
getStudioBoolConfig
(
record
.
getStudioId
(),
"SMS_MEMBER_REFUND_SUCCESS"
);
String
targetId
=
this
.
getTargetId
(
record
,
extra
);
List
<
MsgChannelEnum
>
channels
=
this
.
getMsgChannels
(
extra
,
wx
,
sms
);
if
(
CollectionUtil
.
isEmpty
(
channels
))
{
log
.
info
(
"all config is false {}, {}"
,
wx
,
sms
);
return
;
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>(
1
);
paramMap
.
put
(
"targetId"
,
targetId
);
paramMap
.
put
(
"studioId"
,
record
.
getStudioId
());
paramMap
.
put
(
"name"
,
record
.
getBuyerName
());
paramMap
.
put
(
"refundAmount"
,
MoneyUtil
.
format
(
record
.
getTransAmount
()));
paramMap
.
put
(
"refundCommodity"
,
record
.
getRemark
());
paramMap
.
put
(
"refundReason"
,
record
.
getRemark
());
paramMap
.
put
(
"time"
,
DateFormatUtils
.
format
(
e
.
getSuccessTime
(),
"yyyy-MM-dd HH:mm:ss"
));
List
<
Map
<
String
,
Object
>>
paramList
;
if
(
channels
.
contains
(
MsgChannelEnum
.
WE_CHAT
))
{
paramList
=
weChatInstParam
.
appendWeChatParam
(
record
.
getStudioId
(),
Lists
.
newArrayList
(
paramMap
),
TenantTypeEnum
.
STUDIO
);
log
.
info
(
"send member message wechat paramsMap {}"
,
JSON
.
toJSONString
(
paramMap
));
}
else
{
paramList
=
Lists
.
newArrayList
(
paramMap
);
}
SendCommonMsgEvent
event
=
new
SendCommonMsgEvent
();
event
.
setChannelEnums
(
channels
);
event
.
setCovertTarget
(
true
);
event
.
setEventId
(
IdWorker
.
getId
());
event
.
setSourceId
(
record
.
getStudioId
());
event
.
setBizType
(
bizType
);
event
.
setParams
(
paramList
);
EventAgent
.
of
(
SendCommonMsgEvent
.
class
).
triggerEvent
(
event
);
}
private
List
<
MsgChannelEnum
>
getMsgChannels
(
JSONObject
extra
,
Boolean
wx
,
Boolean
sms
)
{
Long
memberId
=
extra
.
getLong
(
"notice_member_id"
);
List
<
MsgChannelEnum
>
channels
=
sms
?
Lists
.
newArrayList
(
MsgChannelEnum
.
SMS
)
:
Lists
.
newArrayList
();
if
(
null
!=
memberId
)
{
if
(
wx
)
{
channels
.
add
(
MsgChannelEnum
.
WE_CHAT
);
if
(
null
!=
memberId
&&
wx
)
{
studioMsgRpcService
.
sendMessage
(
record
.
getBrandId
(),
record
.
getStudioId
(),
bizType
,
Lists
.
newArrayList
(
MsgChannelEnum
.
WX_MP
),
"MEMBER"
,
memberId
,
paramMap
);
}
if
(
sms
)
{
studioMsgRpcService
.
sendMessageToTargetKey
(
record
.
getBrandId
(),
record
.
getStudioId
(),
bizType
,
Lists
.
newArrayList
(
MsgChannelEnum
.
SMS
),
"MEMBER"
,
record
.
getBuyerPhone
(),
false
,
paramMap
);
}
return
channels
;
}
private
void
sendRefundMessage
(
RefundEvent
e
,
StudioCashierRecord
record
,
String
bizType
)
{
...
...
@@ -283,24 +256,16 @@ public class RefundServiceImpl implements RefundService {
if
(
CollectionUtil
.
isEmpty
(
targetIds
))
{
return
;
}
List
<
Map
<
String
,
Object
>>
paramList
=
targetIds
.
stream
().
map
(
targetId
->
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>(
1
);
paramMap
.
put
(
"targetId"
,
targetId
);
paramMap
.
put
(
"studioId"
,
record
.
getStudioId
());
paramMap
.
put
(
"refunderName"
,
record
.
getBuyerName
());
paramMap
.
put
(
"amount"
,
MoneyUtil
.
format
(
record
.
getTransAmount
()));
paramMap
.
put
(
"appUrl"
,
appUrlProperties
.
getTransDetail
()
+
e
.
getTransNo
());
return
paramMap
;
}).
collect
(
Collectors
.
toList
());
SendCommonMsgEvent
event
=
new
SendCommonMsgEvent
();
event
.
setChannelEnums
(
Lists
.
newArrayList
(
MsgChannelEnum
.
APP_PUSH
));
event
.
setCovertTarget
(
true
);
event
.
setEventId
(
IdWorker
.
getId
());
event
.
setSourceId
(
record
.
getStudioId
());
event
.
setBizType
(
bizType
);
event
.
setParams
(
paramList
);
EventAgent
.
of
(
SendCommonMsgEvent
.
class
).
triggerEvent
(
event
);
studioMsgRpcService
.
sendMessageBatch
(
record
.
getBrandId
(),
record
.
getStudioId
(),
bizType
,
Lists
.
newArrayList
(
MsgChannelEnum
.
SMS
),
"ADMIN"
,
targetIds
,
paramMap
,
new
HashMap
<>(),
null
);
}
private
List
<
Long
>
getAdminIds
(
Long
studioId
)
{
...
...
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