From 99e2324eea7af7dd8da898277abd6f2cbb32e3f2 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期一, 25 三月 2024 16:28:19 +0800
Subject: [PATCH] 购物车接口

---
 CoreCms.Net.IServices/Cart/ICoreCmsCartServices.cs   |    5 +++--
 CoreCms.Net.Model/CoreCms.Net.Model.xml              |    5 +++++
 CoreCms.Net.Services/Cart/CoreCmsCartServices.cs     |   18 +++++++++++++++---
 CoreCms.Net.Model/FromBody/FMCart.cs                 |    5 ++++-
 CoreCms.Net.Web.WebApi/Controllers/CartController.cs |    3 +--
 5 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/CoreCms.Net.IServices/Cart/ICoreCmsCartServices.cs b/CoreCms.Net.IServices/Cart/ICoreCmsCartServices.cs
index 4462af5..75dfd2d 100644
--- a/CoreCms.Net.IServices/Cart/ICoreCmsCartServices.cs
+++ b/CoreCms.Net.IServices/Cart/ICoreCmsCartServices.cs
@@ -72,8 +72,9 @@
         /// <param name="ids">宸查�夋嫨璐у彿</param>
         /// <param name="type">璐墿杞︾被鍨�/鍚岃鍗曠被鍨�</param>
         /// <param name="objectId">鍏宠仈闈炶鍗曠被鍨嬫暟鎹簭鍒�</param>
+        /// <param name="goodsId">goodsId</param>
         /// <returns></returns>
-        Task<WebApiCallBack> GetCartDtoData(int userId, int[] ids = null, int type = 1, int objectId = 0);
+        Task<WebApiCallBack> GetCartDtoData(int userId, int[] ids = null, int type = 1, int objectId = 0, int goodsId = 0);
 
 
         /// <summary>
@@ -90,7 +91,7 @@
         /// <param name="objectId">鍏宠仈闈炴櫘閫氳鍗曡惀閿�绫诲瀷搴忓垪</param>
         /// <returns></returns>
         Task<WebApiCallBack> 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);
+            string couponCode, int deliveryType = (int)GlobalEnumVars.OrderReceiptType.Logistics, int userShipId = 0, int objectId = 0, int goodsId = 0);
 
 
         /// <summary>
diff --git a/CoreCms.Net.Model/CoreCms.Net.Model.xml b/CoreCms.Net.Model/CoreCms.Net.Model.xml
index 85c0521..d41aa23 100644
--- a/CoreCms.Net.Model/CoreCms.Net.Model.xml
+++ b/CoreCms.Net.Model/CoreCms.Net.Model.xml
@@ -9558,6 +9558,11 @@
             鍏宠仈闈炴櫘閫氳鍗曞璞″簭鍒�
             </summary>
         </member>
+        <member name="P:CoreCms.Net.Model.FromBody.FMCartGetList.goodsId">
+            <summary>
+            鍟嗗搧鏁版嵁
+            </summary>
+        </member>
         <member name="T:CoreCms.Net.Model.FromBody.FMDoSaveCumulativeCheckInRules">
             <summary>
             淇濆瓨绱绛惧埌瑙勫垯
diff --git a/CoreCms.Net.Model/FromBody/FMCart.cs b/CoreCms.Net.Model/FromBody/FMCart.cs
index f6d54e0..32aa81b 100644
--- a/CoreCms.Net.Model/FromBody/FMCart.cs
+++ b/CoreCms.Net.Model/FromBody/FMCart.cs
@@ -97,7 +97,10 @@
         /// </summary>
         public int objectId { get; set; } = 0;
 
-
+        /// <summary>
+        /// 鍟嗗搧鏁版嵁
+        /// </summary>
+        public int goodsId { get; set; } = 0;
     }
 
 
diff --git a/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs b/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs
index f3e443c..87df3b3 100644
--- a/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs
+++ b/CoreCms.Net.Services/Cart/CoreCmsCartServices.cs
@@ -426,8 +426,9 @@
         /// <param name="ids">宸查�夋嫨璐у彿</param>
         /// <param name="type">璐墿杞︾被鍨�/鍚岃鍗曠被鍨�</param>
         /// <param name="objectId">鍏宠仈闈炶鍗曠被鍨嬫暟鎹簭鍒�</param>
+        /// <param name="goodsId">goodsId</param>
         /// <returns></returns>
-        public async Task<WebApiCallBack> GetCartDtoData(int userId, int[] ids = null, int type = 1, int objectId = 0)
+        public async Task<WebApiCallBack> GetCartDtoData(int userId, int[] ids = null, int type = 1, int objectId = 0, int goodsId = 0)
         {
             var jm = new WebApiCallBack() { methodDescription = "鑾峰彇璐墿杞﹀師濮嬪垪琛�(鏈牳绠�)" };
 
@@ -447,6 +448,17 @@
             {
                 carts = await _dal.QueryListByClauseAsync(p => p.userId == userId && p.type == type, p => p.id, OrderByType.Asc);
             }
+
+            if (goodsId>0)
+            {
+                var products = await  _productsServices.GetProducts(goodsId);
+                int[] ss =  products.Select(x => x.id).ToArray();
+
+                carts = carts.Where(p => ss.Contains(p.productId)).ToList();
+
+            }
+
+
             var cartDto = new CartDto { userId = userId, type = type };
 
             foreach (var item in carts)
@@ -568,11 +580,11 @@
         /// <param name="userShipId">鐢ㄦ埛鏀惰揣鍦板潃</param>
         /// <param name="objectId">鍏宠仈闈炴櫘閫氳鍗曡惀閿�绫诲瀷搴忓垪</param>
         /// <returns></returns>
-        public async Task<WebApiCallBack> 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)
+        public async Task<WebApiCallBack> 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)
         {
             var jm = new WebApiCallBack() { methodDescription = "鑾峰彇澶勭悊鍚庣殑璐墿杞︿俊鎭�" };
             var cartDto = new CartDto(); //蹇呴』鍒濆鍖�
-            var cartDtoData = await GetCartDtoData(userId, ids, orderType, objectId);
+            var cartDtoData = await GetCartDtoData(userId, ids, orderType, objectId, goodsId);
             if (!cartDtoData.status)
             {
                 jm.msg = "1";
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CartController.cs b/CoreCms.Net.Web.WebApi/Controllers/CartController.cs
index 55e819f..3f61cfc 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/CartController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/CartController.cs
@@ -73,9 +73,8 @@
         public async Task<WebApiCallBack> 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);
+            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;
         }

--
Gitblit v1.9.1