package com.spring.modules.code.utils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; import com.spring.modules.code.entity.CodeDrawing; import org.springframework.util.StringUtils; public class WrapperGenerate{ public LambdaQueryChainWrapper generateChainLambdaLike(String column, SFunction sqlColumn, LambdaQueryChainWrapper wrapper){ if (StringUtils.hasText(column)){ StringBuilder str = new StringBuilder(column); if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(0); str.deleteCharAt(str.length() - 1); wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(0) == '%'){ str.deleteCharAt(0); wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(str.length() - 1); wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); }else { wrapper.eq(StringUtils.hasText(column), sqlColumn, column); } } return wrapper; } public LambdaQueryWrapper generateLambdaLike(String column, SFunction sqlColumn, LambdaQueryWrapper wrapper){ if (StringUtils.hasText(column)){ StringBuilder str = new StringBuilder(column); if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(0); str.deleteCharAt(str.length() - 1); wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(0) == '%'){ str.deleteCharAt(0); wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(str.length() - 1); wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); }else { wrapper.eq(StringUtils.hasText(column), sqlColumn, column); } } return wrapper; } public QueryChainWrapper generateChainLike(String column, String sqlColumn, QueryChainWrapper wrapper){ if (StringUtils.hasText(column)){ StringBuilder str = new StringBuilder(column); if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(0); str.deleteCharAt(str.length() - 1); wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(0) == '%'){ str.deleteCharAt(0); wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(str.length() - 1); wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); }else { wrapper.eq(StringUtils.hasText(column), sqlColumn, column); } } return wrapper; } public QueryWrapper generateLike(String column, String sqlColumn, QueryWrapper wrapper){ if (StringUtils.hasText(column)){ StringBuilder str = new StringBuilder(column); if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(0); str.deleteCharAt(str.length() - 1); wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(0) == '%'){ str.deleteCharAt(0); wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); }else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ str.deleteCharAt(str.length() - 1); wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); }else { wrapper.eq(StringUtils.hasText(column), sqlColumn, column); } } return wrapper; } }