/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.Model.Entities; using SqlSugar; namespace CoreCms.Net.Repository { /// /// 购物车表 接口实现 /// public class CoreCmsCartRepository : BaseRepository, ICoreCmsCartRepository { public CoreCmsCartRepository(IUnitOfWork unitOfWork) : base(unitOfWork) { } #region 获取购物车用户数据总数 /// /// 获取购物车用户数据总数 /// /// public async Task GetCountAsync(int userId) { var count = await DbClient.Queryable((cart, products, goods) => new object[] { JoinType.Inner, cart.productId == products.id, JoinType.Inner, products.goodsId == goods.id }) .Where((cart, products, goods) => cart.type == (int)GlobalEnumVars.OrderType.Common) .Select((cart, products, goods) => new { cart.id, cart.userId, goodId = goods.id }) .MergeTable() .CountAsync(p => p.userId == userId); return count; } #endregion #region 获取购物车商品总价格 /// /// 获取购物车商品总价格 /// /// public async Task GetMoneyAsync(int userId) { var count = await DbClient.Queryable((cart, products, goods) => new object[] { JoinType.Inner, cart.productId == products.id, JoinType.Inner, products.goodsId == goods.id }) .Where((cart, products, goods) => cart.type == (int)GlobalEnumVars.OrderType.Common && cart.userId == userId) .Select((cart, products, goods) => new { cart.nums, products.price, sunMoney = cart.nums * products.price }) .MergeTable() .SumAsync(p => p.sunMoney); return count; } #endregion } }