退货更改,temu活动导入

master
chenwenkai 2 weeks ago
parent 03a80a4631
commit 2249b805c5

@ -28582,6 +28582,19 @@ end";
var dt = db.ExecuteDataTable(cmd);
return dt.ToList<TemuShopGoodPrice>();
}
public static List<TemuShopGoodActive> GetTemuShopGoodActive(int shopid, string sku, string SKUID)
{
var sql = @" select * from TemuShopGoodActive where Shopid=@shopid and SKU=@sku and SPUID=@SKUID ";
var db = DatabaseFactory.CreateDatabase();
var cmd = db.GetSqlStringCommand(sql);
db.AddInParameter(cmd, "@shopid", DbType.Int32, shopid);
db.AddInParameter(cmd, "@SKU", DbType.String, sku);
db.AddInParameter(cmd, "@SKUID", DbType.String, SKUID);
var dt = db.ExecuteDataTable(cmd);
return dt.ToList<TemuShopGoodActive>();
}
public static TemuShopGoodPrice GetTemuShopGoodPriceOne(int shopid, string spuid)
{
var sql = @" select top 1 * from TemuShopGoodPrice where Shopid=@shopid and spuid=@spuid ";

@ -7385,6 +7385,114 @@ namespace TradeManageNew
}
}
//temu 活动导入
[WebMethod(EnableSession = true)]
public APIReturnModel ImportTemuHuoDongPrices(string filePath)
{
PagesNew.Login(this.Session);
var userid = Convert.ToInt32(base.Session["UserId"]);
string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + filePath;
var rmodel = new APIReturnModel();
try
{
MicrosoftExcel excel = new MicrosoftExcel();
DataTable tb = excel.ImportExcel(ServerFileName);
string error = "";
if (tb.Columns.Contains("店铺名") == false) { error = error + "导入模板的 店铺名 列不存在"; }
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 (string.IsNullOrEmpty(error) == false)
{
rmodel.Code = 0;
rmodel.Message = error;
}
var goods = new List<TemuShopGoodActive>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < tb.Rows.Count; i++)
{
var shopName = tb.Rows[i]["店铺名"].ToString();
if (string.IsNullOrEmpty(shopName))
{
sb.Append("第" + (i + 1).ToString() + "行店铺名不能为空;");
continue;
}
var shop = DataNew.GetShopByShopName(shopName);
if (shop == null)
{
sb.Append("第" + (i + 1).ToString() + "行店铺名:" + shopName + "不存在;");
continue;
}
var sku = tb.Rows[i]["SKU"].ToString();
if (string.IsNullOrEmpty(sku))
{
sb.Append("第" + (i + 1).ToString() + "行SKU不能为空");
continue;
}
var SKUID = tb.Rows[i]["SKUID"].ToString();
if (string.IsNullOrEmpty(SKUID))
{
sb.Append("第" + (i + 1).ToString() + "行SKUID不能为空");
continue;
}
if (string.IsNullOrEmpty(tb.Rows[i]["价格"].ToString()))
{
sb.Append("第" + (i + 1).ToString() + "行价格不能为空;");
continue;
}
var data = DataNew.GetTemuShopGoodPrice(shop.ShopId.Value, sku, SKUID);
if (data != null)
{
sb.Append("第" + (i + 1).ToString() + "行已存在相同数据;");
continue;
}
var md = new TemuShopGoodActive()
{
Shopid = shop.ShopId.Value,
SPUID = SKUID,
SKU = sku,
BasePrice = Convert.ToDecimal(tb.Rows[i]["价格"]),
CreateUserId = userid,
};
goods.Add(md);
}
if (sb.Length > 0)
{
rmodel.Code = 0;
rmodel.Message = sb.ToString();
return rmodel;
}
foreach (var md in goods)
{
DataNew.Save_TemuShopGoodActive(md);
}
rmodel.Code = 1;
rmodel.Message = "";
return rmodel;
}
catch (Exception ex)
{
rmodel.Code = 0;
rmodel.Message = ex.Message;
return rmodel;
}
}
[WebMethod(EnableSession = true)]
public APIReturnModel DeleteTemuShopGoodPrice(int id)

@ -7,5 +7,9 @@ namespace TradeManageNew.Models.Shage
public List<int> Ids { get; set; }
public int UserId { get; set; }
public int Status { get; set; }
public string imgList { get; set; }
}
}

@ -107,5 +107,9 @@ namespace TradeManageNew.Models.ShopifyUsedSale
/// TrackingCode
/// </summary>
public string TrackingCode { get; set; }
/// <summary>
/// imgList
/// </summary>
public string imgList { get; set; }
}
}

