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
49324567
Commit
49324567
authored
Sep 23, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
来佣接口7
parent
ec378a2e
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
300 additions
and
27 deletions
+300
-27
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
+28
-4
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionQueryRequest.java
+11
-3
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountQueryRequest.java
+20
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/FortuneAccount.java
+77
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+9
-8
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+9
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
+37
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneAccountVO.java
+63
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
+46
-12
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
View file @
49324567
...
...
@@ -9,12 +9,12 @@ import com.yd.common.exception.BusinessException;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.dto.FortuneImportDTO
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.FortuneDownloadRequest
;
import
com.yd.csf.service.dto.FortuneQueryRequest
;
import
com.yd.csf.service.dto.FortuneStatusUpdateRequest
;
import
com.yd.csf.service.dto.FortuneUpdateRequest
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.Fortune
;
import
com.yd.csf.service.model.FortuneAccount
;
import
com.yd.csf.service.service.FortuneAccountService
;
import
com.yd.csf.service.service.FortuneService
;
import
com.yd.csf.service.vo.FortuneAccountVO
;
import
com.yd.csf.service.vo.FortuneVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
...
...
@@ -48,6 +48,9 @@ public class ApiFortuneController {
@Resource
private
FortuneService
fortuneService
;
@Resource
private
FortuneAccountService
fortuneAccountService
;
@PostMapping
(
"/upload/excel"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -121,6 +124,27 @@ public class ApiFortuneController {
}
/**
* 分页获取出账列表
*
* @param fortuneAccountQueryRequest
* @param request
* @return
*/
@PostMapping
(
"/list/page/fortuneAccount"
)
@Operation
(
summary
=
"分页获取出账列表"
)
public
Result
<
Page
<
FortuneAccountVO
>>
listAccountByPage
(
@RequestBody
FortuneAccountQueryRequest
fortuneAccountQueryRequest
,
HttpServletRequest
request
)
{
long
current
=
fortuneAccountQueryRequest
.
getPageNo
();
long
size
=
fortuneAccountQueryRequest
.
getPageSize
();
// 查询数据库
Page
<
FortuneAccount
>
fortunePage
=
fortuneAccountService
.
page
(
new
Page
<>(
current
,
size
),
fortuneAccountService
.
getQueryWrapper
(
fortuneAccountQueryRequest
));
// 获取封装类
return
Result
.
success
(
fortuneAccountService
.
getFortuneAccountVOPage
(
fortunePage
));
}
/**
* 删除fna
*
* @param deleteRequest
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionQueryRequest.java
View file @
49324567
...
...
@@ -36,11 +36,18 @@ public class CommissionQueryRequest extends PageDto implements Serializable {
private
String
reconciliationCompany
;
/**
* 来佣日期
* 来佣日期
开始
*/
@Schema
(
description
=
"来佣日期"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@Schema
(
description
=
"来佣日期
开始
"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
commissionDate
;
private
Date
commissionDateStart
;
/**
* 来佣日期结束
*/
@Schema
(
description
=
"来佣日期结束"
,
example
=
"2023-01-01"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
commissionDateEnd
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountQueryRequest.java
0 → 100644
View file @
49324567
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.yd.common.dto.PageDto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
FortuneAccountQueryRequest
extends
PageDto
{
@Schema
(
description
=
"转介人"
)
private
String
broker
;
@Schema
(
description
=
"出账日期开始"
,
example
=
"2023-01-01"
,
type
=
"string"
,
format
=
"date"
)
private
Date
accountDateStart
;
@Schema
(
description
=
"出账日期结束"
,
example
=
"2023-01-01"
,
type
=
"string"
,
format
=
"date"
)
private
Date
accountDateEnd
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/FortuneAccount.java
0 → 100644
View file @
49324567
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.util.Date
;
import
lombok.Data
;
/**
* 出账记录表
* @TableName fortune_account
*/
@TableName
(
value
=
"fortune_account"
)
@Data
public
class
FortuneAccount
implements
Serializable
{
/**
* 主键
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 出账记录业务id
*/
private
String
fortuneAccountBizId
;
/**
* 转介人
*/
private
String
broker
;
/**
* 出账日期
*/
private
Date
fortuneAccountDate
;
/**
* 出账信息
*/
private
String
content
;
/**
* 通用备注
*/
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/impl/CommissionServiceImpl.java
View file @
49324567
...
...
@@ -22,6 +22,7 @@ import com.yd.csf.service.service.FortuneService;
import
com.yd.csf.service.service.PolicyBrokerService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.vo.CommissionVO
;
import
com.yd.csf.service.vo.FnaVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
...
...
@@ -59,12 +60,16 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
String
status
=
commissionQueryRequest
.
getStatus
();
String
policyNo
=
commissionQueryRequest
.
getPolicyNo
();
String
reconciliationCompany
=
commissionQueryRequest
.
getReconciliationCompany
();
Date
commissionDate
=
commissionQueryRequest
.
getCommissionDate
();
Date
commissionDateStart
=
commissionQueryRequest
.
getCommissionDateStart
();
Date
commissionDateEnd
=
commissionQueryRequest
.
getCommissionDateEnd
();
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
policyNo
),
"policy_no"
,
policyNo
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
reconciliationCompany
),
"reconciliation_company"
,
reconciliationCompany
);
queryWrapper
.
eq
(
commissionDate
!=
null
,
"commission_date"
,
commissionDate
);
if
(
commissionDateStart
!=
null
&&
commissionDateEnd
!=
null
)
{
queryWrapper
.
between
(
"commission_date"
,
commissionDateStart
,
commissionDateEnd
);
}
queryWrapper
.
orderByDesc
(
"id"
);
return
queryWrapper
;
...
...
@@ -73,16 +78,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
@Override
public
Page
<
CommissionVO
>
getCommissionVOPage
(
Page
<
Commission
>
commissionPage
)
{
List
<
Commission
>
commissionList
=
commissionPage
.
getRecords
();
Page
<
CommissionVO
>
commissionVOPage
=
new
Page
<>(
commissionPage
.
getCurrent
(),
commissionPage
.
getSize
());
Page
<
CommissionVO
>
commissionVOPage
=
new
Page
<>(
commissionPage
.
getCurrent
(),
commissionPage
.
getSize
()
,
commissionPage
.
getTotal
()
);
if
(
CollUtil
.
isEmpty
(
commissionList
))
{
return
commissionVOPage
;
}
List
<
CommissionVO
>
commissionVOList
=
commissionList
.
stream
().
map
(
commission
->
{
CommissionVO
commissionVO
=
new
CommissionVO
();
BeanUtils
.
copyProperties
(
commission
,
commissionVO
);
return
commissionVO
;
}).
collect
(
Collectors
.
toList
());
List
<
CommissionVO
>
commissionVOList
=
commissionList
.
stream
().
map
(
CommissionVO:
:
objToVo
).
collect
(
Collectors
.
toList
());
commissionVOPage
.
setRecords
(
commissionVOList
);
return
commissionVOPage
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
49324567
...
...
@@ -12,6 +12,7 @@ import com.yd.common.enums.ResultCode;
import
com.yd.common.exception.BusinessException
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.Fortune
;
import
com.yd.csf.service.service.FortuneAccountService
;
import
com.yd.csf.service.service.FortuneService
;
import
com.yd.csf.service.dao.FortuneMapper
;
import
com.yd.csf.service.vo.FortuneVO
;
...
...
@@ -20,6 +21,7 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
...
...
@@ -38,6 +40,9 @@ import java.util.stream.Collectors;
public
class
FortuneServiceImpl
extends
ServiceImpl
<
FortuneMapper
,
Fortune
>
implements
FortuneService
{
@Resource
private
FortuneAccountService
fortuneAccountService
;
@Override
public
Wrapper
<
Fortune
>
getQueryWrapper
(
FortuneQueryRequest
fortuneQueryRequest
)
{
QueryWrapper
<
Fortune
>
queryWrapper
=
new
QueryWrapper
<>();
...
...
@@ -191,6 +196,10 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
}
dataList
.
add
(
row
);
}
// 写入数据库
fortuneAccountService
.
saveFortuneAccount
(
accountExportDTOList
);
// 使用try-with-resources确保流正确关闭
try
(
ServletOutputStream
outputStream
=
response
.
getOutputStream
())
{
// 写入 Excel
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionVO.java
View file @
49324567
package
com
.
yd
.
csf
.
service
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yd.csf.service.model.Commission
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
...
...
@@ -12,82 +16,115 @@ public class CommissionVO implements Serializable {
/**
* 保单来佣业务id
*/
@Schema
(
description
=
"保单来佣业务id"
)
private
String
commissionBizId
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 对账公司
*/
@Schema
(
description
=
"对账公司"
)
private
String
reconciliationCompany
;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema
(
description
=
"佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)"
)
private
Integer
commissionPeriod
;
/**
* 总来佣期数
*/
@Schema
(
description
=
"总来佣期数"
)
private
Integer
totalPeriod
;
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema
(
description
=
"来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
private
String
commissionName
;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema
(
description
=
"来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
private
String
commissionType
;
/**
* 来佣金额
*/
@Schema
(
description
=
"来佣金额"
)
private
BigDecimal
amount
;
/**
* 来佣币种
*/
@Schema
(
description
=
"来佣币种"
)
private
String
currency
;
/**
* 来佣日期
*/
@Schema
(
description
=
"来佣日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
commissionDate
;
/**
* 来佣状态 0=未比对 1=已比对
*/
@Schema
(
description
=
"来佣状态 0=未比对 1=已比对"
)
private
String
status
;
/**
* 通用备注
*/
@Schema
(
description
=
"备注"
)
private
String
remark
;
/**
* 创建人ID
*/
@Schema
(
description
=
"创建人ID"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@Schema
(
description
=
"更新人ID"
)
private
String
updaterId
;
/**
* 创建时间
*/
@Schema
(
description
=
"创建时间"
)
private
Date
createTime
;
/**
* 更新时间
*/
@Schema
(
description
=
"更新时间"
)
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
/**
* 对象转封装类
*
* @param commission
* @return
*/
public
static
CommissionVO
objToVo
(
Commission
commission
)
{
if
(
commission
==
null
)
{
return
null
;
}
CommissionVO
commissionVO
=
new
CommissionVO
();
BeanUtils
.
copyProperties
(
commission
,
commissionVO
);
return
commissionVO
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneAccountVO.java
0 → 100644
View file @
49324567
package
com
.
yd
.
csf
.
service
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.model.FortuneAccount
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
FortuneAccountVO
{
/**
* 出账记录业务id
*/
@Schema
(
description
=
"出账记录业务id"
)
private
String
fortuneAccountBizId
;
/**
* 转介人
*/
@Schema
(
description
=
"转介人"
)
private
String
broker
;
/**
* 出账日期
*/
@Schema
(
description
=
"出账日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
fortuneAccountDate
;
/**
* 出账信息
*/
@Schema
(
description
=
"出账信息"
)
private
List
<
Map
<
String
,
Object
>>
fortuneList
;
/**
* 备注
*/
@Schema
(
description
=
"备注"
)
private
String
remark
;
/**
* 对象转封装类
*
* @param fortuneAccount
* @return
*/
public
static
FortuneAccountVO
objToVo
(
FortuneAccount
fortuneAccount
)
{
if
(
fortuneAccount
==
null
)
{
return
null
;
}
FortuneAccountVO
fortuneAccountVO
=
new
FortuneAccountVO
();
BeanUtils
.
copyProperties
(
fortuneAccount
,
fortuneAccountVO
);
return
fortuneAccountVO
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
View file @
49324567
package
com
.
yd
.
csf
.
service
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yd.csf.service.model.Fortune
;
import
com.yd.csf.service.model.FortuneAccount
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
...
...
@@ -12,121 +17,134 @@ public class FortuneVO implements Serializable {
/**
* 保单发佣业务id
*/
@Schema
(
description
=
"保单发佣业务id"
)
private
String
fortuneBizId
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema
(
description
=
"发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)"
)
private
Integer
fortunePeriod
;
/**
* 发佣总期数
*/
@Schema
(
description
=
"发佣总期数"
)
private
Integer
fortuneTotalPeriod
;
/**
* 转介人
*/
@Schema
(
description
=
"转介人"
)
private
String
broker
;
/**
* 转介人业务ID
*/
@Schema
(
description
=
"转介人业务ID"
)
private
String
brokerBizId
;
/**
* 所属团队
*/
@Schema
(
description
=
"所属团队"
)
private
String
team
;
/**
* 所属团队业务ID
*/
@Schema
(
description
=
"所属团队业务ID"
)
private
String
teamBizId
;
/**
* 个人职级佣金率
*/
private
BigDecimal
gradeCommissionRate
;
/**
* 多个代理人财富分摊比例
*/
private
BigDecimal
shareRate
;
/**
* 来佣名称
* 发佣名称
*/
@Schema
(
description
=
"发佣名称"
)
private
String
fortuneName
;
/**
* 发佣类型
*/
@Schema
(
description
=
"发佣类型"
)
private
String
fortuneType
;
/**
* 发佣金额
*/
@Schema
(
description
=
"发佣金额"
)
private
BigDecimal
amount
;
/**
* 发佣币种
*/
@Schema
(
description
=
"发佣币种"
)
private
String
currency
;
/**
* 佣金发放状态 0=暂不可发 1=可发放 2=已发并关账
*/
@Schema
(
description
=
"佣金发放状态 0=暂不可发 1=可发放 2=已发并关账 字典值:csf_fortune_status"
)
private
String
status
;
/**
* 发佣日期
*/
@Schema
(
description
=
"发佣日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
payoutDate
;
/**
* 是否含税 0=No, 1=Yes
*/
@Schema
(
description
=
"是否含税 0=No, 1=Yes"
)
private
Integer
isTax
;
/**
* 应缴税额
*/
@Schema
(
description
=
"应缴税额"
)
private
BigDecimal
taxAmount
;
/**
* 税后发佣
*/
@Schema
(
description
=
"税后发佣"
)
private
BigDecimal
netAmount
;
/**
* 薪资单业务id
*/
@Schema
(
description
=
"薪资单业务id"
)
private
String
salaryBizId
;
/**
* 基本法id
*/
@Schema
(
description
=
"基本法id"
)
private
String
baseRuleBizId
;
/**
* 计算规则id
*/
@Schema
(
description
=
"计算规则id"
)
private
String
settlementBizId
;
/**
* 计算公式
*/
@Schema
(
description
=
"计算公式"
)
private
String
calculationFormula
;
/**
*
通用
备注
* 备注
*/
@Schema
(
description
=
"备注"
)
private
String
remark
;
/**
...
...
@@ -155,4 +173,20 @@ public class FortuneVO implements Serializable {
private
Date
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
/**
* 对象转封装类
*
* @param fortune
* @return
*/
public
static
FortuneVO
objToVo
(
Fortune
fortune
)
{
if
(
fortune
==
null
)
{
return
null
;
}
FortuneVO
fortuneVO
=
new
FortuneVO
();
BeanUtils
.
copyProperties
(
fortune
,
fortuneVO
);
return
fortuneVO
;
}
}
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