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
8a825e4f
Commit
8a825e4f
authored
Jul 01, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
5cc763ef
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
755 additions
and
4 deletions
+755
-4
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCsfClientUserController.java
+23
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAgentManageRelationService.java
+9
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiCsfClientUserService.java
+7
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAgentManageRelationServiceImpl.java
+27
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiCsfClientUserServiceImpl.java
+310
-1
yd-csf-feign/src/main/java/com/yd/csf/feign/client/csfclientuser/ApiCsfClientUserFeignClient.java
+19
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/agentmanagerelation/ApiAgentManageUserDTO.java
+22
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/csfclientuser/ApiCsfClientUserDTO.java
+1
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/firstlevel/ApiFirstLevelDTO.java
+68
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/org/ApiCsfClientUserOrgDTO.java
+11
-1
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/second/ApiSecondLevelDTO.java
+67
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/csfclientuser/ApiCsfClientUserFeignFallbackFactory.java
+21
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/csfclientuser/ApiCsfClientUserEditRequest.java
+37
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/csfclientuser/ApiCsfClientUserPageRequest.java
+7
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/csfclientuser/ApiCsfClientUserTreeListRequest.java
+12
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/csfclientuser/ApiCsfClientUserPageResponse.java
+10
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/csfclientuser/ApiCsfClientUserTreeListResponse.java
+14
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/csfclientuser/ApiManageTreeResponse.java
+37
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/AgentManageRelationMapper.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/AgentManageRelation.java
+14
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/IAgentManageRelationService.java
+4
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AgentManageRelationServiceImpl.java
+7
-0
yd-csf-service/src/main/resources/mappers/AgentManageRelationMapper.xml
+15
-0
yd-csf-service/src/main/resources/mappers/CsfClientUserMapper.xml
+8
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCsfClientUserController.java
View file @
8a825e4f
...
@@ -5,9 +5,12 @@ import com.yd.common.result.Result;
...
@@ -5,9 +5,12 @@ import com.yd.common.result.Result;
import
com.yd.csf.api.service.ApiCsfClientUserService
;
import
com.yd.csf.api.service.ApiCsfClientUserService
;
import
com.yd.csf.feign.client.csfclientuser.ApiCsfClientUserFeignClient
;
import
com.yd.csf.feign.client.csfclientuser.ApiCsfClientUserFeignClient
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserEditRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserTreeListRequest
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserTreeListResponse
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
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
;
...
@@ -29,6 +32,16 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient {
...
@@ -29,6 +32,16 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient {
private
ApiCsfClientUserService
apiCsfClientUserService
;
private
ApiCsfClientUserService
apiCsfClientUserService
;
/**
/**
* 查询-左边人员信息树列表(组织架构管理树形列表)
* @param request
* @return
*/
@Override
public
Result
<
ApiCsfClientUserTreeListResponse
>
treeList
(
ApiCsfClientUserTreeListRequest
request
)
{
return
apiCsfClientUserService
.
treeList
(
request
);
}
/**
* 分页查询-人员信息
* 分页查询-人员信息
* @param request
* @param request
* @return
* @return
...
@@ -58,5 +71,15 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient {
...
@@ -58,5 +71,15 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient {
return
apiCsfClientUserService
.
add
(
request
);
return
apiCsfClientUserService
.
add
(
request
);
}
}
/**
* 编辑-人员信息
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiCsfClientUserEditRequest
request
)
{
return
apiCsfClientUserService
.
edit
(
request
);
}
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAgentManageRelationService.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
api
.
service
;
import
com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO
;
import
java.util.List
;
public
interface
ApiAgentManageRelationService
{
List
<
ApiAgentManageUserDTO
>
queryApiAgentManageUserDTO
(
String
name
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiCsfClientUserService.java
View file @
8a825e4f
...
@@ -3,14 +3,21 @@ package com.yd.csf.api.service;
...
@@ -3,14 +3,21 @@ 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.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserEditRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserTreeListRequest
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserTreeListResponse
;
public
interface
ApiCsfClientUserService
{
public
interface
ApiCsfClientUserService
{
Result
<
ApiCsfClientUserTreeListResponse
>
treeList
(
ApiCsfClientUserTreeListRequest
request
);
Result
<
IPage
<
ApiCsfClientUserPageResponse
>>
page
(
ApiCsfClientUserPageRequest
request
);
Result
<
IPage
<
ApiCsfClientUserPageResponse
>>
page
(
ApiCsfClientUserPageRequest
request
);
Result
<
ApiCsfClientUserDetailResponse
>
detail
(
String
csfClientUserBizId
);
Result
<
ApiCsfClientUserDetailResponse
>
detail
(
String
csfClientUserBizId
);
Result
edit
(
ApiCsfClientUserEditRequest
request
);
Result
add
(
ApiCsfClientUserAddRequest
request
);
Result
add
(
ApiCsfClientUserAddRequest
request
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAgentManageRelationServiceImpl.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.yd.csf.api.service.ApiAgentManageRelationService
;
import
com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO
;
import
com.yd.csf.service.service.IAgentManageRelationService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
@Service
@Slf4j
public
class
ApiAgentManageRelationServiceImpl
implements
ApiAgentManageRelationService
{
@Resource
private
IAgentManageRelationService
iAgentManageRelationService
;
/**
* 查询用户和管理关系数据
* @param name 姓名
* @return
*/
@Override
public
List
<
ApiAgentManageUserDTO
>
queryApiAgentManageUserDTO
(
String
name
)
{
return
iAgentManageRelationService
.
queryApiAgentManageUserList
(
name
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiCsfClientUserServiceImpl.java
View file @
8a825e4f
...
@@ -8,21 +8,29 @@ import com.yd.common.enums.TenantEnum;
...
@@ -8,21 +8,29 @@ import com.yd.common.enums.TenantEnum;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.TreeUtils
;
import
com.yd.csf.api.service.*
;
import
com.yd.csf.api.service.*
;
import
com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO
;
import
com.yd.csf.feign.dto.clientrole.ApiClientRoleDTO
;
import
com.yd.csf.feign.dto.clientrole.ApiClientRoleDTO
;
import
com.yd.csf.feign.dto.csfclientuser.ApiCsfClientUserDTO
;
import
com.yd.csf.feign.dto.csfclientuser.ApiCsfClientUserDTO
;
import
com.yd.csf.feign.dto.firstlevel.ApiFirstLevelDTO
;
import
com.yd.csf.feign.dto.org.ApiCsfClientUserOrgDTO
;
import
com.yd.csf.feign.dto.org.ApiCsfClientUserOrgDTO
;
import
com.yd.csf.feign.dto.referrer.ApiReferrerDTO
;
import
com.yd.csf.feign.dto.referrer.ApiReferrerDTO
;
import
com.yd.csf.feign.dto.rule.ApiRuleDTO
;
import
com.yd.csf.feign.dto.rule.ApiRuleDTO
;
import
com.yd.csf.feign.dto.second.ApiSecondLevelDTO
;
import
com.yd.csf.feign.dto.tutor.ApiTutorDTO
;
import
com.yd.csf.feign.dto.tutor.ApiTutorDTO
;
import
com.yd.csf.feign.dto.userbank.ApiCsfClientUserBankDTO
;
import
com.yd.csf.feign.dto.userbank.ApiCsfClientUserBankDTO
;
import
com.yd.csf.feign.enums.ClientRoleEnum
;
import
com.yd.csf.feign.enums.ClientRoleEnum
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserEditRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserTreeListRequest
;
import
com.yd.csf.feign.request.fyc.ApiInitAgentAccumulatedFycRequest
;
import
com.yd.csf.feign.request.fyc.ApiInitAgentAccumulatedFycRequest
;
import
com.yd.csf.feign.request.rulebind.ApiCommissionRuleBindingRequest
;
import
com.yd.csf.feign.request.rulebind.ApiCommissionRuleBindingRequest
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserTreeListResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiManageTreeResponse
;
import
com.yd.csf.service.dto.query.QueryCsfClientUserDTO
;
import
com.yd.csf.service.dto.query.QueryCsfClientUserDTO
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.service.*
;
import
com.yd.csf.service.service.*
;
...
@@ -35,6 +43,7 @@ import com.yd.user.feign.request.clientuser.ApiClientUserConditionListRequest;
...
@@ -35,6 +43,7 @@ import com.yd.user.feign.request.clientuser.ApiClientUserConditionListRequest;
import
com.yd.user.feign.request.clientuser.ApiClientUserSaveRequest
;
import
com.yd.user.feign.request.clientuser.ApiClientUserSaveRequest
;
import
com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse
;
import
com.yd.user.feign.response.clientuser.ApiClientUserDetailResponse
;
import
com.yd.user.feign.response.clientuser.ApiClientUserSaveResponse
;
import
com.yd.user.feign.response.clientuser.ApiClientUserSaveResponse
;
import
com.yd.user.feign.response.sysmenu.ApiSysMenuTreeListResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -71,6 +80,9 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -71,6 +80,9 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
private
ApiAgentReferralRelationService
apiAgentReferralRelationService
;
private
ApiAgentReferralRelationService
apiAgentReferralRelationService
;
@Resource
@Resource
private
ApiAgentManageRelationService
apiAgentManageRelationService
;
@Resource
private
IClientRoleService
iClientRoleService
;
private
IClientRoleService
iClientRoleService
;
@Resource
@Resource
...
@@ -86,6 +98,12 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -86,6 +98,12 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
private
IAgentReferralRelationService
iAgentReferralRelationService
;
private
IAgentReferralRelationService
iAgentReferralRelationService
;
@Resource
@Resource
private
IAgentManageRelationService
iAgentManageRelationService
;
@Resource
private
ITeamService
iTeamService
;
@Resource
private
ApiClientUserFeignClient
apiClientUserFeignClient
;
private
ApiClientUserFeignClient
apiClientUserFeignClient
;
@Resource
@Resource
...
@@ -95,6 +113,68 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -95,6 +113,68 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
private
ApiUserSignExpandFeignClient
apiUserSignExpandFeignClient
;
private
ApiUserSignExpandFeignClient
apiUserSignExpandFeignClient
;
/**
/**
* 查询-左边人员信息树列表(组织架构管理树形列表)
* @param request
* @return
*/
@Override
public
Result
<
ApiCsfClientUserTreeListResponse
>
treeList
(
ApiCsfClientUserTreeListRequest
request
)
{
//姓名模糊搜索管理和人员关系数据列表
List
<
ApiAgentManageUserDTO
>
userDTOList
=
apiAgentManageRelationService
.
queryApiAgentManageUserDTO
(
request
.
getName
());
if
(
CollectionUtils
.
isEmpty
(
userDTOList
))
{
return
Result
.
success
();
}
//userDTOList转化成List<ApiManageTreeResponse> apiManageTreeResponseList
List
<
ApiManageTreeResponse
>
apiManageTreeResponseList
=
userDTOList
.
stream
()
.
map
(
dto
->
{
ApiManageTreeResponse
response
=
new
ApiManageTreeResponse
();
BeanUtils
.
copyProperties
(
dto
,
response
);
return
response
;
}).
collect
(
Collectors
.
toList
());
//构建树列表
List
<
ApiManageTreeResponse
>
treeList
=
TreeUtils
.
buildTree
(
apiManageTreeResponseList
,
ApiManageTreeResponse:
:
getAgentId
,
// 获取节点ID
ApiManageTreeResponse:
:
getPid
,
// 获取父节点ID
(
parent
,
children
)
->
parent
.
setChildren
(
children
),
// 设置子节点
"0"
// 根节点的父ID值
);
// 填充每个节点的 childrenAgentIdList(所有后代ID)
fillChildrenAgentIds
(
treeList
);
ApiCsfClientUserTreeListResponse
response
=
new
ApiCsfClientUserTreeListResponse
();
response
.
setApiManageTreeResponseList
(
treeList
);
return
Result
.
success
(
response
);
}
/**
* 递归收集子级人员ID
* @param treeList
*/
private
void
fillChildrenAgentIds
(
List
<
ApiManageTreeResponse
>
treeList
)
{
for
(
ApiManageTreeResponse
node
:
treeList
)
{
List
<
String
>
allChildIds
=
new
ArrayList
<>();
collectAllChildrenIds
(
node
,
allChildIds
);
node
.
setChildrenAgentIdList
(
allChildIds
);
// 递归处理子节点
if
(
node
.
getChildren
()
!=
null
&&
!
node
.
getChildren
().
isEmpty
())
{
fillChildrenAgentIds
(
node
.
getChildren
());
}
}
}
private
void
collectAllChildrenIds
(
ApiManageTreeResponse
node
,
List
<
String
>
ids
)
{
if
(
node
.
getChildren
()
!=
null
)
{
for
(
ApiManageTreeResponse
child
:
node
.
getChildren
())
{
ids
.
add
(
child
.
getAgentId
());
collectAllChildrenIds
(
child
,
ids
);
// 继续收集孙节点
}
}
}
/**
* 分页查询-人员信息
* 分页查询-人员信息
* @param request
* @param request
* @return
* @return
...
@@ -287,6 +367,89 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -287,6 +367,89 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
}
}
/**
/**
* 编辑-人员信息
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiCsfClientUserEditRequest
request
)
{
ApiCsfClientUserDTO
userDTO
=
request
.
getUserDTO
();
if
(
userDTO
==
null
)
{
throw
new
BusinessException
(
"人员基本信息入参对象不能为空"
);
}
//查询人员信息是否存在
CsfClientUser
csfClientUser
=
csfClientUserService
.
lambdaQuery
()
.
eq
(
CsfClientUser:
:
getCsfClientUserBizId
,
request
.
getCsfClientUserBizId
())
.
last
(
" limit 1 "
)
.
one
();
if
(
csfClientUser
==
null
)
{
throw
new
BusinessException
(
"人员信息不存在"
);
}
BeanUtils
.
copyProperties
(
userDTO
,
csfClientUser
);
//校验入参的所属团队和一级管理人所属团队是否匹配
checkTeam
(
request
.
getOrgDTO
(),
csfClientUser
.
getTeamBizId
());
//更新绑定的角色ID列表
//绑定的客户端角色表表唯一业务ID列表(多个分号分隔)
List
<
String
>
roleBizIdList
=
userDTO
.
getRoleDTOList
().
stream
()
.
filter
(
d
->
StringUtils
.
isNotBlank
(
d
.
getRoleBizId
()))
.
map
(
ApiClientRoleDTO:
:
getRoleBizId
)
.
collect
(
Collectors
.
toList
());
csfClientUser
.
setRoleBizIds
(
CollectionUtils
.
isNotEmpty
(
roleBizIdList
)
?
String
.
join
(
";"
,
roleBizIdList
)
:
""
);
//更新绑定的基本法ID列表
//绑定的基本法配置表唯一业务ID列表(多个分号分隔)
List
<
String
>
ruleBizIdList
=
userDTO
.
getRuleDTOList
().
stream
()
.
filter
(
d
->
StringUtils
.
isNotBlank
(
d
.
getRuleBizId
()))
.
map
(
ApiRuleDTO:
:
getRuleBizId
)
.
collect
(
Collectors
.
toList
());
csfClientUser
.
setRuleBizIds
(
CollectionUtils
.
isNotEmpty
(
ruleBizIdList
)
?
String
.
join
(
";"
,
ruleBizIdList
)
:
""
);
csfClientUserService
.
saveOrUpdate
(
csfClientUser
);
//根据绑定的基本法配置,新增基本法绑定表记录
ApiCommissionRuleBindingRequest
bindingRequest
=
new
ApiCommissionRuleBindingRequest
();
bindingRequest
.
setTargetId
(
csfClientUser
.
getClientUserBizId
());
bindingRequest
.
setTargetName
(
csfClientUser
.
getName
());
bindingRequest
.
setTargetType
(
"AGENT"
);
bindingRequest
.
setStatus
(
1
);
bindingRequest
.
setRuleBizIdList
(
roleBizIdList
);
apiCommissionRuleBindingService
.
saveCommissionRuleBinding
(
bindingRequest
);
//根据选择的角色,对应更新相关的表(转介人表、签单员表、合伙人表等)
if
(
roleBizIdList
!=
null
&&
roleBizIdList
.
contains
(
ClientRoleEnum
.
ZJR
.
getItemValue
()))
{
// 处理转介人逻辑 => 更新或新增转介人信息 => 远程调用保险基础数据服务保存转介人表信息
ApiUserSaleExpandSaveRequest
saleExpandSaveRequest
=
new
ApiUserSaleExpandSaveRequest
();
BeanUtils
.
copyProperties
(
csfClientUser
,
saleExpandSaveRequest
);
saleExpandSaveRequest
.
setRealName
(
csfClientUser
.
getName
());
saleExpandSaveRequest
.
setClientUserBizId
(
csfClientUser
.
getClientUserBizId
());
try
{
apiUserSaleExpandFeignClient
.
save
(
saleExpandSaveRequest
);
}
catch
(
Exception
e
){
log
.
info
(
"处理转介人逻辑 => 更新或新增转介人信息 => 远程调用保险基础数据服务保存转介人表信息失败:{}"
,
e
.
getMessage
());
throw
new
BusinessException
(
e
.
getMessage
());
}
}
if
(
roleBizIdList
!=
null
&&
roleBizIdList
.
contains
(
ClientRoleEnum
.
QDY
.
getItemValue
()))
{
// 处理签单员逻辑 => 更新或新增签单员信息 => 远程调用保险基础数据服务保存签单员表信息
ApiUserSignExpandSaveRequest
signExpandSaveRequest
=
new
ApiUserSignExpandSaveRequest
();
BeanUtils
.
copyProperties
(
csfClientUser
,
signExpandSaveRequest
);
signExpandSaveRequest
.
setRealName
(
csfClientUser
.
getName
());
signExpandSaveRequest
.
setClientUserBizId
(
csfClientUser
.
getClientUserBizId
());
try
{
apiUserSignExpandFeignClient
.
save
(
signExpandSaveRequest
);
}
catch
(
Exception
e
){
log
.
info
(
"处理转介人逻辑 => 更新或新增转介人信息 => 远程调用保险基础数据服务保存签单员表信息失败:{}"
,
e
.
getMessage
());
throw
new
BusinessException
(
e
.
getMessage
());
}
}
if
(
roleBizIdList
!=
null
&&
roleBizIdList
.
contains
(
ClientRoleEnum
.
HHR
.
getItemValue
()))
{
// 处理合伙人逻辑 TODO
}
return
Result
.
success
();
}
/**
* 新增-人员信息
* 新增-人员信息
* @param request
* @param request
* @return
* @return
...
@@ -297,6 +460,9 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -297,6 +460,9 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
if
(
request
.
getUserDTO
()
==
null
)
{
if
(
request
.
getUserDTO
()
==
null
)
{
throw
new
BusinessException
(
"人员基本信息不能为空"
);
throw
new
BusinessException
(
"人员基本信息不能为空"
);
}
}
if
(
request
.
getOrgDTO
()
==
null
)
{
request
.
setOrgDTO
(
new
ApiCsfClientUserOrgDTO
());
}
ApiCsfClientUserDTO
userDTO
=
request
.
getUserDTO
();
ApiCsfClientUserDTO
userDTO
=
request
.
getUserDTO
();
//校验手机号的唯一性
//校验手机号的唯一性
List
<
CsfClientUser
>
csfClientUserList
=
csfClientUserService
.
queryList
(
QueryCsfClientUserDTO
.
builder
()
List
<
CsfClientUser
>
csfClientUserList
=
csfClientUserService
.
queryList
(
QueryCsfClientUserDTO
.
builder
()
...
@@ -325,6 +491,10 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -325,6 +491,10 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
//新增人员信息入库
//新增人员信息入库
CsfClientUser
csfClientUser
=
new
CsfClientUser
();
CsfClientUser
csfClientUser
=
new
CsfClientUser
();
BeanUtils
.
copyProperties
(
userDTO
,
csfClientUser
);
BeanUtils
.
copyProperties
(
userDTO
,
csfClientUser
);
//校验入参的所属团队和一级管理人所属团队是否匹配
checkTeam
(
request
.
getOrgDTO
(),
csfClientUser
.
getTeamBizId
());
if
(
response
!=
null
)
{
if
(
response
!=
null
)
{
//中心用户记录不为空,获取中心用户ID保存
//中心用户记录不为空,获取中心用户ID保存
csfClientUser
.
setClientUserBizId
(
response
.
getClientUserBizId
());
csfClientUser
.
setClientUserBizId
(
response
.
getClientUserBizId
());
...
@@ -368,6 +538,34 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -368,6 +538,34 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
.
map
(
ApiRuleDTO:
:
getRuleBizId
)
.
map
(
ApiRuleDTO:
:
getRuleBizId
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
csfClientUser
.
setRuleBizIds
(
CollectionUtils
.
isNotEmpty
(
ruleBizIdList
)
?
String
.
join
(
";"
,
ruleBizIdList
)
:
""
);
csfClientUser
.
setRuleBizIds
(
CollectionUtils
.
isNotEmpty
(
ruleBizIdList
)
?
String
.
join
(
";"
,
ruleBizIdList
)
:
""
);
//当一级和二级都没有选择,说明是顶级根节点。那么所属团队不是选择,而是录入的团队名称。此时该人员是团队负责人,团队名称就是录入的名称。并且同步一份数据到团队表中
List
<
ApiFirstLevelDTO
>
firstLevelDTOList
=
request
.
getOrgDTO
().
getFirstLevelDTOList
();
List
<
ApiSecondLevelDTO
>
secondLevelDTOList
=
request
.
getOrgDTO
().
getSecondLevelDTOList
();
if
(
CollectionUtils
.
isEmpty
(
firstLevelDTOList
)
&&
CollectionUtils
.
isEmpty
(
secondLevelDTOList
))
{
//保存团队信息
Team
team
=
iTeamService
.
lambdaQuery
()
.
eq
(
Team:
:
getTeamLeaderId
,
csfClientUser
.
getClientUserBizId
())
.
last
(
" limit 1 "
).
one
();
if
(
team
!=
null
)
{
//更新团队名称即可
team
.
setTeamName
(
userDTO
.
getTeamName
());
iTeamService
.
saveOrUpdate
(
team
);
}
else
{
//新增团队信息
Team
team1
=
new
Team
();
team1
.
setTeamName
(
userDTO
.
getTeamName
());
team1
.
setPid
(
"0"
);
team1
.
setTeamBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_TEAM
.
getCode
()));
//TODO 团队编码
// team1.setTeamCode();
//团队长
team1
.
setTeamLeaderId
(
csfClientUser
.
getClientUserBizId
());
team1
.
setTeamLevel
(
1
);
iTeamService
.
saveOrUpdate
(
team1
);
csfClientUser
.
setTeamBizId
(
team1
.
getTeamBizId
());
}
}
csfClientUserService
.
saveOrUpdate
(
csfClientUser
);
csfClientUserService
.
saveOrUpdate
(
csfClientUser
);
//根据初始化职级,fyc表(业务员累计积分表 - 存储业务员的累计FYC积分和当前等级信息)新增初始化记录
//根据初始化职级,fyc表(业务员累计积分表 - 存储业务员的累计FYC积分和当前等级信息)新增初始化记录
...
@@ -438,8 +636,119 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
...
@@ -438,8 +636,119 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
//处理推荐关系
//处理推荐关系
apiAgentReferralRelationService
.
saveAgentReferralRelationList
(
orgDTO
.
getReferrerDTOList
(),
csfClientUser
);
apiAgentReferralRelationService
.
saveAgentReferralRelationList
(
orgDTO
.
getReferrerDTOList
(),
csfClientUser
);
//处理一级和二级关系 TODO
//处理一级和二级关系
//判断一级列表和二级列表是否都为空,如果都为空,说明当前人员作为根节点(顶级)。
if
(
CollectionUtils
.
isEmpty
(
orgDTO
.
getFirstLevelDTOList
())
&&
CollectionUtils
.
isEmpty
(
orgDTO
.
getSecondLevelDTOList
()))
{
//根节点
AgentManageRelation
agentManageRelation
=
new
AgentManageRelation
();
agentManageRelation
.
setManageBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_AGENT_MANAGE_RELATION
.
getCode
()));
agentManageRelation
.
setAgentId
(
csfClientUser
.
getClientUserBizId
());
agentManageRelation
.
setIsActive
(
1
);
//一级管理人ID和二级管理人ID、父级人员ID为空
//新增人员管理关系数据
iAgentManageRelationService
.
saveOrUpdate
(
agentManageRelation
);
}
else
if
(
CollectionUtils
.
isNotEmpty
(
orgDTO
.
getFirstLevelDTOList
())
&&
CollectionUtils
.
isEmpty
(
orgDTO
.
getSecondLevelDTOList
()))
{
//一级不为空并且二级为空
//校验一级管理人是否有上级,如果有,则提示校验:必须传入一级管理人的上级(二级管理人)
List
<
ApiFirstLevelDTO
>
firstLevelDTOList
=
orgDTO
.
getFirstLevelDTOList
();
ApiFirstLevelDTO
firstLevelDTO
=
firstLevelDTOList
.
get
(
0
);
//查询一级管理关系信息
AgentManageRelation
agentManageRelation
=
iAgentManageRelationService
.
lambdaQuery
()
.
eq
(
AgentManageRelation:
:
getAgentId
,
firstLevelDTO
.
getClientUserBizId
())
.
last
(
" limit 1 "
)
.
one
();
if
(
agentManageRelation
==
null
)
{
throw
new
BusinessException
(
"一级管理关系信息不存在"
);
}
if
(
StringUtils
.
isNotBlank
(
agentManageRelation
.
getPid
()))
{
throw
new
BusinessException
(
"一级管理人存在上级管理人,所以二级管理人必须传值"
);
}
//校验一级人员是否离职
if
(
firstLevelDTO
.
getEmploymentStatus
().
equals
(
"1"
))
{
throw
new
BusinessException
(
"一级管理人已离职,请重新选择一级管理人"
);
}
//一级管理没有上级=>当前二级管理人就是当前一级管理人
//新增当前人员关系数据
AgentManageRelation
manageRelation
=
new
AgentManageRelation
();
manageRelation
.
setManageBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_AGENT_MANAGE_RELATION
.
getCode
()));
manageRelation
.
setAgentId
(
csfClientUser
.
getClientUserBizId
());
manageRelation
.
setManageId
(
agentManageRelation
.
getAgentId
());
//二级管理人ID => 根据需求,如果一级管理人没有上级,那么二级就是默认是一级管理人作为二级
manageRelation
.
setSManageId
(
agentManageRelation
.
getSManageId
());
manageRelation
.
setPid
(
agentManageRelation
.
getAgentId
());
manageRelation
.
setIsActive
(
1
);
iAgentManageRelationService
.
saveOrUpdate
(
manageRelation
);
}
else
if
(
CollectionUtils
.
isNotEmpty
(
orgDTO
.
getFirstLevelDTOList
())
&&
CollectionUtils
.
isNotEmpty
(
orgDTO
.
getSecondLevelDTOList
()))
{
//一二级都不为空
List
<
ApiFirstLevelDTO
>
firstLevelDTOList
=
orgDTO
.
getFirstLevelDTOList
();
ApiFirstLevelDTO
firstLevelDTO
=
firstLevelDTOList
.
get
(
0
);
//查询一级管理关系信息
AgentManageRelation
agentManageRelation
=
iAgentManageRelationService
.
lambdaQuery
()
.
eq
(
AgentManageRelation:
:
getAgentId
,
firstLevelDTO
.
getClientUserBizId
())
.
last
(
" limit 1 "
)
.
one
();
if
(
agentManageRelation
==
null
)
{
throw
new
BusinessException
(
"一级管理关系信息不存在"
);
}
List
<
ApiSecondLevelDTO
>
secondLevelDTOList
=
orgDTO
.
getSecondLevelDTOList
();
ApiSecondLevelDTO
secondLevelDTO
=
secondLevelDTOList
.
get
(
0
);
//查询二级管理关系信息
AgentManageRelation
sAgentManageRelation
=
iAgentManageRelationService
.
lambdaQuery
()
.
eq
(
AgentManageRelation:
:
getAgentId
,
secondLevelDTO
.
getClientUserBizId
())
.
last
(
" limit 1 "
)
.
one
();
if
(
sAgentManageRelation
==
null
)
{
throw
new
BusinessException
(
"二级管理关系信息不存在"
);
}
//校验入参的二级管理人必须和一级管理人的上级是同一个人
if
(!
secondLevelDTO
.
getClientUserBizId
().
equals
(
agentManageRelation
.
getPid
()))
{
//不是同一个人
throw
new
BusinessException
(
"入参的二级管理人必须和一级管理人的上级是同一个人"
);
}
//校验一级管理人是否离职
if
(
firstLevelDTO
.
getEmploymentStatus
().
equals
(
"1"
))
{
throw
new
BusinessException
(
"一级管理人已离职,请重新选择一级管理人"
);
}
//校验二级管理人是否离职
if
(
secondLevelDTO
.
getEmploymentStatus
().
equals
(
"1"
))
{
throw
new
BusinessException
(
"二级管理人已离职,请重新选择一级管理人或者一级管理人做组织迁移"
);
}
//新增当前人员关系数据
AgentManageRelation
manageRelation
=
new
AgentManageRelation
();
manageRelation
.
setManageBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_AGENT_MANAGE_RELATION
.
getCode
()));
manageRelation
.
setAgentId
(
csfClientUser
.
getClientUserBizId
());
//一级管理人ID
manageRelation
.
setManageId
(
firstLevelDTO
.
getClientUserBizId
());
//二级管理人ID
manageRelation
.
setSManageId
(
secondLevelDTO
.
getClientUserBizId
());
//父级ID = 一级管理人ID
manageRelation
.
setPid
(
firstLevelDTO
.
getClientUserBizId
());
manageRelation
.
setIsActive
(
1
);
iAgentManageRelationService
.
saveOrUpdate
(
manageRelation
);
}
return
Result
.
success
();
return
Result
.
success
();
}
}
/**
* 校验入参的所属团队和一级管理人所属团队是否匹配
* @param orgDTO
* @param teamBizId
*/
public
void
checkTeam
(
ApiCsfClientUserOrgDTO
orgDTO
,
String
teamBizId
)
{
//必须是选择了一级管理,才作为校验基础
List
<
ApiFirstLevelDTO
>
firstLevelDTOList
=
orgDTO
.
getFirstLevelDTOList
();
if
(
CollectionUtils
.
isEmpty
(
firstLevelDTOList
))
{
return
;
}
ApiFirstLevelDTO
apiFirstLevelDTO
=
firstLevelDTOList
.
get
(
0
);
if
(!
apiFirstLevelDTO
.
getTeamBizId
().
equals
(
teamBizId
))
{
//入参的所属团队和一级管理人所属团队不匹配,提示。
throw
new
BusinessException
(
"所属团队和一级管理人所属团队必须一致,请重新选择"
);
}
}
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/csfclientuser/ApiCsfClientUserFeignClient.java
View file @
8a825e4f
...
@@ -3,9 +3,12 @@ package com.yd.csf.feign.client.csfclientuser;
...
@@ -3,9 +3,12 @@ package com.yd.csf.feign.client.csfclientuser;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.fallback.csfclientuser.ApiCsfClientUserFeignFallbackFactory
;
import
com.yd.csf.feign.fallback.csfclientuser.ApiCsfClientUserFeignFallbackFactory
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserEditRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserTreeListRequest
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserTreeListResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
@@ -22,6 +25,14 @@ import javax.validation.constraints.NotBlank;
...
@@ -22,6 +25,14 @@ import javax.validation.constraints.NotBlank;
public
interface
ApiCsfClientUserFeignClient
{
public
interface
ApiCsfClientUserFeignClient
{
/**
/**
* 查询-左边人员信息树列表(组织架构管理树形列表)
* @param request
* @return
*/
@PostMapping
(
"/tree/list"
)
Result
<
ApiCsfClientUserTreeListResponse
>
treeList
(
@Validated
@RequestBody
ApiCsfClientUserTreeListRequest
request
);
/**
* 分页查询-人员信息
* 分页查询-人员信息
* @param request
* @param request
* @return
* @return
...
@@ -44,4 +55,12 @@ public interface ApiCsfClientUserFeignClient {
...
@@ -44,4 +55,12 @@ public interface ApiCsfClientUserFeignClient {
*/
*/
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
Result
add
(
@Validated
@RequestBody
ApiCsfClientUserAddRequest
request
);
Result
add
(
@Validated
@RequestBody
ApiCsfClientUserAddRequest
request
);
/**
* 编辑-人员信息
* @param request
* @return
*/
@PostMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiCsfClientUserEditRequest
request
);
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/agentmanagerelation/ApiAgentManageUserDTO.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
dto
.
agentmanagerelation
;
import
lombok.Data
;
@Data
public
class
ApiAgentManageUserDTO
{
/**
* 被管理人姓名
*/
private
String
name
;
/**
* 被管理人ID(中台客户端中心用户表唯一业务ID)
*/
private
String
agentId
;
/**
* 父级管理人ID(中台客户端中心用户表唯一业务ID)
*/
private
String
pid
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/csfclientuser/ApiCsfClientUserDTO.java
View file @
8a825e4f
...
@@ -60,6 +60,7 @@ public class ApiCsfClientUserDTO {
...
@@ -60,6 +60,7 @@ public class ApiCsfClientUserDTO {
/**
/**
* 所属团队名称
* 所属团队名称
*/
*/
@NotBlank
(
message
=
"所属团队名称不能为空"
)
private
String
teamName
;
private
String
teamName
;
/**
/**
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/firstlevel/ApiFirstLevelDTO.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
dto
.
firstlevel
;
import
lombok.Data
;
@Data
public
class
ApiFirstLevelDTO
{
/**
* 中台客户端用户表唯一业务ID(客户端用户中心表)
*/
private
String
clientUserBizId
;
/**
* 姓名
*/
private
String
name
;
/**
* 性别(0:未知 1:男 2:女)
*/
private
String
gender
;
/**
* 等级编码
*/
private
String
gradeCode
;
/**
* 等级名称
*/
private
String
gradeName
;
/**
* 手机号
*/
private
String
phone
;
/**
* 邮箱
*/
private
String
email
;
/**
* 内部编号
*/
private
String
internalNumber
;
/**
* 团队表唯一业务ID
*/
private
String
teamBizId
;
/**
* 所属团队名称
*/
private
String
teamName
;
/**
* 所属公司名称(中台部门名称)
*/
private
String
deptName
;
/**
* 在职状态: 0-在职, 1-离职
*/
private
String
employmentStatus
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/org/ApiCsfClientUserOrgDTO.java
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
dto
.
org
;
package
com
.
yd
.
csf
.
feign
.
dto
.
org
;
import
com.yd.csf.feign.dto.firstlevel.ApiFirstLevelDTO
;
import
com.yd.csf.feign.dto.referrer.ApiReferrerDTO
;
import
com.yd.csf.feign.dto.referrer.ApiReferrerDTO
;
import
com.yd.csf.feign.dto.second.ApiSecondLevelDTO
;
import
com.yd.csf.feign.dto.tutor.ApiTutorDTO
;
import
com.yd.csf.feign.dto.tutor.ApiTutorDTO
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -8,7 +10,15 @@ import java.util.List;
...
@@ -8,7 +10,15 @@ import java.util.List;
@Data
@Data
public
class
ApiCsfClientUserOrgDTO
{
public
class
ApiCsfClientUserOrgDTO
{
//TODO 一级和二级关系待定
/**
* 一级管理用户列表
*/
private
List
<
ApiFirstLevelDTO
>
firstLevelDTOList
;
/**
* 二级管理用户列表
*/
private
List
<
ApiSecondLevelDTO
>
secondLevelDTOList
;
/**
/**
* 辅导人的客户端用户列表
* 辅导人的客户端用户列表
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/second/ApiSecondLevelDTO.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
dto
.
second
;
import
lombok.Data
;
@Data
public
class
ApiSecondLevelDTO
{
/**
* 中台客户端用户表唯一业务ID(客户端用户中心表)
*/
private
String
clientUserBizId
;
/**
* 姓名
*/
private
String
name
;
/**
* 性别(0:未知 1:男 2:女)
*/
private
String
gender
;
/**
* 等级编码
*/
private
String
gradeCode
;
/**
* 等级名称
*/
private
String
gradeName
;
/**
* 手机号
*/
private
String
phone
;
/**
* 邮箱
*/
private
String
email
;
/**
* 内部编号
*/
private
String
internalNumber
;
/**
* 团队表唯一业务ID
*/
private
String
teamBizId
;
/**
* 所属团队名称
*/
private
String
teamName
;
/**
* 所属公司名称(中台部门名称)
*/
private
String
deptName
;
/**
* 在职状态: 0-在职, 1-离职
*/
private
String
employmentStatus
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/csfclientuser/ApiCsfClientUserFeignFallbackFactory.java
View file @
8a825e4f
...
@@ -3,11 +3,17 @@ package com.yd.csf.feign.fallback.csfclientuser;
...
@@ -3,11 +3,17 @@ package com.yd.csf.feign.fallback.csfclientuser;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.csfclientuser.ApiCsfClientUserFeignClient
;
import
com.yd.csf.feign.client.csfclientuser.ApiCsfClientUserFeignClient
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserAddRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserEditRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest
;
import
com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserTreeListRequest
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse
;
import
com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserTreeListResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
/**
* 香港保险服务-CSF客户端用户信息Feign降级处理
* 香港保险服务-CSF客户端用户信息Feign降级处理
*/
*/
...
@@ -18,14 +24,29 @@ public class ApiCsfClientUserFeignFallbackFactory implements FallbackFactory<Api
...
@@ -18,14 +24,29 @@ public class ApiCsfClientUserFeignFallbackFactory implements FallbackFactory<Api
public
ApiCsfClientUserFeignClient
create
(
Throwable
cause
)
{
public
ApiCsfClientUserFeignClient
create
(
Throwable
cause
)
{
return
new
ApiCsfClientUserFeignClient
()
{
return
new
ApiCsfClientUserFeignClient
()
{
@Override
@Override
public
Result
<
ApiCsfClientUserTreeListResponse
>
treeList
(
ApiCsfClientUserTreeListRequest
request
)
{
return
null
;
}
@Override
public
Result
page
(
ApiCsfClientUserPageRequest
request
)
{
public
Result
page
(
ApiCsfClientUserPageRequest
request
)
{
return
null
;
return
null
;
}
}
@Override
@Override
public
Result
<
ApiCsfClientUserDetailResponse
>
detail
(
String
csfClientUserBizId
)
{
return
null
;
}
@Override
public
Result
add
(
ApiCsfClientUserAddRequest
request
)
{
public
Result
add
(
ApiCsfClientUserAddRequest
request
)
{
return
null
;
return
null
;
}
}
@Override
public
Result
edit
(
ApiCsfClientUserEditRequest
request
)
{
return
null
;
}
};
};
}
}
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/csfclientuser/ApiCsfClientUserEditRequest.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
request
.
csfclientuser
;
import
com.yd.csf.feign.dto.csfclientuser.ApiCsfClientUserDTO
;
import
com.yd.csf.feign.dto.org.ApiCsfClientUserOrgDTO
;
import
com.yd.csf.feign.dto.userbank.ApiCsfClientUserBankDTO
;
import
lombok.Data
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
@Data
public
class
ApiCsfClientUserEditRequest
{
/**
* CSF客户端用户表唯一业务ID
*/
@NotBlank
(
message
=
"CSF客户端用户表唯一业务ID不能为空"
)
private
String
csfClientUserBizId
;
/**
* 人员基本信息
*/
@Valid
private
ApiCsfClientUserDTO
userDTO
;
/**
* 人员银行信息列表
*/
private
List
<
ApiCsfClientUserBankDTO
>
bankDTOList
;
/**
* 组织信息
*/
private
ApiCsfClientUserOrgDTO
orgDTO
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/csfclientuser/ApiCsfClientUserPageRequest.java
View file @
8a825e4f
...
@@ -2,6 +2,8 @@ package com.yd.csf.feign.request.csfclientuser;
...
@@ -2,6 +2,8 @@ package com.yd.csf.feign.request.csfclientuser;
import
com.yd.common.dto.PageDto
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
import
java.util.List
;
@Data
@Data
...
@@ -51,4 +53,9 @@ public class ApiCsfClientUserPageRequest extends PageDto {
...
@@ -51,4 +53,9 @@ public class ApiCsfClientUserPageRequest extends PageDto {
* 基本法配置表唯一业务ID列表(可多选搜索筛选)
* 基本法配置表唯一业务ID列表(可多选搜索筛选)
*/
*/
private
List
<
String
>
ruleBizIdList
;
private
List
<
String
>
ruleBizIdList
;
/**
* 当前用户ID和子级用户ID列表(对应agentId)
*/
private
List
<
String
>
thisAndChildrenAgentIdList
;
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/csfclientuser/ApiCsfClientUserTreeListRequest.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
request
.
csfclientuser
;
import
lombok.Data
;
@Data
public
class
ApiCsfClientUserTreeListRequest
{
/**
* 姓名
*/
private
String
name
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/csfclientuser/ApiCsfClientUserPageResponse.java
View file @
8a825e4f
...
@@ -7,6 +7,16 @@ import java.util.List;
...
@@ -7,6 +7,16 @@ import java.util.List;
public
class
ApiCsfClientUserPageResponse
{
public
class
ApiCsfClientUserPageResponse
{
/**
/**
* CSF客户端用户表唯一业务ID
*/
private
String
csfClientUserBizId
;
/**
* 中台客户端用户表唯一业务ID(客户端用户中心表)
*/
private
String
clientUserBizId
;
/**
* 姓名
* 姓名
*/
*/
private
String
name
;
private
String
name
;
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/response/csfclientuser/ApiCsfClientUserTreeListResponse.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
response
.
csfclientuser
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ApiCsfClientUserTreeListResponse
{
/**
* 人员树列表(管理树)
*/
private
List
<
ApiManageTreeResponse
>
apiManageTreeResponseList
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/csfclientuser/ApiManageTreeResponse.java
0 → 100644
View file @
8a825e4f
package
com
.
yd
.
csf
.
feign
.
response
.
csfclientuser
;
import
lombok.Data
;
import
java.util.List
;
/**
* 组织管理架构对象
*/
@Data
public
class
ApiManageTreeResponse
{
/**
* 被管理人姓名
*/
private
String
name
;
/**
* 被管理人ID(中台客户端中心用户表唯一业务ID)
*/
private
String
agentId
;
/**
* 父级管理人ID(中台客户端中心用户表唯一业务ID)
*/
private
String
pid
;
/**
* 当前所有子级人员ID列表
*/
private
List
<
String
>
childrenAgentIdList
;
/**
* 子级管理人员列表
*/
private
List
<
ApiManageTreeResponse
>
children
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/AgentManageRelationMapper.java
View file @
8a825e4f
package
com
.
yd
.
csf
.
service
.
dao
;
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO
;
import
com.yd.csf.service.model.AgentManageRelation
;
import
com.yd.csf.service.model.AgentManageRelation
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
*/
public
interface
AgentManageRelationMapper
extends
BaseMapper
<
AgentManageRelation
>
{
public
interface
AgentManageRelationMapper
extends
BaseMapper
<
AgentManageRelation
>
{
List
<
ApiAgentManageUserDTO
>
queryApiAgentManageUserList
(
@Param
(
"name"
)
String
name
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/model/AgentManageRelation.java
View file @
8a825e4f
...
@@ -35,18 +35,30 @@ public class AgentManageRelation implements Serializable {
...
@@ -35,18 +35,30 @@ public class AgentManageRelation implements Serializable {
private
String
manageBizId
;
private
String
manageBizId
;
/**
/**
* 被管理人ID(客户端用户表唯一业务ID)
* 父级管理人ID
*/
@TableField
(
"pid"
)
private
String
pid
;
/**
* 被管理人ID(中台客户端中心用户唯一业务ID)
*/
*/
@TableField
(
"agent_id"
)
@TableField
(
"agent_id"
)
private
String
agentId
;
private
String
agentId
;
/**
/**
*
管理人ID(客户端用户表唯一业务ID,是被管理人的一级管理人
)
*
一级管理人ID(中台客户端中心用户唯一业务ID
)
*/
*/
@TableField
(
"manage_id"
)
@TableField
(
"manage_id"
)
private
String
manageId
;
private
String
manageId
;
/**
/**
* 二级管理人ID(中台客户端中心用户唯一业务ID)
*/
@TableField
(
"s_manage_id"
)
private
String
sManageId
;
/**
* 管理路径(用于快速查询关系链)
* 管理路径(用于快速查询关系链)
*/
*/
@TableField
(
"manage_path"
)
@TableField
(
"manage_path"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/IAgentManageRelationService.java
View file @
8a825e4f
package
com
.
yd
.
csf
.
service
.
service
;
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO
;
import
com.yd.csf.service.model.AgentManageRelation
;
import
com.yd.csf.service.model.AgentManageRelation
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 管理关系表((团队的形成来自这张表,谁在最高级就是团长)) 服务类
* 管理关系表((团队的形成来自这张表,谁在最高级就是团长)) 服务类
...
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
IAgentManageRelationService
extends
IService
<
AgentManageRelation
>
{
public
interface
IAgentManageRelationService
extends
IService
<
AgentManageRelation
>
{
List
<
ApiAgentManageUserDTO
>
queryApiAgentManageUserList
(
String
name
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AgentManageRelationServiceImpl.java
View file @
8a825e4f
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO
;
import
com.yd.csf.service.model.AgentManageRelation
;
import
com.yd.csf.service.model.AgentManageRelation
;
import
com.yd.csf.service.dao.AgentManageRelationMapper
;
import
com.yd.csf.service.dao.AgentManageRelationMapper
;
import
com.yd.csf.service.service.IAgentManageRelationService
;
import
com.yd.csf.service.service.IAgentManageRelationService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 管理关系表((团队的形成来自这张表,谁在最高级就是团长)) 服务实现类
* 管理关系表((团队的形成来自这张表,谁在最高级就是团长)) 服务实现类
...
@@ -17,4 +20,8 @@ import org.springframework.stereotype.Service;
...
@@ -17,4 +20,8 @@ import org.springframework.stereotype.Service;
@Service
@Service
public
class
AgentManageRelationServiceImpl
extends
ServiceImpl
<
AgentManageRelationMapper
,
AgentManageRelation
>
implements
IAgentManageRelationService
{
public
class
AgentManageRelationServiceImpl
extends
ServiceImpl
<
AgentManageRelationMapper
,
AgentManageRelation
>
implements
IAgentManageRelationService
{
@Override
public
List
<
ApiAgentManageUserDTO
>
queryApiAgentManageUserList
(
String
name
)
{
return
this
.
baseMapper
.
queryApiAgentManageUserList
(
name
);
}
}
}
yd-csf-service/src/main/resources/mappers/AgentManageRelationMapper.xml
View file @
8a825e4f
...
@@ -2,4 +2,19 @@
...
@@ -2,4 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.AgentManageRelationMapper"
>
<mapper
namespace=
"com.yd.csf.service.dao.AgentManageRelationMapper"
>
<select
id=
"queryApiAgentManageUserList"
resultType=
"com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO"
>
select
ccu.name,
amr.agent_id,
amr.pid
from agent_manage_relation amr
left join csf_client_user ccu on amr.agent_id = ccu.client_user_biz_id and ccu.is_deleted = 0
<where>
<if
test=
"name != null and name != ''"
>
and ccu.name like concat('%', #{name}, '%')
</if>
and amr.is_deleted = 0
</where>
</select>
</mapper>
</mapper>
yd-csf-service/src/main/resources/mappers/CsfClientUserMapper.xml
View file @
8a825e4f
...
@@ -4,6 +4,8 @@
...
@@ -4,6 +4,8 @@
<select
id=
"page"
resultType=
"com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse"
>
<select
id=
"page"
resultType=
"com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse"
>
SELECT
SELECT
u.csf_client_user_biz_id,
u.client_user_biz_id,
u.name,
u.name,
u.gender,
u.gender,
u.current_grade_code AS currentGradeCode,
u.current_grade_code AS currentGradeCode,
...
@@ -72,6 +74,12 @@
...
@@ -72,6 +74,12 @@
</foreach>
</foreach>
)
)
</if>
</if>
<if
test=
"request.thisAndChildrenAgentIdList != null and request.thisAndChildrenAgentIdList.size > 0"
>
AND u.client_user_biz_id IN
<foreach
collection=
"request.thisAndChildrenAgentIdList"
item=
"agentId"
open=
"("
separator=
","
close=
")"
>
#{agentId}
</foreach>
</if>
ORDER BY u.id DESC
ORDER BY u.id DESC
</select>
</select>
...
...
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