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.CueFlawDTO;
import com.tmerclub.cloud.cuerecycle.model.vo.CueFlawVO;

/**
 * 球杆缺陷Service接口
 *
 * @author : frank
 * @create : 2025-04-13
 */
public interface CueFlawService {

    /**
     * 获取球杆缺陷分页列表
     *
     * @param pageDTO    分页参数
     * @param cueFlawDTO 查询参数
     * @return 分页数据
     */
    PageVO<CueFlawVO> page(PageDTO pageDTO, CueFlawDTO cueFlawDTO);

    /**
     * 获取启用的球杆缺陷分页列表
     *
     * @param pageDTO 分页参数
     * @return 分页数据
     */
    PageVO<CueFlawVO> listEnabled(PageDTO pageDTO);

    /**
     * 获取球杆缺陷详情
     *
     * @param id 主键
     * @return 球杆缺陷详情
     */
    CueFlawVO getById(Long id);

    /**
     * 新增球杆缺陷
     *
     * @param cueFlawDTO 新增参数
     * @return 新增结果
     */
    int save(CueFlawDTO cueFlawDTO);

    /**
     * 修改球杆缺陷
     *
     * @param cueFlawDTO 修改参数
     * @return 修改结果
     */
    int update(CueFlawDTO cueFlawDTO);

    /**
     * 删除球杆缺陷
     *
     * @param id 主键
     * @return 删除结果
     */
    int delete(Long id);
}