代码生成器ServiceImpl修改适配MPJ

This commit is contained in:
LukewarmMe 2026-03-26 16:48:33 +08:00
parent 6edf618b6c
commit caf01de59c

View File

@ -1,14 +1,12 @@
package ${packageName}.service.impl; package ${packageName}.service.impl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
#if($table.crud) #if($table.crud)
import org.dromara.common.core.domain.PageResult; import org.dromara.common.core.domain.PageResult;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
#end #end
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -56,7 +54,7 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
*/ */
@Override @Override
public PageResult<${ClassName}Vo> queryPageList(${ClassName}Bo bo, PageQuery pageQuery) { public PageResult<${ClassName}Vo> queryPageList(${ClassName}Bo bo, PageQuery pageQuery) {
LambdaQueryWrapper<${ClassName}> wrapper = buildQueryWrapper(bo); MPJLambdaWrapper<${ClassName}> wrapper = buildQueryWrapper(bo);
Page<${ClassName}Vo> result = baseMapper.selectVoPage(pageQuery.build(), wrapper); Page<${ClassName}Vo> result = baseMapper.selectVoPage(pageQuery.build(), wrapper);
return PageResult.build(result.getRecords(), result.getTotal()); return PageResult.build(result.getRecords(), result.getTotal());
} }
@ -70,38 +68,44 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
*/ */
@Override @Override
public List<${ClassName}Vo> queryList(${ClassName}Bo bo) { public List<${ClassName}Vo> queryList(${ClassName}Bo bo) {
LambdaQueryWrapper<${ClassName}> wrapper = buildQueryWrapper(bo); MPJLambdaWrapper<${ClassName}> wrapper = buildQueryWrapper(bo);
return baseMapper.selectVoList(wrapper); return baseMapper.selectVoList(wrapper);
} }
private LambdaQueryWrapper<${ClassName}> buildQueryWrapper(${ClassName}Bo bo) { private MPJLambdaWrapper<${ClassName}> buildQueryWrapper(${ClassName}Bo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<${ClassName}> wrapper = Wrappers.lambdaQuery(); MPJLambdaWrapper<${ClassName}> wrapper = new MPJLambdaWrapper<>();
#foreach($column in $columns) #foreach($column in $columns)
#if($column.query) #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + $column.javaField.substring(1))
#set($queryType=$column.queryType) #if($column.isPk==1)
#set($javaField=$column.javaField) wrapper.orderByAsc(${ClassName}::get$AttrName);
#set($javaType=$column.javaType) #end
#set($columnName=$column.columnName) #if($column.query)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #set($queryType=$column.queryType.toLowerCase())
#set($mpMethod=$column.queryType.toLowerCase()) #set($javaField=$column.javaField)
#if($queryType != 'BETWEEN') #if($queryType == 'eq')
#if($javaType == 'String') wrapper.eqIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
#set($condition='StringUtils.isNotBlank(bo.get'+$AttrName+'())') #elseif($queryType == 'like')
#else wrapper.likeIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
#set($condition='bo.get'+$AttrName+'() != null') #elseif($queryType == 'likeleft')
#end wrapper.likeLeftIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
wrapper.$mpMethod($condition, ${ClassName}::get$AttrName, bo.get$AttrName()); #elseif($queryType == 'likeright')
#else wrapper.likeRightIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
wrapper.between(params.get("begin$AttrName") != null && params.get("end$AttrName") != null, #elseif($queryType == 'gt')
${ClassName}::get$AttrName ,params.get("begin$AttrName"), params.get("end$AttrName")); wrapper.gtIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
#end #elseif($queryType == 'lt')
#end wrapper.ltIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #elseif($queryType == 'ge')
#if($column.isPk==1) wrapper.geIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
wrapper.orderByAsc(${ClassName}::get$AttrName); #elseif($queryType == 'le')
#end wrapper.leIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
#end #elseif($queryType == 'in')
wrapper.inIfExists(${ClassName}::get$AttrName, bo.get$AttrName());
#elseif($queryType == 'between')
wrapper.betweenIfExists(${ClassName}::get$AttrName, params.get("begin$AttrName"), params.get("end$AttrName"));
#end
#end
#end
return wrapper; return wrapper;
} }