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
c9bc1d61
Commit
c9bc1d61
authored
Oct 09, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/test' into test
parents
f5097a83
e9dec200
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
431 additions
and
25 deletions
+431
-25
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+63
-10
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaController.java
+0
-3
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
+66
-5
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
+31
-1
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionExpectedMapper.java
+18
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionQueryRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowQueryRequest.java
+17
-0
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionExpectedStatusEnum.java
+31
-0
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionStatusEnum.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
+121
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionExpectedService.java
+13
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+22
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+4
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+2
-2
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
+35
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
c9bc1d61
...
@@ -4,13 +4,18 @@ import com.alibaba.excel.EasyExcel;
...
@@ -4,13 +4,18 @@ import com.alibaba.excel.EasyExcel;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.dto.CommissionExcelDTO
;
import
com.yd.csf.api.dto.CommissionExcelDTO
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.CommissionQueryRequest
;
import
com.yd.csf.service.dto.CommissionQueryRequest
;
import
com.yd.csf.service.dto.CommissionUpdateRequest
;
import
com.yd.csf.service.dto.CommissionUpdateRequest
;
import
com.yd.csf.service.dto.GenerateFortuneRequest
;
import
com.yd.csf.service.dto.GenerateFortuneRequest
;
import
com.yd.csf.service.enums.CommissionExpectedStatusEnum
;
import
com.yd.csf.service.enums.CommissionStatusEnum
;
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.service.CommissionExpectedService
;
import
com.yd.csf.service.service.CommissionService
;
import
com.yd.csf.service.service.CommissionService
;
import
com.yd.csf.service.vo.CommissionVO
;
import
com.yd.csf.service.vo.CommissionVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
...
@@ -25,8 +30,10 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -25,8 +30,10 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* 保单来佣接口
* 保单来佣接口
...
@@ -44,32 +51,36 @@ public class ApiCommissionController {
...
@@ -44,32 +51,36 @@ public class ApiCommissionController {
@Resource
@Resource
private
CommissionService
commissionService
;
private
CommissionService
commissionService
;
@Resource
private
CommissionExpectedService
commissionExpectedService
;
@PostMapping
(
"/upload/excel"
)
@PostMapping
(
"/upload/excel"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
Boolean
>
uploadExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
IOException
{
public
Result
<
Boolean
>
uploadExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
IOException
{
List
<
CommissionExcelDTO
>
dataList
=
new
ArrayList
<>();
try
{
try
{
List
<
CommissionExcelDTO
>
dataList
=
EasyExcel
.
read
(
file
.
getInputStream
())
dataList
=
EasyExcel
.
read
(
file
.
getInputStream
())
.
head
(
CommissionExcelDTO
.
class
)
.
head
(
CommissionExcelDTO
.
class
)
.
sheet
(
"来佣"
)
.
sheet
(
"来佣"
)
.
doReadSync
();
.
doReadSync
();
// 获取当前登录用户的ID
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
// 数据验证和处理
processData
(
dataList
,
loginUserId
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
"Excel读取失败"
,
e
);
throw
new
RuntimeException
(
"Excel读取失败"
,
e
);
}
}
// 获取当前登录用户的ID
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
// 数据验证和处理
processData
(
dataList
,
loginUserId
);
return
Result
.
success
(
true
);
return
Result
.
success
(
true
);
}
}
/**
/**
*
处理导入的数据
*
1.处理导入的数据 2.比对预计来佣 3.保存到数据库
*/
*/
private
void
processData
(
List
<
CommissionExcelDTO
>
dataList
,
String
loginUserId
)
{
private
void
processData
(
List
<
CommissionExcelDTO
>
dataList
,
String
loginUserId
)
{
List
<
Commission
>
entities
=
new
ArrayList
<>();
List
<
Commission
>
entities
=
new
ArrayList
<>();
...
@@ -78,8 +89,50 @@ public class ApiCommissionController {
...
@@ -78,8 +89,50 @@ public class ApiCommissionController {
Commission
entity
=
CommissionExcelDTO
.
convertToEntity
(
data
,
loginUserId
);
Commission
entity
=
CommissionExcelDTO
.
convertToEntity
(
data
,
loginUserId
);
entities
.
add
(
entity
);
entities
.
add
(
entity
);
}
}
// 批量保存
// 根据导入的来佣获取保单号集合
List
<
String
>
policyNoList
=
entities
.
stream
()
.
map
(
Commission:
:
getPolicyNo
)
.
collect
(
Collectors
.
toList
());
// 根据保单号查询预计来佣
List
<
CommissionExpected
>
expectedList
=
commissionExpectedService
.
lambdaQuery
()
.
in
(
CommissionExpected:
:
getPolicyNo
,
policyNoList
)
.
list
();
// 校验导入的来佣是否与预计来佣一致
for
(
Commission
commission
:
entities
)
{
String
policyNo
=
commission
.
getPolicyNo
();
Integer
commissionPeriod
=
commission
.
getCommissionPeriod
();
String
commissionName
=
commission
.
getCommissionName
();
CommissionExpected
expected
=
getCommissionExpected
(
expectedList
,
policyNo
,
commissionPeriod
,
commissionName
);
if
(
expected
!=
null
)
{
if
(
expected
.
getAmount
().
compareTo
(
commission
.
getAmount
())
==
0
)
{
// 一致,来佣状态设置为 已比对
commission
.
setStatus
(
CommissionStatusEnum
.
COMPARED
.
getItemValue
());
// 预计来佣的状态设置为 已来佣
expected
.
setStatus
(
CommissionExpectedStatusEnum
.
COMPARED
.
getItemValue
());
}
else
{
// 不一致,来佣状态设置为 部分来佣
commission
.
setStatus
(
CommissionStatusEnum
.
PARTIAL
.
getItemValue
());
expected
.
setStatus
(
CommissionExpectedStatusEnum
.
PARTIAL
.
getItemValue
());
}
}
}
// 保存来佣数据
commissionService
.
saveBatch
(
entities
);
commissionService
.
saveBatch
(
entities
);
// 更新预计来佣状态
commissionExpectedService
.
updateBatchById
(
expectedList
);
}
private
static
CommissionExpected
getCommissionExpected
(
List
<
CommissionExpected
>
expectedList
,
String
policyNo
,
Integer
commissionPeriod
,
String
commissionName
)
{
return
expectedList
.
stream
()
.
filter
(
item
->
item
.
getPolicyNo
().
equals
(
policyNo
)
&&
commissionPeriod
.
equals
(
item
.
getCommissionPeriod
())
&&
commissionName
.
equals
(
item
.
getCommissionName
()))
.
findFirst
()
.
orElse
(
null
);
}
}
/**
/**
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaController.java
View file @
c9bc1d61
...
@@ -8,15 +8,12 @@ import com.yd.common.result.Result;
...
@@ -8,15 +8,12 @@ import com.yd.common.result.Result;
import
com.yd.csf.api.service.ApiAppointmentService
;
import
com.yd.csf.api.service.ApiAppointmentService
;
import
com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.model.Fna
;
import
com.yd.csf.service.model.Fna
;
import
com.yd.csf.service.service.CustomerService
;
import
com.yd.csf.service.service.FnaService
;
import
com.yd.csf.service.service.FnaService
;
import
com.yd.csf.service.vo.FnaVO
;
import
com.yd.csf.service.vo.FnaVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
View file @
c9bc1d61
package
com
.
yd
.
csf
.
api
.
controller
;
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelReader
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.alibaba.excel.read.metadata.ReadSheet
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.gson.Gson
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.dto.CommissionExcelDTO
;
import
com.yd.csf.api.dto.PolicyExcelDTO
;
import
com.yd.csf.api.dto.PolicyExcelDTO
;
import
com.yd.csf.api.dto.PolicyFollowDTO
;
import
com.yd.csf.api.dto.PolicyFollowDTO
;
import
com.yd.csf.api.listener.PolicyDataListener
;
import
com.yd.csf.api.listener.PolicyDataListener
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.PolicyFollowQueryRequest
;
import
com.yd.csf.service.dto.PolicyFollowQueryRequest
;
import
com.yd.csf.service.dto.PolicyFollowUpdateRequest
;
import
com.yd.csf.service.dto.PolicyFollowUpdateRequest
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.PolicyBroker
;
import
com.yd.csf.service.model.PolicyBroker
;
import
com.yd.csf.service.model.PolicyFollow
;
import
com.yd.csf.service.model.PolicyFollow
;
import
com.yd.csf.service.service.CommissionExpectedService
;
import
com.yd.csf.service.service.PolicyBrokerService
;
import
com.yd.csf.service.service.PolicyBrokerService
;
import
com.yd.csf.service.service.PolicyFollowService
;
import
com.yd.csf.service.service.PolicyFollowService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.service.PolicyService
;
...
@@ -33,9 +43,11 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -33,9 +43,11 @@ import javax.servlet.http.HttpServletRequest;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
/**
*
customer
接口
*
新单跟进
接口
*
*
* @author jianan
* @author jianan
* @since 2025-07-31
* @since 2025-07-31
...
@@ -47,25 +59,63 @@ public class ApiPolicyFollowController {
...
@@ -47,25 +59,63 @@ public class ApiPolicyFollowController {
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
ApiPolicyFollowController
.
class
);
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
ApiPolicyFollowController
.
class
);
private
final
static
Gson
GSON
=
new
Gson
();
@Resource
@Resource
private
PolicyFollowService
policyFollowService
;
private
PolicyFollowService
policyFollowService
;
@Resource
@Resource
private
PolicyService
policyService
;
private
PolicyService
policyService
;
@Resource
@Resource
private
PolicyBrokerService
policyBrokerService
;
private
PolicyBrokerService
policyBrokerService
;
@Resource
@Resource
private
PolicyDataListener
policyDataListener
;
private
PolicyDataListener
policyDataListener
;
@Resource
private
CommissionExpectedService
commissionExpectedService
;
@PostMapping
(
"/upload/excel"
)
@PostMapping
(
"/upload/excel"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
Boolean
>
uploadExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
IOException
{
public
Result
<
Boolean
>
uploadExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
Exception
{
EasyExcel
.
read
(
file
.
getInputStream
(),
PolicyExcelDTO
.
class
,
policyDataListener
).
sheet
(
"保单"
).
doRead
();
// 创建监听器用于读取保单数据
PolicyDataListener
policyDataListener
=
new
PolicyDataListener
();
// 一次性读取所有Sheet
ExcelReader
excelReader
=
EasyExcel
.
read
(
file
.
getInputStream
()).
build
();
// 1. 读取保单数据
ReadSheet
readSheet1
=
EasyExcel
.
readSheet
(
"保单"
)
.
head
(
PolicyExcelDTO
.
class
)
.
registerReadListener
(
policyDataListener
)
.
build
();
excelReader
.
read
(
readSheet1
);
// 2. 读取预计来佣数据
List
<
CommissionExcelDTO
>
dataList
=
new
ArrayList
<>();
ReadSheet
readSheet2
=
EasyExcel
.
readSheet
(
"预计来佣"
)
.
head
(
CommissionExcelDTO
.
class
)
.
registerReadListener
(
new
AnalysisEventListener
<
CommissionExcelDTO
>()
{
@Override
public
void
invoke
(
CommissionExcelDTO
data
,
AnalysisContext
context
)
{
dataList
.
add
(
data
);
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
// 读取完成
}
})
.
build
();
excelReader
.
read
(
readSheet2
);
// 关闭读取器
excelReader
.
finish
();
List
<
PolicyExcelDTO
>
dtoList
=
policyDataListener
.
getList
();
List
<
PolicyExcelDTO
>
dtoList
=
policyDataListener
.
getList
();
// 预计来佣根据保单号分组
Map
<
String
,
List
<
CommissionExcelDTO
>>
commissionMap
=
dataList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
CommissionExcelDTO:
:
getPolicyNo
));
// 转换为PolicyFollow对象
// 转换为PolicyFollow对象
List
<
PolicyFollowDTO
>
list
=
convertToObj
(
dtoList
);
List
<
PolicyFollowDTO
>
list
=
convertToObj
(
dtoList
);
...
@@ -82,6 +132,17 @@ public class ApiPolicyFollowController {
...
@@ -82,6 +132,17 @@ public class ApiPolicyFollowController {
policyService
.
saveBatch
(
policyList
);
policyService
.
saveBatch
(
policyList
);
policyBrokerService
.
saveBatch
(
policyBrokerList
);
policyBrokerService
.
saveBatch
(
policyBrokerList
);
// 获取当前登录用户的ID
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
// 保存预计来佣
List
<
CommissionExpected
>
commissionExpectedList
=
new
ArrayList
<>();
for
(
CommissionExcelDTO
commissionExcelDTO
:
dataList
)
{
CommissionExpected
commissionExpected
=
CommissionExcelDTO
.
convertToCommissionExpectedObj
(
commissionExcelDTO
,
loginUserId
);
commissionExpectedList
.
add
(
commissionExpected
);
}
commissionExpectedService
.
saveBatch
(
commissionExpectedList
);
return
Result
.
success
(
true
);
return
Result
.
success
(
true
);
}
}
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/CommissionExcelDTO.java
View file @
c9bc1d61
...
@@ -5,7 +5,9 @@ import com.yd.common.enums.CommonEnum;
...
@@ -5,7 +5,9 @@ import com.yd.common.enums.CommonEnum;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.enums.CommissionStatusEnum
;
import
com.yd.csf.service.enums.CommissionStatusEnum
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.CommissionExpected
;
import
lombok.Data
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -55,7 +57,35 @@ public class CommissionExcelDTO {
...
@@ -55,7 +57,35 @@ public class CommissionExcelDTO {
entity
.
setCurrency
(
data
.
getCurrency
());
entity
.
setCurrency
(
data
.
getCurrency
());
entity
.
setCommissionDate
(
data
.
getCommissionDate
());
entity
.
setCommissionDate
(
data
.
getCommissionDate
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setStatus
(
CommissionStatusEnum
.
PENDING
.
getItemValue
());
entity
.
setStatus
(
null
);
entity
.
setCreatorId
(
loginUserId
);
entity
.
setUpdaterId
(
loginUserId
);
entity
.
setCreateTime
(
new
Date
());
entity
.
setUpdateTime
(
new
Date
());
return
entity
;
}
/**
* Excel数据转 预计来佣实体
*
* @param data
* @param loginUserId
* @return
*/
public
static
CommissionExpected
convertToCommissionExpectedObj
(
CommissionExcelDTO
data
,
String
loginUserId
)
{
CommissionExpected
entity
=
new
CommissionExpected
();
// 字段映射
entity
.
setPolicyNo
(
data
.
getPolicyNo
());
entity
.
setCommissionBizId
(
RandomStringGenerator
.
generateBizId16
(
"commission_expected"
));
entity
.
setReconciliationCompany
(
data
.
getReconciliationCompany
());
entity
.
setCommissionPeriod
(
data
.
getCommissionPeriod
());
entity
.
setTotalPeriod
(
data
.
getTotalPeriod
());
entity
.
setCommissionName
(
data
.
getCommissionName
());
entity
.
setAmount
(
data
.
getAmount
());
entity
.
setCurrency
(
data
.
getCurrency
());
entity
.
setCommissionDate
(
data
.
getCommissionDate
());
entity
.
setRemark
(
data
.
getRemark
());
entity
.
setStatus
(
"0"
);
entity
.
setCreatorId
(
loginUserId
);
entity
.
setCreatorId
(
loginUserId
);
entity
.
setUpdaterId
(
loginUserId
);
entity
.
setUpdaterId
(
loginUserId
);
entity
.
setCreateTime
(
new
Date
());
entity
.
setCreateTime
(
new
Date
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionExpectedMapper.java
0 → 100644
View file @
c9bc1d61
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* @author Zhang Jianan
* @description 针对表【commission_expected(预计来佣表)】的数据库操作Mapper
* @createDate 2025-10-08 19:47:40
* @Entity generator.domain.CommissionExpected
*/
public
interface
CommissionExpectedMapper
extends
BaseMapper
<
CommissionExpected
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionQueryRequest.java
View file @
c9bc1d61
...
@@ -20,7 +20,7 @@ public class CommissionQueryRequest extends PageDto implements Serializable {
...
@@ -20,7 +20,7 @@ public class CommissionQueryRequest extends PageDto implements Serializable {
/**
/**
* 来佣状态
* 来佣状态
*/
*/
@Schema
(
description
=
"来佣状态 '
0'-'未比对','1'-'已比对
', 字典值: csf_commission_status"
)
@Schema
(
description
=
"来佣状态 '
1'-'已比对','2'-'部分来佣
', 字典值: csf_commission_status"
)
private
String
status
;
private
String
status
;
/**
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowQueryRequest.java
View file @
c9bc1d61
package
com
.
yd
.
csf
.
service
.
dto
;
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yd.common.dto.PageDto
;
import
com.yd.common.dto.PageDto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
/**
* 查询customer请求
* 查询customer请求
...
@@ -57,6 +59,20 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
...
@@ -57,6 +59,20 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
@Schema
(
description
=
"产品名称"
)
@Schema
(
description
=
"产品名称"
)
private
String
productName
;
private
String
productName
;
/**
* 签单日期开始
*/
@Schema
(
description
=
"签单日期开始"
,
example
=
"2023-01-01 00:00:00"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
signDateStart
;
/**
* 签单日期结束
*/
@Schema
(
description
=
"签单日期结束"
,
example
=
"2023-01-01 23:59:59"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
signDateEnd
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionExpectedStatusEnum.java
0 → 100644
View file @
c9bc1d61
package
com
.
yd
.
csf
.
service
.
enums
;
/**
* 预计来佣状态枚举
*/
public
enum
CommissionExpectedStatusEnum
{
PENDING
(
"待来佣"
,
"0"
),
COMPARED
(
"已比对"
,
"1"
),
PARTIAL
(
"部分来佣"
,
"2"
),
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
String
itemValue
;
//构造函数
CommissionExpectedStatusEnum
(
String
itemLabel
,
String
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
String
getItemValue
()
{
return
itemValue
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/enums/CommissionStatusEnum.java
View file @
c9bc1d61
...
@@ -6,9 +6,9 @@ package com.yd.csf.service.enums;
...
@@ -6,9 +6,9 @@ package com.yd.csf.service.enums;
public
enum
CommissionStatusEnum
{
public
enum
CommissionStatusEnum
{
//来佣状态枚举
//来佣状态枚举
PENDING
(
"待来佣"
,
"0"
),
COMPARED
(
"已比对"
,
"1"
),
COMPARED
(
"已比对"
,
"1"
),
CANCELLED
(
"已退保"
,
"2"
),
PARTIAL
(
"部分来佣"
,
"2"
),
;
;
//字典项标签(名称)
//字典项标签(名称)
private
String
itemLabel
;
private
String
itemLabel
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionExpected.java
0 → 100644
View file @
c9bc1d61
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
com.yd.csf.service.vo.FnaVO
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
/**
* 预计来佣表
* @TableName commission_expected
*/
@TableName
(
value
=
"commission_expected"
)
@Data
public
class
CommissionExpected
implements
Serializable
{
/**
* serial id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 保单来佣业务id
*/
private
String
commissionBizId
;
/**
* 保单号
*/
private
String
policyNo
;
/**
* 对账公司
*/
private
String
reconciliationCompany
;
/**
* 对账公司业务id
*/
private
String
reconciliationCompanyBizId
;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
private
Integer
commissionPeriod
;
/**
* 总来佣期数
*/
private
Integer
totalPeriod
;
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
private
String
commissionName
;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
private
String
commissionType
;
/**
* 来佣金额
*/
private
BigDecimal
amount
;
/**
* 来佣币种
*/
private
String
currency
;
/**
* 来佣日期
*/
private
Date
commissionDate
;
/**
* 来佣状态 0=待来佣 1=已来佣 2=部分来佣
*/
private
String
status
;
/**
* 通用备注
*/
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
private
Integer
isDeleted
;
/**
* 创建人ID
*/
private
String
creatorId
;
/**
* 更新人ID
*/
private
String
updaterId
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionExpectedService.java
0 → 100644
View file @
c9bc1d61
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* @author Zhang Jianan
* @description 针对表【commission_expected(预计来佣表)】的数据库操作Service
* @createDate 2025-10-08 19:47:40
*/
public
interface
CommissionExpectedService
extends
IService
<
CommissionExpected
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
0 → 100644
View file @
c9bc1d61
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.service.CommissionExpectedService
;
import
com.yd.csf.service.dao.CommissionExpectedMapper
;
import
org.springframework.stereotype.Service
;
/**
* @author Zhang Jianan
* @description 针对表【commission_expected(预计来佣表)】的数据库操作Service实现
* @createDate 2025-10-08 19:47:40
*/
@Service
public
class
CommissionExpectedServiceImpl
extends
ServiceImpl
<
CommissionExpectedMapper
,
CommissionExpected
>
implements
CommissionExpectedService
{
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
c9bc1d61
...
@@ -151,9 +151,10 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
...
@@ -151,9 +151,10 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
FortuneAccountExportDTO
accountDTO
=
new
FortuneAccountExportDTO
();
FortuneAccountExportDTO
accountDTO
=
new
FortuneAccountExportDTO
();
accountDTO
.
setBroker
(
broker
);
accountDTO
.
setBroker
(
broker
);
// 设置团队
(取第一个记录的团队
)
// 设置团队
、币种(取第一个记录
)
if
(
CollUtil
.
isNotEmpty
(
brokerFortunes
))
{
if
(
CollUtil
.
isNotEmpty
(
brokerFortunes
))
{
accountDTO
.
setTeam
(
brokerFortunes
.
get
(
0
).
getTeam
());
accountDTO
.
setTeam
(
brokerFortunes
.
get
(
0
).
getTeam
());
accountDTO
.
setCurrency
(
brokerFortunes
.
get
(
0
).
getCurrency
());
}
}
// 计算出账总额
// 计算出账总额
...
@@ -199,6 +200,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
...
@@ -199,6 +200,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
List
<
Object
>
row
=
new
ArrayList
<>();
List
<
Object
>
row
=
new
ArrayList
<>();
row
.
add
(
dto
.
getBroker
());
row
.
add
(
dto
.
getBroker
());
row
.
add
(
dto
.
getTeam
());
row
.
add
(
dto
.
getTeam
());
row
.
add
(
dto
.
getCurrency
());
row
.
add
(
dto
.
getAmount
());
for
(
String
fortuneName
:
allFortuneNames
)
{
for
(
String
fortuneName
:
allFortuneNames
)
{
row
.
add
(
dto
.
getFortuneAmount
(
fortuneName
));
row
.
add
(
dto
.
getFortuneAmount
(
fortuneName
));
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
View file @
c9bc1d61
...
@@ -20,6 +20,7 @@ import org.springframework.beans.BeanUtils;
...
@@ -20,6 +20,7 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -53,6 +54,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
...
@@ -53,6 +54,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
String
status
=
policyFollowQueryRequest
.
getStatus
();
String
status
=
policyFollowQueryRequest
.
getStatus
();
String
insurer
=
policyFollowQueryRequest
.
getInsurer
();
String
insurer
=
policyFollowQueryRequest
.
getInsurer
();
String
productName
=
policyFollowQueryRequest
.
getProductName
();
String
productName
=
policyFollowQueryRequest
.
getProductName
();
Date
signDateStart
=
policyFollowQueryRequest
.
getSignDateStart
();
Date
signDateEnd
=
policyFollowQueryRequest
.
getSignDateEnd
();
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
policyNo
),
"policy_no"
,
policyNo
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
policyNo
),
"policy_no"
,
policyNo
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
customerName
),
"customer_name"
,
customerName
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
customerName
),
"customer_name"
,
customerName
);
...
@@ -60,6 +63,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
...
@@ -60,6 +63,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
status
),
"status"
,
status
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
status
),
"status"
,
status
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
insurer
),
"insurance"
,
insurer
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
insurer
),
"insurance"
,
insurer
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
productName
),
"product_code"
,
productName
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
productName
),
"product_code"
,
productName
);
queryWrapper
.
ge
(
ObjectUtils
.
isNotEmpty
(
signDateStart
),
"sign_date"
,
signDateStart
);
queryWrapper
.
le
(
ObjectUtils
.
isNotEmpty
(
signDateEnd
),
"sign_date"
,
signDateEnd
);
// 排序
// 排序
queryWrapper
.
orderByDesc
(
"id"
);
queryWrapper
.
orderByDesc
(
"id"
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
c9bc1d61
...
@@ -75,9 +75,9 @@ public class CommissionVO implements Serializable {
...
@@ -75,9 +75,9 @@ public class CommissionVO implements Serializable {
private
Date
commissionDate
;
private
Date
commissionDate
;
/**
/**
* 来佣状态
0=未比对 1=已比对
* 来佣状态
*/
*/
@Schema
(
description
=
"来佣状态
0=待来佣 1=已比对 2=已退保
"
)
@Schema
(
description
=
"来佣状态
1=已比对 2=部分来佣
"
)
private
String
status
;
private
String
status
;
/**
/**
...
...
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
0 → 100644
View file @
c9bc1d61
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.CommissionExpectedMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yd.csf.service.model.CommissionExpected"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"commissionBizId"
column=
"commission_biz_id"
/>
<result
property=
"policyNo"
column=
"policy_no"
/>
<result
property=
"reconciliationCompany"
column=
"reconciliation_company"
/>
<result
property=
"reconciliationCompanyBizId"
column=
"reconciliation_company_biz_id"
/>
<result
property=
"commissionPeriod"
column=
"commission_period"
/>
<result
property=
"totalPeriod"
column=
"total_period"
/>
<result
property=
"commissionName"
column=
"commission_name"
/>
<result
property=
"commissionType"
column=
"commission_type"
/>
<result
property=
"amount"
column=
"amount"
/>
<result
property=
"currency"
column=
"currency"
/>
<result
property=
"commissionDate"
column=
"commission_date"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
/>
<result
property=
"creatorId"
column=
"creator_id"
/>
<result
property=
"updaterId"
column=
"updater_id"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,commission_biz_id,policy_no,reconciliation_company,reconciliation_company_biz_id,commission_period,
total_period,commission_name,commission_type,amount,currency,
commission_date,status,remark,is_deleted,creator_id,
updater_id,create_time,update_time
</sql>
</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