@ -23,6 +23,7 @@ using System.Windows.Forms;
using TradeData;
using NetLibrary.Data;
using NetLibrary.ReportPrint;
using TradeManageNew.APIClients.ShopifyAPI;
namespace TradeManageNew.OuterService
{
@ -1748,36 +1749,60 @@ namespace TradeManageNew.OuterService
if (orderUsedSalePlatform is null)
{
throw new Exception(
$"No barcode for {input.BarCode} to be shipped used sale item exists");
}
var product = db.HW_GoodsInfo.FirstOrDefault(x => x.GoodsId == orderUsedSalePlatform.ProductId);
//throw new Exception(
// $"No barcode for {input.BarCode} to be shipped used sale item exists");
orderUsedSalePlatform= db.DT_OrderUsedSalePlatform.FirstOrDefault(x =>
x.BarCode == input.BarCode);
var product = db.HW_GoodsInfo.FirstOrDefault(x => x.GoodsId == orderUsedSalePlatform.ProductId);
var result = new GetPickupOrderUsedSalePlatformDto
var result = new GetPickupOrderUsedSalePlatformDto
{
Id = orderUsedSalePlatform.Id,
ProductDescription = product?.GoodsEnglisgName,
SkuId = orderUsedSalePlatform.SkuId,
SkuCode = orderUsedSalePlatform.SkuCode,
BarCode = orderUsedSalePlatform.BarCode,
};
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(result);
}
else
{
Id = orderUsedSalePlatform.Id,
ProductId = orderUsedSalePlatform.ProductId,
ProductCode = orderUsedSalePlatform.ProductCode,
ProductDescription = product?.GoodsEnglisgName,
SkuId = orderUsedSalePlatform.SkuId,
SkuCode = orderUsedSalePlatform.SkuCode,
BarCode = orderUsedSalePlatform.BarCode,
IsPrinted = orderUsedSalePlatform.IsPrinted,
Status = orderUsedSalePlatform.Status,
WarehouseLocation =orderUsedSalePlatform.WarehouseLocation,
WarehousePositionId = orderUsedSalePlatform.WarehousePositionId,
WarehousePositionCode = orderUsedSalePlatform.WarehousePositionCode,
ImageUrls = JsonConvert.DeserializeObject<List<string>>(orderUsedSalePlatform.ImageUrls),
ShippingMethod = orderUsedSalePlatform.ShippingMethod,
IsNew = orderUsedSalePlatform.IsNew,
CreationTime = orderUsedSalePlatform.CreationTime,
CreatorId = orderUsedSalePlatform.CreatorId
};
var product = db.HW_GoodsInfo.FirstOrDefault(x => x.GoodsId == orderUsedSalePlatform.ProductId);
var result = new GetPickupOrderUsedSalePlatformDto
{
Id = orderUsedSalePlatform.Id,
ProductId = orderUsedSalePlatform.ProductId,
ProductCode = orderUsedSalePlatform.ProductCode,
ProductDescription = product?.GoodsEnglisgName,
SkuId = orderUsedSalePlatform.SkuId,
SkuCode = orderUsedSalePlatform.SkuCode,
BarCode = orderUsedSalePlatform.BarCode,
IsPrinted = orderUsedSalePlatform.IsPrinted,
Status = orderUsedSalePlatform.Status,
WarehouseLocation = orderUsedSalePlatform.WarehouseLocation,
WarehousePositionId = orderUsedSalePlatform.WarehousePositionId,
WarehousePositionCode = orderUsedSalePlatform.WarehousePositionCode,
ImageUrls = JsonConvert.DeserializeObject<List<string>>(orderUsedSalePlatform.ImageUrls),
ShippingMethod = orderUsedSalePlatform.ShippingMethod,
IsNew = orderUsedSalePlatform.IsNew,
CreationTime = orderUsedSalePlatform.CreationTime,
CreatorId = orderUsedSalePlatform.CreatorId
};
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(result);
}
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(result);
}
}
}
@ -2008,23 +2033,51 @@ namespace TradeManageNew.OuterService
if (Method == "SelfPickupOrderUsedSalePlatform")
{
var input = JsonConvert.DeserializeObject<SelfPickupOrderUsedSalePlatformInput>(ResponseContent);
using (var db = new ErpDbContext())
{
var exPlatformList = db.DT_OrderUsedSalePlatform.Where(x =>
input.Ids.Contains(x.Id))
.ToList();
//如果传入的状态不是4并且之前的状态是2则需要删除变体
foreach (var i in exPlatformList)
{
if (input.Status != 4 && (int)i.Status == 2)
{
var shopifyApiClient = new ShopifyAPIClient();
var productVariantRes = shopifyApiClient.DeleteProductVariantAsync(new Body3
{
ProductId = i.ProductId.ToString(),
Code = i.ProductCode,
}).ConfigureAwait(false)
.GetAwaiter()
.GetResult();
//if (productVariantRes.Success != true)
//{
// throw new Exception($"删除Shopify条码[{item.ProductCode}]变体失败,{productVariantRes.Message}");
//}
}
}
var orderUsedSalePlatformList = db.DT_OrderUsedSalePlatform.Where(x =>
input.Ids.Contains(x.Id)
&& x.Status == UsedSalePlatformStatus.PendingPickup)
&& x.Status == (UsedSalePlatformStatus)input.Status)
.ToList();
if (orderUsedSalePlatformList.Any())
{
db.DT_OrderUsedSalePlatform.Where(x =>
input.Ids.Contains(x.Id)
&& x.Status == UsedSalePlatformStatus.PendingPickup)
&& x.Status == (UsedSalePlatformStatus)input.Status)
.Set(x => x.ShippingMethod, ShippingMethod.SelfPickup)
.Set(x => x.Status, UsedSalePlatformStatus.Sold)
.Set(x => x.Status, (UsedSalePlatformStatus)input.Status)
.Set(x => x.LastModifierId, input.UserId)
.Set(x => x.LastModificationTime, DateTime.Now)
.Set(x => x.imgList, input.imgList)
.Update();
}
}

@ -22,6 +22,15 @@ namespace TradeUsedSale.Enums
/// <summary>
/// 售卖完成
/// </summary>
[Description("售卖完成")] Sold
[Description("售卖完成")] Sold,
/// <summary>
/// 使用配件
/// </summary>
[Description("使用配件")] PeiJian ,
/// <summary>
/// 现场出售
/// </summary>
[Description("现场出售")] XcChuShou
}
}

@ -117,5 +117,10 @@ namespace TradeUsedSale.Repositories.Models
/// 运费
/// </summary>
public decimal TotalNetCharge { get; set; }
/// <summary>
/// 运费
/// </summary>
public string imgList { get; set; }
}
}
Loading…
Cancel
Save