package cn.lili.modules.promotion.service; import cn.lili.modules.promotion.entity.dos.Seckill; import cn.lili.modules.promotion.entity.dos.SeckillApply; import cn.lili.modules.promotion.entity.vos.SeckillVO; import java.util.List; /** * 秒杀业务层 * * @author Chopper * @since 2020/11/18 9:45 上午 */ public interface SeckillService extends AbstractPromotionsService { /** * 预创建活动数量 */ Integer PRE_CREATION = 7; /** * 获取秒杀活动信息 * * @param id 秒杀活动id * @return 秒杀活动信息 */ SeckillVO getSeckillDetail(String id); /** * 初始化秒杀活动,默认开启三十天的秒杀活动 */ void init(); /** * 获取当前可参与的活动数量 * * @return 可参与活动数量 */ long getApplyNum(); /** * 更新秒杀活动的商品数量 * * @param seckillId 秒杀活动ID */ void updateSeckillGoodsNum(String seckillId); /** * 更新商品索引限时抢购信息 * * @param seckill 限时抢购信息 * @param seckillApplies 限时抢购商品列表 */ void updateEsGoodsSeckill(Seckill seckill, List seckillApplies); /** * 删除商品索引限时抢购信息 * * @param seckill 限时抢购信息 * @param skuIds 商品skuId列表 */ void deleteEsGoodsSeckill(Seckill seckill, List skuIds); /** * 设置秒杀活动的每个参与活动商品的详细时间 * * @param seckill 秒杀活动信息 * @param seckillApply 申请参与秒杀活动的商品信息 */ void setSeckillApplyTime(Seckill seckill, SeckillApply seckillApply); }