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
667e8c2a
Commit
667e8c2a
authored
Nov 20, 2024
by
吴一龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix StudioAxfOrderVO instead of memberId and memberPhone
parent
1f8a9311
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
53 additions
and
36 deletions
+53
-36
api/src/main/java/com/jiejing/fitness/finance/api/axf/request/PageStudioAxfOrderRequest.java
+2
-2
api/src/main/java/com/jiejing/fitness/finance/api/axf/vo/StudioAxfOrderVO.java
+3
-3
repository/src/main/java/com/jiejing/fitness/finance/repository/entity/StudioAxfOrder.java
+4
-4
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioAxfOrderMapper.java
+2
-2
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioAxfOrderMapper.xml
+4
-4
repository/src/main/java/com/jiejing/fitness/finance/repository/service/StudioAxfOrderRpService.java
+8
-8
service/src/main/java/com/jiejing/fitness/finance/service/axf/convert/AxfConvert.java
+3
-3
service/src/main/java/com/jiejing/fitness/finance/service/axf/impl/AxfServiceImpl.java
+27
-10
No files found.
api/src/main/java/com/jiejing/fitness/finance/api/axf/request/PageStudioAxfOrderRequest.java
View file @
667e8c2a
...
...
@@ -27,10 +27,10 @@ public class PageStudioAxfOrderRequest {
private
String
studioName
;
@ApiModelProperty
(
value
=
"学员ID"
)
private
Long
student
Id
;
private
Long
member
Id
;
@ApiModelProperty
(
value
=
"学员名称"
)
private
String
student
Name
;
private
String
member
Name
;
@ApiModelProperty
(
value
=
"支付宝pid"
)
private
String
merchantNo
;
...
...
api/src/main/java/com/jiejing/fitness/finance/api/axf/vo/StudioAxfOrderVO.java
View file @
667e8c2a
...
...
@@ -43,13 +43,13 @@ public class StudioAxfOrderVO {
private
Long
commodityId
;
@ApiModelProperty
(
value
=
"学员ID"
)
private
Long
student
Id
;
private
Long
member
Id
;
@ApiModelProperty
(
value
=
"学员姓名"
)
private
String
student
Name
;
private
String
member
Name
;
@ApiModelProperty
(
value
=
"学员手机号"
)
private
String
student
Phone
;
private
String
member
Phone
;
@ApiModelProperty
(
value
=
"签约状态"
)
private
String
signState
;
...
...
repository/src/main/java/com/jiejing/fitness/finance/repository/entity/StudioAxfOrder.java
View file @
667e8c2a
...
...
@@ -84,13 +84,13 @@ public class StudioAxfOrder implements Serializable {
* 备注: 学员ID
* 是否允许为null: YES
*/
private
Long
student
Id
;
private
Long
member
Id
;
/**
* 备注: 学员姓名
* 是否允许为null: YES
*/
private
String
student
Name
;
private
String
member
Name
;
/**
* 备注: 签约状态
...
...
@@ -225,9 +225,9 @@ public class StudioAxfOrder implements Serializable {
public
static
final
String
COMMODITY_ID
=
"commodity_id"
;
public
static
final
String
STUDENT_ID
=
"
student
_id"
;
public
static
final
String
STUDENT_ID
=
"
member
_id"
;
public
static
final
String
STUDENT_NAME
=
"student
_name"
;
public
static
final
String
MEMBER_NAME
=
"member
_name"
;
public
static
final
String
SIGN_STATE
=
"sign_state"
;
...
...
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioAxfOrderMapper.java
View file @
667e8c2a
...
...
@@ -31,8 +31,8 @@ import org.apache.ibatis.annotations.Param;
*/
public
interface
StudioAxfOrderMapper
extends
XBaseMapper
<
StudioAxfOrder
>
{
AggStudioAxfOrderVO
agg
(
@Param
(
"studioIds"
)
List
<
Long
>
studioIds
,
@Param
(
"
studentId"
)
Long
student
Id
,
@Param
(
"
studentName"
)
String
student
Name
,
@Param
(
"voucherBusinessNo"
)
String
voucherBusinessNo
,
AggStudioAxfOrderVO
agg
(
@Param
(
"studioIds"
)
List
<
Long
>
studioIds
,
@Param
(
"
memberId"
)
Long
member
Id
,
@Param
(
"
memberName"
)
String
member
Name
,
@Param
(
"voucherBusinessNo"
)
String
voucherBusinessNo
,
@Param
(
"thirdOrderNo"
)
String
thirdOrderNo
,
@Param
(
"signTimeStart"
)
Date
signTimeStart
,
@Param
(
"signTimeEnd"
)
Date
signTimeEnd
,
@Param
(
"cancelTimeStart"
)
Date
cancelTimeStart
,
@Param
(
"cancelTimeEnd"
)
Date
cancelTimeEnd
,
@Param
(
"state"
)
AxfOrderSignStateEnums
state
);
...
...
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioAxfOrderMapper.xml
View file @
667e8c2a
...
...
@@ -29,11 +29,11 @@
#{item}
</foreach>
</if>
<if
test=
"
student
Id != null"
>
and student_id = #{
student
Id}
<if
test=
"
member
Id != null"
>
and student_id = #{
member
Id}
</if>
<if
test=
"
student
Name != null"
>
and student_name = #{
student
Name}
<if
test=
"
member
Name != null"
>
and student_name = #{
member
Name}
</if>
<if
test=
"voucherBusinessNo != null"
>
and voucher_business_no = #{voucherBusinessNo}
...
...
repository/src/main/java/com/jiejing/fitness/finance/repository/service/StudioAxfOrderRpService.java
View file @
667e8c2a
...
...
@@ -46,19 +46,19 @@ public class StudioAxfOrderRpService extends MapperRepoService<Long, StudioAxfOr
.
orElse
(
null
);
}
public
org
.
springframework
.
data
.
domain
.
Page
<
StudioAxfOrder
>
page
(
List
<
Long
>
studioIds
,
Long
student
Id
,
String
student
Name
,
String
merchantNo
,
public
org
.
springframework
.
data
.
domain
.
Page
<
StudioAxfOrder
>
page
(
List
<
Long
>
studioIds
,
Long
member
Id
,
String
member
Name
,
String
merchantNo
,
String
voucherBusinessNo
,
String
thirdOrderNo
,
Date
signTimeStart
,
Date
signTimeEnd
,
Date
cancelTimeStart
,
Date
cancelTimeEnd
,
AxfOrderSignStateEnums
state
,
Integer
current
,
Integer
size
)
{
QueryWrapper
<
StudioAxfOrder
>
wrapper
=
new
QueryWrapper
<>();
if
(
CollectionUtils
.
isNotEmpty
(
studioIds
))
{
wrapper
.
in
(
StudioAxfOrder
.
STUDIO_ID
,
studioIds
);
}
if
(
null
!=
student
Id
)
{
wrapper
.
eq
(
StudioAxfOrder
.
STUDENT_ID
,
student
Id
);
if
(
null
!=
member
Id
)
{
wrapper
.
eq
(
StudioAxfOrder
.
STUDENT_ID
,
member
Id
);
}
if
(
StringUtils
.
isNotEmpty
(
student
Name
))
{
wrapper
.
eq
(
StudioAxfOrder
.
STUDENT_NAME
,
student
Name
);
if
(
StringUtils
.
isNotEmpty
(
member
Name
))
{
wrapper
.
eq
(
StudioAxfOrder
.
MEMBER_NAME
,
member
Name
);
}
if
(
StringUtils
.
isNotEmpty
(
merchantNo
)){
wrapper
.
eq
(
StudioAxfOrder
.
MERCHANT_NO
,
merchantNo
);
...
...
@@ -96,10 +96,10 @@ public class StudioAxfOrderRpService extends MapperRepoService<Long, StudioAxfOr
.
orElse
(
null
);
}
public
AggStudioAxfOrderVO
agg
(
List
<
Long
>
studioIds
,
Long
studentId
,
String
student
Name
,
public
AggStudioAxfOrderVO
agg
(
List
<
Long
>
studioIds
,
Long
memberId
,
String
member
Name
,
String
voucherBusinessNo
,
String
thirdOrderNo
,
Date
signTimeStart
,
Date
signTimeEnd
,
Date
cancelTimeStart
,
Date
cancelTimeEnd
,
AxfOrderSignStateEnums
state
)
{
AggStudioAxfOrderVO
vo
=
this
.
baseMapper
.
agg
(
studioIds
,
studentId
,
student
Name
,
voucherBusinessNo
,
AggStudioAxfOrderVO
vo
=
this
.
baseMapper
.
agg
(
studioIds
,
memberId
,
member
Name
,
voucherBusinessNo
,
thirdOrderNo
,
signTimeStart
,
signTimeEnd
,
cancelTimeStart
,
cancelTimeEnd
,
state
);
if
(
null
==
vo
)
{
return
AggStudioAxfOrderVO
.
builder
().
receivedActualAmount
(
BigDecimal
.
ZERO
)
...
...
service/src/main/java/com/jiejing/fitness/finance/service/axf/convert/AxfConvert.java
View file @
667e8c2a
...
...
@@ -320,7 +320,7 @@ public class AxfConvert {
}
public
static
StudioAxfOrder
toEntity
(
CommodityOrderEvent
event
,
String
merchantNo
,
CommodityVO
commodity
,
VoucherVO
voucher
,
MemberDetailVO
student
)
{
VoucherVO
voucher
,
MemberDetailVO
member
)
{
AlipayCommerceMerchantcardOrderNotifyModel
model
=
JSON
.
parseObject
(
event
.
getAttr
(),
AlipayCommerceMerchantcardOrderNotifyModel
.
class
);
return
StudioAxfOrder
.
builder
()
...
...
@@ -330,8 +330,8 @@ public class AxfConvert {
.
merchantId
(
event
.
getMerchantId
())
.
merchantNo
(
merchantNo
)
.
commodityId
(
commodity
.
getId
())
.
studentId
(
student
.
getId
())
.
studentName
(
student
.
getName
())
.
memberId
(
member
.
getId
())
.
memberName
(
member
.
getName
())
.
originalPrice
(
MoneyUtil
.
divide
(
new
BigDecimal
(
model
.
getOriginPriceTotal
()),
new
BigDecimal
(
"100"
)))
.
salePrice
(
MoneyUtil
.
divide
(
new
BigDecimal
(
model
.
getSalePriceTotal
()),
new
BigDecimal
(
"100"
)))
.
totalPeriod
(
Integer
.
parseInt
(
model
.
getTotalCount
()))
...
...
service/src/main/java/com/jiejing/fitness/finance/service/axf/impl/AxfServiceImpl.java
View file @
667e8c2a
...
...
@@ -12,6 +12,7 @@ import com.jiejing.common.exception.BizException;
import
com.jiejing.common.model.JsonResult
;
import
com.jiejing.common.model.PageVO
;
import
com.jiejing.common.request.IdRequest
;
import
com.jiejing.common.request.IdsRequest
;
import
com.jiejing.common.utils.convert.BeanUtil
;
import
com.jiejing.common.utils.crypt.AesUtil
;
import
com.jiejing.filecenter.api.resource.vo.ResourceInfoVO
;
...
...
@@ -60,7 +61,10 @@ import com.jiejing.fitness.finance.service.utils.DingUtil;
import
com.jiejing.fitness.finance.service.utils.MoneyUtil
;
import
com.jiejing.fitness.request.MemberIdRequest
;
import
com.jiejing.member.api.member.MemberApi
;
import
com.jiejing.member.api.member.request.ListStudioMemberInfoRequest
;
import
com.jiejing.member.api.member.vo.MemberDetailVO
;
import
com.jiejing.member.api.member.vo.MemberDigestVO
;
import
com.jiejing.member.api.member.vo.StudioMemberSimpleVO
;
import
com.jiejing.message.enums.MsgChannelEnum
;
import
com.jiejing.message.event.SendCommonMsgEvent
;
import
com.jiejing.paycenter.api.merchant.MerchantApi
;
...
...
@@ -129,10 +133,10 @@ import java.util.Set;
import
java.util.concurrent.Executor
;
import
java.util.concurrent.Future
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
import
org.apache.commons.lang3.time.DateUtils
;
import
org.apache.commons.lang3.tuple.Pair
;
...
...
@@ -591,7 +595,7 @@ public class AxfServiceImpl implements AxfService {
}
Page
<
StudioAxfOrder
>
page
=
studioAxfOrderRpService
.
page
(
Lists
.
newArrayList
(
studioIds
),
request
.
get
StudentId
(),
request
.
getStudent
Name
(),
request
.
getMerchantNo
(),
request
.
get
MemberId
(),
request
.
getMember
Name
(),
request
.
getMerchantNo
(),
request
.
getVoucherBusinessNo
(),
request
.
getThirdOrderNo
(),
request
.
getSignTimeStart
(),
request
.
getSignTimeEnd
(),
request
.
getCancelTimeStart
(),
request
.
getCancelTimeEnd
(),
request
.
getState
(),
request
.
getCurrent
(),
...
...
@@ -603,7 +607,7 @@ public class AxfServiceImpl implements AxfService {
// 补充学员姓名+校区名称
List
<
StudioAxfOrderVO
>
vos
=
toVOList
(
page
.
getContent
());
this
.
appendStudio
Name
(
vos
);
this
.
appendStudio
AndMemberInfo
(
vos
);
return
PageVO
.
convert
(
page
,
vos
);
}
...
...
@@ -611,18 +615,24 @@ public class AxfServiceImpl implements AxfService {
public
AggStudioAxfOrderVO
aggOrder
(
PageStudioAxfOrderRequest
request
)
{
AggStudioAxfOrderVO
vo
=
studioAxfOrderRpService
.
agg
(
Optional
.
ofNullable
(
request
.
getStudioId
()).
map
(
Lists:
:
newArrayList
).
orElse
(
null
),
request
.
get
StudentId
(),
request
.
getStudent
Name
(),
request
.
getVoucherBusinessNo
(),
request
.
get
MemberId
(),
request
.
getMember
Name
(),
request
.
getVoucherBusinessNo
(),
request
.
getThirdOrderNo
(),
request
.
getSignTimeStart
(),
request
.
getSignTimeEnd
(),
request
.
getCancelTimeStart
(),
request
.
getCancelTimeEnd
(),
request
.
getState
());
vo
.
setRate
(
AxfConst
.
RATE
);
return
vo
;
}
private
void
appendStudio
Name
(
List
<
StudioAxfOrderVO
>
vos
)
{
private
void
appendStudio
AndMemberInfo
(
List
<
StudioAxfOrderVO
>
vos
)
{
Set
<
Long
>
studioIds
=
vos
.
stream
().
map
(
StudioAxfOrderVO:
:
getStudioId
).
collect
(
Collectors
.
toSet
());
Map
<
Long
,
StudioVO
>
studioMap
=
studioRpcService
.
mapStudio
(
Lists
.
newArrayList
(
studioIds
));
vos
.
forEach
(
e
->
e
.
setStudioName
(
studioMap
.
getOrDefault
(
e
.
getStudioId
(),
new
StudioVO
()).
getName
()));
List
<
Long
>
memberIds
=
vos
.
stream
().
map
(
StudioAxfOrderVO:
:
getMemberId
).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Long
,
MemberDigestVO
>
memberDigestVOMap
=
this
.
getMemberList
(
memberIds
).
stream
()
.
collect
(
Collectors
.
toMap
(
MemberDigestVO:
:
getId
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
vos
.
forEach
(
e
->
{
e
.
setStudioName
(
studioMap
.
getOrDefault
(
e
.
getStudioId
(),
new
StudioVO
()).
getName
());
e
.
setMemberName
(
memberDigestVOMap
.
getOrDefault
(
e
.
getMemberId
(),
new
MemberDigestVO
()).
getName
());
e
.
setMemberPhone
(
memberDigestVOMap
.
getOrDefault
(
e
.
getMemberId
(),
new
MemberDigestVO
()).
getPhone
());
});
}
private
List
<
StudioAxfOrderVO
>
toVOList
(
List
<
StudioAxfOrder
>
orders
)
{
...
...
@@ -1061,7 +1071,7 @@ public class AxfServiceImpl implements AxfService {
result
.
assertSuccess
();
CommodityVO
commodity
=
result
.
getResult
();
VoucherVO
voucher
=
this
.
getVoucher
(
commodity
.
getBizId
());
MemberDetailVO
student
=
this
.
getStudent
(
voucher
.
getReceiver
().
getId
());
MemberDetailVO
member
=
this
.
getMemberDetail
(
voucher
.
getReceiver
().
getId
());
String
merchantNo
=
null
;
if
(
event
.
getMerchantId
()!=
null
){
...
...
@@ -1071,17 +1081,24 @@ public class AxfServiceImpl implements AxfService {
}
}
StudioAxfOrder
order
=
AxfConvert
.
toEntity
(
event
,
merchantNo
,
commodity
,
voucher
,
student
);
StudioAxfOrder
order
=
AxfConvert
.
toEntity
(
event
,
merchantNo
,
commodity
,
voucher
,
member
);
studioAxfOrderRpService
.
insert
(
order
);
}
private
MemberDetailVO
get
Student
(
Long
memberId
)
{
private
MemberDetailVO
get
MemberDetail
(
Long
memberId
)
{
MemberIdRequest
request
=
new
MemberIdRequest
();
request
.
setMemberId
(
memberId
);
JsonResult
<
MemberDetailVO
>
result
=
memberApi
.
findDetailById
(
request
);
return
result
.
assertAndReturn
().
getResult
();
}
private
List
<
MemberDigestVO
>
getMemberList
(
List
<
Long
>
memberIds
)
{
IdsRequest
request
=
new
IdsRequest
();
request
.
setIds
(
memberIds
);
JsonResult
<
List
<
MemberDigestVO
>>
result
=
memberApi
.
listDigestByIds
(
request
);
return
result
.
assertAndReturn
().
getResult
();
}
private
VoucherVO
getVoucher
(
Long
voucherId
)
{
JsonResult
<
VoucherVO
>
result
=
voucherApi
.
getVoucher
(
IdRequest
.
builder
().
id
(
voucherId
).
build
());
return
result
.
assertAndReturn
().
getResult
();
...
...
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