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
5e39e2ba
Commit
5e39e2ba
authored
Feb 28, 2026
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
客户信息-证件列表
parent
af728e2d
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
164 additions
and
17 deletions
+164
-17
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
+87
-4
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerAddRequest.java
+7
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerUpdateRequest.java
+7
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CustomerServiceImpl.java
+56
-13
yd-csf-service/src/main/java/com/yd/csf/service/vo/CustomerVO.java
+7
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
View file @
5e39e2ba
package
com
.
yd
.
csf
.
api
.
controller
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.base.feign.client.relobjectcertificate.ApiRelObjectCertificateFeignClient
;
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.csf.api.service.ApiTaxationService
;
import
com.yd.csf.feign.dto.taxation.ApiObjectTaxationDto
;
import
com.yd.csf.feign.dto.taxation.ApiTaxationDto
;
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.TaxCountry
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.model.Taxation
;
import
com.yd.csf.service.service.CustomerService
;
import
com.yd.csf.service.vo.CustomerVO
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* customer接口
...
...
@@ -34,6 +46,10 @@ public class ApiCustomerController {
@Resource
private
CustomerService
customerService
;
@Resource
private
ApiTaxationService
apiTaxationService
;
@Resource
private
ApiRelObjectCertificateFeignClient
apiRelObjectCertificateFeignClient
;
/**
* 创建客户
...
...
@@ -49,7 +65,27 @@ public class ApiCustomerController {
if
(
customerAddRequest
==
null
)
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
customerService
.
addCustomer
(
customerAddRequest
));
Map
<
String
,
Object
>
resultMap
=
customerService
.
addCustomer
(
customerAddRequest
);
String
customerBizId
=
(
String
)
resultMap
.
get
(
"customerBizId"
);
// 添加客户税务列表信息
if
(
CollUtil
.
isNotEmpty
(
customerAddRequest
.
getApiTaxationDtoList
()))
{
List
<
ApiTaxationDto
>
apiTaxationDtoList
=
customerAddRequest
.
getApiTaxationDtoList
().
stream
().
map
(
d
->
{
ApiTaxationDto
apiTaxationDto
=
new
ApiTaxationDto
();
apiTaxationDto
.
setTaxCountry
(
d
.
getTaxCountry
());
apiTaxationDto
.
setTaxId
(
d
.
getTaxId
());
return
apiTaxationDto
;
}).
collect
(
Collectors
.
toList
());
apiTaxationService
.
saveTaxationList
(
ApiObjectTaxationDto
.
builder
()
.
objectBizId
(
customerBizId
)
.
objectName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getName
())
.
objectTableName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
apiTaxationDtoList
(
apiTaxationDtoList
)
.
build
());
}
return
Result
.
success
(
resultMap
);
}
/**
...
...
@@ -87,11 +123,33 @@ public class ApiCustomerController {
*/
@PostMapping
(
"/update"
)
@Operation
(
summary
=
"更新客户信息"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
Boolean
>
updateCustomer
(
@RequestBody
CustomerUpdateRequest
customerUpdateRequest
)
{
if
(
customerUpdateRequest
==
null
||
customerUpdateRequest
.
getCustomerBizId
()
==
null
)
{
String
customerBizId
=
customerUpdateRequest
.
getCustomerBizId
();
if
(
ObjectUtils
.
isEmpty
(
customerBizId
))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
customerService
.
updateCustomer
(
customerUpdateRequest
));
boolean
result
=
customerService
.
updateCustomer
(
customerUpdateRequest
);
// 添加客户税务列表信息
if
(
CollUtil
.
isNotEmpty
(
customerUpdateRequest
.
getApiTaxationDtoList
()))
{
List
<
ApiTaxationDto
>
apiTaxationDtoList
=
customerUpdateRequest
.
getApiTaxationDtoList
().
stream
().
map
(
d
->
{
ApiTaxationDto
apiTaxationDto
=
new
ApiTaxationDto
();
apiTaxationDto
.
setTaxCountry
(
d
.
getTaxCountry
());
apiTaxationDto
.
setTaxId
(
d
.
getTaxId
());
return
apiTaxationDto
;
}).
collect
(
Collectors
.
toList
());
apiTaxationService
.
saveTaxationList
(
ApiObjectTaxationDto
.
builder
()
.
objectBizId
(
customerBizId
)
.
objectName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getName
())
.
objectTableName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
apiTaxationDtoList
(
apiTaxationDtoList
)
.
build
());
}
return
Result
.
success
(
result
);
}
/**
...
...
@@ -115,7 +173,32 @@ public class ApiCustomerController {
customerService
.
queryDependentsNum
(
customer
);
// 获取封装类
return
Result
.
success
(
customerService
.
getCustomerVO
(
customer
));
CustomerVO
customerVO
=
customerService
.
getCustomerVO
(
customer
);
// 查询税务列表信息
customerVO
.
setApiTaxationDtoList
(
apiTaxationDtoList
(
customerBizId
));
return
Result
.
success
(
customerVO
);
}
/**
* 查询税务列表信息
* @param customerBizId
* @return
*/
public
List
<
TaxCountry
>
apiTaxationDtoList
(
String
customerBizId
)
{
List
<
TaxCountry
>
apiTaxationDtoList
=
new
ArrayList
<>();
//查询客户税务列表信息
Result
<
List
<
Taxation
>>
listResult
=
apiTaxationService
.
list
(
ApiObjectTaxationDto
.
builder
().
objectBizId
(
customerBizId
).
build
());
if
(!
CollUtil
.
isEmpty
(
listResult
.
getData
()))
{
apiTaxationDtoList
=
listResult
.
getData
().
stream
().
map
(
d
->
{
TaxCountry
taxCountry
=
new
TaxCountry
();
taxCountry
.
setTaxCountry
(
d
.
getTaxCountry
());
taxCountry
.
setTaxId
(
d
.
getTaxId
());
return
taxCountry
;
}).
collect
(
Collectors
.
toList
());
}
return
apiTaxationDtoList
;
}
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerAddRequest.java
View file @
5e39e2ba
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.yd.base.feign.dto.ApiCertificateDto
;
import
com.yd.csf.service.vo.AddressVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
@@ -141,6 +142,12 @@ public class CustomerAddRequest implements Serializable {
private
List
<
TaxCountry
>
apiTaxationDtoList
;
/**
* 证件信息列表
*/
@Schema
(
description
=
"证件信息列表"
)
private
List
<
ApiCertificateDto
>
apiCertificateDtoList
;
/**
* 移动电话区号
*/
@Schema
(
description
=
"移动电话区号"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerUpdateRequest.java
View file @
5e39e2ba
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.yd.base.feign.dto.ApiCertificateDto
;
import
com.yd.csf.service.vo.AddressVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
@@ -87,6 +88,12 @@ public class CustomerUpdateRequest implements Serializable {
private
List
<
TaxCountry
>
apiTaxationDtoList
;
/**
* 证件信息列表
*/
@Schema
(
description
=
"证件信息列表"
)
private
List
<
ApiCertificateDto
>
apiCertificateDtoList
;
/**
* 吸烟情况(字典)
*/
@Schema
(
description
=
"吸烟情况(字典)"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CustomerServiceImpl.java
View file @
5e39e2ba
...
...
@@ -8,8 +8,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
import
com.yd.base.feign.client.relobjectcertificate.ApiRelObjectCertificateFeignClient
;
import
com.yd.base.feign.dto.ApiCertificateDto
;
import
com.yd.base.feign.request.relobjectcertificate.ApiRelObjectCertificateListAddRequest
;
import
com.yd.base.feign.request.relobjectcertificate.ApiRelObjectCertificateListRequest
;
import
com.yd.base.feign.response.relobjectcertificate.ApiRelObjectCertificateListResponse
;
import
com.yd.common.enums.CommonEnum
;
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.dao.CustomerMapper
;
...
...
@@ -25,11 +31,9 @@ import com.yd.csf.service.utils.ValidateUtil;
import
com.yd.csf.service.vo.AddressVO
;
import
com.yd.csf.service.vo.CustomerVO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.*
;
...
...
@@ -55,10 +59,36 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
@Resource
private
FnaFormService
fnaFormService
;
@Resource
private
ApiRelObjectCertificateFeignClient
apiRelObjectCertificateFeignClient
;
@Override
public
CustomerVO
getCustomerVO
(
Customer
customer
)
{
return
CustomerVO
.
objToVo
(
customer
);
CustomerVO
customerVO
=
CustomerVO
.
objToVo
(
customer
);
// 查询证件列表信息
customerVO
.
setApiCertificateDtoList
(
apiCertificateDtoList
(
customerVO
.
getCustomerBizId
()));
return
customerVO
;
}
/**
* 查询证件列表信息
* @param customerBizId
* @return
*/
public
List
<
ApiCertificateDto
>
apiCertificateDtoList
(
String
customerBizId
)
{
List
<
ApiCertificateDto
>
apiCertificateDtoList
=
new
ArrayList
<>();
//查询客户证件列表信息
Result
<
List
<
ApiRelObjectCertificateListResponse
>>
result
=
apiRelObjectCertificateFeignClient
.
list
(
ApiRelObjectCertificateListRequest
.
builder
()
.
objectBizId
(
customerBizId
)
.
build
());
if
(!
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
result
.
getData
()))
{
apiCertificateDtoList
=
result
.
getData
().
stream
().
map
(
dto
->
{
ApiCertificateDto
apiCertificateDto
=
new
ApiCertificateDto
();
BeanUtils
.
copyProperties
(
dto
,
apiCertificateDto
);
return
apiCertificateDto
;
}).
collect
(
Collectors
.
toList
());
}
return
apiCertificateDtoList
;
}
@Override
...
...
@@ -109,7 +139,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Map
<
String
,
Object
>
addCustomer
(
CustomerAddRequest
customerAddRequest
)
{
// 校验 请求 对象中,参数是否全部为空
if
(
ValidateUtil
.
isAllFieldsNull
(
customerAddRequest
))
{
...
...
@@ -122,10 +151,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
if
(
CollUtil
.
isNotEmpty
(
customerAddRequest
.
getAddressList
()))
{
customer
.
setAddressList
(
GSON
.
toJson
(
customerAddRequest
.
getAddressList
()));
}
// 税务国家列表
if
(
CollUtil
.
isNotEmpty
(
customerAddRequest
.
getApiTaxationDtoList
()))
{
customer
.
setTaxList
(
GSON
.
toJson
(
customerAddRequest
.
getApiTaxationDtoList
()));
}
// 校验客户主表信息
validCustomer
(
customer
);
...
...
@@ -136,6 +161,17 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
throw
new
BusinessException
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
}
// 添加客户证件列表信息
if
(
CollUtil
.
isNotEmpty
(
customerAddRequest
.
getApiCertificateDtoList
()))
{
apiRelObjectCertificateFeignClient
.
addRelObjectCertificateList
(
ApiRelObjectCertificateListAddRequest
.
builder
()
.
objectBizId
(
customer
.
getCustomerBizId
())
.
objectName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getName
())
.
objectTableName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
apiCertificateDtoList
(
customerAddRequest
.
getApiCertificateDtoList
())
.
build
());
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"customerBizId"
,
customer
.
getCustomerBizId
());
return
map
;
...
...
@@ -158,7 +194,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateCustomer
(
CustomerUpdateRequest
customerUpdateRequest
)
{
// 判断是否存在
String
customerBizId
=
customerUpdateRequest
.
getCustomerBizId
();
...
...
@@ -168,10 +203,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
}
BeanUtils
.
copyProperties
(
customerUpdateRequest
,
oldCustomer
,
"customerBizId"
);
// 税务国家列表
if
(
CollUtil
.
isNotEmpty
(
customerUpdateRequest
.
getApiTaxationDtoList
()))
{
oldCustomer
.
setTaxList
(
GSON
.
toJson
(
customerUpdateRequest
.
getApiTaxationDtoList
()));
}
// 地址列表
if
(
CollUtil
.
isNotEmpty
(
customerUpdateRequest
.
getAddressList
()))
{
oldCustomer
.
setAddressList
(
GSON
.
toJson
(
customerUpdateRequest
.
getAddressList
()));
...
...
@@ -183,6 +214,18 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
if
(
StringUtils
.
isNotBlank
(
customerUpdateRequest
.
getNamePyEn
()))
{
fnaService
.
updateCustomerNameByCustomerBizId
(
customerUpdateRequest
.
getNamePyEn
(),
customerBizId
);
}
// 添加客户证件列表信息
if
(
CollUtil
.
isNotEmpty
(
customerUpdateRequest
.
getApiCertificateDtoList
()))
{
apiRelObjectCertificateFeignClient
.
addRelObjectCertificateList
(
ApiRelObjectCertificateListAddRequest
.
builder
()
.
objectBizId
(
customerBizId
)
.
objectName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getName
())
.
objectTableName
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
())
.
apiCertificateDtoList
(
customerUpdateRequest
.
getApiCertificateDtoList
())
.
build
());
}
return
true
;
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CustomerVO.java
View file @
5e39e2ba
package
com
.
yd
.
csf
.
service
.
vo
;
import
com.google.gson.reflect.TypeToken
;
import
com.yd.base.feign.dto.ApiCertificateDto
;
import
com.yd.csf.service.dto.TaxCountry
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.utils.GSONUtil
;
...
...
@@ -99,6 +100,12 @@ public class CustomerVO implements Serializable {
private
List
<
TaxCountry
>
apiTaxationDtoList
;
/**
* 证件信息列表
*/
@Schema
(
description
=
"证件信息列表"
)
private
List
<
ApiCertificateDto
>
apiCertificateDtoList
;
/**
* 吸烟情况(字典)
*/
@Schema
(
description
=
"吸烟情况(字典)"
)
...
...
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