/***********************************************************************
* Project: baifenBinfa
* ProjectName: 百分兵法管理系统
* Web: http://chuanyin.com
* Author:
* Email:
* CreateTime: 202403/02
* Description: 暂无
***********************************************************************/
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
namespace CoreCms.Net.IServices
{
///
/// 购物车表 服务工厂接口
///
public interface ICoreCmsCartServices : IBaseServices
{
///
/// 设置购物车商品数量
///
///
///
///
///
///
///
Task SetCartNum(int id, int nums, int userId, int numType, int type = 1);
///
/// 重写删除指定ID集合的数据(批量删除)
///
///
///
///
Task DeleteByIdsAsync(int id, int userId);
///
/// 添加单个货品到购物车
///
/// 用户id
/// 货品序号
/// 数量
/// 数量类型/1是直接增加/2是赋值
/// 1普通购物/2拼团模式/3团购模式/4秒杀模式/6砍价模式/7赠品
/// 关联对象类型
///
Task Add(int userId, int productId, int nums, int numType, int cartTypes = 1, int objectId = 0,bool isCustomizable=false);
///
/// 在加入购物车的时候,判断是否有参加拼团的商品
///
///
/// 用户序列
/// 加入购物车数量
/// 团队序列
Task AddCartHavePinTuan(int productId, int userId = 0, int nums = 1, int teamId = 0);
///
/// 获取购物车列表
///
/// 用户序号
/// 已选择货号
/// 购物车类型/同订单类型
/// 关联非订单类型数据序列
/// goodsId
///
Task GetCartDtoData(int userId, int[] ids = null, int type = 1, int objectId = 0, int goodsId = 0);
///
/// 获取处理后的购物车信息
///
/// 用户序列
/// 选中的购物车商品
/// 订单类型
/// 收货地址id
/// 消费的积分
/// 优惠券码
/// 关联上面的是否免运费/1=快递配送(要去算运费)生成订单记录快递方式,2=同城配送/3=门店自提(不需要计算运费)生成订单记录门店自提信息
/// 用户收货地址
/// 关联非普通订单营销类型序列
///
Task GetCartInfos(int userId, int[] ids, int orderType, int areaId, int point,
string couponCode, int deliveryType = (int)GlobalEnumVars.OrderReceiptType.Logistics, int userShipId = 0, int objectId = 0, int goodsId = 0);
///
/// 算运费
///
/// 购物车信息
/// 收货地址id
///
Task CartFreight(CartDto cartDto, int areaId);
///
/// 购物车中使用优惠券
///
/// 购物车数据
/// 优惠券码
///
Task CartCoupon(CartDto cartDto, string couponCode);
///
/// 购物车中使用积分
///
///
///
///
///
Task CartPoint(CartDto cartDto, int userId, int point);
///
/// 获取购物车用户数据总数
///
///
Task GetCountAsync(int userId);
///
/// 获取购物车商品总价格
///
///
Task GetMoneyAsync(int userId);
///
/// 根据提交的数据判断哪些购物券可以使用
///
///
///
///
///
Task GetCartAvailableCoupon(int userId, int[] ids = null);
}
}