package ${package.ServiceImpl}; import cn.stylefeng.roses.core.page.PageFactory; import cn.stylefeng.roses.kernel.model.page.PageResult; import ${package.Entity}.${entity}; import ${package.Mapper}.${table.mapperName}; import ${package.EntitySpecParams}.${entity}Param; import ${package.EntitySpecResult}.${entity}Result; import ${package.Service}.${table.serviceName}; import cn.stylefeng.roses.core.util.ToolUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import ${superServiceImplClassPackage}; import org.springframework.stereotype.Service; import java.io.Serializable; import java.util.List; /** *

* $!{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 void add(${entity}Param param){ ${entity} entity = getEntity(param); this.save(entity); } @Override public void delete(${entity}Param param){ this.removeById(getKey(param)); } @Override public void update(${entity}Param param){ ${entity} oldEntity = getOldEntity(param); ${entity} newEntity = getEntity(param); ToolUtil.copyProperties(newEntity, oldEntity); this.updateById(newEntity); } @Override public ${entity}Result findBySpec(${entity}Param param){ return null; } @Override public List<${entity}Result> findListBySpec(${entity}Param param){ return null; } @Override public PageResult<${entity}Result> findPageBySpec(${entity}Param param){ Page pageContext = getPageContext(); IPage<${entity}Result> page = this.baseMapper.customPageList(pageContext, param); return new PageResult<>(page); } private Serializable getKey(${entity}Param param){ #set( $haveNoKey = true ) #foreach($field in ${table.fields}) #if(${field.keyFlag}) #set( $haveNoKey = false ) return param.get${field.capitalName}(); #end #end #if(${haveNoKey}) return null; #end } private Page getPageContext() { return PageFactory.defaultPage(); } private ${entity} getOldEntity(${entity}Param param) { return this.getById(getKey(param)); } private ${entity} getEntity(${entity}Param param) { ${entity} entity = new ${entity}(); ToolUtil.copyProperties(param, entity); return entity; } } #end