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
250ca9c6
Commit
250ca9c6
authored
Nov 25, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进89
parent
5a185e4a
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
116 additions
and
29 deletions
+116
-29
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+1
-1
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
+8
-8
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
+10
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedAddDto.java
+3
-3
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionUpdateRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+25
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
+7
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+3
-3
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+40
-6
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
+4
-3
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
+2
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
250ca9c6
...
...
@@ -153,7 +153,7 @@ public class ApiCommissionController {
CommissionExpected
expected
=
getCommissionExpected
(
expectedList
,
policyNo
,
commissionPeriod
,
commissionName
);
if
(
expected
!=
null
)
{
commissionService
.
compareWithExpected
(
commission
,
expected
);
commissionService
.
compareWithExpected
(
commission
.
getPremium
(),
commission
,
expected
);
}
else
{
// 预计来佣不存在,来佣状态设置为 比对失败
commission
.
setStatus
(
"2"
);
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
View file @
250ca9c6
...
...
@@ -159,14 +159,14 @@ public class ApiPolicyFollowController {
// 获取当前登录用户的ID
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
//
保存预计来佣
List
<
CommissionExpected
>
commissionExpectedList
=
new
ArrayList
<>();
for
(
CommissionExcelDTO
commissionExcelDTO
:
dataList
)
{
CommissionExpected
commissionExpected
=
CommissionExcelDTO
.
convertToCommissionExpectedObj
(
commissionExcelDTO
,
loginUserId
);
commissionExpected
.
setReconciliationCompanyBizId
(
reconciliationCompanyMap
.
get
(
commissionExcelDTO
.
getReconciliationCompany
()));
commissionExpectedList
.
add
(
commissionExpected
);
}
commissionExpectedService
.
saveBatch
(
commissionExpectedList
);
//
todo 保存预计来佣, 查询产品获取预计来佣比例
//
List<CommissionExpected> commissionExpectedList = new ArrayList<>();
//
for (CommissionExcelDTO commissionExcelDTO : dataList) {
//
CommissionExpected commissionExpected = CommissionExcelDTO.convertToCommissionExpectedObj(commissionExcelDTO, loginUserId);
//
commissionExpected.setReconciliationCompanyBizId(reconciliationCompanyMap.get(commissionExcelDTO.getReconciliationCompany()));
//
commissionExpectedList.add(commissionExpected);
//
}
//
commissionExpectedService.saveBatch(commissionExpectedList);
return
Result
.
success
(
true
);
}
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
View file @
250ca9c6
...
...
@@ -17,6 +17,9 @@ public class CommissionExcelDTO {
@ExcelProperty
(
"保单号"
)
private
String
policyNo
;
@ExcelProperty
(
"保费"
)
private
String
premium
;
@ExcelProperty
(
"对账公司"
)
private
String
reconciliationCompany
;
...
...
@@ -35,6 +38,9 @@ public class CommissionExcelDTO {
@ExcelProperty
(
"来佣币种"
)
private
String
currency
;
@ExcelProperty
(
"结算汇率"
)
private
String
exchangeRate
;
@ExcelProperty
(
"来佣日期"
)
private
Date
commissionDate
;
...
...
@@ -48,6 +54,7 @@ public class CommissionExcelDTO {
Commission
entity
=
new
Commission
();
// 字段映射
entity
.
setPolicyNo
(
data
.
getPolicyNo
());
entity
.
setPremium
(
data
.
getPremium
());
entity
.
setCommissionBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
()));
entity
.
setReconciliationCompany
(
data
.
getReconciliationCompany
());
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod
());
...
...
@@ -55,6 +62,7 @@ public class CommissionExcelDTO {
entity
.
setCommissionName
(
data
.
getCommissionName
());
entity
.
setAmount
(
data
.
getAmount
());
entity
.
setCurrency
(
data
.
getCurrency
());
entity
.
setExchangeRate
(
data
.
getExchangeRate
());
entity
.
setCommissionDate
(
data
.
getCommissionDate
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setStatus
(
null
);
...
...
@@ -81,8 +89,9 @@ public class CommissionExcelDTO {
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod
());
entity
.
setTotalPeriod
(
data
.
getTotalPeriod
());
entity
.
setCommissionName
(
data
.
getCommissionName
());
entity
.
set
Amount
(
data
.
getAmount
());
entity
.
set
CommissionRatio
(
data
.
getAmount
());
entity
.
setCurrency
(
data
.
getCurrency
());
entity
.
setCommissionRatio
(
null
);
entity
.
setCommissionDate
(
data
.
getCommissionDate
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setStatus
(
"0"
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
View file @
250ca9c6
...
...
@@ -16,6 +16,12 @@ public class CommissionAddRequest implements Serializable {
@Schema
(
description
=
"保单号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
policyNo
;
/**
* 保费
*/
@Schema
(
description
=
"保费"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
premium
;
/**
* 对账公司
*/
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedAddDto.java
View file @
250ca9c6
...
...
@@ -63,10 +63,10 @@ public class CommissionExpectedAddDto {
private
String
commissionType
;
/**
* 来佣
金额
* 来佣
比例
*/
@Schema
(
description
=
"来佣
金额
"
)
private
BigDecimal
amount
;
@Schema
(
description
=
"来佣
比例
"
)
private
BigDecimal
commissionRatio
;
/**
* 来佣币种
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionUpdateRequest.java
View file @
250ca9c6
...
...
@@ -21,6 +21,12 @@ public class CommissionUpdateRequest implements Serializable {
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 保费
*/
@Schema
(
description
=
"保费"
)
private
String
premium
;
/**
* 对账公司
*/
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
250ca9c6
...
...
@@ -31,6 +31,11 @@ public class Commission implements Serializable {
*/
private
String
policyNo
;
/**
* 保费
*/
private
String
premium
;
/**
* 对账公司
*/
...
...
@@ -87,6 +92,26 @@ public class Commission implements Serializable {
private
String
status
;
/**
* 预计来佣业务id
*/
private
String
commissionExpectedBizId
;
/**
* 总金额
*/
private
BigDecimal
expectedAmount
;
/**
* 已入账金额
*/
private
BigDecimal
paidAmount
;
/**
* 待入账金额
*/
private
BigDecimal
pendingAmount
;
/**
* 通用备注
*/
private
String
remark
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
View file @
250ca9c6
...
...
@@ -66,9 +66,9 @@ public class CommissionExpected implements Serializable {
private
String
commissionType
;
/**
* 来佣
金额
* 来佣
比例
*/
private
BigDecimal
amount
;
private
BigDecimal
commissionRatio
;
/**
* 来佣币种
...
...
@@ -86,6 +86,11 @@ public class CommissionExpected implements Serializable {
private
String
status
;
/**
* 已入账金额
*/
private
BigDecimal
paidAmount
;
/**
* 通用备注
*/
private
String
remark
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
View file @
250ca9c6
...
...
@@ -32,7 +32,7 @@ public interface CommissionService extends IService<Commission> {
Commission
getByCommissionBizId
(
String
commissionBizId
);
void
compareWithExpected
(
Commission
commission
,
CommissionExpected
expected
);
void
compareWithExpected
(
String
premium
,
Commission
commission
,
CommissionExpected
expected
);
List
<
Commission
>
queryList
(
CommissionDto
dto
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
View file @
250ca9c6
...
...
@@ -70,9 +70,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
if
(
StringUtils
.
isBlank
(
commissionName
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"来佣名称不能为空"
);
}
BigDecimal
amount
=
commissionExpected
.
getAmount
();
if
(
ObjectUtils
.
isEmpty
(
amount
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"来佣
金额
不能为空"
);
BigDecimal
commissionRatio
=
commissionExpected
.
getCommissionRatio
();
if
(
ObjectUtils
.
isEmpty
(
commissionRatio
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"来佣
比例
不能为空"
);
}
Integer
commissionPeriod
=
commissionExpected
.
getCommissionPeriod
();
if
(
ObjectUtils
.
isEmpty
(
commissionPeriod
))
{
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
250ca9c6
...
...
@@ -58,6 +58,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
private
IExpectedFortuneService
iExpectedFortuneService
;
@Resource
private
CommissionEditRecordService
commissionEditRecordService
;
@Resource
private
CommissionCompareRecordService
commissionCompareRecordService
;
@Override
...
...
@@ -126,7 +128,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
CommissionExpected
commissionExpected
=
queryByCommission
(
commission
);
if
(
commissionExpected
!=
null
)
{
// 对比预计来佣
compareWithExpected
(
commission
,
commissionExpected
);
compareWithExpected
(
commission
.
getPremium
(),
commission
,
commissionExpected
);
commissionExpectedService
.
updateById
(
commissionExpected
);
}
else
{
// 预计来佣不存在,来佣状态设置为 比对失败
...
...
@@ -357,7 +359,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
CommissionExpected
commissionExpected
=
queryByCommission
(
commission
);
if
(
commissionExpected
!=
null
)
{
// 对比预计来佣
compareWithExpected
(
commission
,
commissionExpected
);
compareWithExpected
(
commission
AddRequest
.
getPremium
(),
commission
,
commissionExpected
);
commissionExpectedService
.
updateById
(
commissionExpected
);
}
else
{
// 预计来佣不存在,来佣状态设置为 比对失败
...
...
@@ -378,10 +380,23 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
this
.
getOne
(
new
QueryWrapper
<
Commission
>().
eq
(
"commission_biz_id"
,
commissionBizId
));
}
/**
* 比对时, 保费*预计来佣比例*结算汇率,和实际入账金额对比
*
* @param commission
* @param expected
*/
@Override
public
void
compareWithExpected
(
Commission
commission
,
CommissionExpected
expected
)
{
public
void
compareWithExpected
(
String
premium
,
Commission
commission
,
CommissionExpected
expected
)
{
if
(
expected
!=
null
)
{
if
(
expected
.
getAmount
().
compareTo
(
commission
.
getAmount
())
==
0
)
{
// 预计总金额
BigDecimal
expectedAmount
=
new
BigDecimal
(
premium
)
.
multiply
(
expected
.
getCommissionRatio
())
.
multiply
(
new
BigDecimal
(
commission
.
getExchangeRate
()));
// 已入账金额
BigDecimal
paidAmount
=
commission
.
getAmount
().
add
(
expected
.
getPaidAmount
());
if
(
paidAmount
.
compareTo
(
expectedAmount
)
==
0
)
{
// 一致,来佣状态设置为 比对成功
commission
.
setStatus
(
CommissionStatusEnum
.
COMPARE_SUCCESS
.
getItemValue
());
// 预计来佣的状态设置为 已来佣
...
...
@@ -391,14 +406,33 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setStatus
(
CommissionStatusEnum
.
COMPARE_FAIL
.
getItemValue
());
expected
.
setStatus
(
CommissionExpectedStatusEnum
.
PARTIAL
.
getItemValue
());
}
}
else
{
// 设置来佣相关字段
commission
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commission
.
setExpectedAmount
(
expectedAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
));
commission
.
setPaidAmount
(
paidAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
));
// 待入账金额 = 预计来佣总金额 - 已入账金额
commission
.
setPendingAmount
(
expectedAmount
.
subtract
(
paidAmount
).
setScale
(
2
,
RoundingMode
.
HALF_UP
));
// 预计来佣的已入账金额更新为 已入账金额
expected
.
setPaidAmount
(
paidAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
));
// 保存比对记录
saveCompareRecord
(
commission
,
expected
);
}
}
private
void
saveCompareRecord
(
Commission
commission
,
CommissionExpected
expected
)
{
CommissionCompareRecord
commissionCompareRecord
=
new
CommissionCompareRecord
();
commissionCompareRecord
.
setCommissionExpectedBizId
(
expected
.
getCommissionExpectedBizId
());
commissionCompareRecord
.
setCommissionBizId
(
commission
.
getCommissionBizId
());
commissionCompareRecord
.
setCommissionPeriod
(
commission
.
getCommissionPeriod
());
commissionCompareRecord
.
setTotalPeriod
(
commission
.
getTotalPeriod
());
commissionCompareRecord
.
setAmount
(
commission
.
getAmount
());
commissionCompareRecord
.
setCurrency
(
commission
.
getCurrency
());
commissionCompareRecord
.
setExchangeRate
(
commission
.
getExchangeRate
());
commissionCompareRecord
.
setStatus
(
commission
.
getStatus
());
commissionCompareRecord
.
setRemark
(
commission
.
getRemark
());
commissionCompareRecord
.
setCreateTime
(
commission
.
getCreateTime
());
commissionCompareRecordService
.
save
(
commissionCompareRecord
);
}
/**
...
...
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
View file @
250ca9c6
...
...
@@ -14,10 +14,11 @@
<result
property=
"totalPeriod"
column=
"total_period"
/>
<result
property=
"commissionName"
column=
"commission_name"
/>
<result
property=
"commissionType"
column=
"commission_type"
/>
<result
property=
"
amount"
column=
"amount
"
/>
<result
property=
"
commissionRatio"
column=
"commission_ratio
"
/>
<result
property=
"currency"
column=
"currency"
/>
<result
property=
"commissionDate"
column=
"commission_date"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"paidAmount"
column=
"paid_amount"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
/>
<result
property=
"creatorId"
column=
"creator_id"
/>
...
...
@@ -28,8 +29,8 @@
<sql
id=
"Base_Column_List"
>
id,commission_expected_biz_id,policy_no,reconciliation_company,reconciliation_company_biz_id,commission_period,
total_period,commission_name,commission_type,
amount
,currency,
commission_date,status,remark,is_deleted,creator_id,
total_period,commission_name,commission_type,
commission_ratio
,currency,
commission_date,status,
paid_amount,
remark,is_deleted,creator_id,
updater_id,create_time,update_time
</sql>
</mapper>
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
View file @
250ca9c6
...
...
@@ -8,6 +8,7 @@
<id
property=
"id"
column=
"id"
/>
<result
property=
"commissionBizId"
column=
"commission_biz_id"
/>
<result
property=
"policyNo"
column=
"policy_no"
/>
<result
property=
"premium"
column=
"premium"
/>
<result
property=
"reconciliationCompany"
column=
"reconciliation_company"
/>
<result
property=
"reconciliationCompanyBizId"
column=
"reconciliation_company_biz_id"
/>
<result
property=
"commissionPeriod"
column=
"commission_period"
/>
...
...
@@ -27,7 +28,7 @@
</resultMap>
<sql
id=
"Base_Column_List"
>
id,commission_biz_id,policy_no,reconciliation_company,reconciliation_company_biz_id,commission_period,
id,commission_biz_id,policy_no,
premium,
reconciliation_company,reconciliation_company_biz_id,commission_period,
total_period,commission_name,commission_type,amount,currency,
commission_date,status,remark,is_deleted,creator_id,
updater_id,create_time,update_time
...
...
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