Commit d5c03ea8 by zhangxingmin

push

parent b13c26cf
...@@ -5,7 +5,6 @@ ...@@ -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/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-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/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/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-csf-service/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/yd-csf-service/src/main/resources" charset="UTF-8" />
</component> </component>
......
package com.yd.csf.api.service.impl; package com.yd.csf.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiCsfClientUserService; 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.ApiCsfClientUserAddRequest;
import com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest; import com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse; 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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; 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 @Slf4j
@Service @Service
public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService { public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
@Resource
private ICsfClientUserService csfClientUserService;
@Resource
private ApiClientUserFeignClient apiClientUserFeignClient;
/** /**
* 分页查询-人员信息 * 分页查询-人员信息
* @param request * @param request
...@@ -31,8 +60,64 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService { ...@@ -31,8 +60,64 @@ public class ApiCsfClientUserServiceImpl implements ApiCsfClientUserService {
* @return * @return
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Result add(ApiCsfClientUserAddRequest request) { 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; return null;
} }
......
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;
}
}
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;
}
package com.yd.csf.service.service; package com.yd.csf.service.service;
import com.yd.csf.service.dto.query.QueryCsfClientUserDTO;
import com.yd.csf.service.model.CsfClientUser; import com.yd.csf.service.model.CsfClientUser;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* CSF客户端用户表(中台客户端用户表的项目扩展表) 服务类 * CSF客户端用户表(中台客户端用户表的项目扩展表) 服务类
...@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface ICsfClientUserService extends IService<CsfClientUser> { public interface ICsfClientUserService extends IService<CsfClientUser> {
List<CsfClientUser> queryList(QueryCsfClientUserDTO userDTO);
} }
package com.yd.csf.service.service.impl; 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.model.CsfClientUser;
import com.yd.csf.service.dao.CsfClientUserMapper; import com.yd.csf.service.dao.CsfClientUserMapper;
import com.yd.csf.service.service.ICsfClientUserService; import com.yd.csf.service.service.ICsfClientUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* CSF客户端用户表(中台客户端用户表的项目扩展表) 服务实现类 * CSF客户端用户表(中台客户端用户表的项目扩展表) 服务实现类
...@@ -17,4 +22,11 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +22,11 @@ import org.springframework.stereotype.Service;
@Service @Service
public class CsfClientUserServiceImpl extends ServiceImpl<CsfClientUserMapper, CsfClientUser> implements ICsfClientUserService { 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())
);
}
} }
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