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
c8d34103
Commit
c8d34103
authored
Mar 09, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/test' into test
parents
fbd31c8a
0f79c2d5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
56 additions
and
15 deletions
+56
-15
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+50
-15
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
+6
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
c8d34103
...
...
@@ -2,6 +2,7 @@ package com.yd.csf.api.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.convert.Converter
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
...
...
@@ -35,6 +36,9 @@ import com.yd.csf.service.service.*;
import
com.yd.csf.service.vo.ExpectedFortuneExportDTO
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
com.yd.csf.service.vo.PayableReportVO
;
import
com.yd.product.feign.client.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignClient
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioListRequest
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioListResponse
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
com.yd.user.feign.client.clientuser.ApiClientUserFeignClient
;
import
com.yd.user.feign.client.sysdict.ApiSysDictFeignClient
;
...
...
@@ -58,10 +62,13 @@ import java.math.BigDecimal;
import
java.math.RoundingMode
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
static
com
.
ibm
.
icu
.
impl
.
ValidIdentifiers
.
Datatype
.
currency
;
@Slf4j
@Service
public
class
ApiExpectedFortuneServiceImpl
implements
ApiExpectedFortuneService
{
...
...
@@ -97,6 +104,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
private
ApiExchangeRateFeignClient
apiExchangeRateFeignClient
;
@Resource
private
CommissionExpectedService
commissionExpectedService
;
@Resource
private
ApiAnnouncementCommissionRatioFeignClient
apiAnnouncementCommissionRatioFeignClient
;
/**
* 生成预计发佣
...
...
@@ -314,8 +323,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//默认结算汇率、港币金额
if
(
ObjectUtils
.
isNotEmpty
(
queryPolicyAndBrokerDtoList
))
{
String
productLaunchBizId
=
queryPolicyAndBrokerDtoList
.
get
(
0
).
getPlanBizId
(
);
updateHkdAmountBatch
(
expectedFortuneList
,
productLaunchBizId
);
QueryPolicyAndBrokerDto
queryPolicyAndBrokerDto
=
queryPolicyAndBrokerDtoList
.
get
(
0
);
updateHkdAmountBatch
(
expectedFortuneList
,
queryPolicyAndBrokerDto
);
}
//执行成功完毕,也要销毁redis缓存
...
...
@@ -345,22 +354,48 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
});
}
private
void
updateHkdAmountBatch
(
List
<
ExpectedFortune
>
expectedFortuneList
,
String
productLaunchBizId
)
{
private
void
updateHkdAmountBatch
(
List
<
ExpectedFortune
>
expectedFortuneList
,
QueryPolicyAndBrokerDto
queryPolicyAndBrokerDto
)
{
if
(
ObjectUtils
.
isNotEmpty
(
expectedFortuneList
))
{
//查询结算币种
List
<
ApiExpectedSpeciesListResponse
>
expectedSpeciesList
=
commissionExpectedService
.
queryExpectedSpeciesByFeign
(
productLaunchBizId
);
//查询转介人职级比例
// queryExchangeRateByFeign()
//设置默认结算汇率
// expectedFortune.setDefaultExchangeRate(defaultExchangeRate);
//设置港币金额(标准发佣金额 * 默认结算汇率)
// expectedFortune.setHkdAmount(expectedFortune.getAmount().multiply(defaultExchangeRate));
//设置转介人职级比例
//设置发佣率 = 基础公告佣率 * 转介人职级比例
//查询结算币种
ApiAnnouncementCommissionRatioListRequest
request
=
new
ApiAnnouncementCommissionRatioListRequest
();
request
.
setProductLaunchBizId
(
queryPolicyAndBrokerDto
.
getPlanBizId
());
//localDate转换为Date
request
.
setEffectiveDate
(
Date
.
from
(
queryPolicyAndBrokerDto
.
getEffectiveDate
().
atStartOfDay
(
ZoneId
.
systemDefault
()).
toInstant
()));
request
.
setPaymentTerm
(
String
.
valueOf
(
queryPolicyAndBrokerDto
.
getPaymentTerm
()));
Result
<
List
<
ApiAnnouncementCommissionRatioListResponse
>>
result
=
apiAnnouncementCommissionRatioFeignClient
.
list
(
request
);
if
(
result
.
getCode
()
==
200
&&
ObjectUtils
.
isNotEmpty
(
result
.
getData
()))
{
List
<
ApiAnnouncementCommissionRatioListResponse
>
announcementRatioList
=
result
.
getData
();
//查询默认结算汇率
if
(
ObjectUtils
.
isNotEmpty
(
announcementRatioList
))
{
ApiAnnouncementCommissionRatioListResponse
announcementRatio
=
announcementRatioList
.
get
(
0
);
String
currency
=
announcementRatio
.
getCurrency
();
BigDecimal
exchangeRate
=
queryExchangeRateByFeign
(
queryPolicyAndBrokerDto
.
getCurrency
(),
currency
);
for
(
ExpectedFortune
expectedFortune
:
expectedFortuneList
)
{
//设置结算货币
expectedFortune
.
setCurrency
(
currency
);
//设置默认结算汇率
expectedFortune
.
setDefaultExchangeRate
(
exchangeRate
);
//设置港币金额(标准发佣金额 * 默认结算汇率)
expectedFortune
.
setHkdAmount
(
expectedFortune
.
getAmount
().
multiply
(
exchangeRate
));
//设置转介人职级比例
iExpectedFortuneService
.
lambdaUpdate
()
.
set
(
ExpectedFortune:
:
getCurrency
,
currency
)
.
set
(
ExpectedFortune:
:
getDefaultExchangeRate
,
exchangeRate
)
.
set
(
ExpectedFortune:
:
getHkdAmount
,
expectedFortune
.
getHkdAmount
())
.
eq
(
ExpectedFortune:
:
getId
,
expectedFortune
.
getId
());
}
}
else
{
log
.
error
(
"查询结算币种失败,未查询到默认结算汇率->入参request:{},出参result:{}"
,
JSON
.
toJSONString
(
request
),
JSON
.
toJSONString
(
result
));
}
}
else
{
log
.
error
(
"查询结算币种失败,入参request:{},出参result:{}"
,
JSON
.
toJSONString
(
request
),
JSON
.
toJSONString
(
result
));
}
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
View file @
c8d34103
...
...
@@ -137,6 +137,12 @@ public class ExpectedFortune implements Serializable {
private
String
brokerRatio
;
/**
* 转介人职级比例
*/
@TableField
(
"broker_level_ratio"
)
private
BigDecimal
brokerLevelRatio
;
/**
* 标准发佣金额
*/
@TableField
(
"standard_amount"
)
...
...
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