代码生成器优化区间查询
parent
43c4b4c954
commit
d36d5672a6
|
@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.ruoyi.common.core.page.ReqDomain;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -77,4 +79,35 @@ public class BaseEntity implements Serializable {
|
|||
public void setParams (Map<String, Object> params) {
|
||||
this.params = params;
|
||||
}
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
* @param key 属性名称
|
||||
* @return 结果数据
|
||||
*/
|
||||
public Object getBeginParam(String key){
|
||||
return getParams().get(
|
||||
StringUtils.format(ReqDomain.BEGIN_REF, key)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
* @param key 属性名称
|
||||
* @return 结果数据
|
||||
*/
|
||||
public Object getEndParam(String key){
|
||||
return getParams().get(
|
||||
StringUtils.format(ReqDomain.END_REF, key)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取区间数据
|
||||
* @param key 属性名称
|
||||
* @return 结果数据
|
||||
*/
|
||||
public Object[] getBetween(String key){
|
||||
return new Object[]{getBeginParam(key), getEndParam(key)};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
package com.ruoyi.common.core.page;
|
||||
|
||||
/**
|
||||
* @author DongZl
|
||||
* @description: 请求常量
|
||||
* @Date 2023-10-9 下午 07:51
|
||||
*/
|
||||
public class ReqDomain {
|
||||
|
||||
/**
|
||||
* 分页区间 begin
|
||||
*/
|
||||
public final static String BEGIN_REF = "begin{}";
|
||||
|
||||
/**
|
||||
* 分页区间 end
|
||||
*/
|
||||
public final static String END_REF = "end{}";
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package com.ruoyi.common.utils;
|
||||
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author DongZl
|
||||
* @description: 对象工具类
|
||||
* @Date 2023-10-9 下午 04:56
|
||||
*/
|
||||
public class ObjUtils {
|
||||
|
||||
/**
|
||||
* 兼容
|
||||
* CharSequence: 如果长度为零,则认为为空。
|
||||
* Array: 如果长度为零,则认为为空。
|
||||
* Collection: 如果元素为零,则认为为空。
|
||||
* Map: 如果键值映射为零,则认为为空。
|
||||
* @param o 对象
|
||||
* @return 如果对象具有受支持的类型并且为空或null,则为true,否则为false
|
||||
*/
|
||||
public static boolean notNull(Object o){
|
||||
return ObjectUtils.isNotEmpty(o);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断long类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notNull(Long val){
|
||||
return ObjectUtils.isNotEmpty(val) && val != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断Integer类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notNull(Integer val){
|
||||
return ObjectUtils.isNotEmpty(val) && val != 0;
|
||||
}
|
||||
/**
|
||||
* 判断BigDecimal类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notNull(BigDecimal val){
|
||||
return ObjectUtils.isNotEmpty(val) && val.doubleValue() == 0.00;
|
||||
}
|
||||
/**
|
||||
* 判断BigDecimal类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notChildNull(Object[] val){
|
||||
for (Object o : val) {
|
||||
if (!notNull(o)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
package ${packageName}.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.common.utils.ObjUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ${packageName}.mapper.${ClassName}Mapper;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
|
@ -26,6 +29,47 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
|
|||
@Override
|
||||
public List<${ClassName}> list(${ClassName} ${className}) {
|
||||
LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>();
|
||||
#foreach($column in $columns)
|
||||
#set($queryType=$column.queryType)
|
||||
#set($javaField=$column.javaField)
|
||||
#set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
|
||||
#if($column.query)
|
||||
#if($queryType == "EQ")
|
||||
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||
queryWrapper.eq(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||
}
|
||||
#elseif($queryType == "NE")
|
||||
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||
queryWrapper.ne(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||
}
|
||||
#elseif($queryType == "GT")
|
||||
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||
queryWrapper.gt(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||
}
|
||||
#elseif($queryType == "GTE")
|
||||
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||
queryWrapper.ge(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||
}
|
||||
#elseif($queryType == "LT")
|
||||
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||
queryWrapper.lt()${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||
}
|
||||
#elseif($queryType == "LTE")
|
||||
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||
queryWrapper.le()${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||
}
|
||||
#elseif($queryType == "LIKE")
|
||||
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||
queryWrapper.like(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||
}
|
||||
#elseif($queryType == "BETWEEN")
|
||||
if (ObjUtils.notChildNull(${className}.getBetween("$JavaField"))){
|
||||
queryWrapper.between(${ClassName}::get$JavaField, ${className}.getBeginParam("$JavaField"),${className}.getEndParam("$JavaField"));
|
||||
}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
return list(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
package com.ruoyi.book.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ruoyi.common.utils.ObjUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.book.mapper.BookInfoMapper;
|
||||
import com.ruoyi.book.domain.BookInfo;
|
||||
import com.ruoyi.book.service.BookInfoService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
/**
|
||||
* 书籍信息Service业务层处理
|
||||
|
@ -27,6 +30,20 @@ public class BookInfoServiceImpl extends ServiceImpl<BookInfoMapper, BookInfo>
|
|||
@Override
|
||||
public List<BookInfo> list(BookInfo bookInfo) {
|
||||
LambdaQueryWrapper<BookInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
|
||||
if (ObjUtils.notNull(bookInfo.getName())){
|
||||
queryWrapper = queryWrapper.like(BookInfo::getName, bookInfo.getName());
|
||||
}
|
||||
|
||||
if (ObjUtils.notNull(bookInfo.getPrice())){
|
||||
queryWrapper = queryWrapper.between(BookInfo::getPrice, bookInfo.getParams().get("beginPrice"), bookInfo.getParams().get("endPrice"));
|
||||
}
|
||||
|
||||
|
||||
return list(queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue