package org.dromara.${module}.${submodule}.service.impl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.${module}.${submodule}.domain.${ClassName}; import org.dromara.${module}.${submodule}.domain.bo.${ClassName}Bo; import org.dromara.${module}.${submodule}.domain.vo.${ClassName}Vo; import org.dromara.${module}.${submodule}.mapper.${ClassName}Mapper; import org.dromara.${module}.${submodule}.service.I${ClassName}Service; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.stereotype.Service; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Objects; /** * ${tableComment}Service业务层处理 * * @author ${author} * @date ${date} */ @Slf4j @RequiredArgsConstructor @Service public class ${ClassName}ServiceImpl implements I${ClassName}Service { private final ${ClassName}Mapper baseMapper; /** * 查询${tableComment} */ @Override public ${ClassName}Vo queryById(${pkType} ${pkField}) { return baseMapper.selectVoById(${pkField}); } /** * 查询${tableComment}列表 */ @Override public List<${ClassName}Vo> queryList(${ClassName}Bo bo) { LambdaQueryWrapper<${ClassName}> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } /** * 分页查询${tableComment}列表 */ @Override public TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}Bo bo, PageQuery pageQuery) { LambdaQueryWrapper<${ClassName}> lqw = buildQueryWrapper(bo); lqw.orderByDesc(${ClassName}::getCreateTime); Page<${ClassName}Vo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } /** * 新增${tableComment} */ @Override public Boolean insertByBo(${ClassName}Bo bo) { ${ClassName} add = MapstructUtils.convert(bo, ${ClassName}.class); validEntityBeforeSave(Objects.requireNonNull(add)); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.set${PkCapField}(add.get${PkCapField}()); } return flag; } /** * 修改${tableComment} */ @Override public Boolean updateByBo(${ClassName}Bo bo) { ${ClassName} update = MapstructUtils.convert(bo, ${ClassName}.class); if (update != null) { validEntityBeforeSave(update); } return baseMapper.updateById(update) > 0; } /** * 校验并批量删除${tableComment} */ @Override public Boolean deleteWithValidByIds(Collection<${pkType}> ids, Boolean isValid) { if (isValid) { // 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; } /** * 保存前的数据校验 */ private void validEntityBeforeSave(${ClassName} entity) { // TODO 做一些数据校验,如唯一约束 } /** * 构建查询条件 */ private LambdaQueryWrapper<${ClassName}> buildQueryWrapper(${ClassName}Bo bo) { Map params = bo.getParams(); LambdaQueryWrapper<${ClassName}> lqw = Wrappers.lambdaQuery(); ${queryWrapperConditions} return lqw; } }