package ${package.ServiceImpl}; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import ${package.Controller.replace(".controller", "")}.common.dto.${entity}AddDTO; import ${package.Controller.replace(".controller", "")}.common.dto.${entity}EditDTO; import ${package.Controller.replace(".controller", "")}.common.dto.${entity}QueryDTO; import ${package.Entity}.${entity}; import ${package.Mapper}.${table.mapperName}; import ${package.Service}.${table.serviceName}; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; import java.util.Objects; /** *
* $!{table.comment} 服务实现类 *
* * @author ${author} * @since ${date} */ @Service #if(${kotlin}) open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>(), ${table.serviceName} { } #else public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} { @Override public IPage<${entity}> page(Page reqPage, ${entity}QueryDTO req) { LambdaQueryWrapper<${entity}> queryWrapper = Wrappers.lambdaQuery(); ## ----------BEGIN 字段循环遍历---------- #foreach($field in ${table.fields}) #if(${field.keyFlag}) ## 主键 #if(${field.keyIdentityFlag}) #end ## 普通字段 #else ## String #if(${field.propertyType.equals("String")}) queryWrapper.like(StrUtil.isNotBlank(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}()); #else queryWrapper.eq(Objects.nonNull(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}()); #end #end #end ## ----------END 字段循环遍历---------- return this.page(reqPage, queryWrapper); } #if(${cfg.get("${table.name}exportExcel")}) @Override public List<${entity}> list(${entity}QueryDTO req) { LambdaQueryWrapper<${entity}> queryWrapper = Wrappers.lambdaQuery(); ## ----------BEGIN 字段循环遍历---------- #foreach($field in ${table.fields}) #if(${field.keyFlag}) ## 主键 #if(${field.keyIdentityFlag}) #end ## 普通字段 #else ## String #if(${field.propertyType.equals("String")}) queryWrapper.like(StrUtil.isNotBlank(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}()); #else queryWrapper.eq(Objects.nonNull(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}()); #end #end #end ## ----------END 字段循环遍历---------- return this.list(queryWrapper); } #end @Override @Transactional(rollbackFor = Exception.class) public void add(${entity}AddDTO req) { ${entity} entity = BeanUtil.copyProperties(req, ${entity}.class); this.save(entity); } @Override @Transactional(rollbackFor = Exception.class) public void edit(${entity}EditDTO req) { ${entity} entity = BeanUtil.copyProperties(req, ${entity}.class); this.updateById(entity); } @Override @Transactional(rollbackFor = Exception.class) public void remove(String ids) { this.removeByIds(Arrays.asList(ids.split(","))); } @Override public ${entity} view(String id) { return this.getById(id); } } #end