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
32b93dba
Commit
32b93dba
authored
Dec 05, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进149
parent
5b3b159d
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
288 additions
and
14 deletions
+288
-14
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiExpectedFortuneController.java
+22
-3
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiExpectedFortuneService.java
+3
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+78
-9
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ApiExpectedFortunePageRequest.java
+30
-1
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneStatisticsRequest.java
+15
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/expectedfortune/ApiExpectedFortunePageResponse.java
+37
-1
yd-csf-service/src/main/java/com/yd/csf/service/dao/ExpectedFortuneMapper.java
+3
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
+18
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IExpectedFortuneService.java
+3
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/ExpectedFortuneServiceImpl.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/ExpectedFortuneStatisticsVO.java
+50
-0
yd-csf-service/src/main/resources/mappers/ExpectedFortuneMapper.xml
+23
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiExpectedFortuneController.java
View file @
32b93dba
...
@@ -10,15 +10,20 @@ import com.yd.csf.api.service.ApiExpectedFortuneService;
...
@@ -10,15 +10,20 @@ import com.yd.csf.api.service.ApiExpectedFortuneService;
import
com.yd.csf.feign.client.expectedfortune.ApiExpectedFortuneFeignClient
;
import
com.yd.csf.feign.client.expectedfortune.ApiExpectedFortuneFeignClient
;
import
com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest
;
import
com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest
;
import
com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest
;
import
com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest
;
import
com.yd.csf.feign.request.expectedfortune.ExpectedFortuneStatisticsRequest
;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse
;
import
com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
/**
/**
* 预计发佣信息
* 预计发佣信息
*
*
...
@@ -27,6 +32,7 @@ import javax.validation.constraints.NotBlank;
...
@@ -27,6 +32,7 @@ import javax.validation.constraints.NotBlank;
*/
*/
@RestController
@RestController
@RequestMapping
(
"/expectedFortune"
)
@RequestMapping
(
"/expectedFortune"
)
@Tag
(
name
=
"预计发佣接口"
)
@Validated
@Validated
public
class
ApiExpectedFortuneController
implements
ApiExpectedFortuneFeignClient
{
public
class
ApiExpectedFortuneController
implements
ApiExpectedFortuneFeignClient
{
...
@@ -69,16 +75,29 @@ public class ApiExpectedFortuneController implements ApiExpectedFortuneFeignClie
...
@@ -69,16 +75,29 @@ public class ApiExpectedFortuneController implements ApiExpectedFortuneFeignClie
}
}
/**
/**
* 分页查询 -
预计发佣
* 分页查询 -
应付款管理列表(预计发佣列表)
* @param request
* @param request
* @return
* @return
*/
*/
@Override
@Override
@Operation
(
summary
=
"分页查询 - 应付款管理列表(预计发佣列表)"
)
public
Result
<
IPage
<
ApiExpectedFortunePageResponse
>>
page
(
ApiExpectedFortunePageRequest
request
)
{
public
Result
<
IPage
<
ApiExpectedFortunePageResponse
>>
page
(
ApiExpectedFortunePageRequest
request
)
{
return
apiExpectedFortuneService
.
page
(
request
);
return
apiExpectedFortuneService
.
page
(
request
);
}
}
/**
/**
* 计算统计数据 预计发佣金额 HKD、已出账金额 HKD、待出账金额 HKD、总保单数、总保费 HKD
*/
@PostMapping
(
"/statistics"
)
@Operation
(
summary
=
"计算统计数据 预计发佣金额 HKD、已出账金额 HKD、待出账金额 HKD、总保单数、总保费 HKD"
)
public
Result
<
ExpectedFortuneStatisticsVO
>
getStatistics
(
@RequestBody
ExpectedFortuneStatisticsRequest
commissionExpectedStatisticsRequest
)
{
if
(
commissionExpectedStatisticsRequest
==
null
)
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
apiExpectedFortuneService
.
getStatistics
(
commissionExpectedStatisticsRequest
.
getExpectedFortuneIds
()));
}
/**
* 查询保单是否生成过预计发佣
* 查询保单是否生成过预计发佣
* @param policyNo
* @param policyNo
* @return
* @return
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiExpectedFortuneService.java
View file @
32b93dba
...
@@ -8,6 +8,7 @@ import com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse;
...
@@ -8,6 +8,7 @@ import com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse;
import
com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse
;
import
com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse
;
import
com.yd.csf.service.dto.QueryPolicyAndBrokerDto
;
import
com.yd.csf.service.dto.QueryPolicyAndBrokerDto
;
import
com.yd.csf.service.model.CommissionRuleBinding
;
import
com.yd.csf.service.model.CommissionRuleBinding
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Async
;
import
java.util.List
;
import
java.util.List
;
...
@@ -25,4 +26,6 @@ public interface ApiExpectedFortuneService {
...
@@ -25,4 +26,6 @@ public interface ApiExpectedFortuneService {
Result
<
Boolean
>
isGenerate
(
String
policyNo
);
Result
<
Boolean
>
isGenerate
(
String
policyNo
);
Result
batchDelByPolicyNo
(
String
policyNo
);
Result
batchDelByPolicyNo
(
String
policyNo
);
ExpectedFortuneStatisticsVO
getStatistics
(
List
<
Long
>
expectedFortuneIds
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
32b93dba
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
cn.hutool.core.
date.DateField
;
import
cn.hutool.core.
bean.BeanUtil
;
import
c
n.hutool.core.date.DateUtil
;
import
c
om.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.constant.RedisConstants
;
import
com.yd.common.constant.RedisConstants
;
...
@@ -31,24 +31,25 @@ import com.yd.csf.service.service.ICommissionRuleBindingService;
...
@@ -31,24 +31,25 @@ import com.yd.csf.service.service.ICommissionRuleBindingService;
import
com.yd.csf.service.service.IExpectedFortuneService
;
import
com.yd.csf.service.service.IExpectedFortuneService
;
import
com.yd.csf.service.service.PolicyBrokerService
;
import
com.yd.csf.service.service.PolicyBrokerService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
com.yd.user.feign.client.clientuser.ApiClientUserFeignClient
;
import
com.yd.user.feign.client.clientuser.ApiClientUserFeignClient
;
import
jodd.util.StringUtil
;
import
jodd.util.StringUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.PlatformTransactionManager
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.support.TransactionTemplate
;
import
org.springframework.transaction.support.TransactionTemplate
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
...
@@ -416,9 +417,57 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -416,9 +417,57 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
*/
*/
@Override
@Override
public
Result
<
IPage
<
ApiExpectedFortunePageResponse
>>
page
(
ApiExpectedFortunePageRequest
request
)
{
public
Result
<
IPage
<
ApiExpectedFortunePageResponse
>>
page
(
ApiExpectedFortunePageRequest
request
)
{
Page
<
ApiExpectedFortunePageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
Page
<
ExpectedFortune
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiExpectedFortunePageResponse
>
iPage
=
iExpectedFortuneService
.
page
(
page
,
request
);
IPage
<
ExpectedFortune
>
iPage
=
iExpectedFortuneService
.
page
(
page
,
this
.
getQueryWrapper
(
request
));
return
Result
.
success
(
iPage
);
// 转换为ApiExpectedFortunePageResponse
IPage
<
ApiExpectedFortunePageResponse
>
apiPage
=
iPage
.
convert
(
ApiExpectedFortuneServiceImpl:
:
transform
);
return
Result
.
success
(
apiPage
);
}
public
static
ApiExpectedFortunePageResponse
transform
(
ExpectedFortune
expectedFortune
)
{
ApiExpectedFortunePageResponse
response
=
new
ApiExpectedFortunePageResponse
();
BeanUtil
.
copyProperties
(
expectedFortune
,
response
);
return
response
;
}
public
QueryWrapper
<
ExpectedFortune
>
getQueryWrapper
(
ApiExpectedFortunePageRequest
request
)
{
QueryWrapper
<
ExpectedFortune
>
queryWrapper
=
new
QueryWrapper
<>();
if
(
request
==
null
)
{
return
queryWrapper
;
}
// 获取参数
String
policyNo
=
request
.
getPolicyNo
();
LocalDate
payoutDateStart
=
request
.
getPayoutDateStart
();
LocalDate
payoutDateEnd
=
request
.
getPayoutDateEnd
();
String
status
=
request
.
getStatus
();
Integer
fortunePeriod
=
request
.
getFortunePeriod
();
String
fortuneName
=
request
.
getFortuneName
();
String
team
=
request
.
getTeam
();
String
insuranceCompany
=
request
.
getInsuranceCompany
();
String
productName
=
request
.
getProductName
();
// String reconciliationCompany = request.getReconciliationCompany();
String
broker
=
request
.
getBroker
();
String
signer
=
request
.
getSigner
();
// 按保单号模糊查询
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
policyNo
),
"policy_no"
,
policyNo
);
queryWrapper
.
gt
(
ObjectUtils
.
isNotEmpty
(
payoutDateStart
),
"payout_date"
,
payoutDateStart
);
queryWrapper
.
lt
(
ObjectUtils
.
isNotEmpty
(
payoutDateEnd
),
"payout_date"
,
payoutDateEnd
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
status
),
"status"
,
status
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
fortunePeriod
),
"fortune_period"
,
fortunePeriod
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
fortuneName
),
"fortune_name"
,
fortuneName
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
team
),
"team"
,
team
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
insuranceCompany
),
"insurance_company"
,
insuranceCompany
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
productName
),
"product_name"
,
productName
);
// queryWrapper.like(StringUtils.isNotBlank(reconciliationCompany), "reconciliation_company", reconciliationCompany);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
broker
),
"broker"
,
broker
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
signer
),
"signer"
,
signer
);
// 按id升序排序
queryWrapper
.
orderByAsc
(
"id"
);
return
queryWrapper
;
}
}
/**
/**
...
@@ -445,4 +494,24 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -445,4 +494,24 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
iExpectedFortuneService
.
batchDelByPolicyNo
(
policyNo
);
iExpectedFortuneService
.
batchDelByPolicyNo
(
policyNo
);
return
Result
.
success
();
return
Result
.
success
();
}
}
@Override
public
ExpectedFortuneStatisticsVO
getStatistics
(
List
<
Long
>
expectedFortuneIds
)
{
// 自定义统计数据
ExpectedFortuneStatisticsVO
statisticsVO
=
iExpectedFortuneService
.
getStatistics
(
expectedFortuneIds
);
BigDecimal
totalAmount
=
statisticsVO
.
getTotalExpectedAmount
();
BigDecimal
totalPaidAmount
=
statisticsVO
.
getTotalPaidAmount
();
// 计算待出账金额
statisticsVO
.
setTotalUnpaidAmount
(
totalAmount
.
subtract
(
totalPaidAmount
));
// 计算已出账比例(已出账金额/预计发佣金额)
BigDecimal
divided
=
BigDecimal
.
ZERO
;
if
(
totalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
divided
=
totalPaidAmount
.
divide
(
totalAmount
,
4
,
RoundingMode
.
HALF_UP
);
}
// 格式化 %
statisticsVO
.
setPaidAmountRatio
(
String
.
format
(
"%.2f%%"
,
divided
.
doubleValue
()
*
100
));
return
statisticsVO
;
}
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ApiExpectedFortunePageRequest.java
View file @
32b93dba
package
com
.
yd
.
csf
.
feign
.
request
.
expectedfortune
;
package
com
.
yd
.
csf
.
feign
.
request
.
expectedfortune
;
import
com.yd.common.dto.PageDto
;
import
com.yd.common.dto.PageDto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
java.time.LocalDate
;
@Data
@Data
public
class
ApiExpectedFortunePageRequest
extends
PageDto
{
public
class
ApiExpectedFortunePageRequest
extends
PageDto
{
/**
/**
* 保单号
* 保单号
*/
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
private
String
policyNo
;
@Schema
(
description
=
"预估发佣开始日期"
)
private
LocalDate
payoutDateStart
;
@Schema
(
description
=
"预估发佣结束日期"
)
private
LocalDate
payoutDateEnd
;
@Schema
(
description
=
"发佣状态 0=待出账 1=可出帐 2=完成出账 3=部分出账 4=保留 5=已失效"
)
private
String
status
;
/**
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
*/
@Schema
(
description
=
"发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)"
)
private
Integer
fortunePeriod
;
private
Integer
fortunePeriod
;
@Schema
(
description
=
"发佣名称"
)
private
String
fortuneName
;
@Schema
(
description
=
"出单团队"
)
private
String
team
;
@Schema
(
description
=
"保险公司"
)
private
String
insuranceCompany
;
@Schema
(
description
=
"产品名称"
)
private
String
productName
;
/**
/**
* 转介人名称
* 转介人名称
*/
*/
@Schema
(
description
=
"转介人名称"
)
private
String
broker
;
private
String
broker
;
@Schema
(
description
=
"签单员名称"
)
private
String
signer
;
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneStatisticsRequest.java
0 → 100644
View file @
32b93dba
package
com
.
yd
.
csf
.
feign
.
request
.
expectedfortune
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ExpectedFortuneStatisticsRequest
{
/**
* expected fortune id 列表
*/
@Schema
(
description
=
"expected fortune id 列表"
)
private
List
<
Long
>
expectedFortuneIds
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/expectedfortune/ApiExpectedFortunePageResponse.java
View file @
32b93dba
package
com
.
yd
.
csf
.
feign
.
response
.
expectedfortune
;
package
com
.
yd
.
csf
.
feign
.
response
.
expectedfortune
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
...
@@ -11,86 +12,121 @@ public class ApiExpectedFortunePageResponse {
...
@@ -11,86 +12,121 @@ public class ApiExpectedFortunePageResponse {
/**
/**
* 主键ID
* 主键ID
*/
*/
@Schema
(
description
=
"expected fortune id"
)
private
Long
id
;
private
Long
id
;
/**
/**
* 预计发佣表唯一业务id
* 预计发佣表唯一业务id
*/
*/
@Schema
(
description
=
"expected fortune biz id"
)
private
String
expectedFortuneBizId
;
private
String
expectedFortuneBizId
;
/**
/**
* 保单号
* 保单号
*/
*/
@Schema
(
description
=
"policy no"
)
private
String
policyNo
;
private
String
policyNo
;
/**
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
*/
@Schema
(
description
=
"fortune period"
)
private
Integer
fortunePeriod
;
private
Integer
fortunePeriod
;
/**
/**
* 发佣总期数
* 发佣总期数
*/
*/
@Schema
(
description
=
"fortune total period"
)
private
Integer
fortuneTotalPeriod
;
private
Integer
fortuneTotalPeriod
;
/**
/**
* 转介人名称
* 转介人名称
*/
*/
@Schema
(
description
=
"转介人名称"
)
private
String
broker
;
private
String
broker
;
/**
/**
* 转介人业务ID
* 转介人业务ID
*/
*/
@Schema
(
description
=
"broker biz id"
)
private
String
brokerBizId
;
private
String
brokerBizId
;
/**
/**
* 团队名称
* 团队名称
*/
*/
@Schema
(
description
=
"团队名称"
)
private
String
team
;
private
String
team
;
/**
/**
* 所属团队业务ID
* 所属团队业务ID
*/
*/
@Schema
(
description
=
"所属团队 biz id"
)
private
String
teamBizId
;
private
String
teamBizId
;
/**
/**
* 发佣名称
* 发佣名称
*/
*/
@Schema
(
description
=
"发佣名称"
)
private
String
fortuneName
;
private
String
fortuneName
;
/**
/**
* 发佣类型
* 发佣类型
*/
*/
@Schema
(
description
=
"发佣类型"
)
private
String
fortuneType
;
private
String
fortuneType
;
/**
/**
*
发佣
金额
*
预计应发
金额
*/
*/
@Schema
(
description
=
"预计应发金额"
)
private
BigDecimal
amount
;
private
BigDecimal
amount
;
/**
/**
* 发佣币种
* 发佣币种
*/
*/
@Schema
(
description
=
"发佣币种"
)
private
String
currency
;
private
String
currency
;
/**
/**
* 发佣状态 0=待出账 1=可出帐 2=完成出账 3=部分出账 4=保留 5=已失效
* 发佣状态 0=待出账 1=可出帐 2=完成出账 3=部分出账 4=保留 5=已失效
*/
*/
@Schema
(
description
=
"发佣状态 0=待出账 1=可出帐 2=完成出账 3=部分出账 4=保留 5=已失效"
)
private
String
status
;
private
String
status
;
/**
/**
* 预计发佣日期
* 预计发佣日期
*/
*/
@Schema
(
description
=
"预计发佣日期"
)
private
LocalDate
payoutDate
;
private
LocalDate
payoutDate
;
/**
/**
* 已出账金额
*/
@Schema
(
description
=
"已出账金额"
)
private
BigDecimal
paidAmount
;
/**
* 待出账金额
*/
@Schema
(
description
=
"待出账金额"
)
private
BigDecimal
unPaidAmount
;
/**
* 发佣比例 已发佣金额/应发佣金额
*/
@Schema
(
description
=
"发佣比例 已发佣金额/应发佣金额"
)
private
BigDecimal
paidRatio
;
/**
* 基本法项目配置表唯一业务ID
* 基本法项目配置表唯一业务ID
*/
*/
@Schema
(
description
=
"rule item biz id"
)
private
String
ruleItemBizId
;
private
String
ruleItemBizId
;
/**
/**
* 创建时间
* 创建时间
*/
*/
@Schema
(
description
=
"create time"
)
private
LocalDateTime
createTime
;
private
LocalDateTime
createTime
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/ExpectedFortuneMapper.java
View file @
32b93dba
...
@@ -6,6 +6,7 @@ import com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest;
...
@@ -6,6 +6,7 @@ import com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.service.model.ExpectedFortune
;
import
com.yd.csf.service.model.ExpectedFortune
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.List
;
...
@@ -24,4 +25,6 @@ public interface ExpectedFortuneMapper extends BaseMapper<ExpectedFortune> {
...
@@ -24,4 +25,6 @@ public interface ExpectedFortuneMapper extends BaseMapper<ExpectedFortune> {
@Param
(
"request"
)
ApiExpectedFortunePageRequest
request
);
@Param
(
"request"
)
ApiExpectedFortunePageRequest
request
);
List
<
ExpectedFortune
>
listByPolicyBizId
(
@Param
(
"policyBizId"
)
String
policyBizId
);
List
<
ExpectedFortune
>
listByPolicyBizId
(
@Param
(
"policyBizId"
)
String
policyBizId
);
ExpectedFortuneStatisticsVO
getStatistics
(
@Param
(
"expectedFortuneIds"
)
List
<
Long
>
expectedFortuneIds
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
View file @
32b93dba
...
@@ -128,6 +128,24 @@ public class ExpectedFortune implements Serializable {
...
@@ -128,6 +128,24 @@ public class ExpectedFortune implements Serializable {
@TableField
(
"payout_date"
)
@TableField
(
"payout_date"
)
private
LocalDate
payoutDate
;
private
LocalDate
payoutDate
;
/**
* 已出账金额
*/
@TableField
(
"paid_amount"
)
private
BigDecimal
paidAmount
;
/**
* 待出账金额
*/
@TableField
(
"un_paid_amount"
)
private
BigDecimal
unPaidAmount
;
/**
* 发佣比例 已发佣金额/应发佣金额
*/
@TableField
(
"paid_ratio"
)
private
BigDecimal
paidRatio
;
/**
/**
* 是否含税 0=No, 1=Yes
* 是否含税 0=No, 1=Yes
*/
*/
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/IExpectedFortuneService.java
View file @
32b93dba
...
@@ -6,6 +6,7 @@ import com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest;
...
@@ -6,6 +6,7 @@ import com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.service.model.ExpectedFortune
;
import
com.yd.csf.service.model.ExpectedFortune
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
java.util.List
;
import
java.util.List
;
...
@@ -27,4 +28,6 @@ public interface IExpectedFortuneService extends IService<ExpectedFortune> {
...
@@ -27,4 +28,6 @@ public interface IExpectedFortuneService extends IService<ExpectedFortune> {
List
<
ExpectedFortune
>
queryList
(
String
policyNo
);
List
<
ExpectedFortune
>
queryList
(
String
policyNo
);
Boolean
batchDelByPolicyNo
(
String
policyNo
);
Boolean
batchDelByPolicyNo
(
String
policyNo
);
ExpectedFortuneStatisticsVO
getStatistics
(
List
<
Long
>
expectedFortuneIds
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/ExpectedFortuneServiceImpl.java
View file @
32b93dba
...
@@ -9,6 +9,7 @@ import com.yd.csf.service.model.ExpectedFortune;
...
@@ -9,6 +9,7 @@ import com.yd.csf.service.model.ExpectedFortune;
import
com.yd.csf.service.dao.ExpectedFortuneMapper
;
import
com.yd.csf.service.dao.ExpectedFortuneMapper
;
import
com.yd.csf.service.service.IExpectedFortuneService
;
import
com.yd.csf.service.service.IExpectedFortuneService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -51,4 +52,9 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
...
@@ -51,4 +52,9 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
public
Boolean
batchDelByPolicyNo
(
String
policyNo
)
{
public
Boolean
batchDelByPolicyNo
(
String
policyNo
)
{
return
this
.
remove
(
new
LambdaQueryWrapper
<
ExpectedFortune
>().
eq
(
ExpectedFortune:
:
getPolicyNo
,
policyNo
));
return
this
.
remove
(
new
LambdaQueryWrapper
<
ExpectedFortune
>().
eq
(
ExpectedFortune:
:
getPolicyNo
,
policyNo
));
}
}
@Override
public
ExpectedFortuneStatisticsVO
getStatistics
(
List
<
Long
>
expectedFortuneIds
)
{
return
baseMapper
.
getStatistics
(
expectedFortuneIds
);
}
}
}
yd-csf-service/src/main/java/com/yd/csf/service/vo/ExpectedFortuneStatisticsVO.java
0 → 100644
View file @
32b93dba
package
com
.
yd
.
csf
.
service
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 预计发佣统计VO 预计发佣金额 HKD、已出账金额 HKD、待出账金额 HKD、总保单数、总保费 HKD
*/
@Data
public
class
ExpectedFortuneStatisticsVO
{
/**
* 预计发佣金额 HKD
*/
@Schema
(
description
=
"预计发佣金额 HKD"
)
private
BigDecimal
totalExpectedAmount
;
/**
* 已出账金额 HKD
*/
@Schema
(
description
=
"已出账金额 HKD"
)
private
BigDecimal
totalPaidAmount
;
/**
* 待出账金额 HKD
*/
@Schema
(
description
=
"待出账金额 HKD"
)
private
BigDecimal
totalUnpaidAmount
;
/**
* 已出账比例(已出账金额/预计发佣金额)
*/
@Schema
(
description
=
"已出账比例(已出账金额/预计发佣金额)"
)
private
String
paidAmountRatio
;
/**
* 总保单数
*/
@Schema
(
description
=
"总保单数"
)
private
Integer
totalPolicyCount
;
/**
* 总保费 HKD
*/
@Schema
(
description
=
"总保费 HKD"
)
private
BigDecimal
totalPremiumAmount
;
}
yd-csf-service/src/main/resources/mappers/ExpectedFortuneMapper.xml
View file @
32b93dba
...
@@ -23,4 +23,27 @@
...
@@ -23,4 +23,27 @@
from expected_fortune ef
from expected_fortune ef
where ef.policy_no = (select policy_no from policy where policy_biz_id = #{policyBizId})
where ef.policy_no = (select policy_no from policy where policy_biz_id = #{policyBizId})
</select>
</select>
<select
id=
"getStatistics"
resultType=
"com.yd.csf.service.vo.ExpectedFortuneStatisticsVO"
>
select
ifnull(sum(ef.amount),0) as totalExpectedAmount,
ifnull(sum(ef.paid_amount),0) as totalPaidAmount,
ifnull(sum(ef.unpaid_amount),0) as totalUnpaidAmount,
ifnull(e.totalPremiumAmount,0) as totalPremiumAmount,
count(distinct ef.policy_no) as totalPolicyCount
from expected_fortune ef
LEFT JOIN (
SELECT p.policy_no, SUM(p.payment_premium*p.payment_term) as totalPremiumAmount
FROM policy p
GROUP BY policy_no
) e ON ef.policy_no = e.policy_no
<where>
<if
test=
"expectedFortuneIds != null and expectedFortuneIds.size > 0"
>
ef.id in
<foreach
collection=
"expectedFortuneIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
</mapper>
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