
package com.tmerclub.cloud.api.discount.feign;

import com.tmerclub.cloud.common.order.vo.ShopCartWithAmountVO;
import com.tmerclub.cloud.common.product.vo.SpuDiscountAppVO;
import com.tmerclub.cloud.common.response.ServerResponseEntity;

import java.util.List;

/**
 * @author tmerclub
 * @date 2020/12/14
 */
public interface DiscountFeignClient {


    /**
     * 计算满减，并组合购物车 + 购物车金额
     * @param shopCartWithAmountVO 购物车列表和运费信息
     * @return void
     */
    ServerResponseEntity<ShopCartWithAmountVO> calculateDiscountAndMakeUpShopCartAndAmount(ShopCartWithAmountVO shopCartWithAmountVO);

    /**
     * 商品详情的满减活动列表
     * @param shopId
     * @param spuId
     * @return
     */
    ServerResponseEntity<List<SpuDiscountAppVO>> spuDiscountList(Long shopId, Long spuId);

    /**
     * 处理商品下线
     *
     * @param spuIds 商品id列表
     * @param shopIds 店铺id
     * @return
     */
    ServerResponseEntity<Void> handleSpuOffline(List<Long> spuIds, List<Long> shopIds);

    /**
     * 处理店铺下线
     *
     * @param shopIds 店铺id
     * @return
     */
    ServerResponseEntity<Void> handleShopOffline(List<Long> shopIds);
}
