package com.gxwebsoft.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.shop.entity.ShopFlashSaleActivity;
import com.gxwebsoft.shop.param.ShopFlashSaleActivityParam;
import com.gxwebsoft.shop.vo.ShopFlashSaleActivityVO;

import java.util.List;

/**
 * 秒杀活动Service
 *
 * @author xm
 * @since 2026-04-22 17:18:17
 */
public interface ShopFlashSaleActivityService extends IService<ShopFlashSaleActivity> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<ShopFlashSaleActivity>
     */
    PageResult<ShopFlashSaleActivityVO> pageRel(ShopFlashSaleActivityParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<ShopFlashSaleActivity>
     */
    List<ShopFlashSaleActivity> listRel(ShopFlashSaleActivityParam param);

    /**
     * 根据id查询
     *
     * @param id 秒杀活动编号
     * @return ShopFlashSaleActivity
     */
    ShopFlashSaleActivity getByIdRel(Integer id);

    /**
     * 查询个人可参与的活动数据
     * @param tenantId  租户ID
     * @return
     */
    List<ShopFlashSaleActivityVO> getMyActive(Integer tenantId);

    /**
     * 修改秒杀活动状态
     * @param id
     * @return
     */
    Boolean updateStatus(Integer id);

    /**
     * 修改秒杀活动排序
     * @param id
     * @param sortNumber
     * @return
     */
    Boolean updateSortNumber(Integer id, Integer sortNumber);

}
