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
d5c03ea8
Commit
d5c03ea8
authored
Jun 15, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
b13c26cf
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
160 additions
and
1 deletions
+160
-1
.idea/encodings.xml
+0
-1
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiCsfClientUserServiceImpl.java
+85
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/enums/ClientRoleEnum.java
+31
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/query/QueryCsfClientUserDTO.java
+28
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/ICsfClientUserService.java
+4
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CsfClientUserServiceImpl.java
+12
-0
No files found.
.idea/encodings.xml
View file @
d5c03ea8
...
...
@@ -5,7 +5,6 @@
<file
url=
"file://$PROJECT_DIR$/yd-csf-api/src/main/java"
charset=
"UTF-8"
/>
<file
url=
"file://$PROJECT_DIR$/yd-csf-api/src/main/resources"
charset=
"UTF-8"
/>
<file
url=
"file://$PROJECT_DIR$/yd-csf-feign/src/main/java"
charset=
"UTF-8"
/>
<file
url=
"file://$PROJECT_DIR$/yd-csf-feign/src/main/resources"
charset=
"UTF-8"
/>
<file
url=
"file://$PROJECT_DIR$/yd-csf-service/src/main/java"
charset=
"UTF-8"
/>
<file
url=
"file://$PROJECT_DIR$/yd-csf-service/src/main/resources"
charset=
"UTF-8"
/>
</component>
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiCsfClientUserServiceImpl.java
View file @
d5c03ea8
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ProjectEnum
;
import
com.yd.common.enums.TenantEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiCsfClientUserService
;
import
com.yd.csf.feign.dto.csfclientuser.ApiCsfClientUserDTO
;
import
com.yd.csf.feign.enums.ClientRoleEnum
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.service.dto.query.QueryCsfClientUserDTO
;
import
com.yd.csf.service.model.CsfClientUser
;
import
com.yd.csf.service.model.PolicyFollow
;
import
com.yd.csf.service.service.ICsfClientUserService
;
import
com.yd.user.feign.client.clientuser.ApiClientUserFeignClient
;
import
com.yd.user.feign.request.clientuser.ApiClientUserConditionListRequest
;
import
com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
public
class
ApiCsfClientUserServiceImpl
implements
ApiCsfClientUserService
{
@Resource
private
ICsfClientUserService
csfClientUserService
;
@Resource
private
ApiClientUserFeignClient
apiClientUserFeignClient
;
/**
* 分页查询-人员信息
* @param request
...
...
@@ -31,8 +60,64 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
* @return
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
add
(
ApiCsfClientUserAddRequest
request
)
{
if
(
request
.
getUserDTO
()
==
null
)
{
throw
new
BusinessException
(
"人员基本信息不能为空"
);
}
ApiCsfClientUserDTO
userDTO
=
request
.
getUserDTO
();
//校验手机号的唯一性
List
<
CsfClientUser
>
csfClientUserList
=
csfClientUserService
.
queryList
(
QueryCsfClientUserDTO
.
builder
()
.
phone
(
userDTO
.
getPhone
())
.
isMy
(
false
)
.
build
());
if
(
CollectionUtils
.
isNotEmpty
(
csfClientUserList
))
{
throw
new
BusinessException
(
"手机号已经存在"
);
}
//手机号+租户ID+项目ID->查询中心客户端用户表用户记录
ApiClientUserConditionListRequest
conditionListRequest
=
new
ApiClientUserConditionListRequest
();
//租户ID
conditionListRequest
.
setTenantBizId
(
TenantEnum
.
YD
.
getTenantBizId
());
//项目ID
conditionListRequest
.
setProjectBizId
(
ProjectEnum
.
CSF_PC
.
getProjectBizId
());
//手机号
conditionListRequest
.
setPhone
(
userDTO
.
getPhone
());
//手机号+租户ID+项目ID->查询中心客户端用户表用户记录
Result
<
List
<
ApiClientUserDetailResponse
>>
result
=
apiClientUserFeignClient
.
conditionList
(
conditionListRequest
);
ApiClientUserDetailResponse
response
=
null
;
if
(
result
.
getCode
()
==
200
&&
CollectionUtils
.
isNotEmpty
(
result
.
getData
()))
{
response
=
new
ApiClientUserDetailResponse
();
List
<
ApiClientUserDetailResponse
>
responses
=
result
.
getData
();
response
=
responses
.
get
(
0
);
}
//新增人员信息入库
CsfClientUser
csfClientUser
=
new
CsfClientUser
();
BeanUtils
.
copyProperties
(
userDTO
,
csfClientUser
);
if
(
response
!=
null
)
{
//中心用户记录不为空,获取中心用户ID保存
csfClientUser
.
setClientUserBizId
(
response
.
getClientUserBizId
());
}
else
{
//中心用户记录为空,远程调用接口->创建中心用户 TODO
}
csfClientUser
.
setCsfClientUserBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_CSF_CLIENT_USER
.
getCode
()));
//绑定的客户端角色表表唯一业务ID列表(多个分号分隔)
csfClientUser
.
setRoleBizIds
(
CollectionUtils
.
isNotEmpty
(
userDTO
.
getRoleBizIdList
())
?
String
.
join
(
";"
,
userDTO
.
getRoleBizIdList
())
:
""
);
//绑定的基本法配置表唯一业务ID列表(多个分号分隔)
csfClientUser
.
setRuleBizIds
(
CollectionUtils
.
isNotEmpty
(
userDTO
.
getRuleBizIdList
())
?
String
.
join
(
";"
,
userDTO
.
getRuleBizIdList
())
:
""
);
csfClientUserService
.
saveOrUpdate
(
csfClientUser
);
//根据选择的角色,对应更新相关的表(转介人表、签单员表、合伙人表等)
List
<
String
>
roleBizIdList
=
userDTO
.
getRoleBizIdList
();
if
(
roleBizIdList
!=
null
&&
roleBizIdList
.
contains
(
ClientRoleEnum
.
ZJR
.
getItemValue
()))
{
// 处理转介人逻辑 => 更新或新增转介人信息 TODO
}
if
(
roleBizIdList
!=
null
&&
roleBizIdList
.
contains
(
ClientRoleEnum
.
QDY
.
getItemValue
()))
{
// 处理签单员逻辑 => 更新或新增签单员信息 TODO
}
if
(
roleBizIdList
!=
null
&&
roleBizIdList
.
contains
(
ClientRoleEnum
.
HHR
.
getItemValue
()))
{
// 处理合伙人逻辑 TODO
}
return
null
;
}
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/enums/ClientRoleEnum.java
0 → 100644
View file @
d5c03ea8
package
com
.
yd
.
csf
.
feign
.
enums
;
/**
* CSF客户端用户角色表
*/
public
enum
ClientRoleEnum
{
ZJR
(
"转介人"
,
"1"
),
QDY
(
"签单员"
,
"2"
),
HHR
(
"合伙人"
,
"3"
),
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
String
itemValue
;
//构造函数
ClientRoleEnum
(
String
itemLabel
,
String
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
String
getItemValue
()
{
return
itemValue
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/query/QueryCsfClientUserDTO.java
0 → 100644
View file @
d5c03ea8
package
com
.
yd
.
csf
.
service
.
dto
.
query
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
QueryCsfClientUserDTO
{
/**
* CSF客户端用户表唯一业务ID
*/
private
String
csfClientUserBizId
;
/**
* 手机号
*/
private
String
phone
;
/**
* 是否排除本身
*/
private
Boolean
isMy
;
}
yd-csf-service/src/main/java/com/yd/csf/service/service/ICsfClientUserService.java
View file @
d5c03ea8
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.dto.query.QueryCsfClientUserDTO
;
import
com.yd.csf.service.model.CsfClientUser
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* CSF客户端用户表(中台客户端用户表的项目扩展表) 服务类
...
...
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
ICsfClientUserService
extends
IService
<
CsfClientUser
>
{
List
<
CsfClientUser
>
queryList
(
QueryCsfClientUserDTO
userDTO
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CsfClientUserServiceImpl.java
View file @
d5c03ea8
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yd.csf.service.dto.query.QueryCsfClientUserDTO
;
import
com.yd.csf.service.model.CsfClientUser
;
import
com.yd.csf.service.dao.CsfClientUserMapper
;
import
com.yd.csf.service.service.ICsfClientUserService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* CSF客户端用户表(中台客户端用户表的项目扩展表) 服务实现类
...
...
@@ -17,4 +22,11 @@ import org.springframework.stereotype.Service;
@Service
public
class
CsfClientUserServiceImpl
extends
ServiceImpl
<
CsfClientUserMapper
,
CsfClientUser
>
implements
ICsfClientUserService
{
@Override
public
List
<
CsfClientUser
>
queryList
(
QueryCsfClientUserDTO
userDTO
)
{
return
this
.
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CsfClientUser
>()
.
eq
(
StringUtils
.
isNotBlank
(
userDTO
.
getPhone
()),
CsfClientUser:
:
getPhone
,
userDTO
.
getPhone
())
.
ne
(
userDTO
.
getIsMy
(),
CsfClientUser:
:
getCsfClientUserBizId
,
userDTO
.
getCsfClientUserBizId
())
);
}
}
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