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
3f4f3a48
Commit
3f4f3a48
authored
Sep 24, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
来佣接口11
parent
f00b7475
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
436 additions
and
16 deletions
+436
-16
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
+0
-6
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyController.java
+134
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowQueryRequest.java
+4
-4
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyQueryRequest.java
+48
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyService.java
+8
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
+4
-6
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
+59
-0
yd-csf-service/src/main/java/com/yd/csf/service/vo/PolicyVO.java
+179
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
View file @
3f4f3a48
...
...
@@ -3,24 +3,18 @@ package com.yd.csf.api.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.CustomerAddRequest
;
import
com.yd.csf.service.dto.CustomerQueryRequest
;
import
com.yd.csf.service.dto.CustomerUpdateRequest
;
import
com.yd.csf.service.dto.FnaQueryRequest
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.model.CustomerExpand
;
import
com.yd.csf.service.service.CustomerService
;
import
com.yd.csf.service.utils.ValidateUtil
;
import
com.yd.csf.service.vo.CustomerVO
;
import
com.yd.csf.service.vo.FnaVO
;
import
com.yd.user.feign.client.sysuser.ApiSysUserFeignClient
;
import
com.yd.csf.service.service.CustomerExpandService
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.*
;
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyController.java
0 → 100644
View file @
3f4f3a48
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.result.Result
;
import
com.yd.csf.service.dto.PolicyQueryRequest
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.vo.PolicyVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
/**
* policy接口
*
* @author jianan
* @since 2025-09-20
*/
@RestController
@RequestMapping
(
"/policy"
)
@Tag
(
name
=
"保单接口"
)
public
class
ApiPolicyController
{
@Resource
private
PolicyService
policyService
;
/**
* 创建保单
*
* @param customerAddRequest
* @param request
* @return
*/
// @Operation(summary = "创建保单")
// @PostMapping("/add")
// @Transactional(rollbackFor = Exception.class)
// public Result<Map<String, Object>> addCustomer(@RequestBody CustomerAddRequest customerAddRequest, HttpServletRequest request) {
// if (customerAddRequest == null) {
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
// }
// return Result.success(PolicyService.addCustomer(customerAddRequest));
// }
/**
* 删除fna
*
* @param deleteRequest
* @param request
* @return
*/
// @PostMapping("/delete")
// public Result<Boolean> deleteFna(@RequestBody DeleteRequest deleteRequest, HttpServletRequest request) {
// if (deleteRequest == null || deleteRequest.getId() <= 0) {
// throw new BusinessException(ErrorCode.PARAMS_ERROR);
// }
// User user = userService.getLoginUser(request);
// long id = deleteRequest.getId();
// // 判断是否存在
// Customer oldFna = PolicyService.getById(id);
// ThrowUtils.throwIf(oldFna == null, ErrorCode.NOT_FOUND_ERROR);
// // 仅本人或管理员可删除
// if (!oldFna.getUserId().equals(user.getId()) && !userService.isAdmin(request)) {
// throw new BusinessException(ErrorCode.NO_AUTH_ERROR);
// }
// // 操作数据库
// boolean result = PolicyService.removeById(id);
// ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR);
// return Result.success(true);
// }
/**
* 更新保单
*
* @param PolicyUpdateRequest
* @return
*/
// @PostMapping("/update")
// @Operation(summary = "更新保单信息")
// public Result<Boolean> updatePolicy(@RequestBody PolicyUpdateRequest PolicyUpdateRequest) {
// if (PolicyUpdateRequest == null || PolicyUpdateRequest.getPolicyBizId() == null) {
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
// }
// return Result.success(PolicyService.updatePolicy(PolicyUpdateRequest));
// }
/**
* 根据 policyBizId 获取保单(封装类)
*
* @param policyBizId
* @return
*/
// @GetMapping("/get/vo")
// @Operation(summary = "根据 policyBizId 获取保单详情")
// public Result<PolicyVO> getPolicyByPolicyBizId(@RequestParam("policyBizId") String policyBizId, HttpServletRequest request) {
// if (policyBizId == null) {
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
// }
// // 查询数据库
// Policy Policy = PolicyService.getByPolicyBizId(policyBizId);
// if (Policy == null) {
// return Result.fail(ErrorCode.NOT_FOUND_ERROR.getCode(), ErrorCode.NOT_FOUND_ERROR.getMessage());
// }
//
// // 获取封装类
// return Result.success(PolicyService.getPolicyVO(Policy));
// }
/**
* 分页获取保单列表(VO)
*
* @param PolicyQueryRequest
* @param request
* @return
*/
@PostMapping
(
"/list/page/vo"
)
@Operation
(
summary
=
"分页获取保单列表"
)
public
Result
<
Page
<
PolicyVO
>>
listPolicyByPage
(
@RequestBody
PolicyQueryRequest
PolicyQueryRequest
,
HttpServletRequest
request
)
{
long
current
=
PolicyQueryRequest
.
getPageNo
();
long
size
=
PolicyQueryRequest
.
getPageSize
();
// 查询数据库
Page
<
Policy
>
policyPage
=
policyService
.
page
(
new
Page
<>(
current
,
size
),
policyService
.
getQueryWrapper
(
PolicyQueryRequest
));
// 获取封装类
return
Result
.
success
(
policyService
.
getPolicyVOPage
(
policyPage
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowQueryRequest.java
View file @
3f4f3a48
...
...
@@ -49,13 +49,13 @@ public class PolicyFollowQueryRequest extends PageDto implements Serializable {
* 保险公司
*/
@Schema
(
description
=
"保险公司"
)
private
String
insur
ance
;
private
String
insur
er
;
/**
* 产品
代码
* 产品
名称
*/
@Schema
(
description
=
"产品
代码
"
)
private
String
product
Cod
e
;
@Schema
(
description
=
"产品
名称
"
)
private
String
product
Nam
e
;
private
static
final
long
serialVersionUID
=
1L
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyQueryRequest.java
0 → 100644
View file @
3f4f3a48
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.yd.common.dto.PageDto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
@Data
public
class
PolicyQueryRequest
extends
PageDto
{
@Schema
(
description
=
"保单状态 生效中,保单失效,期满终止,已转出,退保,被拒保,取消申请 字典值:csf_policy_status"
)
private
String
status
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 客户名称
*/
@Schema
(
description
=
"客户名称"
)
private
String
customerName
;
/**
* 客户编号
*/
@Schema
(
description
=
"客户编号"
)
private
String
customerBizId
;
/**
* 保险公司
*/
@Schema
(
description
=
"保险公司"
)
private
String
insurer
;
/**
* 产品名称
*/
@Schema
(
description
=
"产品名称"
)
private
String
productName
;
@Schema
(
description
=
"缮发日期开始"
)
private
String
issueDateStart
;
@Schema
(
description
=
"缮发日期结束"
)
private
String
issueDateEnd
;
}
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyService.java
View file @
3f4f3a48
package
com
.
yd
.
csf
.
service
.
service
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.service.dto.PolicyQueryRequest
;
import
com.yd.csf.service.model.Policy
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.csf.service.vo.PolicyVO
;
/**
* @author Zhang Jianan
...
...
@@ -10,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
PolicyService
extends
IService
<
Policy
>
{
QueryWrapper
<
Policy
>
getQueryWrapper
(
PolicyQueryRequest
policyQueryRequest
);
Page
<
PolicyVO
>
getPolicyVOPage
(
Page
<
Policy
>
policyPage
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
View file @
3f4f3a48
...
...
@@ -6,7 +6,6 @@ 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.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.PolicyFollowQueryRequest
;
import
com.yd.csf.service.dto.PolicyFollowUpdateRequest
;
...
...
@@ -21,7 +20,6 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
...
...
@@ -53,15 +51,15 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
String
customerName
=
policyFollowQueryRequest
.
getCustomerName
();
String
customerBizId
=
policyFollowQueryRequest
.
getCustomerBizId
();
String
status
=
policyFollowQueryRequest
.
getStatus
();
String
insur
ance
=
policyFollowQueryRequest
.
getInsurance
();
String
product
Code
=
policyFollowQueryRequest
.
getProductCod
e
();
String
insur
er
=
policyFollowQueryRequest
.
getInsurer
();
String
product
Name
=
policyFollowQueryRequest
.
getProductNam
e
();
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
policyNo
),
"policy_no"
,
policyNo
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
customerName
),
"customer_name"
,
customerName
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
customerBizId
),
"customer_biz_id"
,
customerBizId
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
status
),
"status"
,
status
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
insur
ance
),
"insurance"
,
insurance
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
product
Code
),
"product_code"
,
productCod
e
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
insur
er
),
"insurance"
,
insurer
);
queryWrapper
.
eq
(
ObjectUtils
.
isNotEmpty
(
product
Name
),
"product_code"
,
productNam
e
);
// 排序
queryWrapper
.
orderByDesc
(
"id"
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
View file @
3f4f3a48
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.csf.service.dto.PolicyQueryRequest
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.dao.PolicyMapper
;
import
com.yd.csf.service.vo.PolicyVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* @author Zhang Jianan
* @description 针对表【policy(保单表)】的数据库操作Service实现
...
...
@@ -15,8 +27,55 @@ import org.springframework.stereotype.Service;
public
class
PolicyServiceImpl
extends
ServiceImpl
<
PolicyMapper
,
Policy
>
implements
PolicyService
{
@Override
public
QueryWrapper
<
Policy
>
getQueryWrapper
(
PolicyQueryRequest
policyQueryRequest
)
{
QueryWrapper
<
Policy
>
queryWrapper
=
new
QueryWrapper
<>();
if
(
policyQueryRequest
==
null
)
{
return
queryWrapper
;
}
String
status
=
policyQueryRequest
.
getStatus
();
String
policyNo
=
policyQueryRequest
.
getPolicyNo
();
String
customerName
=
policyQueryRequest
.
getCustomerName
();
String
customerBizId
=
policyQueryRequest
.
getCustomerBizId
();
String
insurer
=
policyQueryRequest
.
getInsurer
();
String
productName
=
policyQueryRequest
.
getProductName
();
String
issueDateStart
=
policyQueryRequest
.
getIssueDateStart
();
String
issueDateEnd
=
policyQueryRequest
.
getIssueDateEnd
();
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
policyNo
),
"policy_no"
,
policyNo
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
customerName
),
"customer_name"
,
customerName
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
customerBizId
),
"customer_biz_id"
,
customerBizId
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
insurer
),
"insurer"
,
insurer
);
queryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
productName
),
"product_name"
,
productName
);
queryWrapper
.
ge
(
StringUtils
.
isNotBlank
(
issueDateStart
),
"issue_date"
,
issueDateStart
);
queryWrapper
.
le
(
StringUtils
.
isNotBlank
(
issueDateEnd
),
"issue_date"
,
issueDateEnd
);
// 默认排序
queryWrapper
.
orderByDesc
(
"id"
);
return
queryWrapper
;
}
@Override
public
Page
<
PolicyVO
>
getPolicyVOPage
(
Page
<
Policy
>
policyPage
)
{
List
<
Policy
>
policyList
=
policyPage
.
getRecords
();
Page
<
PolicyVO
>
policyVOPage
=
new
Page
<>(
policyPage
.
getCurrent
(),
policyPage
.
getSize
(),
policyPage
.
getTotal
());
if
(
CollUtil
.
isEmpty
(
policyList
))
{
return
policyVOPage
;
}
// 填充信息
List
<
PolicyVO
>
policyVOList
=
policyList
.
stream
().
map
(
policy
->
{
PolicyVO
policyVO
=
PolicyVO
.
objToVo
(
policy
);
return
policyVO
;
}).
collect
(
Collectors
.
toList
());
policyVOPage
.
setRecords
(
policyVOList
);
return
policyVOPage
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/vo/PolicyVO.java
0 → 100644
View file @
3f4f3a48
package
com
.
yd
.
csf
.
service
.
vo
;
import
cn.hutool.json.JSONUtil
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yd.csf.service.model.Policy
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
public
class
PolicyVO
{
/**
* 保单业务ID
*/
@Schema
(
description
=
"保单业务ID"
)
private
String
policyBizId
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 用户业务id
*/
@Schema
(
description
=
"用户业务id"
)
private
String
userBizId
;
/**
* 产品代码
*/
@Schema
(
description
=
"产品代码"
)
private
String
productCode
;
/**
* 产品名称
*/
@Schema
(
description
=
"产品名称"
)
private
String
productName
;
/**
* 产品险种
*/
@Schema
(
description
=
"产品险种"
)
private
String
productCate
;
/**
* 保险公司
*/
@Schema
(
description
=
"保险公司"
)
private
String
insurer
;
/**
* 保险公司业务id
*/
@Schema
(
description
=
"保险公司业务id"
)
private
String
insurerBizId
;
/**
* 保單持有人
*/
@Schema
(
description
=
"保單持有人"
)
private
String
policyHolder
;
/**
* 受保人
*/
@Schema
(
description
=
"受保人"
)
private
String
insured
;
/**
* 供款年期
*/
@Schema
(
description
=
"供款年期"
)
private
Integer
paymentTerm
;
/**
* 期交保费
*/
@Schema
(
description
=
"期交保费"
)
private
BigDecimal
paymentPremium
;
/**
* 保单状态
*/
@Schema
(
description
=
"保单状态 生效中,保单失效,期满终止,已转出,退保,被拒保,取消申请 字典值:csf_policy_status"
)
private
String
status
;
/**
* 保单币种
*/
@Schema
(
description
=
"保单币种"
)
private
String
currency
;
/**
* 首期保费(不含徽费,预缴保费)
*/
@Schema
(
description
=
"首期保费(不含徽费,预缴保费)"
)
private
Integer
initialPremium
;
/**
* 签单日期
*/
@Schema
(
description
=
"签单日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
signDate
;
/**
* 缮发日期
*/
@Schema
(
description
=
"缮发日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
issueDate
;
/**
* 生效日期
*/
@Schema
(
description
=
"生效日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
effectiveDate
;
/**
* 续保日期
*/
@Schema
(
description
=
"续保日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
renewalDate
;
/**
* 是否预缴: 0-否, 1-是
*/
@Schema
(
description
=
"是否预缴: 0-否, 1-是"
)
private
Integer
isPrepaid
;
/**
* 预缴年期
*/
@Schema
(
description
=
"预缴年期"
)
private
Integer
prepaidTerm
;
/**
* 对账公司
*/
@Schema
(
description
=
"对账公司"
)
private
String
reconciliationCompany
;
/**
* 对账公司业务id
*/
@Schema
(
description
=
"对账公司业务id"
)
private
String
reconciliationCompanyBizId
;
/**
* 通用备注
*/
@Schema
(
description
=
"通用备注"
)
private
String
remark
;
/**
* 对象转包装类
*
* @param policy
* @return
*/
public
static
PolicyVO
objToVo
(
Policy
policy
)
{
if
(
policy
==
null
)
{
return
null
;
}
PolicyVO
policyVO
=
new
PolicyVO
();
BeanUtils
.
copyProperties
(
policy
,
policyVO
);
return
policyVO
;
}
}
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