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
b8053594
Commit
b8053594
authored
Jan 05, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/test' into test
parents
bee5253a
e0b2fb70
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
72 additions
and
42 deletions
+72
-42
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+0
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionUpdateRequest.java
+16
-22
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionStatusEnum.java
+1
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+9
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+20
-17
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+1
-1
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
+16
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
View file @
b8053594
...
@@ -6,6 +6,7 @@ import com.yd.common.utils.RandomStringGenerator;
...
@@ -6,6 +6,7 @@ import com.yd.common.utils.RandomStringGenerator;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
import
lombok.Data
;
import
lombok.Data
;
import
org.apache.commons.lang3.StringUtils
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -79,6 +80,10 @@ public class CommissionExcelDTO {
...
@@ -79,6 +80,10 @@ public class CommissionExcelDTO {
public
static
Commission
convertToEntityNew
(
CommissionExcelDTO
data
,
String
loginUserId
)
{
public
static
Commission
convertToEntityNew
(
CommissionExcelDTO
data
,
String
loginUserId
)
{
Commission
entity
=
new
Commission
();
Commission
entity
=
new
Commission
();
// 字段映射
// 字段映射
String
commissionBizType
=
data
.
getCommissionBizType
();
if
(
StringUtils
.
isNotBlank
(
commissionBizType
))
{
entity
.
setCommissionBizType
(
"R"
.
equals
(
commissionBizType
)
||
"关联保单应收单"
.
equalsIgnoreCase
(
commissionBizType
)
?
"R"
:
"U"
);
}
entity
.
setPolicyNo
(
data
.
getPolicyNo2
());
entity
.
setPolicyNo
(
data
.
getPolicyNo2
());
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod2
());
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod2
());
entity
.
setCommissionName
(
data
.
getCommissionName2
());
entity
.
setCommissionName
(
data
.
getCommissionName2
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
b8053594
This diff is collapsed.
Click to expand it.
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
View file @
b8053594
package
com
.
yd
.
csf
.
service
.
dao
;
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yd.csf.service.dto.CommissionBindPolicyBrokerDto
;
import
com.yd.csf.service.dto.CommissionBindPolicyBrokerDto
;
import
com.yd.csf.service.dto.CommissionDto
;
import
com.yd.csf.service.dto.CommissionDto
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yd.csf.service.vo.CommissionStatisticsVO
;
import
com.yd.csf.service.vo.CommissionStatisticsVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.List
;
...
@@ -22,6 +20,8 @@ public interface CommissionMapper extends BaseMapper<Commission> {
...
@@ -22,6 +20,8 @@ public interface CommissionMapper extends BaseMapper<Commission> {
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
@Param
(
"dto"
)
CommissionDto
dto
);
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
@Param
(
"dto"
)
CommissionDto
dto
);
CommissionStatisticsVO
getCommissionStatistics
(
@Param
(
"commissionIdList"
)
List
<
Long
>
commissionIdList
);
CommissionStatisticsVO
getCommissionStatistics
(
@Param
(
"commissionIdList"
)
List
<
Long
>
commissionIdList
);
int
updateStatusBatchById
(
@Param
(
"list"
)
List
<
Commission
>
list
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionUpdateRequest.java
View file @
b8053594
...
@@ -11,9 +11,9 @@ import java.util.Date;
...
@@ -11,9 +11,9 @@ import java.util.Date;
@Data
@Data
public
class
CommissionUpdateRequest
implements
Serializable
{
public
class
CommissionUpdateRequest
implements
Serializable
{
/**
/**
* 保单
来佣
业务id
* 保单
入账
业务id
*/
*/
@Schema
(
description
=
"保单
来佣
业务id"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"保单
入账
业务id"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
commissionBizId
;
private
String
commissionBizId
;
/**
/**
...
@@ -29,12 +29,6 @@ public class CommissionUpdateRequest implements Serializable {
...
@@ -29,12 +29,6 @@ public class CommissionUpdateRequest implements Serializable {
private
String
policyNo
;
private
String
policyNo
;
/**
/**
* 保费
*/
@Schema
(
description
=
"保费"
)
private
String
premium
;
/**
* 对账公司
* 对账公司
*/
*/
@Schema
(
description
=
"对账公司"
)
@Schema
(
description
=
"对账公司"
)
...
@@ -47,9 +41,9 @@ public class CommissionUpdateRequest implements Serializable {
...
@@ -47,9 +41,9 @@ public class CommissionUpdateRequest implements Serializable {
private
String
reconciliationCompanyBizId
;
private
String
reconciliationCompanyBizId
;
/**
/**
*
来佣
比对状态
*
入账
比对状态
*/
*/
// @Schema(description = "
来佣
比对状态 1=比对成功 2=比对失败")
// @Schema(description = "
入账
比对状态 1=比对成功 2=比对失败")
// private String status;
// private String status;
/**
/**
...
@@ -59,33 +53,33 @@ public class CommissionUpdateRequest implements Serializable {
...
@@ -59,33 +53,33 @@ public class CommissionUpdateRequest implements Serializable {
private
Integer
commissionPeriod
;
private
Integer
commissionPeriod
;
/**
/**
* 总
来佣
期数
* 总
入账
期数
*/
*/
@Schema
(
description
=
"总
来佣
期数"
)
@Schema
(
description
=
"总
入账
期数"
)
private
Integer
totalPeriod
;
private
Integer
totalPeriod
;
/**
/**
*
来佣
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*
入账项目
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
*/
@Schema
(
description
=
"
来佣
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
@Schema
(
description
=
"
入账项目
名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
private
String
commissionName
;
private
String
commissionName
;
/**
/**
*
来佣
类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*
入账项目
类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
*/
@Schema
(
description
=
"
来佣
类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
@Schema
(
description
=
"
入账项目
类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
private
String
commissionType
;
private
String
commissionType
;
/**
/**
*
来佣
金额
*
入账
金额
*/
*/
@Schema
(
description
=
"
来佣
金额"
)
@Schema
(
description
=
"
入账
金额"
)
private
BigDecimal
amount
;
private
BigDecimal
amount
;
/**
/**
*
来佣
币种
*
入账
币种
*/
*/
@Schema
(
description
=
"
来佣
币种"
)
@Schema
(
description
=
"
入账
币种"
)
private
String
currency
;
private
String
currency
;
/**
/**
...
@@ -95,9 +89,9 @@ public class CommissionUpdateRequest implements Serializable {
...
@@ -95,9 +89,9 @@ public class CommissionUpdateRequest implements Serializable {
private
String
exchangeRate
;
private
String
exchangeRate
;
/**
/**
*
来佣
日期
*
入账
日期
*/
*/
@Schema
(
description
=
"
来佣
日期"
)
@Schema
(
description
=
"
入账
日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
commissionDate
;
private
Date
commissionDate
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionStatusEnum.java
View file @
b8053594
...
@@ -9,6 +9,7 @@ public enum CommissionStatusEnum {
...
@@ -9,6 +9,7 @@ public enum CommissionStatusEnum {
WAIT
(
"未比对"
,
"0"
),
WAIT
(
"未比对"
,
"0"
),
COMPARE_SUCCESS
(
"比对成功"
,
"1"
),
COMPARE_SUCCESS
(
"比对成功"
,
"1"
),
COMPARE_FAIL
(
"比对失败"
,
"2"
),
COMPARE_FAIL
(
"比对失败"
,
"2"
),
MATCH_FAILED
(
"未查询到预计来佣记录"
,
"3"
);
;
;
//字典项标签(名称)
//字典项标签(名称)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
b8053594
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Date
;
import
java.util.Date
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -195,4 +196,11 @@ public class Commission implements Serializable {
...
@@ -195,4 +196,11 @@ public class Commission implements Serializable {
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
public
BigDecimal
calculateCurrentPaidRatio
()
{
// 当前来佣比例=当前入账金额/结算汇率/保费 * 100
return
amount
.
divide
(
new
BigDecimal
(
premium
),
4
,
RoundingMode
.
HALF_UP
)
.
divide
(
new
BigDecimal
(
exchangeRate
),
4
,
RoundingMode
.
HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
}
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
View file @
b8053594
...
@@ -51,4 +51,6 @@ public interface CommissionService extends IService<Commission> {
...
@@ -51,4 +51,6 @@ public interface CommissionService extends IService<Commission> {
List
<
Commission
>
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
);
List
<
Commission
>
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
);
Boolean
addToExpected
(
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
);
Boolean
addToExpected
(
AddToExpectedCommissionRequest
addToExpectedCommissionRequest
);
int
updateStatusBatchById
(
List
<
Commission
>
existingCommissions
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
b8053594
...
@@ -15,6 +15,7 @@ import com.yd.common.exception.BusinessException;
...
@@ -15,6 +15,7 @@ import com.yd.common.exception.BusinessException;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.component.CommissionAsyncService
;
import
com.yd.csf.service.component.CommissionAsyncService
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.enums.CommissionStatusEnum
;
import
com.yd.csf.service.enums.FortuneStatusEnum
;
import
com.yd.csf.service.enums.FortuneStatusEnum
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.service.*
;
import
com.yd.csf.service.service.*
;
...
@@ -210,11 +211,11 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -210,11 +211,11 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
BigDecimal
amount
=
commission
.
getAmount
();
BigDecimal
amount
=
commission
.
getAmount
();
BigDecimal
requestAmount
=
commissionUpdateRequest
.
getAmount
();
BigDecimal
requestAmount
=
commissionUpdateRequest
.
getAmount
();
// 1. 执行主更新事务(这个方法将在当前事务中执行)
// 计算当前来佣比例
// 计算当前来佣比例
BigDecimal
currentCommissionRatio
=
this
.
calculateCurrentCommissionRatio
(
BigDecimal
currentCommissionRatio
=
this
.
calculateCurrentCommissionRatio
(
commissionUpdateRequest
.
getAmount
(),
commission
.
getPremium
(),
commissionUpdateRequest
.
getPremium
(),
requestAmount
,
commissionUpdateRequest
.
getCurrency
(),
commissionUpdateRequest
.
getExchangeRate
());
commissionUpdateRequest
.
getExchangeRate
());
// 获取当前登录用户
// 获取当前登录用户
...
@@ -261,18 +262,14 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -261,18 +262,14 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
log
.
error
(
"来佣业务id不能为空:{}"
,
commissionUpdateRequest
.
getCommissionBizId
());
log
.
error
(
"来佣业务id不能为空:{}"
,
commissionUpdateRequest
.
getCommissionBizId
());
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"来佣业务id不能为空"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"来佣业务id不能为空"
);
}
}
if
(
ObjectUtils
.
isEmpty
(
commissionUpdateRequest
.
getPremium
()))
{
// if (ObjectUtils.isEmpty(commissionUpdateRequest.getAmount())) {
log
.
error
(
"保费不能为空:{}"
,
commissionUpdateRequest
.
getPremium
());
// log.error("当前入账金额不能为空,来佣业务id:{}", commissionUpdateRequest.getCommissionBizId());
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保费不能为空"
);
// throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "当前入账金额不能为空");
}
// }
if
(
ObjectUtils
.
isEmpty
(
commissionUpdateRequest
.
getAmount
()))
{
// if (ObjectUtils.isEmpty(commissionUpdateRequest.getExchangeRate())) {
log
.
error
(
"当前入账金额不能为空,来佣业务id:{}"
,
commissionUpdateRequest
.
getCommissionBizId
());
// log.error("当前结算汇率不能为空,来佣业务id:{}", commissionUpdateRequest.getCommissionBizId());
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"当前入账金额不能为空"
);
// throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "当前结算汇率不能为空");
}
// }
if
(
ObjectUtils
.
isEmpty
(
commissionUpdateRequest
.
getExchangeRate
()))
{
log
.
error
(
"当前结算汇率不能为空,来佣业务id:{}"
,
commissionUpdateRequest
.
getCommissionBizId
());
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"当前结算汇率不能为空"
);
}
}
}
...
@@ -570,9 +567,9 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -570,9 +567,9 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
this
.
getOne
(
new
QueryWrapper
<
Commission
>().
eq
(
"commission_biz_id"
,
commissionBizId
));
return
this
.
getOne
(
new
QueryWrapper
<
Commission
>().
eq
(
"commission_biz_id"
,
commissionBizId
));
}
}
public
BigDecimal
calculateCurrentCommissionRatio
(
BigDecimal
amount
,
String
premium
,
String
exchangeRate
)
{
public
BigDecimal
calculateCurrentCommissionRatio
(
String
premium
,
BigDecimal
amount
,
String
exchangeRate
,
String
currency
)
{
if
(
ObjectUtils
.
isEmpty
(
premium
))
{
if
(
ObjectUtils
.
isEmpty
(
premium
))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保费不能为空"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保
单保
费不能为空"
);
}
}
if
(
ObjectUtils
.
isEmpty
(
amount
))
{
if
(
ObjectUtils
.
isEmpty
(
amount
))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"当前入账金额不能为空"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"当前入账金额不能为空"
);
...
@@ -677,6 +674,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -677,6 +674,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
log
.
warn
(
"新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
log
.
warn
(
"新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}"
,
request
.
getPolicyNo
(),
request
.
getCommissionPeriod
(),
request
.
getCommissionName
(),
request
.
getCurrency
());
request
.
getPolicyNo
(),
request
.
getCommissionPeriod
(),
request
.
getCommissionName
(),
request
.
getCurrency
());
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setRemark
(
"未查询到预计来佣记录"
);
commission
.
setStatus
(
CommissionStatusEnum
.
MATCH_FAILED
.
getItemValue
());
}
}
}
}
commissionList
.
add
(
commission
);
commissionList
.
add
(
commission
);
...
@@ -750,6 +748,11 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -750,6 +748,11 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return
commissionExpectedService
.
save
(
expected
);
return
commissionExpectedService
.
save
(
expected
);
}
}
@Override
public
int
updateStatusBatchById
(
List
<
Commission
>
existingCommissions
)
{
return
this
.
baseMapper
.
updateStatusBatchById
(
existingCommissions
);
}
/**
/**
* 查询列表
* 查询列表
*
*
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
b8053594
...
@@ -167,7 +167,7 @@ public class CommissionVO implements Serializable {
...
@@ -167,7 +167,7 @@ public class CommissionVO implements Serializable {
/**
/**
* 比对状态
* 比对状态
*/
*/
@Schema
(
description
=
"比对状态 0=未比对 1=比对成功 2=比对失败 字典值: csf_commission_status"
)
@Schema
(
description
=
"比对状态 0=未比对 1=比对成功 2=比对失败
3=未匹配到预计入账记录
字典值: csf_commission_status"
)
private
String
commissionStatus
;
private
String
commissionStatus
;
/**
/**
...
...
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
View file @
b8053594
...
@@ -48,6 +48,22 @@
...
@@ -48,6 +48,22 @@
updater_id,create_time,update_time
updater_id,create_time,update_time
</sql>
</sql>
<update
id=
"updateStatusBatchById"
>
UPDATE commission
<set>
status = CASE id
<foreach
collection=
"list"
item=
"item"
>
WHEN #{item.id} THEN #{item.status}
</foreach>
END,
update_time = NOW()
</set>
WHERE id IN
<foreach
collection=
"list"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item.id}
</foreach>
</update>
<select
id=
"queryCommissionBindPolicyBrokerList"
<select
id=
"queryCommissionBindPolicyBrokerList"
resultType=
"com.yd.csf.service.dto.CommissionBindPolicyBrokerDto"
>
resultType=
"com.yd.csf.service.dto.CommissionBindPolicyBrokerDto"
>
select c.*,p.*,pb.*
select c.*,p.*,pb.*
...
...
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