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
511caf8c
Commit
511caf8c
authored
Apr 08, 2024
by
程裕兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:statistic cashier record
parent
4e00c8c8
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
133 additions
and
1 deletions
+133
-1
api/src/main/java/com/jiejing/fitness/finance/api/cashier/StudioCashierApi.java
+5
-0
api/src/main/java/com/jiejing/fitness/finance/api/cashier/StudioCashierApiFallback.java
+6
-0
api/src/main/java/com/jiejing/fitness/finance/api/cashier/vo/StudioCashierStatisticVO.java
+31
-0
app/src/main/java/com/jiejing/fitness/finance/app/controller/cashier/StudioCashierController.java
+9
-0
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioCashierRecordMapper.java
+5
-0
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioCashierRecordMapper.xml
+55
-1
repository/src/main/java/com/jiejing/fitness/finance/repository/service/StudioCashierRecordRpService.java
+6
-0
service/src/main/java/com/jiejing/fitness/finance/service/cashier/StudioCashierService.java
+8
-0
service/src/main/java/com/jiejing/fitness/finance/service/cashier/impl/StudioCashierServiceImpl.java
+8
-0
No files found.
api/src/main/java/com/jiejing/fitness/finance/api/cashier/StudioCashierApi.java
View file @
511caf8c
...
...
@@ -8,6 +8,7 @@ import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierBySubOrd
import
com.jiejing.fitness.finance.api.cashier.request.PageStudioCashierRequest
;
import
com.jiejing.fitness.finance.api.cashier.request.PageStudioSettleRequest
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierRecordVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierStatisticVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.List
;
...
...
@@ -27,6 +28,10 @@ public interface StudioCashierApi {
@PostMapping
(
value
=
"/private/studioCashier/page"
)
JsonResult
<
PageVO
<
StudioCashierRecordVO
>>
page
(
PageStudioCashierRequest
request
);
@ApiOperation
(
value
=
"统计收银流水金额"
,
tags
=
{
TAG
})
@PostMapping
(
value
=
"/private/studioCashier/statistic"
)
JsonResult
<
StudioCashierStatisticVO
>
statistic
(
PageStudioCashierRequest
request
);
@ApiOperation
(
value
=
"查询收银流水详情"
,
tags
=
{
TAG
})
@PostMapping
(
value
=
"/private/studioCashier/getById"
)
JsonResult
<
StudioCashierRecordVO
>
getById
(
GetStudioCashierByIdRequest
request
);
...
...
api/src/main/java/com/jiejing/fitness/finance/api/cashier/StudioCashierApiFallback.java
View file @
511caf8c
...
...
@@ -8,6 +8,7 @@ import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierBySubOrd
import
com.jiejing.fitness.finance.api.cashier.request.PageStudioCashierRequest
;
import
com.jiejing.fitness.finance.api.cashier.request.PageStudioSettleRequest
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierRecordVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierStatisticVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
feign.hystrix.FallbackFactory
;
import
java.util.List
;
...
...
@@ -31,6 +32,11 @@ public class StudioCashierApiFallback implements FallbackFactory<StudioCashierAp
}
@Override
public
JsonResult
<
StudioCashierStatisticVO
>
statistic
(
PageStudioCashierRequest
request
)
{
return
JsonResult
.
rpcError
();
}
@Override
public
JsonResult
<
StudioCashierRecordVO
>
getById
(
GetStudioCashierByIdRequest
request
)
{
return
JsonResult
.
rpcError
();
}
...
...
api/src/main/java/com/jiejing/fitness/finance/api/cashier/vo/StudioCashierStatisticVO.java
0 → 100644
View file @
511caf8c
package
com
.
jiejing
.
fitness
.
finance
.
api
.
cashier
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.math.BigDecimal
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author chengyubing
* @since 2024/4/8 17:14
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"场馆收银流水统计VO"
)
public
class
StudioCashierStatisticVO
{
@ApiModelProperty
(
"总交易金额(元)"
)
private
BigDecimal
totalTransAmount
;
@ApiModelProperty
(
"总实际金额(元)"
)
private
BigDecimal
totalActualAmount
;
@ApiModelProperty
(
"总条数"
)
private
Long
total
;
}
app/src/main/java/com/jiejing/fitness/finance/app/controller/cashier/StudioCashierController.java
View file @
511caf8c
...
...
@@ -10,6 +10,7 @@ import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierBySubOrd
import
com.jiejing.fitness.finance.api.cashier.request.PageStudioCashierRequest
;
import
com.jiejing.fitness.finance.api.cashier.request.PageStudioSettleRequest
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierRecordVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierStatisticVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
com.jiejing.fitness.finance.service.cashier.StudioCashierService
;
import
com.jiejing.fitness.finance.service.cashier.params.PageStudioCashierParams
;
...
...
@@ -41,6 +42,14 @@ public class StudioCashierController implements StudioCashierApi {
return
JsonResult
.
success
(
studioCashierService
.
page
(
params
));
}
@ApiOperation
(
value
=
"统计收银流水金额"
,
tags
=
{
TAG
})
@PostMapping
(
value
=
"/private/studioCashier/statistic"
)
@Override
public
JsonResult
<
StudioCashierStatisticVO
>
statistic
(
@Valid
@RequestBody
PageStudioCashierRequest
request
)
{
PageStudioCashierParams
params
=
BeanUtil
.
map
(
request
,
PageStudioCashierParams
.
class
);
return
JsonResult
.
success
(
studioCashierService
.
statistic
(
params
));
}
@ApiOperation
(
value
=
"查询收银流水详情"
,
tags
=
{
TAG
})
@PostMapping
(
value
=
"/private/studioCashier/getById"
)
@Override
...
...
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioCashierRecordMapper.java
View file @
511caf8c
...
...
@@ -14,7 +14,10 @@
package
com
.
jiejing
.
fitness
.
finance
.
repository
.
mapper
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierStatisticVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
com.jiejing.fitness.finance.repository.entity.StudioCashierRecord
;
import
com.jiejing.fitness.finance.repository.query.PageBrandCashierRecordQuery
;
import
com.jiejing.mbp.inject.XBaseMapper
;
import
java.math.BigDecimal
;
import
java.util.Date
;
...
...
@@ -39,4 +42,6 @@ public interface StudioCashierRecordMapper extends XBaseMapper<StudioCashierReco
@Param
(
"startTime"
)
Date
startTime
,
@Param
(
"endTime"
)
Date
endTime
);
StudioCashierStatisticVO
statistic
(
@Param
(
"query"
)
PageBrandCashierRecordQuery
query
);
}
repository/src/main/java/com/jiejing/fitness/finance/repository/mapper/StudioCashierRecordMapper.xml
View file @
511caf8c
...
...
@@ -37,7 +37,7 @@
</select>
<select
id=
"sumMerchantPaySuccessGroupByStudioId"
resultType=
"com.jiejing.fitness.finance.repository.entity.StudioCashierRecord"
>
resultType=
"com.jiejing.fitness.finance.repository.entity.StudioCashierRecord"
>
select studio_id, sum(trans_amount) as trans_amount
from studio_cashier_record
where merchant_id = #{merchantId}
...
...
@@ -47,4 +47,58 @@
group by studio_id
</select>
<select
id=
"statistic"
resultType=
"com.jiejing.fitness.finance.api.cashier.vo.StudioCashierStatisticVO"
>
select sum(trans_amount) as total_trans_amount, sum(actual_amount) as total_actual_amount, count(id)
astotal
from studio_cashier_record
<where>
<if
test=
"query.studioId != null"
>
and studio_id = #{query.studioId}
</if>
<if
test=
"query.buyerName != null and query.buyerName != ''"
>
and buyer_name like concat('%', #{query.buyerName}, '%')
</if>
<if
test=
"query.orderNo != null and query.orderNo != ''"
>
and order_no = #{query.orderNo}
</if>
<if
test=
"query.transNo != null and query.transNo != ''"
>
and trans_no = #{query.transNo}
</if>
<if
test=
"query.thirdTransNo != null and query.thirdTransNo != ''"
>
and third_trans_no = #{query.thirdTransNo}
</if>
<if
test=
"query.transState != null and query.transState != ''"
>
and trans_state = #{query.transState}
</if>
<if
test=
"query.transState == null or query.transState == ''"
>
and trans_state in ('PAY_SUCCESS', 'PAY_IN')
</if>
<if
test=
"query.orderType != null and query.orderType != ''"
>
and order_type = #{query.orderType}
</if>
<if
test=
"query.transType != null and query.transType != ''"
>
and trans_type = #{query.transType}
</if>
<if
test=
"query.subChannel != null and query.subChannel != ''"
>
and sub_channel = #{query.subChannel}
</if>
<if
test=
"query.studioName != null and query.studioName != ''"
>
and studio_name like concat('%', #{query.studioName}, '%')
</if>
<if
test=
"query.createStartTime != null"
>
and studio_id >= #{query.createStartTime}
</if>
<if
test=
"query.createEndTime != null"
>
and studio_id
<
= #{query.createEndTime}
</if>
<if
test=
"query.successStartTime != null"
>
and studio_id >= #{query.successStartTime}
</if>
<if
test=
"query.successEndTime != null"
>
and studio_id
<
= #{query.successEndTime}
</if>
</where>
</select>
</mapper>
repository/src/main/java/com/jiejing/fitness/finance/repository/service/StudioCashierRecordRpService.java
View file @
511caf8c
...
...
@@ -17,6 +17,8 @@ package com.jiejing.fitness.finance.repository.service;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.jiejing.common.utils.collection.CollectionUtil
;
import
com.jiejing.common.utils.text.StringUtil
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioCashierStatisticVO
;
import
com.jiejing.fitness.finance.api.cashier.vo.StudioSettleVO
;
import
com.jiejing.fitness.finance.repository.entity.StudioCashierRecord
;
import
com.jiejing.fitness.finance.repository.mapper.StudioCashierRecordMapper
;
import
com.jiejing.fitness.finance.repository.query.PageBrandCashierRecordQuery
;
...
...
@@ -128,4 +130,8 @@ public class StudioCashierRecordRpService extends
wrapper
.
lt
(
StudioCashierRecord
.
SUCCESS_TIME
,
endTime
);
return
this
.
findByWrapperPage
(
wrapper
,
current
,
size
);
}
public
StudioCashierStatisticVO
statistic
(
PageBrandCashierRecordQuery
query
)
{
return
this
.
baseMapper
.
statistic
(
query
);
}
}
service/src/main/java/com/jiejing/fitness/finance/service/cashier/StudioCashierService.java
View file @
511caf8c
...
...
@@ -2,6 +2,7 @@ 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.StudioCashierStatisticVO
;
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
;
...
...
@@ -53,5 +54,12 @@ public interface StudioCashierService {
*/
PageVO
<
StudioSettleVO
>
page
(
PageStudioSettleParams
params
);
/**
* 统计
*
* @param params 参数
* @return 结果
*/
StudioCashierStatisticVO
statistic
(
PageStudioCashierParams
params
);
}
service/src/main/java/com/jiejing/fitness/finance/service/cashier/impl/StudioCashierServiceImpl.java
View file @
511caf8c
...
...
@@ -3,6 +3,7 @@ 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.StudioCashierStatisticVO
;
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
;
...
...
@@ -68,4 +69,11 @@ public class StudioCashierServiceImpl implements StudioCashierService {
Page
<
StudioSettleRecord
>
page
=
studioSettleRecordRpService
.
page
(
query
);
return
CashierConvert
.
convertSettlePageVO
(
page
);
}
@Override
public
StudioCashierStatisticVO
statistic
(
PageStudioCashierParams
params
)
{
PageBrandCashierRecordQuery
query
=
BeanUtil
.
map
(
params
,
PageBrandCashierRecordQuery
.
class
);
return
studioCashierRecordRpService
.
statistic
(
query
);
}
}
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