package com.ruoyi.goods.service;
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.ruoyi.common.core.utils.page.PageDTO;
|
import com.ruoyi.goods.controller.management.dto.GoodsSeckillDTO;
|
import com.ruoyi.goods.controller.management.dto.GoodsSeckillQuery;
|
import com.ruoyi.goods.controller.management.dto.GoodsSeckillUpd;
|
import com.ruoyi.goods.controller.management.vo.GoodsSeckillVO;
|
import com.ruoyi.system.api.domain.GoodsSeckill;
|
import com.ruoyi.system.api.domain.GoodsSku;
|
import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
|
import com.ruoyi.system.api.domain.dto.ListStatusDTO;
|
import com.ruoyi.system.api.domain.vo.HomeGoodsSeckillInfoVO;
|
import com.ruoyi.system.api.domain.vo.HomeGoodsSeckillVO;
|
import java.util.List;
|
import java.util.Set;
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
/**
|
* <p>
|
* 商品秒杀表 服务类
|
* </p>
|
*
|
* @author mitao
|
* @since 2024-05-16
|
*/
|
public interface IGoodsSeckillService extends IService<GoodsSeckill> {
|
|
/**
|
* 添加秒杀商品
|
*
|
* @param dto 商品秒杀数据传输对象
|
*/
|
void addGoodsSeckill(GoodsSeckillDTO dto);
|
|
/**
|
* 获取秒杀商品列表的分页数据
|
*
|
* @param query 秒杀商品查询对象
|
* @return PageDTO<GoodsSeckillVO>
|
*/
|
PageDTO<GoodsSeckillVO> getGoodsSeckillPage(GoodsSeckillQuery query);
|
|
/**
|
* 修改秒杀商品
|
*
|
* @param upd 商品秒杀数据传输对象
|
*/
|
void updGoodsSeckill(GoodsSeckillUpd upd);
|
|
/**
|
* 上架/下架 秒杀商品
|
*
|
* @param dto 商品上下架状态对象
|
*/
|
void updStatus(ListStatusDTO dto);
|
|
/**
|
* 查看详情
|
*
|
* @param id 秒杀商品id
|
* @return GoodsSeckillVO 商品秒杀视图对象
|
*/
|
GoodsSeckillVO getDetail(Long id);
|
|
/**
|
* 开始秒杀
|
*
|
* @param seckillId 秒杀id
|
*/
|
void startSeckill(Long seckillId) throws JsonProcessingException;
|
|
/**
|
* 结束秒杀
|
*
|
* @param seckillId 秒杀id
|
*/
|
void endSeckill(Long seckillId) throws JsonProcessingException;
|
|
PageDTO<HomeGoodsSeckillVO> getHomeGoodsSeckillVOList(HomeGoodsSkuDTO homeGoodsSkuDTO);
|
|
HomeGoodsSeckillInfoVO getHomeGoodsSeckillInfo(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO);
|
|
/**
|
* 结束异常的秒杀
|
*/
|
void updSeckillStatus();
|
|
/**
|
* 根据秒杀id集合查询商品sku信息
|
*
|
* @param seckillIdSet
|
* @return
|
*/
|
List<GoodsSku> getGoodsSkuBySeckillIdSet(Set<Long> seckillIdSet);
|
}
|