package com.fs.his.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.his.domain.FsIntegralCart;
import com.fs.his.vo.FsIntegralCartVO;

import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

public interface IFsIntegralCartService extends IService<FsIntegralCart> {

    /**
     * 添加或修改购物车
     *
     * @param userId  用户ID
     * @param goodsId 积分商品ID
     * @param cartNum 数量
     * @param isCart  是否购物车
     */
    void addOrUpdateCart(Long userId, Long goodsId, Integer cartNum, Integer isCart);

    /**
     * 移除购物车
     * @param userId    用户ID
     * @param ids       购物车ID集合
     */
    void delCartByIds(Long userId, List<Long> ids);

    /**
     * 获取购物车商品数量
     * @param params    参数
     * @return num      数量
     */
    Integer getCartCountByMap(Map<String, Object> params);

    /**
     * 获取购物车列表
     * @param userId    用户ID
     * @return  list
     */
    List<FsIntegralCartVO> getCartsByUserId(Long userId);

    /**
     * 根据购物车ID查询详情
     * @param userId    用户ID
     * @param ids       购物车ID集合
     * @return  list
     */
    List<FsIntegralCartVO> getCartByIds(Long userId, List<Long> ids);
}
