package shop.alien.storeplatform.service;

import shop.alien.entity.store.StoreInfoDraft;
import shop.alien.entity.store.dto.StoreInfoDto;
import shop.alien.entity.store.vo.StoreInfoVo;
import shop.alien.entity.store.vo.StoreMainInfoVo;

/**
 * web端商户店铺管理服务接口
 *
 * @author ssk
 * @since 2025-01-xx
 */
public interface StoreManageService {

    /**
     * 新增店铺入驻申请
     *
     * @param storeInfoDto 店铺信息DTO
     * @return StoreInfoVo
     * @throws Exception 异常
     */
    StoreInfoVo applyStore(StoreInfoDto storeInfoDto) throws Exception;

    /**
     * 保存店铺入驻申请草稿
     *
     * @param storeInfoDraft 店铺草稿信息
     * @return 影响行数
     */
    int saveStoreDraft(StoreInfoDraft storeInfoDraft);

    /**
     * 查询店铺入驻申请草稿
     *
     * @param storeUserId 商户用户ID
     * @return 店铺草稿信息
     */
    StoreInfoDraft getStoreDraft(int storeUserId);

    /**
     * 获取店铺详细信息
     *
     * @param id 店铺ID
     * @return 店铺详细信息
     */
    StoreMainInfoVo getStoreDetail(Integer id);

    /**
     * 获取店铺今日收益
     *
     * @param storeId 店铺ID
     * @return 今日收益（单位：元，格式化后）
     */
    String getTodayIncome(Integer storeId);

    /**
     * 获取店铺今日订单数
     *
     * @param storeId 店铺ID
     * @return 今日订单数
     */
    Integer getTodayOrderCount(Integer storeId);
}

