package ${packageName}.service.impl; import java.util.List; import java.util.Arrays; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.hutool.core.util.IdUtil; import javax.annotation.Resource; import org.springframework.stereotype.Service; #if($table.sub) import java.util.ArrayList; import com.starry.common.utils.StringUtils; import org.springframework.transaction.annotation.Transactional; import ${packageName}.entity.${subClassName}; #end import ${packageName}.mapper.${ClassName}Mapper; import ${packageName}.entity.${ClassName}; import ${packageName}.service.I${ClassName}Service; /** * ${functionName}Service业务层处理 * * @author ${author} * @since ${datetime} */ @Service public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}Entity> implements I${ClassName}Service { @Resource private ${ClassName}Mapper ${className}Mapper; /** * 查询${functionName} * @param ${pkColumn.javaField} ${functionName}主键 * @return ${functionName} */ @Override public ${ClassName}Entity select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) { return this.baseMapper.selectById(id); } /** * 查询${functionName}列表 * @param ${className} ${functionName} * @return ${functionName} */ @Override public IPage<${ClassName}Entity> select${ClassName}ByPage(${ClassName}Entity ${className}) { Page<${ClassName}Entity> page = new Page<>(1, 10); return this.baseMapper.selectPage(page, new LambdaQueryWrapper<${ClassName}Entity>()); } /** * 新增${functionName} * @param ${className} ${functionName} * @return 结果 */ #if($table.sub) @Transactional(rollbackFor = Exception.class) #end @Override public boolean create(${ClassName}Entity ${className}) { #if($table.sub) int rows = ${className}Mapper.insert${ClassName}(${className}); insert${subClassName}(${className}); return rows; #else if (StrUtil.isBlankIfStr(${className}.getId())) { ${className}.setId(IdUtil.fastSimpleUUID()); } return save(${className}); #end } /** * 修改${functionName} * @param ${className} ${functionName} * @return 结果 */ #if($table.sub) @Transactional(rollbackFor = Exception.class) #end @Override public boolean update(${ClassName}Entity ${className}) { #if($table.sub) ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}()) ; insert${subClassName}(${className}); #end return updateById(${className}); } /** * 批量删除${functionName} * @param ${pkColumn.javaField}s 需要删除的${functionName}主键 * @return 结果 */ #if($table.sub) @Transactional(rollbackFor = Exception.class) #end @Override public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) { #if($table.sub) ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s); #end return ${className}Mapper.deleteBatchIds(Arrays.asList(${pkColumn.javaField}s)); } /** * 删除${functionName}信息 * @param ${pkColumn.javaField} ${functionName}主键 * @return 结果 */ #if($table.sub) @Transactional(rollbackFor = Exception.class) #end @Override public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) { #if($table.sub) ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField}); #end return ${className}Mapper.deleteById(${pkColumn.javaField}); } #if($table.sub) /** * 新增${subTable.functionName}信息 * @param ${className} ${functionName}对象 */ public void insert${subClassName}(${ClassName}Entity ${className}) { List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List(); ${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}(); if (StringUtils.isNotNull(${subclassName}List)) { List<${subClassName}> list = new ArrayList<${subClassName}>(); for (${subClassName} ${subclassName} :${subclassName}List) { ${subclassName}.set${subTableFkClassName}(${pkColumn.javaField}); list.add(${subclassName}); } if (!list.isEmpty()) { ${className}Mapper.batch${subClassName}(list); } } } #end }