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
9445162d
Commit
9445162d
authored
Apr 24, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into prod
parents
f8cc2ff0
3b19051a
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
51 additions
and
8 deletions
+51
-8
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+31
-6
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneAddRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountExportDTO.java
+3
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneAccountServiceImpl.java
+10
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+1
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
9445162d
...
@@ -2,6 +2,7 @@ package com.yd.csf.api.service.impl;
...
@@ -2,6 +2,7 @@ package com.yd.csf.api.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.NumberUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
...
@@ -107,7 +108,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -107,7 +108,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
@Resource
@Resource
private
ApiExchangeRateFeignClient
apiExchangeRateFeignClient
;
private
ApiExchangeRateFeignClient
apiExchangeRateFeignClient
;
@Resource
@Resource
private
Commission
ExpectedService
commissionExpected
Service
;
private
Commission
Service
commission
Service
;
@Resource
@Resource
private
ApiAnnouncementCommissionRatioFeignClient
apiAnnouncementCommissionRatioFeignClient
;
private
ApiAnnouncementCommissionRatioFeignClient
apiAnnouncementCommissionRatioFeignClient
;
@Resource
@Resource
...
@@ -953,11 +954,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -953,11 +954,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
expectedFortune
.
setFortuneName
(
queryByDict
(
expectedFortuneDto
.
getFortuneType
()));
expectedFortune
.
setFortuneName
(
queryByDict
(
expectedFortuneDto
.
getFortuneType
()));
// 应付款编号(序号递增)
// 应付款编号(序号递增)
expectedFortune
.
setPayableNo
(
this
.
createPayableNo
(
expectedFortune
.
getFortuneBizType
(),
++
currentSeq
));
expectedFortune
.
setPayableNo
(
this
.
createPayableNo
(
expectedFortune
.
getFortuneBizType
(),
++
currentSeq
));
// // 默认结算汇率
// 计算金额
// expectedFortune.setDefaultExchangeRate(
expectedFortune
.
setAmount
(
// queryExchangeRateByFeign(expectedFortuneDto.getCurrency(), "HKD"));
NumberUtil
.
div
(
expectedFortuneDto
.
getHkdAmount
(),
expectedFortuneDto
.
getDefaultExchangeRate
(),
2
)
// // 计算港币金额
);
// expectedFortune.setHkdAmount(expectedFortuneDto.getAmount().multiply(expectedFortune.getDefaultExchangeRate()));
// 已出帐金额、待出帐金额、已出帐比例、待出帐比例
// 已出帐金额、待出帐金额、已出帐比例、待出帐比例
expectedFortune
.
setPaidAmount
(
BigDecimal
.
ZERO
);
expectedFortune
.
setPaidAmount
(
BigDecimal
.
ZERO
);
...
@@ -972,6 +972,28 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -972,6 +972,28 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
return
true
;
return
true
;
}
}
/**
* 根据保单号和期数查询入账记录的结算汇率
*
* @param policyNo 保单号
* @param period 佣金期数
* @return 结算汇率
*/
private
BigDecimal
queryCommissionExchangeRate
(
String
policyNo
,
Integer
period
)
{
// 查询当前期数入账记录的结算汇率
Commission
commissionRecord
=
commissionService
.
getOne
(
new
QueryWrapper
<
Commission
>()
.
eq
(
"policy_no"
,
policyNo
)
.
eq
(
"commission_period"
,
period
)
.
orderByDesc
(
"commission_date"
)
.
last
(
"LIMIT 1"
)
);
if
(
ObjectUtils
.
isEmpty
(
commissionRecord
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"保单号为"
+
policyNo
+
"的佣金期数为"
+
period
+
"的入账记录不存在"
);
}
return
commissionRecord
.
getExchangeRate
();
}
private
String
queryByDict
(
String
fortuneType
)
{
private
String
queryByDict
(
String
fortuneType
)
{
//查询redis缓存的字典列表信息
//查询redis缓存的字典列表信息
List
<
GetDictItemListByDictTypeResponse
>
dictTypeResponses
=
redisUtil
.
getCacheObject
(
RedisConstants
.
DICT_LIST
);
List
<
GetDictItemListByDictTypeResponse
>
dictTypeResponses
=
redisUtil
.
getCacheObject
(
RedisConstants
.
DICT_LIST
);
...
@@ -1020,6 +1042,9 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -1020,6 +1042,9 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
if
(
Objects
.
isNull
(
expectedFortuneDto
.
getCurrency
()))
{
if
(
Objects
.
isNull
(
expectedFortuneDto
.
getCurrency
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"预计出账币种不能为空"
);
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"预计出账币种不能为空"
);
}
}
if
(
Objects
.
isNull
(
expectedFortuneDto
.
getDefaultExchangeRate
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"结算汇率不能为空"
);
}
}
}
}
}
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneAddRequest.java
View file @
9445162d
...
@@ -76,6 +76,12 @@ public class ExpectedFortuneAddRequest {
...
@@ -76,6 +76,12 @@ public class ExpectedFortuneAddRequest {
private
String
fortuneType
;
private
String
fortuneType
;
/**
/**
* 结算汇率
*/
@Schema
(
description
=
"结算汇率"
)
private
BigDecimal
defaultExchangeRate
;
/**
* 出账金额 单位:港币
* 出账金额 单位:港币
*/
*/
@Schema
(
description
=
"出账金额 单位:港币"
)
@Schema
(
description
=
"出账金额 单位:港币"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountExportDTO.java
View file @
9445162d
...
@@ -6,6 +6,7 @@ import lombok.Data;
...
@@ -6,6 +6,7 @@ import lombok.Data;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -32,6 +33,8 @@ public class FortuneAccountExportDTO implements Serializable {
...
@@ -32,6 +33,8 @@ public class FortuneAccountExportDTO implements Serializable {
private
List
<
Fortune
>
fortuneList
;
private
List
<
Fortune
>
fortuneList
;
private
LocalDate
actualPayoutDate
;
// 动态字段,用于存储不同的fortune项目
// 动态字段,用于存储不同的fortune项目
private
Map
<
String
,
BigDecimal
>
fortuneAmounts
=
new
HashMap
<>();
private
Map
<
String
,
BigDecimal
>
fortuneAmounts
=
new
HashMap
<>();
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneAccountServiceImpl.java
View file @
9445162d
...
@@ -2,6 +2,7 @@ package com.yd.csf.service.service.impl;
...
@@ -2,6 +2,7 @@ package com.yd.csf.service.service.impl;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.util.Date
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
...
@@ -125,7 +126,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -125,7 +126,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
fortuneAccount
.
setTeamBizId
(
accountExportDTO
.
getTeamBizId
());
fortuneAccount
.
setTeamBizId
(
accountExportDTO
.
getTeamBizId
());
fortuneAccount
.
setCurrency
(
accountExportDTO
.
getCurrency
());
fortuneAccount
.
setCurrency
(
accountExportDTO
.
getCurrency
());
fortuneAccount
.
setHkdAmount
(
accountExportDTO
.
getAmount
());
fortuneAccount
.
setHkdAmount
(
accountExportDTO
.
getAmount
());
fortuneAccount
.
setFortuneAccountDate
(
currentDate
);
fortuneAccount
.
setFortuneAccountDate
(
this
.
getActualPayoutDate
(
accountExportDTO
)
);
// 出账状态默认待出账
// 出账状态默认待出账
fortuneAccount
.
setStatus
(
FortuneStatusEnum
.
CHECKED
.
getItemValue
());
fortuneAccount
.
setStatus
(
FortuneStatusEnum
.
CHECKED
.
getItemValue
());
...
@@ -188,6 +189,14 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -188,6 +189,14 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
}
}
private
Date
getActualPayoutDate
(
FortuneAccountExportDTO
accountExportDTO
)
{
LocalDate
actualPayoutDate
=
accountExportDTO
.
getActualPayoutDate
();
if
(
actualPayoutDate
==
null
)
{
return
null
;
}
return
Date
.
from
(
actualPayoutDate
.
atStartOfDay
(
ZoneId
.
systemDefault
()).
toInstant
());
}
@Override
@Override
public
FortuneAccount
getByFortuneAccountBizId
(
String
fortuneAccountBizId
)
{
public
FortuneAccount
getByFortuneAccountBizId
(
String
fortuneAccountBizId
)
{
return
this
.
getOne
(
new
QueryWrapper
<
FortuneAccount
>().
eq
(
"fortune_account_biz_id"
,
fortuneAccountBizId
));
return
this
.
getOne
(
new
QueryWrapper
<
FortuneAccount
>().
eq
(
"fortune_account_biz_id"
,
fortuneAccountBizId
));
...
@@ -296,7 +305,6 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -296,7 +305,6 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
/* 2. 更新 FortuneAccount 状态为已出账 ----------------------------------*/
/* 2. 更新 FortuneAccount 状态为已出账 ----------------------------------*/
accountList
.
forEach
(
a
->
{
accountList
.
forEach
(
a
->
{
a
.
setStatus
(
FortuneStatusEnum
.
SENT
.
getItemValue
());
a
.
setStatus
(
FortuneStatusEnum
.
SENT
.
getItemValue
());
a
.
setFortuneAccountDate
(
new
Date
());
a
.
setUpdaterId
(
loginUserId
.
toString
());
a
.
setUpdaterId
(
loginUserId
.
toString
());
a
.
setUpdateTime
(
new
Date
());
a
.
setUpdateTime
(
new
Date
());
});
});
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
9445162d
...
@@ -388,6 +388,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
...
@@ -388,6 +388,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
accountDTO
.
setTeam
(
brokerFortunes
.
get
(
0
).
getTeam
());
accountDTO
.
setTeam
(
brokerFortunes
.
get
(
0
).
getTeam
());
accountDTO
.
setTeamBizId
(
brokerFortunes
.
get
(
0
).
getTeamBizId
());
accountDTO
.
setTeamBizId
(
brokerFortunes
.
get
(
0
).
getTeamBizId
());
accountDTO
.
setCurrency
(
currency
);
accountDTO
.
setCurrency
(
currency
);
accountDTO
.
setActualPayoutDate
(
brokerFortunes
.
get
(
0
).
getActualPayoutDate
());
}
}
// 计算出账总额
// 计算出账总额
...
...
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