/***********************************************************************
* Project: baifenBinfa
* ProjectName: 百分兵法管理系统
* Web: http://chuanyin.com
* Author:
* Email:
* CreateTime: 202403/02
* Description: 暂无
***********************************************************************/
using CoreCms.Net.Auth.HttpContextUser;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Utility.Helper;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.IServices.baifenbingfa;
namespace CoreCms.Net.Web.WebApi.Controllers
{
///
/// 购物车操作
///
[Route("api/[controller]/[action]")]
[ApiController]
public class CartController : ControllerBase
{
private readonly IHttpContextUser _user;
private readonly ICoreCmsCartServices _cartServices;
private readonly IBfbfComAPIService _bfbfComAPIService;
///
/// 构造函数
///
public CartController(IHttpContextUser user, ICoreCmsCartServices cartServices,IBfbfComAPIService bfbfComAPIService)
{
_user = user;
_cartServices = cartServices;
_bfbfComAPIService = bfbfComAPIService;
}
//公共接口====================================================================================================
//验证接口====================================================================================================
#region 添加单个货品到购物车
///
/// 添加单个货品到购物车
///
///
///
[HttpPost]
[Authorize]
public async Task AddCart([FromBody] FMCartAdd entity)
{
if ((await _bfbfComAPIService.IsDictionary(_user.ID)) && (entity.cartType != 1||entity.cartType!=4))//1是普通单,4 是秒杀
{
//经销商进制发起团购
return new WebApiCallBack
{
status = false,
msg = " 对不起 经销商不可以发起团购或者拼团"
};
}
var jm = await _cartServices.Add(_user.ID, entity.ProductId, entity.Nums, entity.type, entity.cartType, entity.objectId,entity.isCustomizable);
return jm;
}
#endregion 添加单个货品到购物车
#region 获取购物车列表======================================================================
///
/// 获取购物车列表
///
///
[HttpPost]
[Authorize]
public async Task GetList([FromBody] FMCartGetList entity)
{
var ids = CommonHelper.StringToIntArray(entity.ids);
//获取数据
var jm = await _cartServices.GetCartInfos(_user.ID, ids, entity.type, entity.areaId, entity.point, entity.couponCode, entity.receiptType, entity.userShipId, entity.objectId, entity.goodsId);
return jm;
}
#endregion 获取购物车列表======================================================================
#region 删除购物车信息
///
/// 获取购物车列表
///
///
[HttpPost]
[Authorize]
public async Task DoDelete([FromBody] FMIntId entity)
{
var jm = new WebApiCallBack();
if (entity.id <= 0)
{
jm.msg = "请提交要删除的货品";
return jm;
}
jm = await _cartServices.DeleteByIdsAsync(entity.id, _user.ID);
return jm;
}
#endregion 删除购物车信息
#region 设置购物车商品数量
///
/// 设置购物车商品数量
///
///
[HttpPost]
[Authorize]
public async Task SetCartNum([FromBody] FMSetCartNum entity)
{
var jm = await _cartServices.SetCartNum(entity.id, entity.nums, _user.ID, (int)GlobalEnumVars.CartSetNumType.Set, (int)GlobalEnumVars.OrderType.Common);
return jm;
}
#endregion 设置购物车商品数量
#region 根据提交的数据判断哪些购物券可以使用==================================================
///
/// 根据提交的数据判断哪些购物券可以使用
///
///
[HttpPost]
[Authorize]
public async Task GetCartAvailableCoupon([FromBody] FMCouponForUserCouponPost entity)
{
var ids = CommonHelper.StringToIntArray(entity.ids);
var jm = await _cartServices.GetCartAvailableCoupon(_user.ID, ids);
return jm;
}
#endregion 根据提交的数据判断哪些购物券可以使用==================================================
}
}