package com.tmerclub.cloud.cuerecycle.service;

import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.database.vo.PageVO;
import com.tmerclub.cloud.cuerecycle.model.dto.CueSeriesDTO;
import com.tmerclub.cloud.cuerecycle.model.vo.CueSeriesVO;

/**
 * 球杆系列Service接口
 *
 * @author : frank
 * @create : 2025-04-11
 */
public interface CueSeriesService {

    /**
     * 获取球杆系列分页列表
     *
     * @param pageDTO      分页参数
     * @param cueSeriesDTO 查询参数
     * @return 分页数据
     */
    PageVO<CueSeriesVO> page(PageDTO pageDTO, CueSeriesDTO cueSeriesDTO);

    /**
     * 根据品牌id查询球杆系列
     *
     * @param cueSeriesDTO 搜索参数
     * @return 对象集合
     */
    PageVO<CueSeriesVO> listByBrand(PageDTO pageDTO, CueSeriesDTO cueSeriesDTO);

    /**
     * 获取球杆系列详情
     *
     * @param seriesId 主键
     * @return 球杆系列详情
     */
    CueSeriesVO getById(Long seriesId);

    /**
     * 新增球杆系列
     *
     * @param cueSeriesDTO 新增参数
     * @return 新增结果
     */
    int save(CueSeriesDTO cueSeriesDTO);

    /**
     * 修改球杆系列
     *
     * @param cueSeriesDTO 修改参数
     * @return 修改结果
     */
    int update(CueSeriesDTO cueSeriesDTO);

    /**
     * 删除球杆系列
     *
     * @param seriesId 主键
     * @return 删除结果
     */
    int delete(Long seriesId);
}