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
97f1f7f6
Commit
97f1f7f6
authored
Dec 16, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
应收管理、应付管理2
parent
c7598e16
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
228 additions
and
31 deletions
+228
-31
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
+6
-5
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiExpectedFortuneController.java
+7
-5
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
+16
-0
yd-csf-api/src/main/java/com/yd/csf/api/dto/ApiExpectedFortunePageResponseVO.java
+16
-0
yd-csf-api/src/main/java/com/yd/csf/api/dto/QueryCommissionExpectedByPageResponse.java
+16
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiExpectedFortuneService.java
+3
-2
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+9
-10
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneAddRequest.java
+89
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/GenerateFortuneRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/FortuneService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+36
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+19
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionExpectedVO.java
+1
-0
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
+6
-4
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
View file @
97f1f7f6
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.dto.QueryCommissionExpectedByPageResponse
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
...
@@ -147,7 +148,7 @@ public class ApiCommissionExpectedController {
...
@@ -147,7 +148,7 @@ public class ApiCommissionExpectedController {
*/
*/
@PostMapping
(
"/queryCommissionExpectedByPage"
)
@PostMapping
(
"/queryCommissionExpectedByPage"
)
@Operation
(
summary
=
"应收款管理列表查询"
)
@Operation
(
summary
=
"应收款管理列表查询"
)
public
Result
<
Map
<
String
,
Object
>
>
queryCommissionExpectedByPage
(
@RequestBody
CommissionExpectedQueryRequest
commissionExpectedQueryRequest
)
{
public
Result
<
QueryCommissionExpectedByPageResponse
>
queryCommissionExpectedByPage
(
@RequestBody
CommissionExpectedQueryRequest
commissionExpectedQueryRequest
)
{
long
current
=
commissionExpectedQueryRequest
.
getPageNo
();
long
current
=
commissionExpectedQueryRequest
.
getPageNo
();
long
size
=
commissionExpectedQueryRequest
.
getPageSize
();
long
size
=
commissionExpectedQueryRequest
.
getPageSize
();
...
@@ -162,9 +163,9 @@ public class ApiCommissionExpectedController {
...
@@ -162,9 +163,9 @@ public class ApiCommissionExpectedController {
List
<
Long
>
expectedIds
=
commissionExpectedList
.
stream
().
map
(
CommissionExpected:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
expectedIds
=
commissionExpectedList
.
stream
().
map
(
CommissionExpected:
:
getId
).
collect
(
Collectors
.
toList
());
CommissionExpectedStatisticsVO
expectedStatisticsVO
=
commissionExpectedService
.
getExpectedStatistics
(
expectedIds
);
CommissionExpectedStatisticsVO
expectedStatisticsVO
=
commissionExpectedService
.
getExpectedStatistics
(
expectedIds
);
// 组装返回值
// 组装返回值
Map
<
String
,
Object
>
map
=
new
HashMap
<>
();
QueryCommissionExpectedByPageResponse
response
=
new
QueryCommissionExpectedByPageResponse
();
map
.
put
(
"expectedStatisticsVO"
,
expectedStatisticsVO
);
response
.
setExpectedStatisticsVO
(
expectedStatisticsVO
);
map
.
put
(
"page"
,
commissionExpectedService
.
getCommissionExpectedVOPage
(
commissionExpectedPage
));
response
.
setPage
(
commissionExpectedService
.
getCommissionExpectedVOPage
(
commissionExpectedPage
));
return
Result
.
success
(
map
);
return
Result
.
success
(
response
);
}
}
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiExpectedFortuneController.java
View file @
97f1f7f6
...
@@ -5,6 +5,7 @@ import com.yd.common.constant.RedisConstants;
...
@@ -5,6 +5,7 @@ import com.yd.common.constant.RedisConstants;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RedisUtil
;
import
com.yd.common.utils.RedisUtil
;
import
com.yd.csf.api.dto.ApiExpectedFortuneLogDto
;
import
com.yd.csf.api.dto.ApiExpectedFortuneLogDto
;
import
com.yd.csf.api.dto.ApiExpectedFortunePageResponseVO
;
import
com.yd.csf.api.service.ApiExpectedFortuneLogService
;
import
com.yd.csf.api.service.ApiExpectedFortuneLogService
;
import
com.yd.csf.api.service.ApiExpectedFortuneService
;
import
com.yd.csf.api.service.ApiExpectedFortuneService
;
import
com.yd.csf.feign.client.expectedfortune.ApiExpectedFortuneFeignClient
;
import
com.yd.csf.feign.client.expectedfortune.ApiExpectedFortuneFeignClient
;
...
@@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestBody;
...
@@ -23,6 +24,7 @@ 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
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
@@ -93,7 +95,7 @@ public class ApiExpectedFortuneController implements ApiExpectedFortuneFeignClie
...
@@ -93,7 +95,7 @@ public class ApiExpectedFortuneController implements ApiExpectedFortuneFeignClie
*/
*/
@PostMapping
(
"/list"
)
@PostMapping
(
"/list"
)
@Operation
(
summary
=
"分页查询 - 应付款管理列表(预计发佣列表)"
)
@Operation
(
summary
=
"分页查询 - 应付款管理列表(预计发佣列表)"
)
public
Result
<
Map
<
String
,
Object
>
>
list
(
@RequestBody
ApiExpectedFortunePageRequest
request
)
{
public
Result
<
ApiExpectedFortunePageResponseVO
>
list
(
@RequestBody
ApiExpectedFortunePageRequest
request
)
{
return
apiExpectedFortuneService
.
list
(
request
);
return
apiExpectedFortuneService
.
list
(
request
);
}
}
...
@@ -112,16 +114,16 @@ public class ApiExpectedFortuneController implements ApiExpectedFortuneFeignClie
...
@@ -112,16 +114,16 @@ public class ApiExpectedFortuneController implements ApiExpectedFortuneFeignClie
/**
/**
* 新增应付账款,可批量
* 新增应付账款,可批量
*
*
* @param
reque
st
* @param
fortuneAddRequestLi
st
* @return
* @return
*/
*/
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
@Operation
(
summary
=
"新增应付账款,可批量"
)
@Operation
(
summary
=
"新增应付账款,可批量"
)
public
Result
<
Boolean
>
add
(
@RequestBody
ExpectedFortuneAddRequest
reque
st
)
{
public
Result
<
Boolean
>
add
(
@RequestBody
List
<
ExpectedFortuneAddRequest
>
fortuneAddRequestLi
st
)
{
if
(
request
==
null
||
CollectionUtils
.
isEmpty
(
request
.
getAddList
()
))
{
if
(
fortuneAddRequestList
==
null
||
CollectionUtils
.
isEmpty
(
fortuneAddRequestList
))
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"新增应付账款列表不能为空"
);
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"新增应付账款列表不能为空"
);
}
}
return
Result
.
success
(
apiExpectedFortuneService
.
add
(
reque
st
));
return
Result
.
success
(
apiExpectedFortuneService
.
add
(
fortuneAddRequestLi
st
));
}
}
/**
/**
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
View file @
97f1f7f6
...
@@ -154,6 +154,22 @@ public class ApiFortuneController {
...
@@ -154,6 +154,22 @@ public class ApiFortuneController {
}
}
/**
/**
* 批量创建发佣
*
* @param fortuneAddRequestList
* @param request
* @return
*/
@Operation
(
summary
=
"批量创建发佣"
)
@PostMapping
(
"/addBatch"
)
public
Result
<
Boolean
>
addFortuneBatch
(
@RequestBody
List
<
FortuneAddRequest
>
fortuneAddRequestList
,
HttpServletRequest
request
)
{
if
(
CollectionUtils
.
isEmpty
(
fortuneAddRequestList
))
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"发佣数据不能为空"
);
}
return
Result
.
success
(
fortuneService
.
addFortuneBatch
(
fortuneAddRequestList
));
}
/**
* 下载选中的发佣数据
* 下载选中的发佣数据
*
*
* @param fortuneDownloadRequest
* @param fortuneDownloadRequest
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/ApiExpectedFortunePageResponseVO.java
0 → 100644
View file @
97f1f7f6
package
com
.
yd
.
csf
.
api
.
dto
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse
;
import
com.yd.csf.service.vo.ExpectedFortuneStatisticsVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
@Data
public
class
ApiExpectedFortunePageResponseVO
{
@Schema
(
description
=
"预计出账统计信息"
)
private
ExpectedFortuneStatisticsVO
statisticsVO
;
@Schema
(
description
=
"预计出账分页列表"
)
private
IPage
<
ApiExpectedFortunePageResponse
>
page
;
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/QueryCommissionExpectedByPageResponse.java
0 → 100644
View file @
97f1f7f6
package
com
.
yd
.
csf
.
api
.
dto
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.service.vo.CommissionExpectedStatisticsVO
;
import
com.yd.csf.service.vo.CommissionExpectedVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
@Data
@Schema
(
description
=
"查询预计来佣分页响应"
)
public
class
QueryCommissionExpectedByPageResponse
{
@Schema
(
description
=
"预计来佣统计信息"
)
private
CommissionExpectedStatisticsVO
expectedStatisticsVO
;
@Schema
(
description
=
"预计来佣分页列表"
)
private
Page
<
CommissionExpectedVO
>
page
;
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiExpectedFortuneService.java
View file @
97f1f7f6
...
@@ -2,6 +2,7 @@ package com.yd.csf.api.service;
...
@@ -2,6 +2,7 @@ package com.yd.csf.api.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.dto.ApiExpectedFortunePageResponseVO
;
import
com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest
;
import
com.yd.csf.feign.request.expectedfortune.ApiExpectedFortunePageRequest
;
import
com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest
;
import
com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest
;
import
com.yd.csf.feign.request.expectedfortune.ExpectedFortuneAddRequest
;
import
com.yd.csf.feign.request.expectedfortune.ExpectedFortuneAddRequest
;
...
@@ -34,7 +35,7 @@ public interface ApiExpectedFortuneService {
...
@@ -34,7 +35,7 @@ public interface ApiExpectedFortuneService {
Boolean
update
(
ExpectedFortuneUpdateRequest
request
);
Boolean
update
(
ExpectedFortuneUpdateRequest
request
);
Result
<
Map
<
String
,
Object
>
>
list
(
ApiExpectedFortunePageRequest
request
);
Result
<
ApiExpectedFortunePageResponseVO
>
list
(
ApiExpectedFortunePageRequest
request
);
Boolean
add
(
ExpectedFortuneAddRequest
request
);
Boolean
add
(
List
<
ExpectedFortuneAddRequest
>
request
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
97f1f7f6
...
@@ -418,7 +418,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -418,7 +418,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
}
}
@Override
@Override
public
Result
<
Map
<
String
,
Object
>
>
list
(
ApiExpectedFortunePageRequest
request
)
{
public
Result
<
ApiExpectedFortunePageResponseVO
>
list
(
ApiExpectedFortunePageRequest
request
)
{
Page
<
ExpectedFortune
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
Page
<
ExpectedFortune
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
QueryWrapper
<
ExpectedFortune
>
queryWrapper
=
this
.
getQueryWrapper
(
request
);
QueryWrapper
<
ExpectedFortune
>
queryWrapper
=
this
.
getQueryWrapper
(
request
);
...
@@ -428,16 +428,15 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -428,16 +428,15 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
ExpectedFortuneStatisticsVO
statisticsVO
=
iExpectedFortuneService
.
getStatistics
(
fortuneList
.
stream
().
map
(
ExpectedFortune:
:
getId
).
collect
(
Collectors
.
toList
()));
ExpectedFortuneStatisticsVO
statisticsVO
=
iExpectedFortuneService
.
getStatistics
(
fortuneList
.
stream
().
map
(
ExpectedFortune:
:
getId
).
collect
(
Collectors
.
toList
()));
// 组装返回结果
// 组装返回结果
Map
<
String
,
Object
>
result
=
new
HashMap
<>
();
ApiExpectedFortunePageResponseVO
response
=
new
ApiExpectedFortunePageResponseVO
();
res
ult
.
put
(
"statisticsVO"
,
statisticsVO
);
res
ponse
.
setStatisticsVO
(
statisticsVO
);
res
ult
.
put
(
"page"
,
iExpectedFortuneService
.
getVOPage
(
iPage
));
res
ponse
.
setPage
(
iExpectedFortuneService
.
getVOPage
(
iPage
));
return
Result
.
success
(
res
ult
);
return
Result
.
success
(
res
ponse
);
}
}
@Override
@Override
public
Boolean
add
(
ExpectedFortuneAddRequest
request
)
{
public
Boolean
add
(
List
<
ExpectedFortuneAddRequest
>
fortuneAddRequestList
)
{
List
<
ExpectedFortuneDto
>
addList
=
request
.
getAddList
();
if
(
CollectionUtils
.
isEmpty
(
fortuneAddRequestList
))
{
if
(
CollectionUtils
.
isEmpty
(
addList
))
{
return
true
;
return
true
;
}
}
// 查询最新一条记录
// 查询最新一条记录
...
@@ -445,7 +444,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -445,7 +444,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
ExpectedFortune
latest
=
latestList
.
isEmpty
()
?
null
:
latestList
.
get
(
0
);
ExpectedFortune
latest
=
latestList
.
isEmpty
()
?
null
:
latestList
.
get
(
0
);
ArrayList
<
ExpectedFortune
>
fortuneList
=
new
ArrayList
<>();
ArrayList
<
ExpectedFortune
>
fortuneList
=
new
ArrayList
<>();
for
(
ExpectedFortune
Dto
expectedFortuneDto
:
add
List
)
{
for
(
ExpectedFortune
AddRequest
expectedFortuneDto
:
fortuneAddRequest
List
)
{
ExpectedFortune
expectedFortune
=
new
ExpectedFortune
();
ExpectedFortune
expectedFortune
=
new
ExpectedFortune
();
BeanUtil
.
copyProperties
(
expectedFortuneDto
,
expectedFortune
);
BeanUtil
.
copyProperties
(
expectedFortuneDto
,
expectedFortune
);
...
@@ -465,7 +464,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -465,7 +464,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
* @param expectedFortuneDto
* @param expectedFortuneDto
* @return
* @return
*/
*/
private
String
createPayableNo
(
ExpectedFortune
Dto
expectedFortuneDto
,
ExpectedFortune
latest
)
{
private
String
createPayableNo
(
ExpectedFortune
AddRequest
expectedFortuneDto
,
ExpectedFortune
latest
)
{
String
seq
=
"000001"
;
String
seq
=
"000001"
;
// 有最新记录,根据最新记录的序号生成下一个序号
// 有最新记录,根据最新记录的序号生成下一个序号
if
(!
Objects
.
isNull
(
latest
))
{
if
(!
Objects
.
isNull
(
latest
))
{
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/expectedfortune/ExpectedFortuneAddRequest.java
View file @
97f1f7f6
package
com
.
yd
.
csf
.
feign
.
request
.
expectedfortune
;
package
com
.
yd
.
csf
.
feign
.
request
.
expectedfortune
;
import
com.yd.csf.feign.response.expectedfortune.PolicyInfo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
public
class
ExpectedFortuneAddRequest
{
public
class
ExpectedFortuneAddRequest
{
private
List
<
ExpectedFortuneDto
>
addList
;
/**
* 应付款类型 R-关联保单应付款 U-非关联保单应付款
*/
@Schema
(
description
=
"应付款类型 R-关联保单应付款 U-非关联保单应付款"
)
private
String
fortuneBizType
;
/**
* 保单号
*/
@Schema
(
description
=
"policy no"
)
private
String
policyNo
;
/**
* 产品上架信息业务ID
*/
@Schema
(
description
=
"产品计划: 产品上架信息业务ID"
)
private
String
productLaunchBizId
;
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema
(
description
=
"fortune period"
)
private
Integer
fortunePeriod
;
/**
* 发佣总期数
*/
@Schema
(
description
=
"fortune total period"
)
private
Integer
fortuneTotalPeriod
;
/**
* 转介人名称
*/
@Schema
(
description
=
"转介人名称"
)
private
String
broker
;
/**
* 转介人业务ID
*/
@Schema
(
description
=
"broker biz id"
)
private
String
brokerBizId
;
/**
* 团队名称
*/
@Schema
(
description
=
"团队名称"
)
private
String
team
;
/**
* 所属团队业务ID
*/
@Schema
(
description
=
"所属团队 biz id"
)
private
String
teamBizId
;
/**
* 发佣名称
*/
@Schema
(
description
=
"发佣名称"
)
private
String
fortuneName
;
/**
* 发佣类型
*/
@Schema
(
description
=
"发佣类型"
)
private
String
fortuneType
;
/**
* 预计应发金额
*/
@Schema
(
description
=
"预计应发金额"
)
private
BigDecimal
amount
;
/**
* 发佣币种
*/
@Schema
(
description
=
"发佣币种"
)
private
String
currency
;
/**
* 预计发佣日期
*/
@Schema
(
description
=
"预计发佣日期"
)
private
LocalDate
payoutDate
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneQueryRequest.java
View file @
97f1f7f6
...
@@ -18,7 +18,7 @@ public class FortuneQueryRequest extends PageDto implements Serializable {
...
@@ -18,7 +18,7 @@ public class FortuneQueryRequest extends PageDto implements Serializable {
/**
/**
* 出账状态
* 出账状态
*/
*/
@Schema
(
description
=
"出账状态 0=待出账 1=可出
帐 2=完成出账 3=部分出账 4=保留 5=已失效
, 字典值: csf_fortune_status"
)
@Schema
(
description
=
"出账状态 0=待出账 1=可出
账,待检核 2=完成出账 3=部分出账 4=保留 5=已失效 6=可出账,检核完成
, 字典值: csf_fortune_status"
)
private
String
status
;
private
String
status
;
/**
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/GenerateFortuneRequest.java
View file @
97f1f7f6
...
@@ -15,6 +15,6 @@ public class GenerateFortuneRequest {
...
@@ -15,6 +15,6 @@ public class GenerateFortuneRequest {
@Schema
(
description
=
"expected fortune id 列表"
)
@Schema
(
description
=
"expected fortune id 列表"
)
private
List
<
Long
>
expectedFortuneIdList
;
private
List
<
Long
>
expectedFortuneIdList
;
@Schema
(
description
=
"
本次发佣
日期"
)
@Schema
(
description
=
"
发佣检核
日期"
)
private
LocalDate
payoutDate
;
private
LocalDate
payoutDate
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/FortuneService.java
View file @
97f1f7f6
...
@@ -38,4 +38,6 @@ public interface FortuneService extends IService<Fortune> {
...
@@ -38,4 +38,6 @@ public interface FortuneService extends IService<Fortune> {
Fortune
queryOne
(
String
fortuneBizId
);
Fortune
queryOne
(
String
fortuneBizId
);
FortuneStatisticsVO
getFortuneStatistics
(
List
<
Long
>
fortuneIdList
);
FortuneStatisticsVO
getFortuneStatistics
(
List
<
Long
>
fortuneIdList
);
Boolean
addFortuneBatch
(
List
<
FortuneAddRequest
>
fortuneAddRequestList
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
97f1f7f6
...
@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service;
...
@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.support.TransactionSynchronization
;
import
org.springframework.transaction.support.TransactionSynchronization
;
import
org.springframework.transaction.support.TransactionSynchronizationManager
;
import
org.springframework.transaction.support.TransactionSynchronizationManager
;
import
org.springframework.transaction.support.TransactionTemplate
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -68,6 +69,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -68,6 +69,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
private
CommissionCompareRecordService
commissionCompareRecordService
;
private
CommissionCompareRecordService
commissionCompareRecordService
;
@Resource
@Resource
private
CommissionAsyncService
commissionAsyncService
;
private
CommissionAsyncService
commissionAsyncService
;
@Resource
private
TransactionTemplate
transactionTemplate
;
@Override
@Override
...
@@ -325,7 +328,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -325,7 +328,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
generateFortune
(
GenerateFortuneRequest
generateFortuneRequest
)
{
public
Boolean
generateFortune
(
GenerateFortuneRequest
generateFortuneRequest
)
{
if
(
generateFortuneRequest
.
getPayoutDate
()
==
null
)
{
if
(
generateFortuneRequest
.
getPayoutDate
()
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"请选择
本次发佣
日期"
);
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"请选择
发佣检核
日期"
);
}
}
// 1. 查询对应的预计发佣记录
// 1. 查询对应的预计发佣记录
...
@@ -633,10 +636,29 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -633,10 +636,29 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
)
{
public
Boolean
addCommissionBatch
(
List
<
CommissionAddRequest
>
customerAddRequestList
)
{
if
(
CollectionUtils
.
isEmpty
(
customerAddRequestList
))
{
if
(
CollectionUtils
.
isEmpty
(
customerAddRequestList
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"来佣数据不能为空"
);
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"来佣数据不能为空"
);
}
}
Set
<
String
>
policyNoSet
=
customerAddRequestList
.
stream
().
map
(
CommissionAddRequest:
:
getPolicyNo
).
collect
(
Collectors
.
toSet
());
// 校验来佣所属保单是否存在
List
<
Policy
>
policyList
=
policyService
.
list
(
new
QueryWrapper
<
Policy
>().
in
(
"policy_no"
,
policyNoSet
));
// 校验来佣所属保单跟进是否存在
if
(!
CollectionUtils
.
isEmpty
(
policyList
))
{
// 保单号映射
Map
<
String
,
Policy
>
policyMap
=
policyList
.
stream
().
collect
(
Collectors
.
toMap
(
Policy:
:
getPolicyNo
,
Function
.
identity
()));
for
(
CommissionAddRequest
commissionAddRequest
:
customerAddRequestList
)
{
Policy
policy
=
policyMap
.
get
(
commissionAddRequest
.
getPolicyNo
());
if
(
policy
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
String
.
format
(
"保单号:%s不存在,不能添加来佣"
,
commissionAddRequest
.
getPolicyNo
()));
}
if
(
ObjectUtils
.
isEmpty
(
commissionAddRequest
.
getPremium
()))
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
String
.
format
(
"保单号:%s保费不能为空"
,
commissionAddRequest
.
getPolicyNo
()));
}
}
}
List
<
Commission
>
commissionList
=
new
ArrayList
<>();
List
<
Commission
>
commissionList
=
new
ArrayList
<>();
for
(
CommissionAddRequest
request
:
customerAddRequestList
)
{
for
(
CommissionAddRequest
request
:
customerAddRequestList
)
{
Commission
commission
=
new
Commission
();
Commission
commission
=
new
Commission
();
...
@@ -645,8 +667,20 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -645,8 +667,20 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission
.
setCommissionBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
()));
commission
.
setCommissionBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_COMMISSION
.
getCode
()));
commissionList
.
add
(
commission
);
commissionList
.
add
(
commission
);
}
}
boolean
b
=
this
.
saveOrUpdateBatch
(
commissionList
);
// 开启新事务,比对数据
transactionTemplate
.
execute
(
status
->
{
try
{
commissionAsyncService
.
commissionCompareBatch
(
commissionList
);
}
catch
(
Exception
e
)
{
// 比对失败不影响主事务,记录日志即可
log
.
error
(
"批量新增, 比对操作执行失败, error: {}"
,
e
.
getMessage
());
}
return
null
;
});
return
this
.
saveBatch
(
commissionList
)
;
return
b
;
}
}
/**
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
97f1f7f6
...
@@ -321,6 +321,25 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
...
@@ -321,6 +321,25 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
return
this
.
baseMapper
.
getFortuneStatistics
(
fortuneIdList
);
return
this
.
baseMapper
.
getFortuneStatistics
(
fortuneIdList
);
}
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addFortuneBatch
(
List
<
FortuneAddRequest
>
fortuneAddRequestList
)
{
if
(
CollectionUtils
.
isEmpty
(
fortuneAddRequestList
))
{
return
false
;
}
List
<
Fortune
>
fortuneList
=
new
ArrayList
<>();
for
(
FortuneAddRequest
fortuneAddRequest
:
fortuneAddRequestList
)
{
Fortune
fortune
=
new
Fortune
();
BeanUtil
.
copyProperties
(
fortuneAddRequest
,
fortune
);
// 生成发佣业务ID
fortune
.
setFortuneBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_FORTUNE
.
getCode
()));
fortune
.
setStatus
(
FortuneStatusEnum
.
WAIT
.
getItemValue
());
fortuneList
.
add
(
fortune
);
}
return
this
.
saveBatch
(
fortuneList
);
}
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CommissionExpectedVO.java
View file @
97f1f7f6
...
@@ -13,6 +13,7 @@ import java.util.Date;
...
@@ -13,6 +13,7 @@ import java.util.Date;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
@Schema
(
description
=
"预计来佣响应"
)
public
class
CommissionExpectedVO
implements
Serializable
{
public
class
CommissionExpectedVO
implements
Serializable
{
/**
/**
...
...
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
View file @
97f1f7f6
...
@@ -48,10 +48,12 @@
...
@@ -48,10 +48,12 @@
FROM
FROM
commission_expected
commission_expected
<where>
<where>
id IN
<if
test=
"expectedIds != null and expectedIds.size > 0"
>
<foreach
collection=
"expectedIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
id IN
#{item}
<foreach
collection=
"expectedIds"
item=
"item"
open=
"("
close=
")"
separator=
","
>
</foreach>
#{item}
</foreach>
</if>
</where>
</where>
</select>
</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