class ScriptsServiceImpl extends SonicServiceImpl<ScriptsMapper, Scripts> implements ScriptsService {
    @Autowired
    private ScriptsMapper scriptsMapper;

    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean delete(int id) {
        return scriptsMapper.deleteById(id) > 0;
    }

    @Override
    public Page<Scripts> findByProjectId(Integer projectId, String name, Page<Scripts> pageable) {<FILL_FUNCTION_BODY>}

    @Override
    public Scripts findById(int id) {
        return scriptsMapper.selectById(id);
    }

    @Override
    public boolean deleteByProjectId(int projectId) {
        return baseMapper.delete(new LambdaQueryWrapper<Scripts>().eq(Scripts::getProjectId, projectId)) > 0;
    }
}

        return lambdaQuery().eq((projectId != null && projectId != 0), Scripts::getProjectId, projectId)
                .like((name != null && name.length() > 0), Scripts::getName, name)
                .orderByDesc(Scripts::getId)
                .page(pageable);
    
<methods>public non-sealed void <init>() ,public boolean save(org.cloud.sonic.controller.models.domain.Scripts) <variables>