package ${packageName}.service.impl;
|
|
import lombok.RequiredArgsConstructor;
|
import cn.hutool.core.convert.Convert;
|
import com.iplatform.core.util.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import ${packageName}.domain.vo.${ClassName}Vo;
|
import ${packageName}.domain.bo.${ClassName}Bo;
|
import ${packageName}.domain.bo.${ClassName}QueryBo;
|
import ${packageName}.domain.${ClassName};
|
import ${packageName}.mapper.${ClassName}Mapper;
|
import ${packageName}.service.I${ClassName}Service;
|
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* ${functionName}Service业务层处理
|
*
|
* @author ${author}
|
* @date ${datetime}
|
*/
|
@Service
|
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service {
|
|
@Override//列表查询
|
public List<${ClassName}Vo> queryList(${ClassName}QueryBo bo)
|
{
|
QueryWrapper<${ClassName}> qw = getQw(bo);
|
List<${ClassName}> list = this.list(qw);
|
return Convert.toList(${ClassName}Vo.class , list);
|
}
|
|
@Override//id查询
|
public ${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField})
|
{
|
${ClassName} db = this.baseMapper.selectById(${pkColumn.javaField});
|
return Convert.convert(${ClassName}Vo.class , db);
|
}
|
|
|
@Override//添加
|
@Transactional
|
public Boolean insertByBo(${ClassName}Bo bo)
|
{
|
${ClassName} add = Convert.convert(${ClassName}.class, bo);
|
validEntityBeforeSave(add);
|
return this.save(add);
|
}
|
|
@Override//修改
|
@Transactional
|
public Boolean updateByBo(${ClassName}Bo bo)
|
{
|
${ClassName} update = Convert.convert(${ClassName}.class, bo);
|
validEntityBeforeSave(update);
|
return this.updateById(update);
|
}
|
|
@Override//删除
|
@Transactional
|
public Boolean deleteByIds(Collection<Long> ids)
|
{
|
|
//做一些业务上的校验,判断是否需要校验
|
|
return this.removeByIds(ids);
|
}
|
|
|
//-------------------------------------------------------------------------------------
|
|
//保存前校验
|
private void validEntityBeforeSave(${ClassName} entity)
|
{
|
//做一些数据校验,如唯一约束
|
}
|
|
//获取查询参数
|
private QueryWrapper<${ClassName}> getQw(${ClassName}QueryBo bo)
|
{
|
QueryWrapper<${ClassName}> qw = Wrappers.query();
|
|
#foreach($column in $columns)
|
#if($column.query)
|
#set($queryType=$column.queryType)
|
#set($javaField=$column.javaField)
|
#set($javaType=$column.javaType)
|
#set($columnName=$column.columnName)
|
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
#set($mpMethod=$column.queryType.toLowerCase())
|
#if($queryType != 'BETWEEN')
|
#if($javaType == 'String')
|
#set($condition='StringUtils.isNotEmpty(bo.get'+$AttrName+'())')
|
#else
|
#set($condition='bo.get'+$AttrName+'() != null')
|
#end
|
qw.$mpMethod($condition, "${columnName}", bo.get$AttrName());
|
#else
|
Object dataScope = bo.getParams().get("dataScope");
|
qw.apply(dataScope != null, dataScope != null ? dataScope.toString() : null);
|
Map<String, Object> params = bo.getParams();
|
if (params.get("begin$AttrName") != null && params.get("end$AttrName") != null) {
|
qw.between(${columnName} ,params.get("begin$AttrName"), params.get("end$AttrName"));
|
}
|
#end
|
#end
|
#end
|
if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){
|
if ("acs".equals(bo.getIsAsc())) {
|
qw.orderByAsc(bo.getOrderByColumn());
|
} else if ("desc".equals(bo.getIsAsc())) {
|
qw.orderByDesc(bo.getOrderByColumn());
|
}
|
}
|
return qw;
|
}
|
}
|