|
|
|
@ -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<TemuShopGoodActive>();
|
|
|
|
|
var data = new List<TemuShopGoodActive>();
|
|
|
|
|
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<TemuShopGoodActiveDetail>();
|
|
|
|
|
}
|
|
|
|
|
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<TemuShopGoodActiveDetail>();
|
|
|
|
|
}
|
|
|
|
|
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;
|
|
|
|
|