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
cff716bb
Commit
cff716bb
authored
Dec 30, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
前端对接问题修复10
parent
03d5c175
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
88 additions
and
13 deletions
+88
-13
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+28
-8
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedUpdateRequest.java
+12
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAddRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+38
-3
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
+2
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
cff716bb
...
...
@@ -180,6 +180,9 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
}
}
}
//批量设置应付款编号
updatePayableNoBatch
(
policyNo
);
//执行成功完毕,也要销毁redis缓存
redisUtil
.
deleteObject
(
RedisConstants
.
EXPECTED_FORTUNE
+
policyNo
);
...
...
@@ -207,6 +210,22 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
});
}
private
void
updatePayableNoBatch
(
String
policyNo
)
{
// 查询最新一条有 payableNo 记录
ExpectedFortune
latest
=
iExpectedFortuneService
.
getOne
(
new
QueryWrapper
<
ExpectedFortune
>().
isNotNull
(
"payable_no"
).
orderByDesc
(
"id"
).
last
(
"LIMIT 1"
),
true
);
//查询当前保单号的所有预计发佣记录
List
<
ExpectedFortune
>
expectedFortuneList
=
iExpectedFortuneService
.
queryList
(
policyNo
);
//批量更新应付款编号
for
(
ExpectedFortune
expectedFortune
:
expectedFortuneList
)
{
expectedFortune
.
setPayableNo
(
this
.
createPayableNo
(
"R"
,
latest
));
}
iExpectedFortuneService
.
updateBatchById
(
expectedFortuneList
);
}
/**
* 执行 - 奖励(非销售佣金基本法)
* @param dto
...
...
@@ -438,10 +457,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
return
true
;
}
// 查询最新一条有 payableNo 记录
ExpectedFortune
latest
=
iExpectedFortuneService
.
getOne
(
new
QueryWrapper
<
ExpectedFortune
>()
.
isNotNull
(
"payable_no"
)
.
orderByDesc
(
"id"
)
.
last
(
"limit 1"
)
);
ExpectedFortune
latest
=
iExpectedFortuneService
.
getOne
(
new
QueryWrapper
<
ExpectedFortune
>().
isNotNull
(
"payable_no"
).
orderByDesc
(
"id"
).
last
(
"LIMIT 1"
),
true
);
ArrayList
<
ExpectedFortune
>
fortuneList
=
new
ArrayList
<>();
for
(
ExpectedFortuneAddRequest
expectedFortuneDto
:
fortuneAddRequestList
)
{
...
...
@@ -451,7 +470,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
// 预计发佣业务id
expectedFortune
.
setExpectedFortuneBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_EXPECTED_FORTUNE
.
getCode
()));
// 应付款编号
expectedFortune
.
setPayableNo
(
this
.
createPayableNo
(
expectedFortune
Dto
,
latest
));
expectedFortune
.
setPayableNo
(
this
.
createPayableNo
(
expectedFortune
.
getFortuneBizType
()
,
latest
));
fortuneList
.
add
(
expectedFortune
);
}
iExpectedFortuneService
.
saveOrUpdateBatch
(
fortuneList
);
...
...
@@ -461,17 +480,18 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
/**
* 创建应付款编号 应付款类型-CSF-年份后两位-6位数字(不重复)
*
* @param expectedFortuneDto
* @param fortuneBizType 预计发佣业务类型
* @param latest 最新一条有 payableNo 记录
* @return
*/
private
String
createPayableNo
(
ExpectedFortuneAddRequest
expectedFortuneDto
,
ExpectedFortune
latest
)
{
private
String
createPayableNo
(
String
fortuneBizType
,
ExpectedFortune
latest
)
{
String
seq
=
"000001"
;
// 有最新记录,根据最新记录的序号生成下一个序号
if
(!
Objects
.
isNull
(
latest
))
{
seq
=
String
.
format
(
"%06d"
,
Integer
.
parseInt
(
latest
.
getPayableNo
().
substring
(
12
))
+
1
);
}
return
String
.
format
(
"%s%s%s"
,
expectedFortuneDto
.
getFortuneBizType
()
+
"-CSF"
,
fortuneBizType
+
"-CSF"
,
LocalDate
.
now
().
getYear
()
%
100
,
seq
);
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/component/CommissionAsyncService.java
View file @
cff716bb
...
...
@@ -210,6 +210,7 @@ public class CommissionAsyncService {
// 等于预计比例时,所有来佣设置为比对成功
for
(
Commission
existingCommission
:
existingCommissions
)
{
existingCommission
.
setStatus
(
CommissionStatusEnum
.
COMPARE_SUCCESS
.
getItemValue
());
existingCommission
.
setTotalPeriod
(
commissionExpected
.
getTotalPeriod
());
// 创建比对记录
compareRecords
.
add
(
commissionService
.
getNewCompareRecord
(
existingCommission
,
commissionExpected
,
currentLoginUser
));
}
...
...
@@ -372,6 +373,7 @@ public class CommissionAsyncService {
// 等于预计比例时,所有来佣设置为比对成功
for
(
Commission
existingCommission
:
existingCommissions
)
{
existingCommission
.
setStatus
(
CommissionStatusEnum
.
COMPARE_SUCCESS
.
getItemValue
());
existingCommission
.
setTotalPeriod
(
commissionExpected
.
getTotalPeriod
());
}
// 对应预计来佣设置为已来佣
commissionExpected
.
setStatus
(
CommissionExpectedStatusEnum
.
COMPARED
.
getItemValue
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedUpdateRequest.java
View file @
cff716bb
...
...
@@ -25,6 +25,12 @@ public class CommissionExpectedUpdateRequest implements Serializable {
private
String
status
;
/**
* 设置入账状态-修改理由
*/
@Schema
(
description
=
"设置入账状态-修改理由"
)
private
String
statusDesc
;
/**
* 新单跟进业务id
*/
@Schema
(
description
=
"新单跟进业务id"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
...
...
@@ -91,6 +97,12 @@ public class CommissionExpectedUpdateRequest implements Serializable {
private
String
currency
;
/**
* 默认结算汇率
*/
@Schema
(
description
=
"默认结算汇率(外币对港币)"
)
private
BigDecimal
defaultExchangeRate
;
/**
* 入账日期
*/
@Schema
(
description
=
"入账日期 format:yyyy-MM-dd"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAddRequest.java
View file @
cff716bb
...
...
@@ -28,7 +28,7 @@ public class FortuneAddRequest implements Serializable {
private
String
policyNo
;
/**
* 出账状态 0=待出账 1=可出
账 2=已出账
* 出账状态 0=待出账 1=可出
帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出帐,检核完成 7=未找到当前预计发佣对应的来佣
*/
@Schema
(
description
=
"出账状态 0=待出账 1=可出帐,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出帐,检核完成 7=未找到当前预计发佣对应的来佣, 字典值: csf_expected_fortune_status"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
status
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
View file @
cff716bb
...
...
@@ -123,6 +123,11 @@ public class CommissionExpected implements Serializable {
private
String
status
;
/**
* 设置入账状态-修改理由
*/
private
String
statusDesc
;
/**
* 默认结算汇率
*/
private
BigDecimal
defaultExchangeRate
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
View file @
cff716bb
...
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.yd.common.constant.CommonConstant
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.component.ReceivableService
;
import
com.yd.csf.service.dto.CommissionExpectedAddDto
;
...
...
@@ -22,10 +23,14 @@ import com.yd.csf.service.service.*;
import
com.yd.csf.service.dao.CommissionExpectedMapper
;
import
com.yd.csf.service.vo.CommissionExpectedStatisticsVO
;
import
com.yd.csf.service.vo.CommissionExpectedVO
;
import
com.yd.user.feign.client.sysdict.ApiSysDictFeignClient
;
import
com.yd.user.feign.response.sysdict.GetDictItemListByDictTypeResponse
;
import
com.yd.user.service.model.SysDictItem
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -55,6 +60,8 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
@Resource
private
ReceivableService
receivableService
;
@Autowired
private
ApiSysDictFeignClient
apiSysDictFeignClient
;
@Override
...
...
@@ -129,6 +136,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
if
(
ObjectUtils
.
isEmpty
(
commissionExpected
.
getAmount
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"入账金额不能为空"
);
}
if
(
StringUtils
.
isBlank
(
commissionExpected
.
getCurrency
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"入账币种不能为空"
);
}
}
// 创建数据时,参数不能为空
if
(
add
)
{
...
...
@@ -231,9 +241,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
BeanUtils
.
copyProperties
(
addDto
,
commissionExpected
);
// 初始值
commissionExpected
.
setDefaultExchangeRate
(
BigDecimal
.
valueOf
(
1
));
// 如果币种
是美元,默认结算汇率 7.8 美元对港币
if
(
StringUtils
.
equalsIgnoreCase
(
addDto
.
getCurrency
(),
"US
D"
))
{
commissionExpected
.
setDefaultExchangeRate
(
BigDecimal
.
valueOf
(
7.8
));
// 如果币种
不是港币,查询默认结算汇率
if
(
!
StringUtils
.
equalsIgnoreCase
(
addDto
.
getCurrency
(),
"HK
D"
))
{
commissionExpected
.
setDefaultExchangeRate
(
queryDefaultExchangeRate
(
addDto
.
getCurrency
()
));
}
// 预计总金额
if
(
policy
!=
null
)
{
...
...
@@ -280,6 +290,18 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
return
true
;
}
private
BigDecimal
queryDefaultExchangeRate
(
String
currency
)
{
Result
<
List
<
GetDictItemListByDictTypeResponse
>>
result
=
apiSysDictFeignClient
.
getDictItemListByDictType
(
"csf_exchange_rate_hkd"
);
if
(
CollectionUtils
.
isNotEmpty
(
result
.
getData
()))
{
for
(
GetDictItemListByDictTypeResponse
dictItem
:
result
.
getData
())
{
if
(
StringUtils
.
equalsIgnoreCase
(
dictItem
.
getItemLabel
(),
currency
))
{
return
new
BigDecimal
(
dictItem
.
getItemValue
());
}
}
}
return
BigDecimal
.
ZERO
;
}
@Override
public
Boolean
deleteCommissionExpected
(
String
commissionExpectedBizId
)
{
if
(
StringUtils
.
isBlank
(
commissionExpectedBizId
))
{
...
...
@@ -307,6 +329,19 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
validCommissionExpected
(
commissionExpected
,
false
);
// 转换为实体类
BeanUtils
.
copyProperties
(
commissionExpectedUpdateRequest
,
commissionExpected
);
// 如果修改了币种,需要更新默认结算汇率、预计入账金额
if
(
StringUtils
.
isNotBlank
(
commissionExpectedUpdateRequest
.
getCurrency
())
&&
!
StringUtils
.
equalsIgnoreCase
(
commissionExpectedUpdateRequest
.
getCurrency
(),
commissionExpected
.
getCurrency
()))
{
commissionExpected
.
setDefaultExchangeRate
(
queryDefaultExchangeRate
(
commissionExpectedUpdateRequest
.
getCurrency
()));
commissionExpected
.
setExpectedAmount
(
commissionExpectedUpdateRequest
.
getAmount
().
multiply
(
commissionExpected
.
getDefaultExchangeRate
()));
}
// 如果修改了金额,需要更新预计入账金额
if
(
ObjectUtils
.
isNotEmpty
(
commissionExpectedUpdateRequest
.
getAmount
())
&&
ObjectUtils
.
notEqual
(
commissionExpectedUpdateRequest
.
getAmount
(),
commissionExpected
.
getAmount
()))
{
commissionExpected
.
setExpectedAmount
(
commissionExpectedUpdateRequest
.
getAmount
().
multiply
(
commissionExpected
.
getDefaultExchangeRate
()));
}
// 如果修改了默认结算汇率,需要更新预计入账金额
if
(
ObjectUtils
.
isNotEmpty
(
commissionExpectedUpdateRequest
.
getDefaultExchangeRate
())
&&
ObjectUtils
.
notEqual
(
commissionExpectedUpdateRequest
.
getDefaultExchangeRate
(),
commissionExpected
.
getDefaultExchangeRate
()))
{
commissionExpected
.
setExpectedAmount
(
commissionExpectedUpdateRequest
.
getAmount
().
multiply
(
commissionExpected
.
getDefaultExchangeRate
()));
}
commissionExpected
.
setUpdateTime
(
new
Date
());
// 更新预计入账
return
this
.
updateById
(
commissionExpected
);
...
...
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
View file @
cff716bb
...
...
@@ -25,6 +25,7 @@
<result
property=
"commissionDate"
column=
"commission_date"
/>
<result
property=
"actualCommissionDate"
column=
"actual_commission_date"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"statusDesc"
column=
"status_desc"
/>
<result
property=
"defaultExchangeRate"
column=
"default_exchange_rate"
/>
<result
property=
"expectedAmount"
column=
"expected_amount"
/>
<result
property=
"paidAmount"
column=
"paid_amount"
/>
...
...
@@ -42,7 +43,7 @@
policy_no,insurance_company_biz_id,product_launch_biz_id,
reconciliation_company,reconciliation_company_code,reconciliation_company_biz_id,commission_period,
total_period,commission_name,commission_type,commission_ratio,amount,currency,default_exchange_rate,expected_amount,
commission_date,status,paid_amount,paid_ratio,remark,is_deleted,creator_id,
commission_date,status,
status_desc,
paid_amount,paid_ratio,remark,is_deleted,creator_id,
updater_id,create_time,update_time
</sql>
...
...
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