package com.cool.store.service;

import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.request.AddShopRequest;
import com.cool.store.request.DeleteShopRequest;
import com.cool.store.request.UpdateShopCodeRequest;
import com.cool.store.vo.shop.MiniShopPageVO;
import com.cool.store.vo.shop.RentInfoToDoVO;
import com.cool.store.vo.shop.ShopStageInfoVO;
import com.cool.store.vo.shop.StageShopCountVO;
import com.github.pagehelper.PageInfo;
import lombok.Data;

import java.util.List;

/**
 * @author zhangchenbiao
 * @FileName: ShopService
 * @Description:店铺
 * @date 2024-04-11 10:25
 */
public interface ShopService {

    /**
     * 初始化店铺数据
     * @param lineInfo
     * @return
     */
    Integer initShop(LineInfoDO lineInfo);

    /**
     * 获取首页数据
     * @param lineId
     * @return
     */
    List<MiniShopPageVO> getShopList(Long lineId);

    /**
     * 获取店铺阶段信息
     * @param shopId
     * @param shopStage
     * @return
     */
    List<ShopStageInfoVO> getShopStageInfo(Long shopId, Integer shopStage);

    /**
     * 获取各阶段店铺数量
     * @param lineId
     * @return
     */
    StageShopCountVO getStageShopCount(Long lineId);

    /**
     * 删除铺位
     * @param request
     * @return
     */
    Integer deleteShop(DeleteShopRequest request);

    /**
     * 新增铺位
     * @param request
     * @return
     */
    Long addShop(AddShopRequest request);

    /**
     * 获取店铺信息
     */
    ShopInfoDO getShopInfo(Long shopId);

    Integer updateShopCode(UpdateShopCodeRequest request);
}
