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
6bfa87a6
Commit
6bfa87a6
authored
Nov 06, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进46
parent
366685ab
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
364 additions
and
2 deletions
+364
-2
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
+128
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedAddRequest.java
+89
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionExpectedService.java
+34
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+113
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
0 → 100644
View file @
6bfa87a6
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.result.Result
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.service.CommissionExpectedService
;
import
com.yd.csf.service.vo.CommissionExpectedVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
/**
* CommissionExpected接口
*
* @author jianan
* @since 2025-08-31
*/
@RestController
@RequestMapping
(
"/CommissionExpected"
)
@Tag
(
name
=
"预计来佣接口"
)
public
class
ApiCommissionExpectedController
{
@Resource
private
CommissionExpectedService
CommissionExpectedService
;
/**
* 新增预计来佣
*
* @param CommissionExpectedAddRequest
* @param request
* @return
*/
@PostMapping
(
"/add"
)
@Operation
(
summary
=
"新增预计来佣"
)
public
Result
<
Map
<
String
,
Object
>>
addCommissionExpected
(
@RequestBody
CommissionExpectedAddRequest
CommissionExpectedAddRequest
,
HttpServletRequest
request
)
{
if
(
CommissionExpectedAddRequest
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
CommissionExpectedService
.
addCommissionExpected
(
CommissionExpectedAddRequest
));
}
/**
* 删除预计来佣
*
* @param commissionExpectedBizId 预计来佣业务id
* @param request
* @return
*/
@DeleteMapping
(
"/delete"
)
@Operation
(
summary
=
"删除预计来佣"
)
public
Result
<
Boolean
>
deleteCommissionExpected
(
@RequestParam
(
"commissionExpectedBizId"
)
String
commissionExpectedBizId
,
HttpServletRequest
request
)
{
if
(
StringUtils
.
isBlank
(
commissionExpectedBizId
))
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"预计来佣业务id不能为空"
);
}
return
Result
.
success
(
CommissionExpectedService
.
deleteCommissionExpected
(
commissionExpectedBizId
));
}
/**
* 更新预计来佣
*
* @param CommissionExpectedUpdateRequest
* @return
*/
// @PostMapping("/update")
// @Operation(summary = "更新预计来佣")
// public Result<Boolean> updateCommissionExpected(@RequestBody CommissionExpectedUpdateRequest CommissionExpectedUpdateRequest) {
// if (CommissionExpectedUpdateRequest == null || StringUtils.isBlank(CommissionExpectedUpdateRequest.getCommissionExpectedBizId())) {
// throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "CommissionExpectedBizId不能为空");
// }
// String appointmentNo = null;
// if (StringUtils.isNotBlank(CommissionExpectedUpdateRequest.getAppointmentBizId())) {
// Result<ApiAppointmentInfoDto> apiAppointmentInfoDtoResult = appointmentService.mainDetail(CommissionExpectedUpdateRequest.getAppointmentBizId());
// if (apiAppointmentInfoDtoResult.getData() != null) {
// ApiAppointmentInfoDto apiAppointmentInfoDto = apiAppointmentInfoDtoResult.getData();
// appointmentNo = apiAppointmentInfoDto.getAppointmentNo();
// }
// }
//
// return Result.success(CommissionExpectedService.updateCommissionExpected(CommissionExpectedUpdateRequest, appointmentNo));
// }
/**
* 根据 CommissionExpectedBizId 获取CommissionExpected(封装类)
*
* @param CommissionExpectedBizId
* @return
*/
// @GetMapping("/get/vo")
// @Operation(summary = "预计来佣详情")
// public Result<CommissionExpectedVO> getCommissionExpectedVOByBizId(String CommissionExpectedBizId, HttpServletRequest request) {
// if (StringUtils.isBlank(CommissionExpectedBizId)) {
// return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "CommissionExpectedBizId不能为空");
// }
// // 查询数据库
// CommissionExpected CommissionExpected = CommissionExpectedService.getByBizId(CommissionExpectedBizId);
// if (CommissionExpected == null) {
// return Result.fail(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
// }
//
// // 获取封装类
// return Result.success(CommissionExpectedService.getCommissionExpectedVO(CommissionExpected));
// }
/**
* 分页获取CommissionExpected列表(仅管理员可用)
*
* @param CommissionExpectedQueryRequest
* @return
*/
@PostMapping
(
"/list/page"
)
@Operation
(
summary
=
"分页获取预计来佣列表"
)
public
Result
<
Page
<
CommissionExpectedVO
>>
listCommissionExpectedByPage
(
@RequestBody
CommissionExpectedQueryRequest
CommissionExpectedQueryRequest
)
{
long
current
=
CommissionExpectedQueryRequest
.
getPageNo
();
long
size
=
CommissionExpectedQueryRequest
.
getPageSize
();
// 查询数据库
Page
<
CommissionExpected
>
CommissionExpectedPage
=
CommissionExpectedService
.
page
(
new
Page
<>(
current
,
size
),
CommissionExpectedService
.
getQueryWrapper
(
CommissionExpectedQueryRequest
));
return
Result
.
success
(
CommissionExpectedService
.
getCommissionExpectedVOPage
(
CommissionExpectedPage
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionExpectedAddRequest.java
0 → 100644
View file @
6bfa87a6
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 创建预计来佣请求
*/
@Data
public
class
CommissionExpectedAddRequest
implements
Serializable
{
/**
* 新单跟进业务id
*/
@Schema
(
description
=
"新单跟进业务id"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
policyBizId
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 对账公司
*/
@Schema
(
description
=
"对账公司"
)
private
String
reconciliationCompany
;
/**
* 对账公司业务id
*/
@Schema
(
description
=
"对账公司业务id"
)
private
String
reconciliationCompanyBizId
;
/**
* 佣金期数(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
=
"来佣日期 format:yyyy-MM-dd"
)
private
Date
commissionDate
;
/**
* 备注
*/
@Schema
(
description
=
"备注"
)
private
String
remark
;
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
View file @
6bfa87a6
package
com
.
yd
.
csf
.
service
.
service
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.service.dto.CommissionExpectedAddRequest
;
import
com.yd.csf.service.dto.CommissionExpectedQueryRequest
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.csf.service.vo.CommissionExpectedVO
;
import
com.yd.csf.service.vo.PolicyVO
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
/**
* @author Zhang Jianan
...
...
@@ -14,4 +19,32 @@ import com.yd.csf.service.vo.PolicyVO;
public
interface
CommissionExpectedService
extends
IService
<
CommissionExpected
>
{
Page
<
CommissionExpectedVO
>
getCommissionExpectedVOPage
(
Page
<
CommissionExpected
>
commissionExpectedPage
);
/**
* 校验数据
*
* @param commissionExpected
* @param add 对创建的数据进行校验
*/
void
validCommissionExpected
(
CommissionExpected
commissionExpected
,
boolean
add
);
/**
* 获取查询条件
*
* @param commissionExpectedQueryRequest
* @return
*/
QueryWrapper
<
CommissionExpected
>
getQueryWrapper
(
CommissionExpectedQueryRequest
commissionExpectedQueryRequest
);
/**
* 获取预计来佣封装
*
* @param commissionExpected
* @return
*/
CommissionExpectedVO
getCommissionExpectedVO
(
CommissionExpected
commissionExpected
);
Map
<
String
,
Object
>
addCommissionExpected
(
CommissionExpectedAddRequest
commissionExpectedAddRequest
);
Boolean
deleteCommissionExpected
(
String
commissionExpectedBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
View file @
6bfa87a6
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.constant.CommonConstant
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.dto.CommissionExpectedAddRequest
;
import
com.yd.csf.service.dto.CommissionExpectedQueryRequest
;
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.CommissionExpected
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.service.CommissionExpectedService
;
import
com.yd.csf.service.dao.CommissionExpectedMapper
;
import
com.yd.csf.service.vo.CommissionExpectedVO
;
import
com.yd.csf.service.vo.CommissionExpectedVO
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -36,6 +55,99 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
CommissionExpectedVOPage
.
setRecords
(
CommissionExpectedVOList
);
return
CommissionExpectedVOPage
;
}
/**
* 校验数据
*
* @param commissionExpected
* @param add 对创建的数据进行校验
*/
@Override
public
void
validCommissionExpected
(
CommissionExpected
commissionExpected
,
boolean
add
)
{
// ThrowUtils.throwIf(commissionExpected == null, ErrorCode.PARAMS_ERROR);
// // todo 从对象中取值
// String title = commissionExpected.getTitle();
// // 创建数据时,参数不能为空
// if (add) {
// // todo 补充校验规则
// ThrowUtils.throwIf(StringUtils.isBlank(title), ErrorCode.PARAMS_ERROR);
// }
// // 修改数据时,有参数则校验
// // todo 补充校验规则
// if (StringUtils.isNotBlank(title)) {
// ThrowUtils.throwIf(title.length() > 80, ErrorCode.PARAMS_ERROR, "标题过长");
// }
}
/**
* 获取查询条件
*
* @param commissionExpectedQueryRequest
* @return
*/
@Override
public
QueryWrapper
<
CommissionExpected
>
getQueryWrapper
(
CommissionExpectedQueryRequest
commissionExpectedQueryRequest
)
{
QueryWrapper
<
CommissionExpected
>
queryWrapper
=
new
QueryWrapper
<>();
if
(
commissionExpectedQueryRequest
==
null
)
{
return
queryWrapper
;
}
// 获取查询参数
String
policyNo
=
commissionExpectedQueryRequest
.
getPolicyNo
();
// 精确查询
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
policyNo
),
"policy_no"
,
policyNo
);
// 排序规则
queryWrapper
.
orderByAsc
(
"commission_period"
);
return
queryWrapper
;
}
/**
* 获取预计来佣封装
*
* @param commissionExpected
* @return
*/
@Override
public
CommissionExpectedVO
getCommissionExpectedVO
(
CommissionExpected
commissionExpected
)
{
// 对象转封装类
CommissionExpectedVO
commissionExpectedVO
=
CommissionExpectedVO
.
objToVo
(
commissionExpected
);
// todo 可以根据需要为封装对象补充值,不需要的内容可以删除
return
commissionExpectedVO
;
}
@Override
public
Map
<
String
,
Object
>
addCommissionExpected
(
CommissionExpectedAddRequest
commissionExpectedAddRequest
)
{
if
(
commissionExpectedAddRequest
==
null
||
StringUtils
.
isBlank
(
commissionExpectedAddRequest
.
getPolicyBizId
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
CommissionExpected
commissionExpected
=
new
CommissionExpected
();
BeanUtils
.
copyProperties
(
commissionExpectedAddRequest
,
commissionExpected
);
// 生成新单编号
String
commissionBizId
=
RandomStringGenerator
.
generateBizId16
(
"commission_expected"
);
commissionExpected
.
setCommissionExpectedBizId
(
commissionBizId
);
// 设置默认状态
commissionExpected
.
setStatus
(
CommissionExpectedStatusEnum
.
PENDING
.
getItemValue
());
commissionExpected
.
setCreateTime
(
new
Date
());
commissionExpected
.
setUpdateTime
(
new
Date
());
// 新增预计来佣
this
.
saveOrUpdate
(
commissionExpected
);
return
Collections
.
singletonMap
(
"commissionExpectedBizId"
,
commissionExpected
.
getCommissionExpectedBizId
());
}
@Override
public
Boolean
deleteCommissionExpected
(
String
commissionExpectedBizId
)
{
if
(
StringUtils
.
isBlank
(
commissionExpectedBizId
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"预计来佣业务id不能为空"
);
}
// 校验预计来佣是否存在
CommissionExpected
commissionExpected
=
this
.
getOne
(
new
QueryWrapper
<
CommissionExpected
>().
eq
(
"commission_expected_biz_id"
,
commissionExpectedBizId
));
if
(
commissionExpected
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"预计来佣不存在"
);
}
return
this
.
removeById
(
commissionExpected
.
getId
());
}
}
...
...
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