Commit 5cc763ef by zhangxingmin

push

parent d5c03ea8
...@@ -6,11 +6,13 @@ import com.yd.csf.api.service.ApiCsfClientUserService; ...@@ -6,11 +6,13 @@ 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.ApiCsfClientUserPageRequest; import com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest;
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 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;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotBlank;
/** /**
* CSF客户端用户信息接口 * CSF客户端用户信息接口
...@@ -37,6 +39,16 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient { ...@@ -37,6 +39,16 @@ public class ApiCsfClientUserController implements ApiCsfClientUserFeignClient {
} }
/** /**
* 详情-人员信息
* @param csfClientUserBizId
* @return
*/
@Override
public Result<ApiCsfClientUserDetailResponse> detail(String csfClientUserBizId) {
return apiCsfClientUserService.detail(csfClientUserBizId);
}
/**
* 新增-人员信息 * 新增-人员信息
* @param request * @param request
* @return * @return
......
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.fyc.ApiInitAgentAccumulatedFycRequest;
public interface ApiAgentAccumulatedFycService {
Result initAgentAccumulatedFyc(ApiInitAgentAccumulatedFycRequest request);
}
package com.yd.csf.api.service; package com.yd.csf.api.service;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.csf.feign.dto.referrer.ApiReferrerDTO;
import com.yd.csf.feign.request.agentreferralrelation.ApiAgentReferralRelationSaveRequest; import com.yd.csf.feign.request.agentreferralrelation.ApiAgentReferralRelationSaveRequest;
import com.yd.csf.service.model.CsfClientUser;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface ApiAgentReferralRelationService { public interface ApiAgentReferralRelationService {
Result save(ApiAgentReferralRelationSaveRequest request); Result save(ApiAgentReferralRelationSaveRequest request);
Result saveAgentReferralRelationList(List<ApiReferrerDTO> referrerDTOList, CsfClientUser csfClientUser);
} }
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.tutor.ApiTutorDTO;
import java.util.List;
public interface ApiAgentTutoringRelationService {
Result saveAgentTutoringRelationList(List<ApiTutorDTO> tutorDTOList, String clientUserBizId);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.rulebind.ApiCommissionRuleBindingRequest;
public interface ApiCommissionRuleBindingService {
Result saveCommissionRuleBinding(ApiCommissionRuleBindingRequest request);
}
...@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,10 +4,13 @@ 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.ApiCsfClientUserPageRequest; import com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse; import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse;
public interface ApiCsfClientUserService { public interface ApiCsfClientUserService {
Result<IPage<ApiCsfClientUserPageResponse>> page(ApiCsfClientUserPageRequest request); Result<IPage<ApiCsfClientUserPageResponse>> page(ApiCsfClientUserPageRequest request);
Result<ApiCsfClientUserDetailResponse> detail(String csfClientUserBizId);
Result add(ApiCsfClientUserAddRequest request); Result add(ApiCsfClientUserAddRequest request);
} }
package com.yd.csf.api.service;
import java.math.BigDecimal;
public interface ApiMemberGradeConfigService {
BigDecimal getInitEffect(String initGrade);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.userbank.ApiCsfClientUserBankDTO;
import com.yd.csf.service.model.CsfClientUser;
import java.util.List;
public interface ApiUserBankService {
Result saveUserBankList(CsfClientUser csfClientUser,
List<ApiCsfClientUserBankDTO> bankDTOList);
}
package com.yd.csf.api.service.impl;
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.api.service.ApiAgentAccumulatedFycService;
import com.yd.csf.api.service.ApiMemberGradeConfigService;
import com.yd.csf.feign.request.fyc.ApiInitAgentAccumulatedFycRequest;
import com.yd.csf.service.model.AgentAccumulatedFyc;
import com.yd.csf.service.service.IAgentAccumulatedFycService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Slf4j
@Service
public class ApiAgentAccumulatedFycServiceImpl implements ApiAgentAccumulatedFycService {
@Resource
private IAgentAccumulatedFycService iAgentAccumulatedFycService;
@Resource
private ApiMemberGradeConfigService apiMemberGradeConfigService;
/**
* 初始化fyc
* @param request
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Result initAgentAccumulatedFyc(ApiInitAgentAccumulatedFycRequest request) {
//校验初始化fyc入参参数
verifyInitFycRequest(request);
//新增初始化fyc记录
AgentAccumulatedFyc fyc = new AgentAccumulatedFyc();
fyc.setFycBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_AGENT_ACCUMULATED_FYC.getCode()));
//业务员ID
fyc.setAgentId(request.getAgentId());
//业务员名称
fyc.setAgentName(request.getAgentName());
//初始化等级(初始化已生效积分对应等级)
fyc.setInitGrade(request.getInitGrade());
//初始化已生效积分(不限业务场景)=> 通过积分等级配置表查询对应的等级的积分范围最高值
BigDecimal initEffect = apiMemberGradeConfigService.getInitEffect(request.getInitGrade());
fyc.setInitEffect(initEffect);
//未生效累计积分(不限业务场景)
fyc.setNoEffect(BigDecimal.ZERO);
//已生效累计积分(不限业务场景)= 初始化已生效积分
fyc.setEffect(fyc.getInitEffect());
//累计积分 = 未生效累计积分 + 已生效累计积分
fyc.setTotalFyc(fyc.getNoEffect().add(fyc.getEffect()));
//已生效累计首期佣金积分值(佣金场景)
fyc.setFirstCommission(BigDecimal.ZERO);
//未生效累计首期佣金积分值(佣金场景)
fyc.setNoFirstCommission(BigDecimal.ZERO);
//已生效累计非首期佣金积分值(佣金场景)
fyc.setRyc(BigDecimal.ZERO);
//未生效累计非首期佣金积分值(佣金场景)
fyc.setNoRyc(BigDecimal.ZERO);
//已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
fyc.setFirstSalesCommission(BigDecimal.ZERO);
//未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
fyc.setNoFirstSalesCommission(BigDecimal.ZERO);
//晋升职级累计积分 = 初始化已生效积分(不限业务场景) + 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
fyc.setPromotion(fyc.getInitEffect().add(fyc.getFirstSalesCommission()));
//当前等级,业务员当前的会员等级编码(会员等级配置表等级编码)
fyc.setCurrentGradeCode(request.getInitGrade());
//最后计算日期,记录最后一次计算累计FYC的日期
fyc.setLastCalcDate(LocalDateTime.now());
//状态(0:停用 1:启用)
fyc.setStatus(1);
iAgentAccumulatedFycService.saveOrUpdate(fyc);
return Result.success();
}
/**
* 校验初始化fyc入参参数
* @param request
*/
public void verifyInitFycRequest(ApiInitAgentAccumulatedFycRequest request){
if (StringUtils.isBlank(request.getAgentId())) {
throw new BusinessException("业务员ID不能为空");
}
if (StringUtils.isBlank(request.getAgentName())) {
throw new BusinessException("业务员名称不能为空");
}
if (StringUtils.isBlank(request.getInitGrade())) {
throw new BusinessException("初始化等级不能为空");
}
}
}
...@@ -4,9 +4,15 @@ import com.yd.common.enums.CommonEnum; ...@@ -4,9 +4,15 @@ import com.yd.common.enums.CommonEnum;
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.csf.api.service.ApiAgentReferralRelationService; import com.yd.csf.api.service.ApiAgentReferralRelationService;
import com.yd.csf.feign.dto.referrer.ApiReferrerDTO;
import com.yd.csf.feign.dto.tutor.ApiTutorDTO;
import com.yd.csf.feign.request.agentreferralrelation.ApiAgentReferralRelationSaveRequest; import com.yd.csf.feign.request.agentreferralrelation.ApiAgentReferralRelationSaveRequest;
import com.yd.csf.service.model.AgentReferralRelation; import com.yd.csf.service.model.AgentReferralRelation;
import com.yd.csf.service.model.AgentTutoringRelation;
import com.yd.csf.service.model.CsfClientUser;
import com.yd.csf.service.service.IAgentReferralRelationService; import com.yd.csf.service.service.IAgentReferralRelationService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -53,4 +59,39 @@ public class ApiAgentReferralRelationServiceImpl implements ApiAgentReferralRela ...@@ -53,4 +59,39 @@ public class ApiAgentReferralRelationServiceImpl implements ApiAgentReferralRela
} }
/**
* 保存推荐关系列表
* @param referrerDTOList
* @param csfClientUser
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Result saveAgentReferralRelationList(List<ApiReferrerDTO> referrerDTOList, CsfClientUser csfClientUser) {
//根据用户唯一业务ID删除记录
iAgentReferralRelationService.del(csfClientUser.getClientUserBizId(),"");
List<String> referrerIdList = referrerDTOList.stream()
.filter(d -> StringUtils.isNotBlank(d.getClientUserBizId()))
.map(ApiReferrerDTO::getClientUserBizId)
.collect(Collectors.toList());
//新增辅导关系列表
if (CollectionUtils.isEmpty(referrerIdList)) {
return Result.success();
}
List<AgentReferralRelation> saveList = referrerIdList.stream().map(id -> {
AgentReferralRelation relation = new AgentReferralRelation();
relation.setAgentId(csfClientUser.getClientUserBizId());
relation.setIsActive(1);
//推荐人ID
relation.setReferrerId(id);
relation.setReferralBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_AGENT_REFERRAL_RELATION.getCode()));
relation.setSource(CommonEnum.SOURCE_TYPE_PC.getCode());
return relation;
}).collect(Collectors.toList());
iAgentReferralRelationService.saveOrUpdateBatch(saveList);
return Result.success();
}
} }
package com.yd.csf.api.service.impl;
import com.yd.common.enums.CommonEnum;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAgentTutoringRelationService;
import com.yd.csf.feign.dto.tutor.ApiTutorDTO;
import com.yd.csf.service.model.AgentTutoringRelation;
import com.yd.csf.service.service.IAgentTutoringRelationService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiAgentTutoringRelationServiceImpl implements ApiAgentTutoringRelationService {
@Resource
private IAgentTutoringRelationService iAgentTutoringRelationService;
/**
* 保存辅导关系列表
* @param tutorDTOList
* @param clientUserBizId
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Result saveAgentTutoringRelationList(List<ApiTutorDTO> tutorDTOList, String clientUserBizId) {
//根据用户唯一业务ID删除记录
iAgentTutoringRelationService.del(clientUserBizId);
List<String> tutorIdList = tutorDTOList.stream()
.filter(d -> StringUtils.isNotBlank(d.getClientUserBizId()))
.map(ApiTutorDTO::getClientUserBizId)
.collect(Collectors.toList());
//新增辅导关系列表
if (CollectionUtils.isEmpty(tutorIdList)) {
return Result.success();
}
List<AgentTutoringRelation> saveList = tutorIdList.stream().map(id -> {
AgentTutoringRelation relation = new AgentTutoringRelation();
relation.setAgentId(clientUserBizId);
relation.setIsActive(1);
//辅导人ID
relation.setTutorId(id);
relation.setTutoringBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_AGENT_TUTORING_RELATION.getCode()));
return relation;
}).collect(Collectors.toList());
iAgentTutoringRelationService.saveOrUpdateBatch(saveList);
return Result.success();
}
}
package com.yd.csf.api.service.impl;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiCommissionRuleBindingService;
import com.yd.csf.feign.request.rulebind.ApiCommissionRuleBindingRequest;
import com.yd.csf.service.model.CommissionRuleBinding;
import com.yd.csf.service.service.ICommissionRuleBindingService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
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.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiCommissionRuleBindingServiceImpl implements ApiCommissionRuleBindingService {
@Resource
private ICommissionRuleBindingService bindingService;
/**
* 保存基本法绑定信息
* @param request
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Result saveCommissionRuleBinding(ApiCommissionRuleBindingRequest request) {
//校验入参参数
verifyRuleBindingRequest(request);
//通过目标ID删除记录
bindingService.del(request.getTargetId());
//新增基本法绑定记录
List<CommissionRuleBinding> saveList = request.getRuleBizIdList()
.stream()
.map(ruleBizId -> {
CommissionRuleBinding binding = new CommissionRuleBinding();
BeanUtils.copyProperties(request,binding);
binding.setRuleBizId(ruleBizId);
return binding;
}).collect(Collectors.toList());
bindingService.saveOrUpdateBatch(saveList);
return Result.success();
}
/**
* 校验基本法绑定信息入参参数
* @param request
*/
public void verifyRuleBindingRequest(ApiCommissionRuleBindingRequest request){
if (CollectionUtils.isEmpty(request.getRuleBizIdList())) {
throw new BusinessException("基本法配置表唯一业务ID列表不能为空");
}
if (StringUtils.isBlank(request.getTargetType())) {
throw new BusinessException("绑定目标类型不能为空");
}
if (StringUtils.isBlank(request.getTargetId())) {
throw new BusinessException("绑定目标ID不能为空");
}
if (StringUtils.isBlank(request.getTargetName())) {
throw new BusinessException("绑定目标名称不能为空");
}
}
}
package com.yd.csf.api.service.impl;
import com.yd.csf.api.service.ApiMemberGradeConfigService;
import com.yd.csf.service.model.MemberGradeConfig;
import com.yd.csf.service.service.IMemberGradeConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
@Slf4j
@Service
public class ApiMemberGradeConfigServiceImpl implements ApiMemberGradeConfigService {
@Resource
private IMemberGradeConfigService iMemberGradeConfigService;
/**
* 根据初始化等级获取初始化积分值
* @param initGrade
* @return
*/
@Override
public BigDecimal getInitEffect(String initGrade) {
MemberGradeConfig memberGradeConfig = iMemberGradeConfigService.queryOne(initGrade);
if (memberGradeConfig == null) {
return BigDecimal.ZERO;
}
//最大积分值等于空,返回最小积分值。否则返回最大积分值-1
return memberGradeConfig.getMaxValue() == null ? memberGradeConfig.getMinValue() : memberGradeConfig.getMaxValue().subtract(new BigDecimal("1.00"));
}
}
package com.yd.csf.api.service.impl;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiUserBankService;
import com.yd.csf.feign.dto.userbank.ApiCsfClientUserBankDTO;
import com.yd.csf.service.model.CsfClientUser;
import com.yd.csf.service.model.UserBank;
import com.yd.csf.service.service.IUserBankService;
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.stream.Collectors;
@Slf4j
@Service
public class ApiUserBankServiceImpl implements ApiUserBankService {
@Resource
private IUserBankService iUserBankService;
/**
* 处理用户银行列表信息
* @param csfClientUser
* @param bankDTOList
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Result saveUserBankList(CsfClientUser csfClientUser,
List<ApiCsfClientUserBankDTO> bankDTOList) {
//根据CSF客户端用户表唯一业务ID逻辑删除
iUserBankService.del(csfClientUser.getCsfClientUserBizId());
//新增银行列表信息
if (CollectionUtils.isEmpty(bankDTOList)) {
return Result.success();
}
List<UserBank> saveList = bankDTOList.stream().map(d -> {
UserBank userBank = new UserBank();
BeanUtils.copyProperties(d,userBank);
return userBank;
}).collect(Collectors.toList());
iUserBankService.saveOrUpdateBatch(saveList);
return Result.success();
}
}
...@@ -4,10 +4,16 @@ import com.yd.common.result.Result; ...@@ -4,10 +4,16 @@ 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.ApiCsfClientUserPageRequest; import com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserDetailResponse;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse;
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.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
/** /**
* 香港保险服务-CSF客户端用户信息接口Feign客户端 * 香港保险服务-CSF客户端用户信息接口Feign客户端
...@@ -24,6 +30,14 @@ public interface ApiCsfClientUserFeignClient { ...@@ -24,6 +30,14 @@ public interface ApiCsfClientUserFeignClient {
Result page(@Validated @RequestBody ApiCsfClientUserPageRequest request); Result page(@Validated @RequestBody ApiCsfClientUserPageRequest request);
/** /**
* 详情-人员信息
* @param csfClientUserBizId
* @return
*/
@GetMapping("/detail")
Result<ApiCsfClientUserDetailResponse> detail(@NotBlank(message = "CSF客户端用户表唯一业务ID不能为空") @RequestParam(value = "csfClientUserBizId") String csfClientUserBizId);
/**
* 新增-人员信息 * 新增-人员信息
* @param request * @param request
* @return * @return
......
package com.yd.csf.feign.dto.clientrole;
import lombok.Data;
@Data
public class ApiClientRoleDTO {
/**
* 客户端角色表唯一业务ID
*/
private String roleBizId;
/**
* 角色名称
*/
private String name;
}
package com.yd.csf.feign.dto.csfclientuser; package com.yd.csf.feign.dto.csfclientuser;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yd.csf.feign.dto.clientrole.ApiClientRoleDTO;
import com.yd.csf.feign.dto.rule.ApiRuleDTO;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
...@@ -14,8 +16,8 @@ public class ApiCsfClientUserDTO { ...@@ -14,8 +16,8 @@ public class ApiCsfClientUserDTO {
/** /**
* 绑定的角色列表(转介人、签单员、合伙人等) * 绑定的角色列表(转介人、签单员、合伙人等)
*/ */
@NotEmpty(message = "角色不能为空") @NotEmpty(message = "角色列表不能为空")
private List<String> roleBizIdList; private List<ApiClientRoleDTO> roleDTOList;
/** /**
* 姓名 * 姓名
...@@ -75,7 +77,7 @@ public class ApiCsfClientUserDTO { ...@@ -75,7 +77,7 @@ public class ApiCsfClientUserDTO {
/** /**
* 绑定的基本法配置表唯一业务ID列表(可以勾选多个) * 绑定的基本法配置表唯一业务ID列表(可以勾选多个)
*/ */
private List<String> ruleBizIdList; private List<ApiRuleDTO> ruleDTOList;
/** /**
* 初始化等级编码 * 初始化等级编码
......
package com.yd.csf.feign.dto.org; package com.yd.csf.feign.dto.org;
import com.yd.csf.feign.dto.referrer.ApiReferrerDTO;
import com.yd.csf.feign.dto.tutor.ApiTutorDTO;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class ApiCsfClientUserOrgDTO { public class ApiCsfClientUserOrgDTO {
//TODO 一级和二级关系待定
/**
* 辅导人的客户端用户列表
*/
private List<ApiTutorDTO> tutorDTOList;
/**
* 推荐人的客户端用户唯一业务ID列表
*/
private List<ApiReferrerDTO> referrerDTOList;
} }
package com.yd.csf.feign.dto.referrer;
import lombok.Data;
@Data
public class ApiReferrerDTO {
/**
* 中台客户端用户表唯一业务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;
/**
* 所属团队名称
*/
private String teamName;
/**
* 所属公司名称(中台部门名称)
*/
private String deptName;
}
package com.yd.csf.feign.dto.rule;
import lombok.Data;
@Data
public class ApiRuleDTO {
/**
* 基本法配置表唯一业务ID
*/
private String ruleBizId;
/**
* 基本法名称
*/
private String ruleName;
}
package com.yd.csf.feign.dto.tutor;
import lombok.Data;
@Data
public class ApiTutorDTO {
/**
* 中台客户端用户表唯一业务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;
/**
* 所属团队名称
*/
private String teamName;
/**
* 所属公司名称(中台部门名称)
*/
private String deptName;
}
package com.yd.csf.feign.request.csfclientuser; package com.yd.csf.feign.request.csfclientuser;
import com.yd.common.dto.PageDto;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
@Data @Data
public class ApiCsfClientUserPageRequest { public class ApiCsfClientUserPageRequest extends PageDto {
/** /**
* 姓名 * 姓名
......
package com.yd.csf.feign.request.fyc;
import lombok.Data;
@Data
public class ApiInitAgentAccumulatedFycRequest {
/**
* 业务员ID(会员唯一业务ID)
*/
private String agentId;
/**
* 业务员名称
*/
private String agentName;
/**
* 初始化等级(初始化已生效积分对应等级)
*/
private String initGrade;
}
package com.yd.csf.feign.request.rulebind;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApiCommissionRuleBindingRequest {
/**
* 基本法配置表唯一业务ID列表
*/
private List<String> ruleBizIdList;
/**
* 绑定目标类型:AGENT-业务员, TEAM-团队
*/
private String targetType;
/**
* 目标ID,业务员ID或团队ID
*/
private String targetId;
/**
* 目标名称,业务员姓名或团队名称
*/
private String targetName;
/**
* 生效开始时间,绑定关系开始生效的时间
*/
private LocalDateTime effectiveStart;
/**
* 生效结束时间,绑定关系失效的时间
*/
private LocalDateTime effectiveEnd;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
}
package com.yd.csf.feign.response.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 java.util.List;
@Data
public class ApiCsfClientUserDetailResponse {
/**
* 人员基本信息
*/
private ApiCsfClientUserDTO userDTO;
/**
* 人员银行信息列表
*/
private List<ApiCsfClientUserBankDTO> bankDTOList;
/**
* 组织信息
*/
private ApiCsfClientUserOrgDTO orgDTO;
}
...@@ -57,7 +57,12 @@ public class ApiCsfClientUserPageResponse { ...@@ -57,7 +57,12 @@ public class ApiCsfClientUserPageResponse {
private String deptName; private String deptName;
/** /**
* 绑定的客户端角色表名称列表 * 绑定的客户端角色表名称列表(多个用分号分隔)
*/ */
private List<String> roleNameList; private String roleNameList;
/**
* 基本法名称列表(多个用分号分隔)
*/
private String ruleNameList;
} }
package com.yd.csf.service.dao; package com.yd.csf.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.csfclientuser.ApiCsfClientUserPageRequest;
import com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse;
import com.yd.csf.service.model.CsfClientUser; import com.yd.csf.service.model.CsfClientUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
...@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface CsfClientUserMapper extends BaseMapper<CsfClientUser> { public interface CsfClientUserMapper extends BaseMapper<CsfClientUser> {
IPage<ApiCsfClientUserPageResponse> page(@Param("page") Page<ApiCsfClientUserPageResponse> page,
@Param("request") ApiCsfClientUserPageRequest request);
} }
...@@ -3,6 +3,8 @@ package com.yd.csf.service.service; ...@@ -3,6 +3,8 @@ package com.yd.csf.service.service;
import com.yd.csf.service.model.AgentTutoringRelation; import com.yd.csf.service.model.AgentTutoringRelation;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 辅导关系表 服务类 * 辅导关系表 服务类
...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IAgentTutoringRelationService extends IService<AgentTutoringRelation> { public interface IAgentTutoringRelationService extends IService<AgentTutoringRelation> {
Boolean del(String agentId);
} }
...@@ -3,6 +3,8 @@ package com.yd.csf.service.service; ...@@ -3,6 +3,8 @@ package com.yd.csf.service.service;
import com.yd.csf.service.model.ClientRole; import com.yd.csf.service.model.ClientRole;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 客户端角色表 服务类 * 客户端角色表 服务类
...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IClientRoleService extends IService<ClientRole> { public interface IClientRoleService extends IService<ClientRole> {
List<ClientRole> queryList(List<String> roleBizIdList);
} }
...@@ -17,4 +17,6 @@ import java.util.List; ...@@ -17,4 +17,6 @@ import java.util.List;
public interface ICommissionRuleBindingService extends IService<CommissionRuleBinding> { public interface ICommissionRuleBindingService extends IService<CommissionRuleBinding> {
List<CommissionRuleBinding> queryList(CommissionRuleBindingDto dto); List<CommissionRuleBinding> queryList(CommissionRuleBindingDto dto);
Boolean del(String targetId);
} }
...@@ -25,5 +25,7 @@ public interface ICommissionRuleConfigService extends IService<CommissionRuleCon ...@@ -25,5 +25,7 @@ public interface ICommissionRuleConfigService extends IService<CommissionRuleCon
List<CommissionRuleConfig> queryList(CommissionRuleConfigDto dto); List<CommissionRuleConfig> queryList(CommissionRuleConfigDto dto);
List<CommissionRuleConfig> queryList(List<String> ruleBizIdList);
CommissionRuleConfig queryOne(String ruleBizId); CommissionRuleConfig queryOne(String ruleBizId);
} }
package com.yd.csf.service.service; package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.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;
...@@ -16,5 +20,10 @@ import java.util.List; ...@@ -16,5 +20,10 @@ import java.util.List;
*/ */
public interface ICsfClientUserService extends IService<CsfClientUser> { public interface ICsfClientUserService extends IService<CsfClientUser> {
IPage<ApiCsfClientUserPageResponse> iPage(Page<ApiCsfClientUserPageResponse> page,
ApiCsfClientUserPageRequest request);
List<CsfClientUser> queryList(QueryCsfClientUserDTO userDTO); List<CsfClientUser> queryList(QueryCsfClientUserDTO userDTO);
CsfClientUser queryOne(String csfClientUserBizId);
} }
...@@ -24,4 +24,6 @@ public interface IMemberGradeConfigService extends IService<MemberGradeConfig> { ...@@ -24,4 +24,6 @@ public interface IMemberGradeConfigService extends IService<MemberGradeConfig> {
* @return Map<业务员ID, 匹配的等级配置>(未匹配到的不包含在Map中) * @return Map<业务员ID, 匹配的等级配置>(未匹配到的不包含在Map中)
*/ */
Map<String, MemberGradeConfig> batchGetGradeByPromotion(List<GradeQueryParam> paramList); Map<String, MemberGradeConfig> batchGetGradeByPromotion(List<GradeQueryParam> paramList);
MemberGradeConfig queryOne(String gradeCode);
} }
...@@ -3,6 +3,8 @@ package com.yd.csf.service.service; ...@@ -3,6 +3,8 @@ package com.yd.csf.service.service;
import com.yd.csf.service.model.UserBank; import com.yd.csf.service.model.UserBank;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 用户银行信息表 服务类 * 用户银行信息表 服务类
...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IUserBankService extends IService<UserBank> { public interface IUserBankService extends IService<UserBank> {
Boolean del(String csfClientUserBizId);
List<UserBank> queryList(String csfClientUserBizId);
} }
...@@ -49,8 +49,8 @@ public class AgentReferralRelationServiceImpl extends ServiceImpl<AgentReferralR ...@@ -49,8 +49,8 @@ public class AgentReferralRelationServiceImpl extends ServiceImpl<AgentReferralR
@Override @Override
public Boolean del(String agentId, String referrerId) { public Boolean del(String agentId, String referrerId) {
return this.remove(new LambdaQueryWrapper<AgentReferralRelation>() return this.remove(new LambdaQueryWrapper<AgentReferralRelation>()
.eq(AgentReferralRelation::getAgentId,agentId) .eq(StringUtils.isNotBlank(agentId),AgentReferralRelation::getAgentId,agentId)
.eq(AgentReferralRelation::getReferrerId,referrerId) .eq(StringUtils.isNotBlank(referrerId),AgentReferralRelation::getReferrerId,referrerId)
); );
} }
......
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.model.AgentTutoringRelation; import com.yd.csf.service.model.AgentTutoringRelation;
import com.yd.csf.service.dao.AgentTutoringRelationMapper; import com.yd.csf.service.dao.AgentTutoringRelationMapper;
import com.yd.csf.service.service.IAgentTutoringRelationService; import com.yd.csf.service.service.IAgentTutoringRelationService;
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,10 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +20,10 @@ import org.springframework.stereotype.Service;
@Service @Service
public class AgentTutoringRelationServiceImpl extends ServiceImpl<AgentTutoringRelationMapper, AgentTutoringRelation> implements IAgentTutoringRelationService { public class AgentTutoringRelationServiceImpl extends ServiceImpl<AgentTutoringRelationMapper, AgentTutoringRelation> implements IAgentTutoringRelationService {
@Override
public Boolean del(String agentId) {
return this.remove(new LambdaQueryWrapper<AgentTutoringRelation>()
.eq(AgentTutoringRelation::getAgentId,agentId));
}
} }
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.model.ClientRole; import com.yd.csf.service.model.ClientRole;
import com.yd.csf.service.dao.ClientRoleMapper; import com.yd.csf.service.dao.ClientRoleMapper;
import com.yd.csf.service.service.IClientRoleService; import com.yd.csf.service.service.IClientRoleService;
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,9 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +20,9 @@ import org.springframework.stereotype.Service;
@Service @Service
public class ClientRoleServiceImpl extends ServiceImpl<ClientRoleMapper, ClientRole> implements IClientRoleService { public class ClientRoleServiceImpl extends ServiceImpl<ClientRoleMapper, ClientRole> implements IClientRoleService {
@Override
public List<ClientRole> queryList(List<String> roleBizIdList) {
return this.baseMapper.selectList(new LambdaQueryWrapper<ClientRole>()
.in(ClientRole::getRoleBizId,roleBizIdList));
}
} }
...@@ -38,5 +38,11 @@ public class CommissionRuleBindingServiceImpl extends ServiceImpl<CommissionRule ...@@ -38,5 +38,11 @@ public class CommissionRuleBindingServiceImpl extends ServiceImpl<CommissionRule
return list; return list;
} }
@Override
public Boolean del(String targetId) {
return this.remove(new LambdaQueryWrapper<CommissionRuleBinding>()
.eq(CommissionRuleBinding::getTargetId,targetId));
}
} }
...@@ -49,6 +49,12 @@ public class CommissionRuleConfigServiceImpl extends ServiceImpl<CommissionRuleC ...@@ -49,6 +49,12 @@ public class CommissionRuleConfigServiceImpl extends ServiceImpl<CommissionRuleC
return list; return list;
} }
@Override
public List<CommissionRuleConfig> queryList(List<String> ruleBizIdList) {
return this.baseMapper.selectList(new LambdaQueryWrapper<CommissionRuleConfig>()
.eq(CommissionRuleConfig::getRuleBizId,ruleBizIdList));
}
/** /**
* 查询单个对象 * 查询单个对象
* @param ruleBizId * @param ruleBizId
......
package com.yd.csf.service.service.impl; package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.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;
...@@ -23,10 +27,24 @@ import java.util.List; ...@@ -23,10 +27,24 @@ import java.util.List;
public class CsfClientUserServiceImpl extends ServiceImpl<CsfClientUserMapper, CsfClientUser> implements ICsfClientUserService { public class CsfClientUserServiceImpl extends ServiceImpl<CsfClientUserMapper, CsfClientUser> implements ICsfClientUserService {
@Override @Override
public IPage<ApiCsfClientUserPageResponse> iPage(Page<ApiCsfClientUserPageResponse> page,
ApiCsfClientUserPageRequest request) {
return this.baseMapper.page(page,request);
}
@Override
public List<CsfClientUser> queryList(QueryCsfClientUserDTO userDTO) { public List<CsfClientUser> queryList(QueryCsfClientUserDTO userDTO) {
return this.baseMapper.selectList(new LambdaQueryWrapper<CsfClientUser>() return this.baseMapper.selectList(new LambdaQueryWrapper<CsfClientUser>()
.eq(StringUtils.isNotBlank(userDTO.getPhone()),CsfClientUser::getPhone,userDTO.getPhone()) .eq(StringUtils.isNotBlank(userDTO.getPhone()),CsfClientUser::getPhone,userDTO.getPhone())
.ne(userDTO.getIsMy(),CsfClientUser::getCsfClientUserBizId,userDTO.getCsfClientUserBizId()) .ne(userDTO.getIsMy(),CsfClientUser::getCsfClientUserBizId,userDTO.getCsfClientUserBizId())
); );
} }
@Override
public CsfClientUser queryOne(String csfClientUserBizId) {
return this.getOne(new LambdaQueryWrapper<CsfClientUser>()
.eq(CsfClientUser::getCsfClientUserBizId,csfClientUserBizId)
.last(" limit 1 ")
);
}
} }
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.GradeQueryParam; import com.yd.csf.service.dto.GradeQueryParam;
import com.yd.csf.service.model.MemberGradeConfig; import com.yd.csf.service.model.MemberGradeConfig;
import com.yd.csf.service.dao.MemberGradeConfigMapper; import com.yd.csf.service.dao.MemberGradeConfigMapper;
...@@ -89,6 +90,14 @@ public class MemberGradeConfigServiceImpl extends ServiceImpl<MemberGradeConfigM ...@@ -89,6 +90,14 @@ public class MemberGradeConfigServiceImpl extends ServiceImpl<MemberGradeConfigM
return resultMap; return resultMap;
} }
@Override
public MemberGradeConfig queryOne(String gradeCode) {
return this.getOne(new LambdaQueryWrapper<MemberGradeConfig>()
.eq(MemberGradeConfig::getGradeCode,gradeCode)
.last(" limit 1 ")
);
}
/** /**
* 检查等级区间是否有重叠 * 检查等级区间是否有重叠
*/ */
......
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.model.UserBank; import com.yd.csf.service.model.UserBank;
import com.yd.csf.service.dao.UserBankMapper; import com.yd.csf.service.dao.UserBankMapper;
import com.yd.csf.service.service.IUserBankService; import com.yd.csf.service.service.IUserBankService;
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,15 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +20,15 @@ import org.springframework.stereotype.Service;
@Service @Service
public class UserBankServiceImpl extends ServiceImpl<UserBankMapper, UserBank> implements IUserBankService { public class UserBankServiceImpl extends ServiceImpl<UserBankMapper, UserBank> implements IUserBankService {
@Override
public Boolean del(String csfClientUserBizId) {
return this.remove(new LambdaQueryWrapper<UserBank>()
.eq(UserBank::getCsfClientUserBizId,csfClientUserBizId));
}
@Override
public List<UserBank> queryList(String csfClientUserBizId) {
return this.list(new LambdaQueryWrapper<UserBank>()
.eq(UserBank::getCsfClientUserBizId,csfClientUserBizId));
}
} }
...@@ -2,4 +2,77 @@ ...@@ -2,4 +2,77 @@
<!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.CsfClientUserMapper"> <mapper namespace="com.yd.csf.service.dao.CsfClientUserMapper">
<select id="page" resultType="com.yd.csf.feign.response.csfclientuser.ApiCsfClientUserPageResponse">
SELECT
u.name,
u.gender,
u.current_grade_code AS currentGradeCode,
(SELECT grade_name
FROM member_grade_config
WHERE grade_code = u.current_grade_code
AND is_deleted = 0 LIMIT 1 ) AS currentGradeName,
u.phone,
u.email,
u.internal_number AS internalNumber,
u.ra_number AS raNumber,
u.team_name AS teamName,
u.dept_name AS deptName,
(SELECT GROUP_CONCAT(r.name SEPARATOR ';')
FROM client_role r
WHERE r.is_deleted = 0
AND FIND_IN_SET(r.role_biz_id, REPLACE(u.role_biz_ids, ';', ',')) > 0) AS roleNameList,
(SELECT GROUP_CONCAT(c.rule_name SEPARATOR ';')
FROM commission_rule_config c
WHERE c.is_deleted = 0
AND FIND_IN_SET(c.rule_biz_id, REPLACE(u.rule_biz_ids, ';', ',')) > 0) AS ruleNameList
FROM csf_client_user u
WHERE u.is_deleted = 0
<if test="request.name != null and request.name != ''">
AND u.name LIKE CONCAT('%', #{request.name}, '%')
</if>
<if test="request.gender != null and request.gender != ''">
AND u.gender = #{request.gender}
</if>
<if test="request.gradeCode != null and request.gradeCode != ''">
AND u.current_grade_code = #{request.gradeCode}
</if>
<if test="request.deptBizId != null and request.deptBizId != ''">
AND u.dept_biz_id = #{request.deptBizId}
</if>
<if test="request.phone != null and request.phone != ''">
AND u.phone LIKE CONCAT('%', #{request.phone}, '%')
</if>
<if test="request.internalNumber != null and request.internalNumber != ''">
AND u.internal_number LIKE CONCAT('%', #{request.internalNumber}, '%')
</if>
<if test="request.raNumber != null and request.raNumber != ''">
AND u.ra_number LIKE CONCAT('%', #{request.raNumber}, '%')
</if>
<if test="request.roleBizIdList != null and request.roleBizIdList.size > 0">
AND EXISTS (
SELECT 1
FROM client_role r
WHERE r.is_deleted = 0
AND FIND_IN_SET(r.role_biz_id, REPLACE(u.role_biz_ids, ';', ',')) > 0
AND r.role_biz_id IN
<foreach collection="request.roleBizIdList" item="roleBizId" open="(" separator="," close=")">
#{roleBizId}
</foreach>
)
</if>
<if test="request.ruleBizIdList != null and request.ruleBizIdList.size > 0">
AND EXISTS (
SELECT 1
FROM commission_rule_config c
WHERE c.is_deleted = 0
AND FIND_IN_SET(c.rule_biz_id, REPLACE(u.rule_biz_ids, ';', ',')) > 0
AND c.rule_biz_id IN
<foreach collection="request.ruleBizIdList" item="ruleBizId" open="(" separator="," close=")">
#{ruleBizId}
</foreach>
)
</if>
ORDER BY u.id DESC
</select>
</mapper> </mapper>
\ No newline at end of file
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