package com.seer.teach.mall.good.service;

import com.seer.teach.common.PageListBean;
import com.seer.teach.mall.request.GoodsAttributeValuePageReq;
import com.seer.teach.mall.request.GoodsAttributeValueReq;
import com.seer.teach.mall.response.GoodsAttributeValueResp;

import java.util.List;

/**
 * 管理端商品属性值服务接口
 * 提供商品属性值的分页查询、详情获取、保存、更新和删除功能
 */
public interface IAdminGoodsAttributeValueService {

    /**
     * 分页查询商品属性值列表
     *
     * @param pageReq 分页请求参数，包含分页信息和查询条件
     * @return 分页结果对象，包含商品属性值响应数据
     */
    PageListBean<GoodsAttributeValueResp> getPage(GoodsAttributeValuePageReq pageReq);

    /**
     * 根据ID获取商品属性值详情
     *
     * @param id 商品属性值ID
     * @return 商品属性值响应数据
     */
    GoodsAttributeValueResp getById(Integer id);

    /**
     * 保存新的商品属性值
     *
     * @param req 请求参数，包含需要保存的商品属性值数据
     * @return 操作结果标识，true表示保存成功，false表示保存失败
     */
    boolean save(GoodsAttributeValueReq req);

    /**
     * 更新已有商品属性值
     *
     * @param req 请求参数，包含需要更新的商品属性值数据
     * @return 操作结果标识，true表示更新成功，false表示更新失败
     */
    boolean update(GoodsAttributeValueReq req);

    /**
     * 删除指定ID列表的商品属性值
     *
     * @param ids 需要删除的商品属性值ID列表
     * @return 操作结果标识，true表示删除成功，false表示删除失败
     */
    boolean delete(List<Integer> ids);
}