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
4a0388f0
Commit
4a0388f0
authored
Oct 15, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/test' into test
parents
5054dc00
fe2a87d1
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
99 additions
and
44 deletions
+99
-44
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
+37
-1
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
+2
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
+36
-4
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountAddRequest.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountQueryRequest.java
+6
-3
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/model/FortuneAccount.java
+2
-4
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+12
-27
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneAccountVO.java
+1
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionController.java
View file @
4a0388f0
...
@@ -4,6 +4,8 @@ import com.alibaba.excel.EasyExcel;
...
@@ -4,6 +4,8 @@ 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.enums.ResultCode
;
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
;
...
@@ -28,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -28,6 +30,7 @@ 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
;
import
java.util.stream.Collectors
;
...
@@ -53,6 +56,7 @@ public class ApiCommissionController {
...
@@ -53,6 +56,7 @@ public class ApiCommissionController {
@PostMapping
(
"/upload/excel"
)
@PostMapping
(
"/upload/excel"
)
@Operation
(
summary
=
"上传保单来佣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
<>();
List
<
CommissionExcelDTO
>
dataList
=
new
ArrayList
<>();
...
@@ -66,17 +70,49 @@ public class ApiCommissionController {
...
@@ -66,17 +70,49 @@ public class ApiCommissionController {
throw
new
RuntimeException
(
"Excel读取失败"
,
e
);
throw
new
RuntimeException
(
"Excel读取失败"
,
e
);
}
}
// 数据校验
validateCommissionUpload
(
dataList
);
// 获取当前登录用户的ID
// 获取当前登录用户的ID
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
// 数据
验证和
处理
// 数据处理
processData
(
dataList
,
loginUserId
);
processData
(
dataList
,
loginUserId
);
return
Result
.
success
(
true
);
return
Result
.
success
(
true
);
}
}
/**
/**
* 校验导入的来佣数据是否符合要求,返回行号和错误信息
*/
private
void
validateCommissionUpload
(
List
<
CommissionExcelDTO
>
dataList
)
{
// 校验数据是否为空
if
(
CollectionUtils
.
isEmpty
(
dataList
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"导入数据不能为空"
);
}
StringBuilder
errorMsg
=
new
StringBuilder
();
for
(
CommissionExcelDTO
excelDTO
:
dataList
)
{
// 校验必填字段是否为空
if
(
StringUtils
.
isBlank
(
excelDTO
.
getPolicyNo
())
||
StringUtils
.
isBlank
(
excelDTO
.
getReconciliationCompany
())
||
StringUtils
.
isBlank
(
excelDTO
.
getCommissionName
())
||
excelDTO
.
getAmount
()
==
null
||
StringUtils
.
isBlank
(
excelDTO
.
getCurrency
())
||
excelDTO
.
getCommissionDate
()
==
null
)
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行存在空字段"
);
}
// 校验来佣金额是否为正数
if
(
excelDTO
.
getAmount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
errorMsg
.
append
(
"第"
).
append
(
dataList
.
indexOf
(
excelDTO
)
+
1
).
append
(
"行来佣金额必须为正数"
);
}
}
if
(
errorMsg
.
length
()
>
0
)
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
errorMsg
.
toString
());
}
}
/**
* 1.处理导入的数据 2.比对预计来佣 3.保存到数据库
* 1.处理导入的数据 2.比对预计来佣 3.保存到数据库
*/
*/
private
void
processData
(
List
<
CommissionExcelDTO
>
dataList
,
String
loginUserId
)
{
private
void
processData
(
List
<
CommissionExcelDTO
>
dataList
,
String
loginUserId
)
{
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
View file @
4a0388f0
...
@@ -58,6 +58,7 @@ public class ApiFortuneController {
...
@@ -58,6 +58,7 @@ public class ApiFortuneController {
@PostMapping
(
"/upload/excel"
)
@PostMapping
(
"/upload/excel"
)
@Operation
(
summary
=
"上传保单发佣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
{
try
{
try
{
...
@@ -242,7 +243,7 @@ public class ApiFortuneController {
...
@@ -242,7 +243,7 @@ public class ApiFortuneController {
// return Result.fail(ErrorCode.NO_AUTH_ERROR.getCode(), ErrorCode.NO_AUTH_ERROR.getMessage());
// return Result.fail(ErrorCode.NO_AUTH_ERROR.getCode(), ErrorCode.NO_AUTH_ERROR.getMessage());
// }
// }
// 操作数据库
// 操作数据库
boolean
result
=
fortuneService
.
removeById
(
oldFortuneAccount
);
boolean
result
=
fortune
Account
Service
.
removeById
(
oldFortuneAccount
);
if
(!
result
)
{
if
(!
result
)
{
return
Result
.
fail
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
return
Result
.
fail
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionAddRequest.java
View file @
4a0388f0
package
com
.
yd
.
csf
.
service
.
dto
;
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
@Data
public
class
CommissionAddRequest
implements
Serializable
{
public
class
CommissionAddRequest
implements
Serializable
{
...
@@ -33,10 +35,40 @@ public class CommissionAddRequest implements Serializable {
...
@@ -33,10 +35,40 @@ public class CommissionAddRequest implements Serializable {
private
Integer
commissionPeriod
;
private
Integer
commissionPeriod
;
/**
/**
*
佣金列表
*
总来佣期数
*/
*/
@Schema
(
description
=
"佣金列表"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"总来佣期数"
)
private
List
<
CommissionAddDto
>
commissionAddDtoList
;
private
Integer
totalPeriod
;
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema
(
description
=
"来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
commissionName
;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema
(
description
=
"来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)"
)
private
String
commissionType
;
/**
* 来佣金额
*/
@Schema
(
description
=
"来佣金额"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
BigDecimal
amount
;
/**
* 来佣币种
*/
@Schema
(
description
=
"来佣币种"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
currency
;
/**
* 来佣日期
*/
@Schema
(
description
=
"来佣日期"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
commissionDate
;
/**
/**
* 备注
* 备注
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountAddRequest.java
View file @
4a0388f0
...
@@ -35,9 +35,9 @@ public class FortuneAccountAddRequest implements Serializable {
...
@@ -35,9 +35,9 @@ public class FortuneAccountAddRequest implements Serializable {
private
BigDecimal
amount
;
private
BigDecimal
amount
;
/**
/**
* 出账状态
0-可出账、1-待
出账、2-已出账
* 出账状态
1-可
出账、2-已出账
*/
*/
@Schema
(
description
=
"出账状态
0-可出账、1-待出账、2-已出账
"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"出账状态
1-可出账、2-已出账 字典值:csf_fortune_account_status
"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
status
;
private
String
status
;
/**
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountQueryRequest.java
View file @
4a0388f0
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
;
...
@@ -15,12 +16,14 @@ public class FortuneAccountQueryRequest extends PageDto {
...
@@ -15,12 +16,14 @@ public class FortuneAccountQueryRequest extends PageDto {
@Schema
(
description
=
"所属团队"
)
@Schema
(
description
=
"所属团队"
)
private
String
team
;
private
String
team
;
@Schema
(
description
=
"出账状态
可出账、待出账、已出账
"
)
@Schema
(
description
=
"出账状态
字典值:csf_fortune_account_status
"
)
private
String
status
;
private
String
status
;
@Schema
(
description
=
"出账日期开始"
,
example
=
"2023-01-01"
,
type
=
"string"
,
format
=
"date"
)
@Schema
(
description
=
"出账日期开始"
,
format
=
"date"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
accountDateStart
;
private
Date
accountDateStart
;
@Schema
(
description
=
"出账日期结束"
,
example
=
"2023-01-01"
,
type
=
"string"
,
format
=
"date"
)
@Schema
(
description
=
"出账日期结束"
,
format
=
"date"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
accountDateEnd
;
private
Date
accountDateEnd
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Commission.java
View file @
4a0388f0
...
@@ -76,7 +76,7 @@ public class Commission implements Serializable {
...
@@ -76,7 +76,7 @@ public class Commission implements Serializable {
private
Date
commissionDate
;
private
Date
commissionDate
;
/**
/**
* 来佣状态 0=未比对 1=
已比对
* 来佣状态 0=未比对 1=
比对成功 2=比对失败
*/
*/
private
String
status
;
private
String
status
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/FortuneAccount.java
View file @
4a0388f0
package
com
.
yd
.
csf
.
service
.
model
;
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -80,6 +77,7 @@ public class FortuneAccount implements Serializable {
...
@@ -80,6 +77,7 @@ public class FortuneAccount implements Serializable {
/**
/**
* 删除标识: 0-正常, 1-删除
* 删除标识: 0-正常, 1-删除
*/
*/
@TableLogic
private
Integer
isDeleted
;
private
Integer
isDeleted
;
/**
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
4a0388f0
...
@@ -166,39 +166,24 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -166,39 +166,24 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addCommission
(
CommissionAddRequest
commissionAddRequest
)
{
public
Boolean
addCommission
(
CommissionAddRequest
commissionAddRequest
)
{
List
<
CommissionAddDto
>
commissionAddDtoList
=
commissionAddRequest
.
getCommissionAddDtoList
();
if
(
CollUtil
.
isEmpty
(
commissionAddDtoList
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"佣金列表不能为空"
);
}
// 获取当前登录用户
// 获取当前登录用户
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
AuthUserDto
currentLoginUser
=
SecurityUtil
.
getCurrentLoginUser
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
String
loginUserId
=
currentLoginUser
.
getId
().
toString
();
List
<
Commission
>
commissionList
=
new
ArrayList
<>();
Commission
commission
=
new
Commission
();
for
(
CommissionAddDto
item
:
commissionAddDtoList
)
{
BeanUtils
.
copyProperties
(
commissionAddRequest
,
commission
);
Commission
commission
=
new
Commission
();
// 生成新单编号
BeanUtils
.
copyProperties
(
item
,
commission
);
String
commissionBizId
=
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
());
// 生成新单编号
commission
.
setCommissionBizId
(
commissionBizId
);
String
commissionBizId
=
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
());
// 设置默认状态
commission
.
setCommissionBizId
(
commissionBizId
);
commission
.
setStatus
(
CommissionStatusEnum
.
WAIT
.
getItemValue
());
commission
.
setCreatorId
(
loginUserId
);
commission
.
setPolicyNo
(
commissionAddRequest
.
getPolicyNo
());
commission
.
setCreateTime
(
new
Date
());
commission
.
setReconciliationCompany
(
commissionAddRequest
.
getReconciliationCompany
());
commission
.
setUpdaterId
(
loginUserId
);
commission
.
setReconciliationCompanyBizId
(
commissionAddRequest
.
getReconciliationCompanyBizId
());
commission
.
setUpdateTime
(
new
Date
());
commission
.
setCommissionPeriod
(
commissionAddRequest
.
getCommissionPeriod
());
commission
.
setStatus
(
CommissionStatusEnum
.
WAIT
.
getItemValue
());
commission
.
setRemark
(
commissionAddRequest
.
getRemark
());
commission
.
setCreatorId
(
loginUserId
);
commission
.
setCreateTime
(
new
Date
());
commission
.
setUpdaterId
(
loginUserId
);
commission
.
setUpdateTime
(
new
Date
());
commissionList
.
add
(
commission
);
}
return
this
.
save
Batch
(
commissionList
);
return
this
.
save
(
commission
);
}
}
@Override
@Override
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneAccountVO.java
View file @
4a0388f0
...
@@ -46,7 +46,7 @@ public class FortuneAccountVO {
...
@@ -46,7 +46,7 @@ public class FortuneAccountVO {
/**
/**
* 出账状态
* 出账状态
*/
*/
@Schema
(
description
=
"出账状态
0=可出账 1=待
出账 2=已出账"
)
@Schema
(
description
=
"出账状态
1=可
出账 2=已出账"
)
private
String
status
;
private
String
status
;
/**
/**
...
...
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