mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java
@@ -1,7 +1,18 @@
package com.ruoyi.goods.service;
import com.ruoyi.goods.domain.pojo.GoodsSeckill;
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.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 org.springframework.web.bind.annotation.RequestBody;
/**
 * <p>
@@ -13,4 +24,58 @@
 */
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);
}