Commit 8a825e4f by zhangxingmin

push

parent 5cc763ef
......@@ -5,9 +5,12 @@ import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiCsfClientUserService;
import com.yd.csf.feign.client.csfclientuser.ApiCsfClientUserFeignClient;
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.ApiCsfClientUserTreeListRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse;
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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -29,6 +32,16 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient {
private ApiCsfClientUserService apiCsfClientUserService;
/**
* 查询-左边人员信息树列表(组织架构管理树形列表)
* @param request
* @return
*/
@Override
public Result<ApiCsfClientUserTreeListResponse> treeList(ApiCsfClientUserTreeListRequest request) {
return apiCsfClientUserService.treeList(request);
}
/**
* 分页查询-人员信息
* @param request
* @return
......@@ -58,5 +71,15 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient {
return apiCsfClientUserService.add(request);
}
/**
* 编辑-人员信息
* @param request
* @return
*/
@Override
public Result edit(ApiCsfClientUserEditRequest request) {
return apiCsfClientUserService.edit(request);
}
}
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);
}
......@@ -3,14 +3,21 @@ package com.yd.csf.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
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.ApiCsfClientUserTreeListRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserTreeListResponse;
public interface ApiCsfClientUserService {
Result<ApiCsfClientUserTreeListResponse> treeList(ApiCsfClientUserTreeListRequest request);
Result<IPage<ApiCsfClientUserPageResponse>> page(ApiCsfClientUserPageRequest request);
Result<ApiCsfClientUserDetailResponse> detail(String csfClientUserBizId);
Result edit(ApiCsfClientUserEditRequest request);
Result add(ApiCsfClientUserAddRequest request);
}
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);
}
}
......@@ -3,9 +3,12 @@ package com.yd.csf.feign.client.csfclientuser;
import com.yd.common.result.Result;
import com.yd.csf.feign.fallback.csfclientuser.ApiCsfClientUserFeignFallbackFactory;
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.ApiCsfClientUserTreeListRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -22,6 +25,14 @@ import javax.validation.constraints.NotBlank;
public interface ApiCsfClientUserFeignClient {
/**
* 查询-左边人员信息树列表(组织架构管理树形列表)
* @param request
* @return
*/
@PostMapping("/tree/list")
Result<ApiCsfClientUserTreeListResponse> treeList(@Validated @RequestBody ApiCsfClientUserTreeListRequest request);
/**
* 分页查询-人员信息
* @param request
* @return
......@@ -44,4 +55,12 @@ public interface ApiCsfClientUserFeignClient {
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiCsfClientUserAddRequest request);
/**
* 编辑-人员信息
* @param request
* @return
*/
@PostMapping("/edit")
Result edit(@Validated @RequestBody ApiCsfClientUserEditRequest request);
}
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;
}
......@@ -60,6 +60,7 @@ public class ApiCsfClientUserDTO {
/**
* 所属团队名称
*/
@NotBlank(message = "所属团队名称不能为空")
private String teamName;
/**
......
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;
}
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.second.ApiSecondLevelDTO;
import com.yd.csf.feign.dto.tutor.ApiTutorDTO;
import lombok.Data;
import java.util.List;
......@@ -8,7 +10,15 @@ import java.util.List;
@Data
public class ApiCsfClientUserOrgDTO {
//TODO 一级和二级关系待定
/**
* 一级管理用户列表
*/
private List<ApiFirstLevelDTO> firstLevelDTOList;
/**
* 二级管理用户列表
*/
private List<ApiSecondLevelDTO> secondLevelDTOList;
/**
* 辅导人的客户端用户列表
......
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;
}
......@@ -3,11 +3,17 @@ package com.yd.csf.feign.fallback.csfclientuser;
import com.yd.common.result.Result;
import com.yd.csf.feign.client.csfclientuser.ApiCsfClientUserFeignClient;
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.ApiCsfClientUserTreeListRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserTreeListResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import javax.validation.constraints.NotBlank;
/**
* 香港保险服务-CSF客户端用户信息Feign降级处理
*/
......@@ -18,14 +24,29 @@ public class ApiCsfClientUserFeignFallbackFactory implements FallbackFactory<Api
public ApiCsfClientUserFeignClient create(Throwable cause) {
return new ApiCsfClientUserFeignClient() {
@Override
public Result<ApiCsfClientUserTreeListResponse> treeList(ApiCsfClientUserTreeListRequest request) {
return null;
}
@Override
public Result page(ApiCsfClientUserPageRequest request) {
return null;
}
@Override
public Result<ApiCsfClientUserDetailResponse> detail(String csfClientUserBizId) {
return null;
}
@Override
public Result add(ApiCsfClientUserAddRequest request) {
return null;
}
@Override
public Result edit(ApiCsfClientUserEditRequest request) {
return null;
}
};
}
}
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;
}
......@@ -2,6 +2,8 @@ package com.yd.csf.feign.request.csfclientuser;
import com.yd.common.dto.PageDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
......@@ -51,4 +53,9 @@ public class ApiCsfClientUserPageRequest extends PageDto {
* 基本法配置表唯一业务ID列表(可多选搜索筛选)
*/
private List<String> ruleBizIdList;
/**
* 当前用户ID和子级用户ID列表(对应agentId)
*/
private List<String> thisAndChildrenAgentIdList;
}
package com.yd.csf.feign.request.csfclientuser;
import lombok.Data;
@Data
public class ApiCsfClientUserTreeListRequest {
/**
* 姓名
*/
private String name;
}
......@@ -7,6 +7,16 @@ import java.util.List;
public class ApiCsfClientUserPageResponse {
/**
* CSF客户端用户表唯一业务ID
*/
private String csfClientUserBizId;
/**
* 中台客户端用户表唯一业务ID(客户端用户中心表)
*/
private String clientUserBizId;
/**
* 姓名
*/
private String name;
......
package com.yd.csf.feign.response.csfclientuser;
import lombok.Data;
import java.util.List;
@Data
public class ApiCsfClientUserTreeListResponse {
/**
* 人员树列表(管理树)
*/
private List<ApiManageTreeResponse> apiManageTreeResponseList;
}
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;
}
package com.yd.csf.service.dao;
import com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO;
import com.yd.csf.service.model.AgentManageRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
......@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface AgentManageRelationMapper extends BaseMapper<AgentManageRelation> {
List<ApiAgentManageUserDTO> queryApiAgentManageUserList(@Param("name") String name);
}
......@@ -35,18 +35,30 @@ public class AgentManageRelation implements Serializable {
private String manageBizId;
/**
* 被管理人ID(客户端用户表唯一业务ID)
* 父级管理人ID
*/
@TableField("pid")
private String pid;
/**
* 被管理人ID(中台客户端中心用户唯一业务ID)
*/
@TableField("agent_id")
private String agentId;
/**
* 管理人ID(客户端用户表唯一业务ID,是被管理人的一级管理人
* 一级管理人ID(中台客户端中心用户唯一业务ID
*/
@TableField("manage_id")
private String manageId;
/**
* 二级管理人ID(中台客户端中心用户唯一业务ID)
*/
@TableField("s_manage_id")
private String sManageId;
/**
* 管理路径(用于快速查询关系链)
*/
@TableField("manage_path")
......
package com.yd.csf.service.service;
import com.yd.csf.feign.dto.agentmanagerelation.ApiAgentManageUserDTO;
import com.yd.csf.service.model.AgentManageRelation;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 管理关系表((团队的形成来自这张表,谁在最高级就是团长)) 服务类
......@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IAgentManageRelationService extends IService<AgentManageRelation> {
List<ApiAgentManageUserDTO> queryApiAgentManageUserList(String name);
}
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.dao.AgentManageRelationMapper;
import com.yd.csf.service.service.IAgentManageRelationService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 管理关系表((团队的形成来自这张表,谁在最高级就是团长)) 服务实现类
......@@ -17,4 +20,8 @@ import org.springframework.stereotype.Service;
@Service
public class AgentManageRelationServiceImpl extends ServiceImpl<AgentManageRelationMapper, AgentManageRelation> implements IAgentManageRelationService {
@Override
public List<ApiAgentManageUserDTO> queryApiAgentManageUserList(String name) {
return this.baseMapper.queryApiAgentManageUserList(name);
}
}
......@@ -2,4 +2,19 @@
<!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">
<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>
......@@ -4,6 +4,8 @@
<select id="page" resultType="com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse">
SELECT
u.csf_client_user_biz_id,
u.client_user_biz_id,
u.name,
u.gender,
u.current_grade_code AS currentGradeCode,
......@@ -72,6 +74,12 @@
</foreach>
)
</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
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment