Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
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
xingmin
yd-csf
Commits
2624262e
Commit
2624262e
authored
Dec 16, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
应收管理、应付管理3
parent
97f1f7f6
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
55 additions
and
21 deletions
+55
-21
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+2
-2
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
+2
-3
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
+7
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneStatusUpdateRequest.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/dto/GenerateFortuneRequest.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/enums/FortuneStatusEnum.java
+4
-3
yd-csf-service/src/main/java/com/yd/csf/service/model/Fortune.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+9
-4
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+8
-2
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
+6
-0
yd-csf-service/src/main/resources/mappers/FortuneMapper.xml
+8
-2
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
2624262e
...
...
@@ -179,14 +179,14 @@ public class ApiCommissionController {
}
/**
* 生成实际出账(发佣)记录
* 生成实际出账(发佣)记录
,并设置检核日期
*
* @param generateFortuneRequest
* @param request
* @return
*/
@PostMapping
(
"/generate/fortune"
)
@Operation
(
summary
=
"生成实际出账(发佣)记录"
)
@Operation
(
summary
=
"生成实际出账(发佣)记录
,并设置检核日期
"
)
public
Result
<
Boolean
>
generateFortune
(
@RequestBody
GenerateFortuneRequest
generateFortuneRequest
,
HttpServletRequest
request
)
{
List
<
String
>
commissionBizIdList
=
generateFortuneRequest
.
getCommissionBizIdList
();
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
View file @
2624262e
...
...
@@ -412,13 +412,13 @@ public class ApiFortuneController {
}
/**
* 修改
发佣
状态
* 修改
出账
状态
*
* @param fortuneStatusUpdateRequest
* @return
*/
@PostMapping
(
"/update/status"
)
@Operation
(
summary
=
"修改
保单发佣
状态"
)
@Operation
(
summary
=
"修改
出账
状态"
)
public
Result
<
Boolean
>
updateFortuneStatus
(
@RequestBody
FortuneStatusUpdateRequest
fortuneStatusUpdateRequest
)
{
if
(
fortuneStatusUpdateRequest
==
null
||
CollectionUtils
.
isEmpty
(
fortuneStatusUpdateRequest
.
getFortuneBizIdList
()))
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
...
...
@@ -481,7 +481,6 @@ public class ApiFortuneController {
// 查询条件
Wrapper
<
Fortune
>
queryWrapper
=
fortuneService
.
getQueryWrapper
(
fortuneQueryRequest
);
// todo 关联预计发佣查询列表
Page
<
Fortune
>
fortunePage
=
fortuneService
.
page
(
new
Page
<>(
current
,
size
),
queryWrapper
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
View file @
2624262e
...
...
@@ -10,7 +10,6 @@ import java.util.List;
/**
* 查询fortune请求
*
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
...
...
@@ -27,5 +26,11 @@ public class FortuneQueryRequest extends PageDto implements Serializable {
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 检核日期
*/
@Schema
(
description
=
"检核日期"
)
private
String
reconciliationYearMonth
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneStatusUpdateRequest.java
View file @
2624262e
...
...
@@ -14,8 +14,8 @@ public class FortuneStatusUpdateRequest {
private
List
<
String
>
fortuneBizIdList
;
/**
*
发佣
状态
*
出账
状态
*/
@Schema
(
description
=
"
发佣状态 '0'-'待出账','1'-'可出账','2'-'已出账'
"
)
@Schema
(
description
=
"
出账状态 0=待出账 1=可出帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出帐,检核完成
"
)
private
String
status
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/GenerateFortuneRequest.java
View file @
2624262e
...
...
@@ -15,6 +15,6 @@ public class GenerateFortuneRequest {
@Schema
(
description
=
"expected fortune id 列表"
)
private
List
<
Long
>
expectedFortuneIdList
;
@Schema
(
description
=
"
发佣
检核日期"
)
private
LocalDate
payoutDate
;
@Schema
(
description
=
"检核日期"
)
private
String
reconciliationYearMonth
;
}
yd-csf-service/src/main/java/com/yd/csf/service/enums/FortuneStatusEnum.java
View file @
2624262e
package
com
.
yd
.
csf
.
service
.
enums
;
/**
*
发佣
状态枚举
*
出账
状态枚举
*/
public
enum
FortuneStatusEnum
{
//
发佣
状态枚举
//
出账
状态枚举
WAIT
(
"待出账"
,
"0"
),
CAN_SEND
(
"可出账"
,
"1"
),
CAN_SEND
(
"可出账, 待检核"
,
"1"
),
CHECKED
(
"可出账, 已检核"
,
"4"
),
SENT
(
"已出账"
,
"2"
),
MATCH_FAIL
(
"未找到当前预计发佣对应的来佣"
,
"3"
),
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Fortune.java
View file @
2624262e
...
...
@@ -27,6 +27,11 @@ public class Fortune implements Serializable {
private
String
expectedFortuneBizId
;
/**
* 检核年月
*/
private
String
reconciliationYearMonth
;
/**
* 保单发佣批次ID
*/
private
String
batchBizId
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
2624262e
...
...
@@ -36,7 +36,9 @@ import org.springframework.transaction.support.TransactionTemplate;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
...
...
@@ -327,7 +329,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
generateFortune
(
GenerateFortuneRequest
generateFortuneRequest
)
{
if
(
generateFortuneRequest
.
getPayoutDate
()
==
null
)
{
if
(
StringUtils
.
isEmpty
(
generateFortuneRequest
.
getReconciliationYearMonth
())
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"请选择发佣检核日期"
);
}
...
...
@@ -340,7 +342,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
// 2. 根据本次发佣日期,查询本期待发佣记录
List
<
Fortune
>
fortuneList
=
fortuneService
.
list
(
new
QueryWrapper
<
Fortune
>().
in
(
"
payout_date"
,
generateFortuneRequest
.
getPayoutDate
()));
List
<
Fortune
>
fortuneList
=
fortuneService
.
list
(
new
QueryWrapper
<
Fortune
>().
in
(
"
reconciliation_year_month"
,
generateFortuneRequest
.
getReconciliationYearMonth
()));
// 3.根据本次发佣日期,删除旧的发佣记录,以便重新计算
fortuneService
.
removeByIds
(
fortuneList
);
...
...
@@ -353,7 +355,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
List
<
Commission
>
commissionList
=
this
.
list
(
new
QueryWrapper
<
Commission
>().
in
(
"policy_no"
,
policyNoSet
));
// 5. 构建实际的初始发佣记录
List
<
Fortune
>
newFortuneList
=
buildNewFortunes
(
expectedFortuneList
,
commissionList
);
List
<
Fortune
>
newFortuneList
=
buildNewFortunes
(
expectedFortuneList
,
commissionList
,
generateFortuneRequest
.
getReconciliationYearMonth
()
);
// List<Fortune> newFortuneList = new ArrayList<>();
// for (ExpectedFortune expectedFortune : filteredExpectedFortuneList) {
// Fortune fortune = new Fortune();
...
...
@@ -396,7 +398,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
* 构建新的发佣记录
*/
private
List
<
Fortune
>
buildNewFortunes
(
List
<
ExpectedFortune
>
expectedFortuneList
,
List
<
Commission
>
commissionList
)
{
List
<
Commission
>
commissionList
,
String
reconciliationYearMonth
)
{
// 构建来佣记录映射,用于快速查找
Map
<
String
,
Commission
>
commissionByPolicyPeriod
=
commissionList
.
stream
()
.
collect
(
Collectors
.
toMap
(
...
...
@@ -414,6 +417,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
fortune
.
setAmount
(
expectedFortune
.
getCurrentPaymentAmount
());
fortune
.
setExpectedFortuneBizId
(
expectedFortune
.
getExpectedFortuneBizId
());
fortune
.
setStatus
(
FortuneStatusEnum
.
CAN_SEND
.
getItemValue
());
// 检核日期
fortune
.
setReconciliationYearMonth
(
reconciliationYearMonth
);
// 关联来佣业务ID
String
key
=
buildPolicyPeriodKey
(
expectedFortune
.
getPolicyNo
(),
expectedFortune
.
getFortunePeriod
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
2624262e
...
...
@@ -149,8 +149,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
// 校验发佣记录状态
StringBuilder
validateMsg
=
new
StringBuilder
();
for
(
Fortune
fortune
:
fortuneList
)
{
if
(
StringUtils
.
equals
(
fortune
.
getStatus
(),
FortuneStatusEnum
.
WAIT
.
getItemValue
()))
{
validateMsg
.
append
(
fortune
.
getPolicyNo
()).
append
(
"-"
).
append
(
fortune
.
getBroker
()).
append
(
"
为待出账
,不能生成出账记录; "
);
if
(
!
StringUtils
.
equals
(
fortune
.
getStatus
(),
FortuneStatusEnum
.
CHECKED
.
getItemValue
()))
{
validateMsg
.
append
(
fortune
.
getPolicyNo
()).
append
(
"-"
).
append
(
fortune
.
getBroker
()).
append
(
"
未检核
,不能生成出账记录; "
);
}
}
if
(
StringUtils
.
isNotBlank
(
validateMsg
.
toString
()))
{
...
...
@@ -278,6 +278,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
updateFortune
.
setStatus
(
fortuneStatusUpdateRequest
.
getStatus
());
updateList
.
add
(
updateFortune
);
}
// 更新预计发佣的状态
if
(
StringUtils
.
equals
(
fortuneStatusUpdateRequest
.
getStatus
(),
FortuneStatusEnum
.
CHECKED
.
getItemValue
()))
{
for
(
Fortune
fortune
:
fortuneList
)
{
// fortune.setExpectedFortuneStatus(FortuneStatusEnum.CHECKED.getItemValue());
}
}
return
this
.
updateBatchById
(
updateList
);
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
View file @
2624262e
...
...
@@ -27,6 +27,12 @@ public class FortuneVO implements Serializable {
private
String
fortuneBizId
;
/**
* 检核年月
*/
@Schema
(
description
=
"检核年月"
)
private
String
reconciliationYearMonth
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
...
...
yd-csf-service/src/main/resources/mappers/FortuneMapper.xml
View file @
2624262e
...
...
@@ -7,6 +7,9 @@
<resultMap
id=
"BaseResultMap"
type=
"com.yd.csf.service.model.Fortune"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"fortuneBizId"
column=
"fortune_biz_id"
/>
<result
property=
"expectedFortuneBizId"
column=
"expected_fortune_biz_id"
/>
<result
property=
"reconciliationYearMonth"
column=
"reconciliation_year_month"
/>
<result
property=
"batchBizId"
column=
"batch_biz_id"
/>
<result
property=
"commissionBizId"
column=
"commission_biz_id"
/>
<result
property=
"policyNo"
column=
"policy_no"
/>
<result
property=
"fortunePeriod"
column=
"fortune_period"
/>
...
...
@@ -37,7 +40,7 @@
</resultMap>
<sql
id=
"Base_Column_List"
>
id,fortune_biz_id,commission_biz_id,policy_no,fortune_period,fortune_total_period,broker_biz_id,
id,fortune_biz_id,
expected_fortune_biz_id,reconciliation_year_month,batch_biz_id,
commission_biz_id,policy_no,fortune_period,fortune_total_period,broker_biz_id,
team_biz_id,grade_commission_rate,share_rate,fortune_name,fortune_type,
amount,currency,status,payout_date,is_tax,
tax_amount,net_amount,salary_biz_id,base_rule_biz_id,settlement_biz_id,
...
...
@@ -52,9 +55,12 @@
count(distinct f.policy_no) as totalPolicyCount
from fortune f
left join commission c on f.commission_biz_id = c.commission_biz_id
where f.id in
where
<if
test=
"fortuneIdList != null and fortuneIdList.size() > 0"
>
f.id in
<foreach
collection=
"fortuneIdList"
item=
"fortuneId"
open=
"("
close=
")"
separator=
","
>
#{fortuneId}
</foreach>
</if>
</select>
</mapper>
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