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
a7d669e3
Commit
a7d669e3
authored
Apr 07, 2024
by
程裕兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:settle
parent
988a43aa
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
252 additions
and
2 deletions
+252
-2
api/src/main/java/com/jiejing/fitness/finance/api/cashier/vo/StudioSettleVO.java
+56
-0
repository/src/main/java/com/jiejing/fitness/finance/repository/entity/StudioSettleRecord.java
+7
-0
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioSettleRecordMapper.xml
+1
-1
repository/src/main/java/com/jiejing/fitness/finance/repository/query/PageStudioSettleQuery.java
+62
-0
repository/src/main/java/com/jiejing/fitness/finance/repository/service/StudioSettleRecordRpService.java
+28
-0
service/src/main/java/com/jiejing/fitness/finance/service/cashier/StudioCashierService.java
+12
-1
service/src/main/java/com/jiejing/fitness/finance/service/cashier/convert/CashierConvert.java
+21
-0
service/src/main/java/com/jiejing/fitness/finance/service/cashier/impl/StudioCashierServiceImpl.java
+15
-0
service/src/main/java/com/jiejing/fitness/finance/service/cashier/params/PageStudioSettleParams.java
+50
-0
No files found.
api/src/main/java/com/jiejing/fitness/finance/api/cashier/vo/StudioSettleVO.java
0 → 100644
View file @
a7d669e3
package
com
.
jiejing
.
fitness
.
finance
.
api
.
cashier
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author chengyubing
* @since 2024/4/7 18:00
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"场馆结算记录VO"
)
public
class
StudioSettleVO
{
@ApiModelProperty
(
value
=
"主键"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"场馆ID"
)
private
Long
studioId
;
@ApiModelProperty
(
value
=
"商户ID"
)
private
Long
merchantId
;
@ApiModelProperty
(
value
=
"商户号"
)
private
String
merchantNo
;
@ApiModelProperty
(
value
=
"状态"
)
private
String
transState
;
@ApiModelProperty
(
value
=
"结算金额(元)"
)
private
BigDecimal
transAmount
;
@ApiModelProperty
(
value
=
"结算银行卡号"
)
private
String
cardNo
;
@ApiModelProperty
(
value
=
"结算银行"
)
private
String
bankName
;
@ApiModelProperty
(
value
=
"结算日期"
)
private
Date
settleDate
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
}
repository/src/main/java/com/jiejing/fitness/finance/repository/entity/StudioSettleRecord.java
View file @
a7d669e3
...
...
@@ -53,6 +53,11 @@ public class StudioSettleRecord implements Serializable {
private
Long
studioId
;
/**
* 备注: 场馆名称 是否允许为null: YES
*/
private
String
studioName
;
/**
* 备注: 商户ID 是否允许为null: YES
*/
private
Long
merchantId
;
...
...
@@ -109,6 +114,8 @@ public class StudioSettleRecord implements Serializable {
public
static
final
String
STUDIO_ID
=
"studio_id"
;
public
static
final
String
STUDIO_NAME
=
"studio_name"
;
public
static
final
String
MERCHANT_ID
=
"merchant_id"
;
public
static
final
String
MERCHANT_NO
=
"merchant_no"
;
...
...
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioSettleRecordMapper.xml
View file @
a7d669e3
...
...
@@ -17,7 +17,7 @@
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
id, studio_id, merchant_id, merchant_no, trans_state, trans_amount, card_no, bank_name, salt, settle_date, create_time, update_time
id, studio_id,
studio_name,
merchant_id, merchant_no, trans_state, trans_amount, card_no, bank_name, salt, settle_date, create_time, update_time
</sql>
</mapper>
repository/src/main/java/com/jiejing/fitness/finance/repository/query/PageStudioSettleQuery.java
0 → 100644
View file @
a7d669e3
package
com
.
jiejing
.
fitness
.
finance
.
repository
.
query
;
import
com.jiejing.paycenter.common.enums.common.TransStateEnums
;
import
java.util.Date
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 分页查询场馆结算记录参数
*
* @author chengyubing
* @since 2024/4/7 18:03
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
PageStudioSettleQuery
{
/**
* 场馆名称
*/
private
String
studioName
;
/**
* 场馆ID
*/
private
Long
studioId
;
/**
* 商户号
*/
private
String
merchantNo
;
/**
* 结算状态
*/
private
TransStateEnums
transState
;
/**
* 开始时间
*/
private
Date
startTime
;
/**
* 结束时间
*/
private
Date
endTime
;
/**
* 页码:0开始
*/
private
Integer
current
;
/**
* 分页大小
*/
private
Integer
size
;
}
repository/src/main/java/com/jiejing/fitness/finance/repository/service/StudioSettleRecordRpService.java
View file @
a7d669e3
...
...
@@ -15,14 +15,18 @@
package
com
.
jiejing
.
fitness
.
finance
.
repository
.
service
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.jiejing.common.utils.text.StringUtil
;
import
com.jiejing.fitness.finance.repository.entity.StudioSettleRecord
;
import
com.jiejing.fitness.finance.repository.mapper.StudioSettleRecordMapper
;
import
com.jiejing.fitness.finance.repository.query.PageStudioSettleQuery
;
import
com.jiejing.mbp.MapperRepoService
;
import
com.jiejing.paycenter.common.enums.common.TransStateEnums
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
import
org.springframework.data.domain.Page
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -46,4 +50,27 @@ public class StudioSettleRecordRpService extends
return
Optional
.
ofNullable
(
list
).
orElse
(
new
ArrayList
<>()).
stream
().
findFirst
().
orElse
(
null
);
}
public
Page
<
StudioSettleRecord
>
page
(
PageStudioSettleQuery
query
)
{
QueryWrapper
<
StudioSettleRecord
>
wrapper
=
new
QueryWrapper
<>();
if
(
Objects
.
nonNull
(
query
.
getStudioId
()))
{
wrapper
.
eq
(
StudioSettleRecord
.
STUDIO_ID
,
query
.
getStudioId
());
}
if
(
StringUtil
.
isNotBlank
(
query
.
getStudioName
()))
{
wrapper
.
like
(
StudioSettleRecord
.
STUDIO_NAME
,
query
.
getStudioName
());
}
if
(
StringUtil
.
isNotBlank
(
query
.
getMerchantNo
()))
{
wrapper
.
like
(
StudioSettleRecord
.
MERCHANT_NO
,
query
.
getMerchantNo
());
}
if
(
Objects
.
nonNull
(
query
.
getTransState
()))
{
wrapper
.
eq
(
StudioSettleRecord
.
TRANS_STATE
,
query
.
getTransState
().
getCode
());
}
if
(
Objects
.
nonNull
(
query
.
getStartTime
()))
{
wrapper
.
ge
(
StudioSettleRecord
.
SETTLE_DATE
,
query
.
getStartTime
());
}
if
(
Objects
.
nonNull
(
query
.
getEndTime
()))
{
wrapper
.
le
(
StudioSettleRecord
.
SETTLE_DATE
,
query
.
getEndTime
());
}
wrapper
.
orderByDesc
(
StudioSettleRecord
.
ID
);
return
findByWrapperPage
(
wrapper
,
query
.
getCurrent
(),
query
.
getSize
());
}
}
\ No newline at end of file
service/src/main/java/com/jiejing/fitness/finance/service/cashier/StudioCashierService.java
View file @
a7d669e3
...
...
@@ -2,7 +2,9 @@ package com.jiejing.fitness.finance.service.cashier;
import
com.jiejing.common.model.PageVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierRecordVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
com.jiejing.fitness.finance.service.cashier.params.PageStudioCashierParams
;
import
com.jiejing.fitness.finance.service.cashier.params.PageStudioSettleParams
;
import
java.util.List
;
/**
...
...
@@ -36,11 +38,20 @@ public interface StudioCashierService {
List
<
StudioCashierRecordVO
>
listBySubOrderNo
(
String
subOrderNo
);
/**
* 分页
* 分页
查询收银流水
*
* @param params 参数
* @return 结果
*/
PageVO
<
StudioCashierRecordVO
>
page
(
PageStudioCashierParams
params
);
/**
* 分页查询结算记录
*
* @param params 参数
* @return 结果
*/
PageVO
<
StudioSettleVO
>
page
(
PageStudioSettleParams
params
);
}
service/src/main/java/com/jiejing/fitness/finance/service/cashier/convert/CashierConvert.java
View file @
a7d669e3
...
...
@@ -3,8 +3,13 @@ package com.jiejing.fitness.finance.service.cashier.convert;
import
com.google.common.collect.Lists
;
import
com.jiejing.common.model.PageVO
;
import
com.jiejing.common.utils.collection.CollectionUtil
;
import
com.jiejing.common.utils.convert.BeanUtil
;
import
com.jiejing.common.utils.crypt.AesUtil
;
import
com.jiejing.common.utils.text.SensitiveUtil
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierRecordVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
com.jiejing.fitness.finance.repository.entity.StudioCashierRecord
;
import
com.jiejing.fitness.finance.repository.entity.StudioSettleRecord
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
org.springframework.data.domain.Page
;
...
...
@@ -61,4 +66,20 @@ public class CashierConvert {
return
PageVO
.
convert
(
page
,
convertList
(
page
.
getContent
()));
}
public
static
PageVO
<
StudioSettleVO
>
convertSettlePageVO
(
Page
<
StudioSettleRecord
>
page
)
{
return
PageVO
.
convert
(
page
,
convertSettleList
(
page
.
getContent
()));
}
private
static
List
<
StudioSettleVO
>
convertSettleList
(
List
<
StudioSettleRecord
>
list
)
{
if
(
CollectionUtil
.
isEmpty
(
list
))
{
return
Lists
.
newArrayList
();
}
return
list
.
stream
().
map
(
CashierConvert:
:
convertSettleVO
).
collect
(
Collectors
.
toList
());
}
private
static
StudioSettleVO
convertSettleVO
(
StudioSettleRecord
record
)
{
StudioSettleVO
vo
=
BeanUtil
.
map
(
record
,
StudioSettleVO
.
class
);
vo
.
setCardNo
(
SensitiveUtil
.
bankCard
(
AesUtil
.
decrypt
(
record
.
getSalt
(),
record
.
getCardNo
())));
return
vo
;
}
}
service/src/main/java/com/jiejing/fitness/finance/service/cashier/impl/StudioCashierServiceImpl.java
View file @
a7d669e3
...
...
@@ -3,12 +3,17 @@ package com.jiejing.fitness.finance.service.cashier.impl;
import
com.jiejing.common.model.PageVO
;
import
com.jiejing.common.utils.convert.BeanUtil
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierRecordVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
com.jiejing.fitness.finance.repository.entity.StudioCashierRecord
;
import
com.jiejing.fitness.finance.repository.entity.StudioSettleRecord
;
import
com.jiejing.fitness.finance.repository.query.PageBrandCashierRecordQuery
;
import
com.jiejing.fitness.finance.repository.query.PageStudioSettleQuery
;
import
com.jiejing.fitness.finance.repository.service.StudioCashierRecordRpService
;
import
com.jiejing.fitness.finance.repository.service.StudioSettleRecordRpService
;
import
com.jiejing.fitness.finance.service.cashier.StudioCashierService
;
import
com.jiejing.fitness.finance.service.cashier.convert.CashierConvert
;
import
com.jiejing.fitness.finance.service.cashier.params.PageStudioCashierParams
;
import
com.jiejing.fitness.finance.service.cashier.params.PageStudioSettleParams
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -26,6 +31,9 @@ public class StudioCashierServiceImpl implements StudioCashierService {
@Resource
private
StudioCashierRecordRpService
studioCashierRecordRpService
;
@Resource
private
StudioSettleRecordRpService
studioSettleRecordRpService
;
@Override
public
StudioCashierRecordVO
getById
(
Long
id
)
{
StudioCashierRecord
record
=
studioCashierRecordRpService
.
getById
(
id
).
orElse
(
null
);
...
...
@@ -53,4 +61,11 @@ public class StudioCashierServiceImpl implements StudioCashierService {
Page
<
StudioCashierRecord
>
page
=
studioCashierRecordRpService
.
page
(
query
);
return
CashierConvert
.
convertPageVO
(
page
);
}
@Override
public
PageVO
<
StudioSettleVO
>
page
(
PageStudioSettleParams
params
)
{
PageStudioSettleQuery
query
=
BeanUtil
.
map
(
params
,
PageStudioSettleQuery
.
class
);
Page
<
StudioSettleRecord
>
page
=
studioSettleRecordRpService
.
page
(
query
);
return
CashierConvert
.
convertSettlePageVO
(
page
);
}
}
service/src/main/java/com/jiejing/fitness/finance/service/cashier/params/PageStudioSettleParams.java
0 → 100644
View file @
a7d669e3
package
com
.
jiejing
.
fitness
.
finance
.
service
.
cashier
.
params
;
import
com.jiejing.paycenter.common.enums.common.TransStateEnums
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.Date
;
import
javax.validation.constraints.NotNull
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author chengyubing
* @since 2024/4/7 18:03
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"分页查询场馆结算记录参数"
)
public
class
PageStudioSettleParams
{
@ApiModelProperty
(
value
=
"场馆名称"
)
private
String
studioName
;
@ApiModelProperty
(
value
=
"场馆ID"
)
private
Long
studioId
;
@ApiModelProperty
(
value
=
"商户号"
)
private
String
merchantNo
;
@ApiModelProperty
(
value
=
"结算状态"
)
private
TransStateEnums
transState
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
Date
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
Date
endTime
;
@ApiModelProperty
(
value
=
"页码:0开始"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
)
private
Integer
current
;
@ApiModelProperty
(
value
=
"分页大小"
,
required
=
true
)
@NotNull
(
message
=
"分页大小不能为空"
)
private
Integer
size
;
}
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