From e207c2cf092af9ff4269dda1ccd822f32cf83ca2 Mon Sep 17 00:00:00 2001 From: chenwenkai <1084072318@qq.com> Date: Tue, 18 Feb 2025 13:46:30 +0800 Subject: [PATCH] =?UTF-8?q?temu=20=E6=B4=BB=E5=8A=A8=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TradeManageNew/HuoWuServiceNew.asmx.cs | 250 ++++++++++++++++++++----- 1 file changed, 202 insertions(+), 48 deletions(-) diff --git a/TradeManageNew/HuoWuServiceNew.asmx.cs b/TradeManageNew/HuoWuServiceNew.asmx.cs index 108f39d..e1c7e12 100644 --- a/TradeManageNew/HuoWuServiceNew.asmx.cs +++ b/TradeManageNew/HuoWuServiceNew.asmx.cs @@ -22,6 +22,7 @@ using System.Net; using System.Web.UI; using System.Text; using NPOI.HSSF.Model; +using System.Runtime.Remoting.Metadata.W3cXsd2001; namespace TradeManageNew { @@ -7389,7 +7390,7 @@ namespace TradeManageNew [WebMethod(EnableSession = true)] public APIReturnModel ImportTemuHuoDongPrices(string filePath) { - PagesNew.Login(this.Session); + //PagesNew.Login(this.Session); var userid = Convert.ToInt32(base.Session["UserId"]); string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + filePath; var rmodel = new APIReturnModel(); @@ -7403,84 +7404,237 @@ namespace TradeManageNew if (tb.Columns.Contains("SKU") == false) { error = error + "导入模板的 SKU 列不存在"; } if (tb.Columns.Contains("SKUID") == false) { error = error + "导入模板的 SKUID 列不存在"; } if (tb.Columns.Contains("价格") == false) { error = error + "导入模板的 价格 列不存在"; } + if (tb.Columns.Contains("折扣") == false) { error = error + "导入模板的 折扣 列不存在"; } + if (tb.Columns.Contains("售价") == false) { error = error + "导入模板的 售价 列不存在"; } + if (tb.Columns.Contains("数量") == false) { error = error + "导入模板的 数量 列不存在"; } if (string.IsNullOrEmpty(error) == false) { rmodel.Code = 0; rmodel.Message = error; } - var goods = new List(); + var data = new List(); StringBuilder sb = new StringBuilder(); + var shopName = tb.Rows[0]["店铺名"].ToString(); + + if (string.IsNullOrEmpty(shopName)) + { + sb.Append("第" + (2).ToString() + "行店铺名不能为空;"); - for (int i = 0; i < tb.Rows.Count; i++) + } + var shop = DataNew.GetShopByShopName(shopName); + if (shop == null) { - var shopName = tb.Rows[i]["店铺名"].ToString(); - if (string.IsNullOrEmpty(shopName)) + sb.Append("第" + (2).ToString() + "行店铺名:" + shopName + "不存在;"); + } + + var sku = tb.Rows[0]["SKU"].ToString(); + if (string.IsNullOrEmpty(sku)) + { + sb.Append("第" + (2).ToString() + "行SKU不能为空;"); + } + var SKUID = tb.Rows[0]["SKUID"].ToString(); + if (string.IsNullOrEmpty(SKUID)) + { + sb.Append("第" + (2).ToString() + "行SKUID不能为空;"); + } + + if (string.IsNullOrEmpty(tb.Rows[0]["价格"].ToString())) + { + sb.Append("第" + (2).ToString() + "行价格不能为空;"); + } + + if (string.IsNullOrEmpty(tb.Rows[0]["折扣"].ToString())) + { + sb.Append("第" + (2).ToString() + "行折扣不能为空;"); + } + if (string.IsNullOrEmpty(tb.Rows[0]["售价"].ToString())) + { + sb.Append("第" + (2).ToString() + "行售价不能为空;"); + } + if (string.IsNullOrEmpty(tb.Rows[0]["数量"].ToString())) + { + sb.Append("第" + (2).ToString() + "行数量不能为空;"); + } + if (sb.Length > 0) + { + rmodel.Code = 0; + rmodel.Message = sb.ToString(); + return rmodel; + } + + var md = new TemuShopGoodActive() + { + Shopid = shop.ShopId.Value, + ShopName= shopName, + SPUID = SKUID, + SKU = sku, + BasePrice = Convert.ToDecimal(tb.Rows[0]["价格"].ToString()), + CreateUserId = userid, + CreateTime = DateTime.Now, + State = 1, + }; + var mddetail = new TemuShopGoodActiveDetail() + { + OffNum = Convert.ToDecimal(tb.Rows[0]["折扣"].ToString()), + SalePrice = Convert.ToDecimal(tb.Rows[0]["售价"].ToString()), + ActiveNum = Convert.ToInt32(tb.Rows[0]["数量"].ToString()), + }; + if (md.ListModel==null) + { + md.ListModel = new List(); + } + md.ListModel.Add(mddetail); + //md.ListModel + data.Add(md); + + for (int i = 1; i < tb.Rows.Count; i++) + { + int shopid2 = 0; + var shopName2 = tb.Rows[i]["店铺名"].ToString(); + var sku2 = tb.Rows[i]["SKU"].ToString(); + var SKUID2 = tb.Rows[i]["SKUID"].ToString(); + var price2 = tb.Rows[i]["价格"].ToString(); + var shopNamei = tb.Rows[i - 1]["店铺名"].ToString(); + var skui = tb.Rows[i - 1]["SKU"].ToString(); + var SKUIDi = tb.Rows[i - 1]["SKUID"].ToString(); + var shopi = DataNew.GetShopByShopName(shopNamei); + var md2 = new TemuShopGoodActive(); + if (string.IsNullOrEmpty(price2)) { - sb.Append("第" + (i + 1).ToString() + "行店铺名不能为空;"); - continue; + sb.Append("第" + (i + 1).ToString() + "行价格不能为空;"); } - var shop = DataNew.GetShopByShopName(shopName); - if (shop == null) + if (string.IsNullOrEmpty(tb.Rows[i]["折扣"].ToString())) { - sb.Append("第" + (i + 1).ToString() + "行店铺名:" + shopName + "不存在;"); - continue; + sb.Append("第" + (i + 1).ToString() + "行折扣不能为空;"); } - - var sku = tb.Rows[i]["SKU"].ToString(); - if (string.IsNullOrEmpty(sku)) + if (string.IsNullOrEmpty(tb.Rows[i]["售价"].ToString())) { - sb.Append("第" + (i + 1).ToString() + "行SKU不能为空;"); - continue; + sb.Append("第" + (i + 1).ToString() + "行售价不能为空;"); } - - - var SKUID = tb.Rows[i]["SKUID"].ToString(); - if (string.IsNullOrEmpty(SKUID)) + if (string.IsNullOrEmpty(tb.Rows[i]["数量"].ToString())) { - sb.Append("第" + (i + 1).ToString() + "行SKUID不能为空;"); - continue; + sb.Append("第" + (i + 1).ToString() + "行数量不能为空;"); } - - if (string.IsNullOrEmpty(tb.Rows[i]["价格"].ToString())) + if (string.IsNullOrEmpty(shopName2) && string.IsNullOrEmpty(sku2) && string.IsNullOrEmpty(sku2)) { - sb.Append("第" + (i + 1).ToString() + "行价格不能为空;"); - continue; - } + if (string.IsNullOrEmpty(shopName2)) + { + var shop2 = DataNew.GetShopByShopName(shopNamei); + tb.Rows[i]["店铺名"] = shopNamei; + shopName2 = tb.Rows[i]["店铺名"].ToString(); - var data = DataNew.GetTemuShopGoodPrice(shop.ShopId.Value, sku, SKUID); - if (data != null) - { - sb.Append("第" + (i + 1).ToString() + "行已存在相同数据;"); - continue; + if (shop2 != null) + { + shopid2 = shop2.ShopId.Value; + } + else + { + sb.Append("第" + (i - 1).ToString() + "行店铺名:" + shopName2 + "不存在;"); + } + } + else + { + shopid2 = DataNew.GetShopByShopName(shopName2).ShopId.Value; + } + if (string.IsNullOrEmpty(sku2)) + { + tb.Rows[i]["SKU"] = tb.Rows[i - 1]["SKU"]; + sku2 = tb.Rows[i]["SKU"].ToString(); + } + if (string.IsNullOrEmpty(SKUID2)) + { + tb.Rows[i]["SKUID"] = tb.Rows[i - 1]["SKUID"]; + SKUID2 = tb.Rows[i]["SKUID"].ToString(); + } + md2 = data.Where(p => p.Shopid == shopi.ShopId.Value && p.SKU == skui && p.SPUID == SKUIDi).FirstOrDefault(); + if (md2!=null) + { + var mddetail2 = new TemuShopGoodActiveDetail() + { + OffNum = Convert.ToDecimal(tb.Rows[i]["折扣"].ToString()), + SalePrice = Convert.ToDecimal(tb.Rows[i]["售价"].ToString()), + ActiveNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString()), + }; + data.Where(p => p.Shopid == shopi.ShopId.Value && p.SKU == skui && p.SPUID == SKUIDi).FirstOrDefault().ListModel.Add(mddetail2); + } } - - var md = new TemuShopGoodActive() + else { - Shopid = shop.ShopId.Value, - SPUID = SKUID, - SKU = sku, - BasePrice = Convert.ToDecimal(tb.Rows[i]["价格"]), - CreateUserId = userid, - CreateTime=DateTime.Now, - State=1, - }; - goods.Add(md); - } + if (string.IsNullOrEmpty(shopName2)) + { + var shop2 = DataNew.GetShopByShopName(shopNamei); + tb.Rows[i]["店铺名"] = shopNamei; + shopName2 = tb.Rows[i]["店铺名"].ToString(); + + if (shop2 != null) + { + shopid2 = shop2.ShopId.Value; + } + else + { + sb.Append("第" + (i - 1).ToString() + "行店铺名:" + shopName2 + "不存在;"); + } + } + else + { + shopid2 = DataNew.GetShopByShopName(shopName2).ShopId.Value; + } + if (string.IsNullOrEmpty(sku2)) + { + tb.Rows[i]["SKU"] = tb.Rows[i - 1]["SKU"]; + sku2 = tb.Rows[i]["SKU"].ToString(); + } + if (string.IsNullOrEmpty(SKUID2)) + { + tb.Rows[i]["SKUID"] = tb.Rows[i - 1]["SKUID"]; + SKUID2 = tb.Rows[i]["SKUID"].ToString(); + } + + var exdata = DataNew.GetTemuShopGoodPrice(shopid2, sku2, SKUID2); + if (exdata != null) + { + sb.Append("第" + (i + 1).ToString() + "行已存在相同数据;"); + continue; + } + + md2.Shopid = shopid2; + md2.ShopName = shopName2; + md2.SKU = sku2; + md2.SPUID = SKUID2; + md2.BasePrice = Convert.ToDecimal(price2); + md2.CreateUserId = userid; + md2.CreateTime = DateTime.Now; + md2.State = 1; + + if (md2.ListModel == null) + { + md2.ListModel = new List(); + } + var mddetail2 = new TemuShopGoodActiveDetail() + { + OffNum = Convert.ToDecimal(tb.Rows[i]["折扣"].ToString()), + SalePrice = Convert.ToDecimal(tb.Rows[i]["售价"].ToString()), + ActiveNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString()), + }; + md2.ListModel.Add(mddetail2); + data.Add(md2); + } + + + } if (sb.Length > 0) { rmodel.Code = 0; rmodel.Message = sb.ToString(); return rmodel; } - - foreach (var md in goods) + foreach (var i in data) { - DataNew.Save_TemuShopGoodActive(md); + DataNew.Save_TemuShopGoodActive(i); } - rmodel.Code = 1; rmodel.Message = ""; return rmodel;