/**
* 条件查询推广员
*
* @param recommenderConditionDTO
* @return
*/
@Override
public List<RecommenderDO> listRecommenderByCondition(RecommenderConditionDTO recommenderConditionDTO) {
LOGGER.info("recommenderConditionDTO = {}", recommenderConditionDTO);
validateCondition(recommenderConditionDTO);
//封装过滤条件
Example ex = new Example(RecommenderDO.class);
Example.Criteria c = ex.createCriteria();
Optional.ofNullable(recommenderConditionDTO.getRecommenderName())
.filter(name -> !"".equals(name))
.ifPresent(name -> c.andLike("name", "%" + name + "%"));
Optional.ofNullable(recommenderConditionDTO.getRecommenderId())
.filter(id -> id > 0L)
.ifPresent(id -> c.andEqualTo("id", id));
Optional.ofNullable(recommenderConditionDTO.getRecommenderAccount())
.filter(acc -> !"".equals(acc))
.ifPresent(acc -> c.andEqualTo("phone", acc));
List<RecommenderDO> recommenders = recommenderMapper.selectByExample(ex);
LOGGER.info("recommenders = {}", recommenders);
return recommenders;
}