Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
8aaa3d9f
Commit
8aaa3d9f
authored
Jul 12, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成结款
parent
cb772aa2
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
380 additions
and
33 deletions
+380
-33
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/SysFinanceController.java
...va/com/wwdz/ch/admin/controller/SysFinanceController.java
+24
-5
ch-admin-api/src/main/java/com/wwdz/ch/admin/entity/vo/SettlementRecordVo.java
.../java/com/wwdz/ch/admin/entity/vo/SettlementRecordVo.java
+77
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysFinanceServiceImpl.java
...in/java/com/wwdz/ch/admin/impl/SysFinanceServiceImpl.java
+136
-17
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/SysFinanceService.java
...ain/java/com/wwdz/ch/admin/service/SysFinanceService.java
+17
-6
ch-core/src/main/java/com/wwdz/ch/core/consts/BillEnum.java
ch-core/src/main/java/com/wwdz/ch/core/consts/BillEnum.java
+35
-0
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
...ore/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
+5
-0
ch-core/src/main/java/com/wwdz/ch/core/util/CacheUtil.java
ch-core/src/main/java/com/wwdz/ch/core/util/CacheUtil.java
+5
-1
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/SettlementRecordDao.java
.../com/wwdz/ch/db/dao/distribution/SettlementRecordDao.java
+6
-1
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/UserAccountDetailDao.java
...com/wwdz/ch/db/dao/distribution/UserAccountDetailDao.java
+7
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/UserBillDao.java
...ain/java/com/wwdz/ch/db/dao/distribution/UserBillDao.java
+2
-0
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/SettlementRecordRequestDto.java
.../dto/request/distribution/SettlementRecordRequestDto.java
+6
-1
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/UserAccountDetailRequestDto.java
...dto/request/distribution/UserAccountDetailRequestDto.java
+5
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/SettlementRecordDaoImpl.java
...wwdz/ch/db/impl/distribution/SettlementRecordDaoImpl.java
+19
-2
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/UserAccountDetailDaoImpl.java
...wdz/ch/db/impl/distribution/UserAccountDetailDaoImpl.java
+17
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/UserBillDaoImpl.java
...ava/com/wwdz/ch/db/impl/distribution/UserBillDaoImpl.java
+8
-0
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/UserAccountDetailMapper.java
...dz/ch/db/mapper/distribution/UserAccountDetailMapper.java
+4
-0
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/UserAccountDetailMapper.xml
...wdz/ch/db/mapper/distribution/UserAccountDetailMapper.xml
+7
-0
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/SysFinanceController.java
View file @
8aaa3d9f
...
@@ -8,6 +8,7 @@ import com.wwdz.ch.db.domain.distribution.DistributionOrder;
...
@@ -8,6 +8,7 @@ import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import
com.wwdz.ch.db.domain.distribution.UserAccountDetail
;
import
com.wwdz.ch.db.domain.distribution.UserAccountDetail
;
import
com.wwdz.ch.db.dto.request.distribution.*
;
import
com.wwdz.ch.db.dto.request.distribution.*
;
import
com.xxdxxs.service.FormHandler
;
import
com.xxdxxs.service.FormHandler
;
import
com.xxdxxs.utils.StringUtils
;
import
com.xxdxxs.validation.Validator
;
import
com.xxdxxs.validation.Validator
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -54,10 +55,28 @@ public class SysFinanceController {
...
@@ -54,10 +55,28 @@ public class SysFinanceController {
return
sysFinanceService
.
findUserBillDetail
(
dto
);
return
sysFinanceService
.
findUserBillDetail
(
dto
);
}
}
@ApiOperation
(
value
=
"查询平台账户明细"
)
@ApiOperation
(
value
=
"查询平台账户收入明细"
)
@PostMapping
(
"/findSystemBillDetail"
)
@PostMapping
(
"/findSystemBillIncomeDetail"
)
public
Result
findSystemBillDetail
(
@RequestBody
UserAccountDetailRequestDto
dto
)
{
public
Result
findSystemBillIncomeDetail
(
@RequestBody
UserAccountDetailRequestDto
dto
)
{
logger
.
info
(
"查询平台账户明细,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
logger
.
info
(
"查询平台账户收入明细,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
return
sysFinanceService
.
findSystemBillDetail
(
dto
);
return
sysFinanceService
.
findSystemBillIncomeDetail
(
dto
);
}
@ApiOperation
(
value
=
"查询平台账户支出明细"
)
@PostMapping
(
"/findSystemBillExpenditureDetail"
)
public
Result
findSystemBillExpenditureDetail
(
@RequestBody
SettlementRecordRequestDto
dto
)
{
logger
.
info
(
"查询平台账户支出明细,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
return
sysFinanceService
.
findSystemBillExpenditureDetail
(
dto
);
}
@ApiOperation
(
value
=
"完成结款"
)
@PostMapping
(
"/finishSettlement"
)
public
Result
finishSettlement
(
@RequestBody
SettlementRecordRequestDto
dto
)
{
if
(
StringUtils
.
isEmpty
(
dto
.
getBillId
()))
{
return
Result
.
failed
(
ResultCode
.
PARAM_ERROR
);
}
logger
.
info
(
"完成结款,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
return
sysFinanceService
.
finishSettlement
(
dto
);
}
}
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/entity/vo/SettlementRecordVo.java
0 → 100644
View file @
8aaa3d9f
package
com.wwdz.ch.admin.entity.vo
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
SettlementRecordVo
implements
Entity
{
private
Long
id
;
/**
* 结算id
*/
private
String
settlementId
;
/**
* 用户id
*/
private
Long
userId
;
/**
* 用户名称
*/
private
String
userName
;
/**
* 银行卡号
*/
private
String
bankCardId
;
/**
* 真实姓名
*/
private
String
realUserName
;
/**
* 结算金额
*/
private
String
settleAmount
;
/**
* 结算时间
*/
private
Date
settleTime
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 关联账单id
*/
private
String
billId
;
/**
* 类型
*/
private
Integer
type
;
/**
* 状态
*/
private
Integer
state
;
/**
* 结算凭证
*/
private
String
voucher
;
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysFinanceServiceImpl.java
View file @
8aaa3d9f
...
@@ -2,6 +2,7 @@ package com.wwdz.ch.admin.impl;
...
@@ -2,6 +2,7 @@ package com.wwdz.ch.admin.impl;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.entity.vo.OrderBillVo
;
import
com.wwdz.ch.admin.entity.vo.OrderBillVo
;
import
com.wwdz.ch.admin.entity.vo.SettlementRecordVo
;
import
com.wwdz.ch.admin.entity.vo.UserBillVo
;
import
com.wwdz.ch.admin.entity.vo.UserBillVo
;
import
com.wwdz.ch.admin.entity.vo.UserOrderBillVo
;
import
com.wwdz.ch.admin.entity.vo.UserOrderBillVo
;
import
com.wwdz.ch.admin.service.SysFinanceService
;
import
com.wwdz.ch.admin.service.SysFinanceService
;
...
@@ -11,29 +12,20 @@ import com.wwdz.ch.core.consts.DistributionEnum;
...
@@ -11,29 +12,20 @@ import com.wwdz.ch.core.consts.DistributionEnum;
import
com.wwdz.ch.core.consts.LogisticsEnum
;
import
com.wwdz.ch.core.consts.LogisticsEnum
;
import
com.wwdz.ch.core.type.PageSearchResult
;
import
com.wwdz.ch.core.type.PageSearchResult
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.CacheUtil
;
import
com.wwdz.ch.core.util.*
;
import
com.wwdz.ch.core.util.DateTimeUtil
;
import
com.wwdz.ch.core.util.MediaUtil
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.db.dao.distribution.*
;
import
com.wwdz.ch.db.dao.distribution.*
;
import
com.wwdz.ch.db.domain.distribution.*
;
import
com.wwdz.ch.db.domain.distribution.*
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.*
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.UserAccountDetailRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.UserBillRequestDto
;
import
com.xxdxxs.utils.EntityMapper
;
import
com.xxdxxs.utils.EntityMapper
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.time.LocalDate
;
import
java.util.*
;
import
java.time.LocalDateTime
;
import
java.util.stream.Collectors
;
import
java.time.YearMonth
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
@Service
@Service
public
class
SysFinanceServiceImpl
implements
SysFinanceService
{
public
class
SysFinanceServiceImpl
implements
SysFinanceService
{
...
@@ -195,12 +187,139 @@ public class SysFinanceServiceImpl implements SysFinanceService {
...
@@ -195,12 +187,139 @@ public class SysFinanceServiceImpl implements SysFinanceService {
@Override
@Override
public
Result
findSystemBillDetail
(
UserAccountDetailRequestDto
dto
)
{
public
Result
findSystemBill
Income
Detail
(
UserAccountDetailRequestDto
dto
)
{
try
{
try
{
if
(
dto
.
getOrderState
()
!=
null
)
{
DistributionOrderRequestDto
distributionOrderRequestDto
=
new
DistributionOrderRequestDto
();
distributionOrderRequestDto
.
setStartCreateTime
(
dto
.
getStartCreateTime
());
distributionOrderRequestDto
.
setEndCreateTime
(
dto
.
getEndCreateTime
());
distributionOrderRequestDto
.
setDistributionOrderId
(
dto
.
getTransactionId
());
distributionOrderRequestDto
.
setState
(
dto
.
getOrderState
());
//订单量变大后再加上分页,但是实际分页会有出入,目前订单表查出全量数据,再进行筛选
/* distributionOrderRequestDto.setPage(dto.getPage());*/
distributionOrderRequestDto
.
setLimit
(
10000
);
List
<
DistributionOrder
>
distributionOrderList
=
distributionOrderDao
.
findByPage
(
distributionOrderRequestDto
);
List
<
String
>
distributionOrderIdList
=
distributionOrderList
.
stream
().
map
(
DistributionOrder:
:
getDistributionOrderId
).
collect
(
Collectors
.
toList
());
dto
.
setTransactionIdList
(
distributionOrderIdList
);
}
dto
.
setUserId
(
CommConsts
.
SYSTEM_ACCOUNT
);
List
<
UserAccountDetail
>
userAccountDetailList
=
userAccountDetailDao
.
findList
(
dto
);
PageInfo
<
UserAccountDetail
>
pageInfo
=
new
PageInfo
<>(
userAccountDetailList
);
List
<
UserOrderBillVo
>
userOrderBillVoList
=
new
ArrayList
<>();
for
(
UserAccountDetail
userAccountDetail
:
userAccountDetailList
)
{
UserOrderBillVo
userOrderBillVo
=
new
UserOrderBillVo
();
String
distributionOrderId
=
userAccountDetail
.
getTransactionId
();
DistributionOrder
distributionOrder
=
distributionOrderDao
.
findById
(
distributionOrderId
);
DistributorProfit
distributorProfit
=
distributorProfitDao
.
findById
(
distributionOrderId
);
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
distributionOrder
.
getItemId
());
userOrderBillVo
.
setDistributionOrderId
(
distributionOrderId
);
userOrderBillVo
.
setItemName
(
supplierItem
.
getName
());
userOrderBillVo
.
setHomePageImage
(
MediaUtil
.
getHomePageImage
(
supplierItem
.
getImages
(),
supplierItem
.
getVideos
()));
userOrderBillVo
.
setAmount
(
PriceUtil
.
convertPriceFenToYuan
(
distributionOrder
.
getAmount
()));
userOrderBillVo
.
setRealAmount
(
PriceUtil
.
convertPriceFenToYuan
(
distributorProfit
.
getRealAmount
()));
userOrderBillVo
.
setOrderType
(
distributionOrder
.
getType
());
userOrderBillVo
.
setOrderTypeName
(
DistributionEnum
.
DistributionTypeEnum
.
getNameByCode
(
distributionOrder
.
getType
()));
userOrderBillVo
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
userOrderBillVo
.
setState
(
distributionOrder
.
getState
());
userOrderBillVo
.
setStateName
(
DistributionEnum
.
DistributionOrderStateEnum
.
getNameByCode
(
distributionOrder
.
getState
()));
userOrderBillVo
.
setType
(
userAccountDetail
.
getType
());
userOrderBillVo
.
setTypeName
(
BillEnum
.
AccountDetailTypeEnum
.
getNameByCode
(
userAccountDetail
.
getType
()));
if
(
distributionOrder
.
getState
()
!=
DistributionEnum
.
DistributionOrderStateEnum
.
FINISH
.
getCode
())
{
userOrderBillVo
.
setWaitEnrtyAmount
(
PriceUtil
.
convertPriceFenToYuan
(
userAccountDetail
.
getAmount
()));
}
else
{
userOrderBillVo
.
setEnrtyAmount
(
PriceUtil
.
convertPriceFenToYuan
(
userAccountDetail
.
getAmount
()));
}
userOrderBillVoList
.
add
(
userOrderBillVo
);
}
//查询平台在筛选的时间范围内的利润
UserAccountDetailRequestDto
currentQueryDto
=
new
UserAccountDetailRequestDto
();
currentQueryDto
.
setStartCreateTime
(
dto
.
getStartCreateTime
());
currentQueryDto
.
setEndCreateTime
(
dto
.
getEndCreateTime
());
currentQueryDto
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
WAIT_ENTRY
.
getCode
());
//待入账金额
long
waitEntryAmount
=
userAccountDetailDao
.
summaryAmount
(
dto
);
currentQueryDto
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
ENTRY
.
getCode
());
//入账金额
long
entryAmount
=
userAccountDetailDao
.
summaryAmount
(
dto
);
//查询平台历史收入
UserAccountDetailRequestDto
queryDto
=
new
UserAccountDetailRequestDto
();
queryDto
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
WAIT_ENTRY
.
getCode
());
long
totalWaitEntryAmount
=
userAccountDetailDao
.
summaryAmount
(
dto
);
queryDto
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
ENTRY
.
getCode
());
long
totalEntryAmount
=
userAccountDetailDao
.
summaryAmount
(
dto
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"waitEntryAmount"
,
PriceUtil
.
convertPriceFenToYuan
(
waitEntryAmount
));
result
.
put
(
"entryAmount"
,
PriceUtil
.
convertPriceFenToYuan
(
entryAmount
));
result
.
put
(
"amount"
,
PriceUtil
.
convertPriceFenToYuan
(
waitEntryAmount
+
entryAmount
));
result
.
put
(
"totalWaitEntryAmount"
,
PriceUtil
.
convertPriceFenToYuan
(
totalWaitEntryAmount
));
result
.
put
(
"totalEntryAmount"
,
PriceUtil
.
convertPriceFenToYuan
(
totalEntryAmount
));
result
.
put
(
"totalAmount"
,
PriceUtil
.
convertPriceFenToYuan
(
totalWaitEntryAmount
+
totalEntryAmount
));
result
.
put
(
"dataList"
,
PageSearchResult
.
of
(
pageInfo
,
userOrderBillVoList
));
return
Result
.
success
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询平台账户收入明细error:{}"
,
e
);
}
return
Result
.
failed
();
}
@Override
public
Result
findSystemBillExpenditureDetail
(
SettlementRecordRequestDto
dto
)
{
try
{
List
<
SettlementRecord
>
settlementRecordList
=
settlementRecordDao
.
findList
(
dto
);
PageInfo
<
SettlementRecord
>
pageInfo
=
new
PageInfo
<>(
settlementRecordList
);
List
<
SettlementRecordVo
>
list
=
new
ArrayList
<>();
for
(
SettlementRecord
settlementRecord
:
settlementRecordList
)
{
SettlementRecordVo
settlementRecordVo
=
new
SettlementRecordVo
();
EntityMapper
.
copyAttribute
(
settlementRecord
,
settlementRecordVo
);
settlementRecordVo
.
setUserName
(
cacheUtil
.
appletUserCache
.
get
(
settlementRecord
.
getUserId
()).
get
());
settlementRecordVo
.
setSettleAmount
(
PriceUtil
.
convertPriceFenToYuan
(
settlementRecord
.
getSettleAmount
()));
list
.
add
(
settlementRecordVo
);
}
return
Result
.
success
(
PageSearchResult
.
of
(
pageInfo
,
list
));
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询平台账户支出明细error:{}"
,
e
);
}
return
Result
.
failed
();
}
@Transactional
@Override
public
Result
finishSettlement
(
SettlementRecordRequestDto
dto
)
{
try
{
//查询账单
UserBill
userBill
=
userBillDao
.
findByBillId
(
dto
.
getBillId
());
if
(
userBill
.
getState
()
==
BillEnum
.
BillStateEnum
.
PAID
.
getCode
())
{
return
Result
.
failed
(
"该账单已结款"
);
}
//查询用户银行卡
UserBankCard
userBankCard
=
userBankCardDao
.
findById
(
userBill
.
getUserId
());
Date
now
=
new
Date
();
SettlementRecord
settlementRecord
=
new
SettlementRecord
();
settlementRecord
.
setSettlementId
(
IdUtils
.
getOrderNumber
(
CommConsts
.
SETTLEMENT_PREFIX
));
settlementRecord
.
setUserId
(
userBill
.
getUserId
());
settlementRecord
.
setBankCardId
(
userBankCard
.
getCardId
());
settlementRecord
.
setRealUserName
(
userBankCard
.
getName
());
settlementRecord
.
setSettleAmount
(
userBill
.
getTotalEntryAmount
());
settlementRecord
.
setSettleTime
(
now
);
settlementRecord
.
setCreateTime
(
now
);
settlementRecord
.
setUpdateTime
(
now
);
settlementRecord
.
setBillId
(
dto
.
getBillId
());
settlementRecord
.
setVoucher
(
dto
.
getVoucher
());
settlementRecord
.
setType
(
BillEnum
.
SettlmentTypeEnum
.
COLLECT
.
getCode
());
settlementRecord
.
setState
(
BillEnum
.
BillStateEnum
.
PAID
.
getCode
());
settlementRecordDao
.
insert
(
settlementRecord
);
//更新用户账单状态为已结款
userBillDao
.
update
(
dto
.
getBillId
(),
BillEnum
.
BillStateEnum
.
PAID
.
getCode
());
return
Result
.
success
();
return
Result
.
success
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询平台账户明细error:{}"
,
e
);
logger
.
error
(
"完成结款error:{}"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
}
return
Result
.
failed
();
return
Result
.
failed
();
}
}
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/SysFinanceService.java
View file @
8aaa3d9f
...
@@ -2,10 +2,7 @@ package com.wwdz.ch.admin.service;
...
@@ -2,10 +2,7 @@ package com.wwdz.ch.admin.service;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.*
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.UserAccountDetailRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.UserBillRequestDto
;
public
interface
SysFinanceService
{
public
interface
SysFinanceService
{
...
@@ -31,9 +28,23 @@ public interface SysFinanceService {
...
@@ -31,9 +28,23 @@ public interface SysFinanceService {
Result
findUserBillDetail
(
UserAccountDetailRequestDto
dto
);
Result
findUserBillDetail
(
UserAccountDetailRequestDto
dto
);
/**
/**
* 查询平台账户明细
* 查询平台账户
收入
明细
* @param dto
* @param dto
* @return
* @return
*/
*/
Result
findSystemBillDetail
(
UserAccountDetailRequestDto
dto
);
Result
findSystemBillIncomeDetail
(
UserAccountDetailRequestDto
dto
);
/**
* 查询平台账户支出明细
* @param dto
* @return
*/
Result
findSystemBillExpenditureDetail
(
SettlementRecordRequestDto
dto
);
/**
* 完成结款
* @param dto
* @return
*/
Result
finishSettlement
(
SettlementRecordRequestDto
dto
);
}
}
ch-core/src/main/java/com/wwdz/ch/core/consts/BillEnum.java
View file @
8aaa3d9f
...
@@ -150,4 +150,39 @@ public class BillEnum {
...
@@ -150,4 +150,39 @@ public class BillEnum {
}
}
/**
* 结算类型
*/
public
enum
SettlmentTypeEnum
{
COLLECT
(
1
,
"藏家收入"
),
COMMON_USER
(
2
,
"普通用户收入"
),
;
private
int
code
;
private
String
des
;
SettlmentTypeEnum
(
int
code
,
String
des
)
{
this
.
code
=
code
;
this
.
des
=
des
;
}
public
static
String
getNameByCode
(
int
code
)
{
for
(
BillEnum
.
SettlmentTypeEnum
settlmentTypeEnum
:
BillEnum
.
SettlmentTypeEnum
.
values
())
{
if
(
code
==
settlmentTypeEnum
.
getCode
())
{
return
settlmentTypeEnum
.
getDes
();
}
}
return
null
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getDes
()
{
return
des
;
}
}
}
}
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
View file @
8aaa3d9f
...
@@ -78,6 +78,11 @@ public interface CommConsts {
...
@@ -78,6 +78,11 @@ public interface CommConsts {
*/
*/
public
final
static
String
USER_BILL_PREFIX
=
"BL"
;
public
final
static
String
USER_BILL_PREFIX
=
"BL"
;
/**
* 结款记录id前缀
*/
public
final
static
String
SETTLEMENT_PREFIX
=
"ST"
;
/**
/**
* 平台收货地址
* 平台收货地址
*/
*/
...
...
ch-core/src/main/java/com/wwdz/ch/core/util/CacheUtil.java
View file @
8aaa3d9f
...
@@ -150,7 +150,11 @@ public class CacheUtil {
...
@@ -150,7 +150,11 @@ public class CacheUtil {
*/
*/
public
String
getAppletUserList
(
long
key
)
{
public
String
getAppletUserList
(
long
key
)
{
User
user
=
userDao
.
queryById
(
key
);
User
user
=
userDao
.
queryById
(
key
);
return
user
.
getNickname
();
if
(
user
!=
null
)
{
return
user
.
getNickname
();
}
return
"微信用户"
;
/* List<User> userList = dtsUserDao.findAll();
/* List<User> userList = dtsUserDao.findAll();
Map<Long, String> map = userList.stream().collect(Collectors.toMap(User::getId, User::getNickname, (k1, k2) -> k2));
Map<Long, String> map = userList.stream().collect(Collectors.toMap(User::getId, User::getNickname, (k1, k2) -> k2));
return map.get(key);*/
return map.get(key);*/
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/SettlementRecordDao.java
View file @
8aaa3d9f
package
com.wwdz.ch.db.dao.distribution
;
package
com.wwdz.ch.db.dao.distribution
;
import
com.wwdz.ch.db.domain.distribution.SettlementRecord
;
import
com.wwdz.ch.db.domain.distribution.SettlementRecord
;
import
com.wwdz.ch.db.dto.request.distribution.SettlementRecordRequestDto
;
import
java.util.List
;
public
interface
SettlementRecordDao
{
public
interface
SettlementRecordDao
{
boolean
insert
(
SettlementRecord
settlementRecord
);
boolean
insert
(
SettlementRecord
settlementRecord
);
boolean
update
(
SettlementRecord
settlementRecord
);
boolean
update
ByPrimaryKey
(
SettlementRecord
settlementRecord
);
SettlementRecord
findByBillId
(
String
billId
);
SettlementRecord
findByBillId
(
String
billId
);
List
<
SettlementRecord
>
findList
(
SettlementRecordRequestDto
dto
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/UserAccountDetailDao.java
View file @
8aaa3d9f
...
@@ -14,4 +14,11 @@ public interface UserAccountDetailDao {
...
@@ -14,4 +14,11 @@ public interface UserAccountDetailDao {
boolean
updateState
(
String
transactionId
,
int
state
);
boolean
updateState
(
String
transactionId
,
int
state
);
List
<
UserAccountDetail
>
findList
(
UserAccountDetailRequestDto
dto
);
List
<
UserAccountDetail
>
findList
(
UserAccountDetailRequestDto
dto
);
/**
* 按照筛选条件汇总账户金额
* @param dto
* @return
*/
long
summaryAmount
(
UserAccountDetailRequestDto
dto
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/UserBillDao.java
View file @
8aaa3d9f
...
@@ -17,5 +17,7 @@ public interface UserBillDao {
...
@@ -17,5 +17,7 @@ public interface UserBillDao {
UserBill
findOne
(
String
accountPeriod
,
long
userId
,
Integer
state
);
UserBill
findOne
(
String
accountPeriod
,
long
userId
,
Integer
state
);
UserBill
findByBillId
(
String
billId
);
List
<
UserBill
>
findList
(
UserBillRequestDto
dto
);
List
<
UserBill
>
findList
(
UserBillRequestDto
dto
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/SettlementRecordRequestDto.java
View file @
8aaa3d9f
package
com.wwdz.ch.db.dto.request.distribution
;
package
com.wwdz.ch.db.dto.request.distribution
;
import
com.wwdz.ch.db.dto.request.BaseRequestDto
;
import
com.xxdxxs.entity.Entity
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Date
;
@Data
@Data
public
class
SettlementRecordRequestDto
implements
Entity
{
public
class
SettlementRecordRequestDto
extends
BaseRequestDto
implements
Entity
{
/**
/**
* id
* id
...
@@ -43,6 +44,10 @@ public class SettlementRecordRequestDto implements Entity {
...
@@ -43,6 +44,10 @@ public class SettlementRecordRequestDto implements Entity {
*/
*/
private
Date
settleTime
;
private
Date
settleTime
;
private
Date
startSettleTime
;
private
Date
endSettleTime
;
/**
/**
* 创建时间
* 创建时间
*/
*/
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/UserAccountDetailRequestDto.java
View file @
8aaa3d9f
...
@@ -57,6 +57,11 @@ public class UserAccountDetailRequestDto extends BaseRequestDto implements Entit
...
@@ -57,6 +57,11 @@ public class UserAccountDetailRequestDto extends BaseRequestDto implements Entit
*/
*/
private
Integer
state
;
private
Integer
state
;
/**
* 订单状态
*/
private
Integer
orderState
;
/**
/**
* 创建时间
* 创建时间
*/
*/
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/SettlementRecordDaoImpl.java
View file @
8aaa3d9f
package
com.wwdz.ch.db.impl.distribution
;
package
com.wwdz.ch.db.impl.distribution
;
import
com.github.pagehelper.PageHelper
;
import
com.wwdz.ch.db.dao.distribution.SettlementRecordDao
;
import
com.wwdz.ch.db.dao.distribution.SettlementRecordDao
;
import
com.wwdz.ch.db.domain.distribution.SettlementRecord
;
import
com.wwdz.ch.db.domain.distribution.SettlementRecord
;
import
com.wwdz.ch.db.domain.distribution.SettlementRecordExample
;
import
com.wwdz.ch.db.domain.distribution.SettlementRecordExample
;
import
com.wwdz.ch.db.dto.request.distribution.SettlementRecordRequestDto
;
import
com.wwdz.ch.db.mapper.distribution.SettlementRecordMapper
;
import
com.wwdz.ch.db.mapper.distribution.SettlementRecordMapper
;
import
com.xxdxxs.db.component.JdbcHelper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
@Repository
public
class
SettlementRecordDaoImpl
implements
SettlementRecordDao
{
public
class
SettlementRecordDaoImpl
implements
SettlementRecordDao
{
...
@@ -19,8 +24,8 @@ public class SettlementRecordDaoImpl implements SettlementRecordDao {
...
@@ -19,8 +24,8 @@ public class SettlementRecordDaoImpl implements SettlementRecordDao {
}
}
@Override
@Override
public
boolean
update
(
SettlementRecord
settlementRecord
)
{
public
boolean
update
ByPrimaryKey
(
SettlementRecord
settlementRecord
)
{
return
false
;
return
settlementRecordMapper
.
updateByPrimaryKeySelective
(
settlementRecord
)
>
0
;
}
}
@Override
@Override
...
@@ -30,4 +35,16 @@ public class SettlementRecordDaoImpl implements SettlementRecordDao {
...
@@ -30,4 +35,16 @@ public class SettlementRecordDaoImpl implements SettlementRecordDao {
criteria
.
andBillIdEqualTo
(
billId
);
criteria
.
andBillIdEqualTo
(
billId
);
return
settlementRecordMapper
.
selectOneByExampleWithBLOBs
(
example
);
return
settlementRecordMapper
.
selectOneByExampleWithBLOBs
(
example
);
}
}
@Override
public
List
<
SettlementRecord
>
findList
(
SettlementRecordRequestDto
dto
)
{
SettlementRecordExample
example
=
new
SettlementRecordExample
();
SettlementRecordExample
.
Criteria
criteria
=
example
.
createCriteria
();
JdbcHelper
.
ifPresent
(
dto
.
getUserId
(),
criteria:
:
andUserIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getStartSettleTime
(),
criteria:
:
andSettleTimeGreaterThanOrEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getEndSettleTime
(),
criteria:
:
andSettleTimeLessThanOrEqualTo
);
example
.
setOrderByClause
(
" settle_time desc"
);
PageHelper
.
startPage
(
dto
.
getPage
(),
dto
.
getLimit
());
return
settlementRecordMapper
.
selectByExampleWithBLOBs
(
example
);
}
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/UserAccountDetailDaoImpl.java
View file @
8aaa3d9f
...
@@ -64,4 +64,21 @@ public class UserAccountDetailDaoImpl implements UserAccountDetailDao {
...
@@ -64,4 +64,21 @@ public class UserAccountDetailDaoImpl implements UserAccountDetailDao {
PageHelper
.
startPage
(
dto
.
getPage
(),
dto
.
getLimit
());
PageHelper
.
startPage
(
dto
.
getPage
(),
dto
.
getLimit
());
return
userAccountDetailMapper
.
selectByExample
(
example
);
return
userAccountDetailMapper
.
selectByExample
(
example
);
}
}
@Override
public
long
summaryAmount
(
UserAccountDetailRequestDto
dto
)
{
UserAccountDetailExample
example
=
new
UserAccountDetailExample
();
UserAccountDetailExample
.
Criteria
criteria
=
example
.
createCriteria
();
JdbcHelper
.
ifPresent
(
dto
.
getUserId
(),
criteria:
:
andUserIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getTransactionId
(),
criteria:
:
andTransactionIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getTransactionIdList
(),
criteria:
:
andTransactionIdIn
);
JdbcHelper
.
ifPresent
(
dto
.
getFilterTransactionIdList
(),
criteria:
:
andTransactionIdNotIn
);
JdbcHelper
.
ifPresent
(
dto
.
getStartCreateTime
(),
criteria:
:
andCreateTimeGreaterThanOrEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getEndCreateTime
(),
criteria:
:
andCreateTimeLessThanOrEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getState
(),
criteria:
:
andStateEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getType
(),
criteria:
:
andTypeEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getFundType
(),
criteria:
:
andFundTypeEqualTo
);
return
userAccountDetailMapper
.
summaryAmount
(
example
);
}
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/UserBillDaoImpl.java
View file @
8aaa3d9f
...
@@ -30,6 +30,14 @@ public class UserBillDaoImpl implements UserBillDao {
...
@@ -30,6 +30,14 @@ public class UserBillDaoImpl implements UserBillDao {
return
userBillMapper
.
selectOneByExample
(
example
);
return
userBillMapper
.
selectOneByExample
(
example
);
}
}
@Override
public
UserBill
findByBillId
(
String
billId
)
{
UserBillExample
example
=
new
UserBillExample
();
UserBillExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andBillIdEqualTo
(
billId
);
return
userBillMapper
.
selectOneByExample
(
example
);
}
@Override
@Override
public
List
<
UserBill
>
findList
(
UserBillRequestDto
dto
)
{
public
List
<
UserBill
>
findList
(
UserBillRequestDto
dto
)
{
UserBillExample
example
=
new
UserBillExample
();
UserBillExample
example
=
new
UserBillExample
();
...
...
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/UserAccountDetailMapper.java
View file @
8aaa3d9f
...
@@ -66,4 +66,8 @@ public interface UserAccountDetailMapper {
...
@@ -66,4 +66,8 @@ public interface UserAccountDetailMapper {
int
updateByPrimaryKeySelective
(
UserAccountDetail
record
);
int
updateByPrimaryKeySelective
(
UserAccountDetail
record
);
int
updateByPrimaryKey
(
UserAccountDetail
record
);
int
updateByPrimaryKey
(
UserAccountDetail
record
);
long
summaryAmount
(
UserAccountDetailExample
example
);
}
}
\ No newline at end of file
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/UserAccountDetailMapper.xml
View file @
8aaa3d9f
...
@@ -368,4 +368,11 @@
...
@@ -368,4 +368,11 @@
</if>
</if>
limit 1
limit 1
</select>
</select>
<select
id=
"summaryAmount"
parameterType=
"com.wwdz.ch.db.domain.distribution.UserAccountDetailExample"
resultType=
"java.lang.Long"
>
select IFNULL(sum(amount), 0) as totalAmount from user_account_detail
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
</select>
</mapper>
</mapper>
\ No newline at end of file
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