You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2797 lines
127 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using NetLibrary;
using NetLibrary.Data;
using NetLibrary.Log;
using NetLibrary.OnlineTrade;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading;
using TradeData;
using TradeModel;
using System.Web.Services;
using NetLibrary.Express;
using NetLibrary.Common.Configuration;
using TradeManageNew;
using System.Diagnostics.SymbolStore;
using System.Net;
using Newtonsoft.Json;
using System.ComponentModel.Design;
using TradeManage.CangKu;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.Runtime.InteropServices.ComTypes;
using System.Web;
using System.Text.RegularExpressions;
using MarketplaceWebServiceOrders.Model;
namespace TradeServer
{
public class OrderInfoService
{
public static int XCNum = 0;
public static int Count = 0;
//public static int shopid = 0;
//public static int PlatType = 0;
//public static DateTime? SDate = null;
//public static DateTime? EDate = null;
List<JC_Shop> TBShopList = null;
public string StartRunTime { get; set; }
public int OrderDelayTime = 10; //因网络原因订单读取失败,延迟多少分钟再读取
public int OrderReadNum = 5; //每天最多读取失败几次
TimeTask Task = new TimeTask();
TimeTask Task1 = new TimeTask();
TimeTask Task2 = new TimeTask();
TimeTask Task3 = new TimeTask();
TimeTask Task4 = new TimeTask();
List<JC_Shop> ListAlibab = null;
List<JC_Shop> ListAmazon = null;
List<JC_Shop> ListEbay = null;
List<JC_Shop> ListWish = null;
List<JC_LXShop> ListLazada = null;
List<JC_LXShop> ListShopee = null;
List<JC_Shop> ListWalmart = null;
List<JC_LXShop> ListWayFair = null;
List<JC_Shop> ListTikTok = null;
List<JC_Shop> ListShein = null;
List<JC_Shop> ListTemu = null;
public string FedexReadTime { get; set; }
// Thread threadListen = null;
List<JC_ProductOnOff> ProductOnOffList = null;
int CurrentOrderReadNum = 0;
private AutoResetEvent AutoReset = new AutoResetEvent(false);
bool IsRun = false;
#region 启动
public void Start()
{
try
{
IsRun = true;
//ERP手动同步订单点击同步订单之后修改JC_SyncState对应店铺的state为1每分钟查询一遍JC_SyncState同步state为1的店铺订单
TaskModel tm1 = new TaskModel();
tm1.Interval = 1;
tm1.NextTime = DateTime.Now;
tm1.RunTask = RunTask1;
Task1.ListModel.Add(tm1);
Task1.Start();
TaskModel tm2 = new TaskModel();
tm2.Interval = 8;
tm2.NextTime = DateTime.Now;
tm2.RunTask = RunTask2;
Task2.ListModel.Add(tm2);
Task2.Start();
TaskModel tm3 = new TaskModel();
tm3.Interval = 8;
tm3.NextTime = DateTime.Now;
tm3.RunTask = RunTask3;
Task3.ListModel.Add(tm3);
Task3.Start();
TaskModel tm4 = new TaskModel();
tm4.Interval = 10;
tm4.NextTime = DateTime.Now;
tm4.RunTask = RunTask4;
Task4.ListModel.Add(tm4);
Task4.Start();
//自动运行同步订单每天早上533运行一次间隔24小时
TaskModel tm = new TaskModel();
tm.Interval = StaticModel.OrderJGTime * 60;
tm.NextTime = DateTime.Now;// Convert.ToDateTime(DateTime.Today.ToString("yyyy-MM-dd") + " " + StartRunTime);
// if (tm.NextTime < DateTime.Now) tm.NextTime = tm.NextTime.AddDays(1);
tm.RunTask = RunTask;
Task.ListModel.Add(tm);
Task.Start();
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
}
}
#endregion
private void RunTask2(TaskModel m)
{
try
{
this.GetFedex();
}
catch (Exception exception)
{
ErrorFollow.TraceWrite(exception.TargetSite.Name, exception.StackTrace, exception.Message);
}
}
public void GetFedex()
{
try
{
JC_ExpressService service = new JC_ExpressService();
JC_PostAddress address = new BaseService().GetAddressModel2(228);
JC_ExpressPost expressModel = service.GetExpressModel(1, 228);
JC_PostAddress address2 = new BaseService().GetAddressModel2(237);
JC_ExpressPost expressModel2 = service.GetExpressModel(1, 237);
List<DT_OrderModel> fedexOrderList = API_OrderInfoService.GetFedexOrderList(new DateTime?(Convert.ToDateTime(this.FedexReadTime)));
string str = "";
if (fedexOrderList != null)
{
foreach (DT_OrderModel model in fedexOrderList)
{
str = str + model.OrderId + ",";
}
}
List<DT_OrderMateGoods> fedexOrderGoodsList = new List<DT_OrderMateGoods>();
if (str != "")
{
fedexOrderGoodsList = API_OrderInfoService.GetFedexOrderGoodsList(str.TrimEnd(','));
}
if (fedexOrderList != null)
{
foreach (var fmd in fedexOrderList)
{
List<DT_OrderMateGoods> list3 = null;
if (fedexOrderGoodsList != null)
{
list3 = fedexOrderGoodsList.FindAll(n => n.OrderId == fmd.OrderId);
}
GetFedexFee(list3, address, expressModel, fmd, 228);
Thread.Sleep(3000);
GetFedexFee(list3, address2, expressModel2, fmd, 237);
//获取TEMU订单的各个快递渠道的运费
GetTemuOrderPostFee(fmd.OrderId.Value);
}
}
}
catch (Exception exception)
{
ErrorFollow.TraceWrite("GetFedex", "", exception.Message);
}
}
public void GetFedexFee(List<DT_OrderMateGoods> list3, JC_PostAddress address, JC_ExpressPost expressModel, DT_OrderModel fmd, int expressid2)
{
try
{
JC_ExpressService service = new JC_ExpressService();
decimal num = 0M;
string str2 = "";
if (list3 != null)
{
foreach (DT_OrderMateGoods goods in list3)
{
if (goods.Weight == null || goods.Weight <= 0)
{
str2 = str2 + goods.GoodsCode + "重量没填,无法计算";
}
if (goods.Width2 == null || goods.Length2 == null || goods.Height2 == null || goods.Length2 <= 0 || goods.Width2 <= 0 || goods.Height2 <= 0)
{
str2 = str2 + goods.GoodsCode + "长宽高没填,无法计算";
}
if (goods.Weight != null && goods.GoodsNum != null)
{
num += goods.Weight.Value * goods.GoodsNum.Value;
}
}
}
if (list3 == null || list3.Count <= 0)
{
str2 = "订单没有对应货物,没法计算";
}
if (str2 == "")
{
TradeManageNew.FedexRateNew rate = new TradeManageNew.FedexRateNew();
TradeManageNew.FedexRateNew.Key = expressModel.UserCode;
TradeManageNew.FedexRateNew.Password = expressModel.CheckCode;
TradeManageNew.FedexRateNew.AccountNumber = expressModel.client_id;
TradeManageNew.FedexRateNew.MeterNumber = expressModel.client_secret;
TradeManageNew.FedexRateNew.PayAccountNumber = expressModel.refresh_token;
TradeManageNew.FedexRateNew.HubId = expressModel.Code;
TradeManageNew.FedexFeeMdNew md = new TradeManageNew.FedexFeeMdNew();
TradeManageNew.FedexRateNew.PostId = expressid2;
md.RevName = fmd.RevName;
md.RevPhone = fmd.RevPhone;
if (fmd.RevPhone == null || fmd.RevPhone == "")
{
md.RevPhone = fmd.RevMoblie;
}
if (fmd.RevAddr != null && fmd.RevAddr != "")
{
md.RevAddr = fmd.RevAddr;
}
else
{
md.RevAddr = "street No 18";
}
md.RevCity = fmd.RevCity;
if (fmd.RevCity == null || fmd.RevCity == "")
{
md.RevCity = fmd.RevProvince;
}
if (fmd.RevProvinceCode != null && fmd.RevProvinceCode != "")
{
md.RevProv = fmd.RevProvinceCode;
}
else if (fmd.RevProvince != null && fmd.RevProvince != "" && fmd.RevProvince.Length > 2)
{
md.RevProv = fmd.RevProvince.Substring(fmd.RevProvince.Length - 2, 2);
}
else
{
md.RevProv = fmd.RevProvince;
}
md.RevPostCode = fmd.RevPostCode;
md.RevCountry = fmd.CountryCode;
md.OrderId = fmd.OrderId;
// md.SendAddr = address.EnglishAddress;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
if (list3[0].Width2 != null)
{
md.Width = (Math.Ceiling(list3[0].Width2.Value).ToString());
}
if (list3[0].Height2 != null)
{
md.Height = Math.Ceiling(list3[0].Height2.Value).ToString();
}
if (list3[0].Length2 != null)
{
md.Lenght = Math.Ceiling(list3[0].Length2.Value).ToString();
}
md.Weight = num;
md.PostType = "SMART_POST";
try
{
rate.GetFee(md, out str2);
}
catch (Exception ex)
{
}
Thread.Sleep(2000);
md.PostType = "FEDEX_GROUND";
try
{
rate.GetFee(md, out str2);
}
catch (Exception ex)
{
}
Thread.Sleep(2000);
md.PostType = "GROUND_HOME_DELIVERY";
try
{
rate.GetFee(md, out str2);
}
catch (Exception ex)
{
}
}
if (str2 != "")
{
try
{
API_OrderInfoService.UpdateFee(fmd.OrderId.Value, str2);
}
catch (Exception ex)
{
}
}
}
catch (Exception exception)
{
ErrorFollow.TraceWrite("GetFedexFee", "", exception.Message);
}
}
/// <summary>
/// 获取TEMU平台店铺的订单去获取发货渠道价格
/// </summary>
public void GetTemuOrder()
{
ErrorFollow.TraceWrite("开始获取TEMU平台订单快递接口", "GetTemuOrder", "GetTemuOrder");
var orders = DataNew.GetTemuNoPostFeeOrders();
if(orders!=null && orders.Count > 0)
{
foreach(var order in orders)
{
GetTemuOrderPostFee(order.OrderId.Value);
DataNew.SaveGetTemuOrderPostFee(order.OrderId.Value);
}
}
ErrorFollow.TraceWrite("结束获取TEMU平台订单快递接口", "GetTemuOrder", "订单数量:" + (orders == null ? "0" : orders.Count().ToString()));
}
/// <summary>
/// 获取temu 平台订单的运费
/// </summary>
/// <param name="orderid"></param>
public void GetTemuOrderPostFee(int orderid)
{
try
{
var orderMd = DataNew.GetOrderModel(orderid);
//TEMU平台的订单才需要去获取订单各个快递渠道的运费
if (orderMd.PlatId.Value != 23)
return;
var orderGoodslist = DataNew.GetOrderGoodsList2(orderid.ToString());
if (orderGoodslist == null)
return ;
string gsku = "";
int gnum = 0;
decimal ww = 0;
decimal c = 0;
decimal k = 0;
decimal g = 0;
foreach (var gmd in orderGoodslist)
{
if (gmd.GoodsSKU != null && gmd.GoodsSKU != "")
gsku += gmd.GoodsNum.Value + "x" + gmd.GoodsSKU + " ";
gnum += gmd.GoodsNum.Value;
if (gmd.Weight2 != null)
ww += gmd.GoodsNum.Value * gmd.Weight2.Value * 0.0625m;
else if (gmd.Weight != null)
ww += gmd.GoodsNum.Value * gmd.Weight.Value * Convert.ToDecimal(0.0022046); //转为磅
decimal c2 = 0;
decimal k2 = 0;
decimal g2 = 0;
if (gmd.Long2 != null)
c2 = gmd.Long2.Value;
if (gmd.Width2 != null)
k2 = gmd.Width2.Value;
if (gmd.Height2 != null)
g2 = gmd.Height2.Value;
if (c2 > c)
c = c2;
if (k2 > k)
k = k2;
if (g2 > g)
g = g2;
}
int? dlength=null, dwidth=null, dheight = null, dweight = null;
if (ww > 0)
dweight = (int)Math.Ceiling(ww);
if (c > 0)
dlength = (int)Math.Ceiling(c);
if (g > 0)
dheight = (int)Math.Ceiling(g);
if (k > 0)
dwidth = (int)Math.Ceiling(k);
var orderGoods = DataNew.GetOrderGoodsList3(orderid);
if (orderMd == null || orderGoods == null)
{
return;
}
JC_Shop model = JC_ShopService.GetModel(orderMd.ShopId.Value);
if (string.IsNullOrEmpty(model.RefreshToken) || string.IsNullOrEmpty(model.DeveKey) || string.IsNullOrEmpty(model.Appkey))
{
return;
}
var wareHouses = DataNew.GetTemuShopWareHouses(orderMd.ShopId.Value);
if (wareHouses == null)
{
return;
}
if(!dlength.HasValue || !dwidth.HasValue || !dheight.HasValue || !dweight.HasValue)
{
return;
}
var orderSnList = orderGoods.Select(r => r.PostInfo).ToArray();
var channels = new List<TemuShipChannel>();
foreach (var wh in wareHouses)
{
var timeStamp = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
var apiType = "bg.logistics.shippingservices.get";
var bodyStrArr = new string[] { "access_token" + model.RefreshToken, "app_key" + model.Appkey, "data_typeJSON", "dimensionUnitin", "height" + dheight, "length" + dlength, "orderSnList" + JsonConvert.SerializeObject(orderSnList), "timestamp" + timeStamp, "type" + apiType, "warehouseId" + wh.warehouseId, "weight" + dweight, "weightUnitlb", "width" + dwidth };
var bodyStr = model.DeveKey + string.Join("", bodyStrArr) + model.DeveKey;
var sign = EncryptionHelp.GetMD5(bodyStr);
var body = new
{
access_token = model.RefreshToken,
app_key = model.Appkey,
data_type = "JSON",
dimensionUnit = "in",
height = dheight,
length = dlength,
orderSnList = orderSnList,
timestamp = timeStamp,
type = apiType,
warehouseId = wh.warehouseId,
weight = dweight,
weightUnit = "lb",
width = dwidth,
sign = sign.ToUpper(),
};
var json = JsonConvert.SerializeObject(body);
var path = EncryptionHelp.EncryptString(json, "ThisIsShopifyKey12365498");
var path2 = HttpUtility.UrlEncode(path);
var url = "http://50.196.110.198:8099/api/TemuHelp/getTemuAPIReturnInfo?apiType=" + apiType + "&bodyStr=" + path2;
//using (HttpClient client = new HttpClient())
//{
// HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url);
// var response = client.SendAsync(request);
// string responseContent = response.Result.Content.ReadAsStringAsync().GetAwaiter().GetResult();
// if (string.IsNullOrEmpty(responseContent) || responseContent == "Fail")
// {
// rmodel.Code = 0;
// rmodel.Message = "调用Temu接口失败";
// return rmodel;
// }
// else
// {
// var rModel = JsonConvert.DeserializeObject<TemuShipChannelReturn>(responseContent);
// if (rModel != null && rModel.result != null && rModel.result.onlineChannelDtoList != null)
// {
// foreach (var channel in rModel.result.onlineChannelDtoList)
// {
// channel.wareHouseId = wh.warehouseId;
// channel.wareHouseName = wh.warehouseName;
// channels.Add(channel);
// }
// }
// else
// {
// return;
// }
// }
//}
using (WebClient client = new WebClient())
{
client.Encoding = Encoding.UTF8; // 设置编码为 UTF-8
string responseContent = client.DownloadString(url);
if (string.IsNullOrEmpty(responseContent) || responseContent == "Fail")
{
continue;
}
else
{
var rModel = JsonConvert.DeserializeObject<TemuShipChannelReturn>(responseContent);
if (rModel != null && rModel.result != null && rModel.result.onlineChannelDtoList != null)
{
string pattern = @"\$(\d+\.\d+)";
foreach (var channel in rModel.result.onlineChannelDtoList)
{
Match match = Regex.Match(channel.estimatedText, pattern);
if (!match.Success)
{
continue;
}
var topf = new TemuOrderPostFee()
{
OrderId = orderid,
WareHouseId = wh.warehouseId,
WareHouseName = wh.warehouseName,
PostFee = Convert.ToDecimal(match.Groups[1].Value),
EstimatedText = channel.estimatedText,
ShipLogisticsType = channel.shipLogisticsType,
ShippingCompanyName = channel.shippingCompanyName,
ShipCompanyId = channel.shipCompanyId,
ChannelId = channel.channelId,
};
DataNew.SaveTemuOrderPostFee(topf);
}
continue;
}
else
{
continue;
}
}
}
}
return;
}
catch(Exception ex)
{
return ;
}
}
private void RunTask3(TaskModel m)
{
try
{
this.GetUPS();
}
catch (Exception exception)
{
ErrorFollow.TraceWrite(exception.TargetSite.Name, exception.StackTrace, exception.Message);
}
}
private void RunTask4(TaskModel m)
{
try
{
this.GetTemuOrder();
}
catch (Exception exception)
{
ErrorFollow.TraceWrite(exception.TargetSite.Name, exception.StackTrace, exception.Message);
}
}
//获取订单的UPS运费
public void GetUPS()
{
//查找所有需要获取运费的订单
var orderList = DataNew.GetUpsOrderList(Convert.ToDateTime("2023-11-20"));
if (orderList != null && orderList.Count > 0)
{
//获取到Rancho仓库的发货地址
JC_ExpressService service = new JC_ExpressService();
JC_PostAddress address = new BaseService().GetAddressModel2(241);//Rancho仓
JC_ExpressPost expressModel = service.GetExpressModel(1, 241);
//循环所有订单逐个订单获取UPS运费
foreach (var order in orderList)
{
try
{
//获取订单内容
var omd = DataNew.GetOrderModelNew(order.OrderId.Value);
//获取订单包含的所有商品
var orderGoods = DataNew.GetOrderGoodsListNew(order.OrderId.Value);
decimal num2 = 0M;
int totalNum = 0;
foreach (var goods in orderGoods)
{
decimal? nullable;
if (!(goods.Weight.HasValue && !(((nullable = goods.Weight).GetValueOrDefault() <= 0M) && nullable.HasValue)))
{
throw new Exception("重量没填,无法计算");
}
num2 += goods.Weight.Value * goods.GoodsNum.Value;
totalNum += goods.GoodsNum.Value;
}
TradeManageNew.UPSRate rate = new TradeManageNew.UPSRate();
TradeManageNew.UPSRate.AccessLicenseNumber = expressModel.client_id;
TradeManageNew.UPSRate.Username = expressModel.UserCode;
TradeManageNew.UPSRate.Password = expressModel.CheckCode;
TradeManageNew.UPSRate.ShipperNumber = expressModel.Code;
TradeManageNew.FedexFeeMdNew md = new TradeManageNew.FedexFeeMdNew
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = omd.OrderId;
md.PostType = "03";
md.packType = "02";
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
md.RevAddr = omd.RevAddr;
md.RevCity = omd.RevCity;
if ((omd.RevCity == null) || (omd.RevCity == ""))
{
md.RevCity = omd.RevProvince;
}
if ((omd.RevProvinceCode != null) && (omd.RevProvinceCode != ""))
{
md.RevProv = omd.RevProvinceCode;
}
else if (((omd.RevProvince != null) && (omd.RevProvince != "")) && (omd.RevProvince.Length > 2))
{
md.RevProv = omd.RevProvince.Substring(omd.RevProvince.Length - 2, 2);
}
else
{
md.RevProv = omd.RevProvince;
}
md.RevPostCode = omd.RevPostCode;
md.RevCountry = omd.CountryCode;
md.Width = Math.Ceiling(orderGoods[0].Width2.Value).ToString();
md.Height = Math.Ceiling(orderGoods[0].Height2.Value).ToString();
md.Lenght = Math.Ceiling(orderGoods[0].Length2.Value).ToString();
md.Weight = num2 * 0.0625M;
md.TotalNum = totalNum.ToString();
string fee = rate.GetFeeNew(md);
//获取到的ups运费更新到订单中
if (!fee.Contains("ErrorMessage:"))
{
var infos = fee.Split('&');
DataNew.UpdateOrderUPSPostFee(order.OrderId.Value, string.IsNullOrEmpty(infos[0]) ? 0 : Convert.ToDecimal(infos[0]), infos[1]);
}
else
{
DataNew.UpdateOrder(order.OrderId.Value, fee);
}
}
catch(Exception ex)
{
DataNew.UpdateOrder(order.OrderId.Value, "ErrorMessage:" + ex.Message);
ErrorFollow.TraceWrite("GetUPS", "", ex.Message);
}
}
}
}
#region 停止
public void Stop()
{
Task.Stop();
Task1.Stop();
Task2.Stop();
IsRun = false;
}
#endregion
#region 运行线程
void RunTask(TaskModel m)
{
ErrorFollow.TraceWrite("定时自动选择所有店铺自动导入订单开始", "" , " ");
CurrentOrderReadNum = 0;
//读取速卖通
ListAlibab = JC_ShopService.GetListShop(1);
ImportAlibab();
ListAmazon = JC_ShopService.GetListShop(2);
ImportAmazon();
ListEbay = JC_ShopService.GetListShop(3);
ImportEbay();
ListWish = JC_ShopService.GetListShop(4);
ImportWish();
ListLazada = DataNew.GetListLXShop(5);
ImportLXLazada();
ListShopee = DataNew.GetListLXShop(16);
ImportLXShopee();
//ListWalmart = JC_ShopService.GetListShop(6);
//ImportWalmart();
ListWayFair = DataNew.GetListLXShop(18);
ImportLXWayfairlist();
ListTikTok = JC_ShopService.GetListShop(22);
ImportTikTok();
ListShein = JC_ShopService.GetListShop(21);
ImportShein();
ListTemu = JC_ShopService.GetListShop(23);
ImportTemu();
if (ListAlibab != null || ListAmazon != null || ListEbay != null || ListWish != null || ListLazada != null || ListWalmart != null || ListShopee != null || ListWayFair != null || ListTikTok!=null || ListShein!=null || ListTemu!=null)
{
Action hand = new Action(this.DelayAction);
hand.BeginInvoke(null, null);
}
else
{
EndOrder();
}
ErrorFollow.TraceWrite("定时自动选择所有店铺自动导入订单结束", "", " ");
}
#endregion
#region 运行线程
void RunTask1(TaskModel m)
{
try
{
// BuyDate();
TBShopList = API_OrderInfoService.GetImpotShopList();
if (TBShopList == null || TBShopList.Count == 0)
return;
if (TBShopList != null)
{
//shopid = md.ShopId.Value;
//PlatType = md.PlatType.Value;
//SDate = md.DDSDate;
//EDate = md.DDEDate;
if (XCNum < 10)
{
XCNum++;
Thread th1 = new Thread(new ThreadStart(ImportOrder));
th1.Start();
}
}
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
}
}
#endregion
#region 产品上下架
public void ProductOnOff()
{
if (ProductOnOffList == null || ProductOnOffList.Count == 0) return;
AlibabaApi obj = new AlibabaApi();
obj.Num = 1;
for (int i = ProductOnOffList.Count - 1; i >= 0; i--)
{
obj.ShopId = ProductOnOffList[i].ShopId.Value;
obj.Appkey = ProductOnOffList[i].Appkey;
obj.DeveKey = ProductOnOffList[i].DeveKey;
obj.RefreshToken = ProductOnOffList[i].RefreshToken;
obj.AccessToken = ProductOnOffList[i].AccessToken;
obj.GroupName = ProductOnOffList[i].ShopName;
obj.RefreshTokenSaveTime = ProductOnOffList[i].RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = ProductOnOffList[i].AccessTokenUpdateTime;
try
{
string error = "";
if (ProductOnOffList[i].IsOn == 1)
{
obj.OnlineProduct(ProductOnOffList[i].productIds, out error);
ErrorFollow.TraceWrite("ProductOnOff", ProductOnOffList[i].productIds, DateTime.Now.ToString() + "上架");
}
else
if (ProductOnOffList[i].IsOn == 0)
{
obj.OfflineProduct(ProductOnOffList[i].productIds, out error);
ErrorFollow.TraceWrite("ProductOnOff", ProductOnOffList[i].productIds, DateTime.Now.ToString() + "下架");
}
if (error != "")
ErrorFollow.TraceWrite("ProductOnOff", ProductOnOffList[i].productIds, error);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ProductOnOffList = null;
}
#endregion
#region 计算采购时间
public void BuyDate()
{
API_OrderInfoService.UpdateBuyDate();
}
#endregion
#region 导单
public void ImportOrder()
{
if (TBShopList == null || TBShopList.Count == 0)
return;
var list = new List<JC_Shop>();
string ids = "";
foreach (var md in TBShopList)
{
ids += md.ShopId.Value.ToString() + ",";
list.Add(md);
}
ErrorFollow.TraceWrite("手动选择店铺自动导入订单开始", "选中的所有店铺:" + string.Join(",", list), " 店铺数量:" + (TBShopList == null ? 0 : TBShopList.Count));
API_OrderInfoService.SaveImpotState2(ids.Trim(','));
TBShopList = null;
DateTime? StartDate = DateTime.Today.AddDays(-15);
DateTime? StopDate = DateTime.Now;
int PType = 0;
foreach (var md in list)
{
ErrorFollow.TraceWrite("手动选择店铺自动导入订单单个店铺正常开始:", "单个店铺开始:" + md.ShopName, "正常开始同步");
if (md.DDSDate != null)
StartDate = md.DDSDate;
if (md.DDEDate != null)
StopDate = md.DDEDate;
PType = md.PlatType.Value;
List<int> ListModel = new List<int>();
ListModel.Add(md.ShopId.Value);
string Error = "";
try
{
//if (StartDate == null)
// StartDate = DateTime.Today.AddDays(-15);
switch (PType)
{
case 1:
Error = ImportAlibab(null, null, ListModel);
break;
case 2:
Error = ImportAmazon2(StartDate, StopDate, ListModel);
break;
case 3:
Error = ImportEbayForTM(StartDate, StopDate, ListModel);
break;
case 4:
Error = ImportWishV3(ListModel);
break;
case 5:
Error = ImportLXLazada(null,null,ListModel);
break;
case 6:
Error = ImportLXWalmart(null, null, ListModel); // API_OrderInfoServiceNew.ImportWalmart(null, null, ListModel);
break;
case 15:
Error = ImportShopify(null, null, ListModel);
break;
case 16:
Error = ImportLXShopee(null, null, ListModel);
break;
case 18:
Error = ImportLXWayFair(null, null, ListModel);
break;
case 21:
Error = ImportSheinForTM(StartDate, null, ListModel);
break;
case 22:
Error = ImportTikTokForTM(null, null, ListModel);
break;
case 23:
Error = ImportTemuForTM(StartDate, StopDate, ListModel);
break;
default:
break;
}
List<int> ListOrder = API_OrderInfoService.GetListForShop2(md.ShopId.Value);
foreach (int OrderID in ListOrder)
{
BaseService.OrderAddForTM(1, OrderID, 0);
}
if (ListOrder.Count > 1)
Error += ";其中新入订单" + ListOrder.Count + "条";
DataNew.SaveImpotMess();
//当亚马逊平台同步了新订单时,需要去重新获取一遍这些订单商品的大小类排名
//try
//{
// if (PType == 2 && ListOrder != null && ListOrder.Count > 0)
// {
// GetOrderGoodsPM(ListOrder);
// }
//}
//catch (Exception)
//{
//}
API_OrderInfoService.SaveImpotShop(md.ShopId.Value, Error);
API_OrderInfoService.SaveImpotShopMess(md.ShopId.Value, Error);
API_OrderInfoService.SaveImpotShopMess2(md.ShopId.Value, Error);
ErrorFollow.TraceWrite("手动选择店铺自动导入订单单个店铺正常结束:", "单个店铺结束:" + string.Join(",", ListModel), "正常结束,同步完成");
}
catch (Exception ex)
{
foreach (int ShopId in ListModel)
{
API_OrderInfoService.SaveImpotShop(ShopId, Error + ex.Message);
API_OrderInfoService.SaveImpotShopMess(md.ShopId.Value, Error + ex.Message);
ErrorFollow.TraceWrite("手动选择店铺自动导入订单单个店铺异常结束:", "选中的店铺:" + ShopId.ToString(), " 异常信息:" + ex);
}
XCNum--;
}
}
XCNum--;
ErrorFollow.TraceWrite("手动选择店铺自动导入订单结束", "选中的所有店铺:" + string.Join(",", list), " 店铺数量:" + (TBShopList == null ? 0 : TBShopList.Count));
}
#endregion
#region 根据api_order 获取订单商品的排名
public void GetOrderGoodsPM(List<int> orderids)
{
var syncGoods = API_OrderInfoService.GetApiOrderSyncGoodList(string.Join(",", orderids));
if (syncGoods != null)
{
foreach (var sg in syncGoods)
{
string ServiceURL = "";
#region 设置市场所在地借口地址
switch (sg.Country)
{
case "美国":
ServiceURL = "https://sellingpartnerapi-na.amazon.com";
break;
case "加拿大":
ServiceURL = "https://sellingpartnerapi-na.amazon.com";
break;
case "欧洲":
ServiceURL = "https://mws-eu.amazonservices.com";
break;
case "日本":
ServiceURL = "https://mws.amazonservices.jp";
break;
case "中国":
ServiceURL = "https://mws.amazonservices.com.cn";
break;
}
#endregion
try
{
string url = "http://api.sumool.com/AmazonProxy/NewSendRequest";
string str = "EndPoint=" + ServiceURL;
str += "&SumoolToKen=" + sg.RefreshToken;
str += "&SellerId=" + sg.AppKey;
string body = "{\"marketplaceIds\":\"" + sg.DeveKey + "\",\"identifiers\":\"" + sg.ASIN + "\",\"identifiersType\":\"ASIN\",\"includedData\":\"salesRanks\"}";
byte[] bytes = Encoding.Default.GetBytes(body);
string bb = Convert.ToBase64String(bytes);
str += "&BodyContent=" + bb;
str += "&Command=/catalog/2022-04-01/items";
str += "&HttpMethod=Get";
var data = Encoding.UTF8.GetBytes(str);
string ErrorMessage = "";
string XmlContent = CustomIO.HttpRequest2(url, "Post", "application/x-www-form-urlencoded; charset=UTF-8", null, HttpVersion.Version10, data, out ErrorMessage);
if (ErrorMessage != "")
{
ErrorFollow.TraceWrite("GetProuctPM", "", ErrorMessage);
continue;
}
AmazonResult re = JsonConvert.DeserializeObject<AmazonResult>(XmlContent);
if (re.HasError == true || re.ResultObject == null || re.ResultObject == "")
{
ErrorMessage = re.Message;
ErrorFollow.TraceWrite("GetProuctPM", "", ErrorMessage);
continue;
}
int bigRank = 0;
int smallRank = 0;
SyncAmazonCatalogModel model = JsonConvert.DeserializeObject<SyncAmazonCatalogModel>(re.ResultObject);
if (model != null && model.items != null)
{
var item = model.items.Where(r => r.asin == sg.ASIN).FirstOrDefault();
if (item != null && item.salesRanks != null)
{
var samllRanks = item.salesRanks[0].classificationRanks;
smallRank = samllRanks != null && samllRanks.Count > 0 ? samllRanks[0].rank.Value : 0;
var bigRanks = item.salesRanks[0].displayGroupRanks;
bigRank = bigRanks != null && bigRanks.Count > 0 ? bigRanks[0].rank.Value : 0;
}
}
if(bigRank>0 && smallRank > 0)
{
var goodsid = API_OrderInfoService.GetGoodsIdByApiOrderGoodSKU(sg.GoodSKU);
if (goodsid != 0)
{
DD_GoodsCodeData smd = new DD_GoodsCodeData();
smd.ShopId = sg.ShopId;
smd.GoodsId = goodsid;
smd.Int5 = 0;
smd.InDate = DateTime.Now;
smd.OrderDate = DateTime.Today;
smd.Int2 = bigRank;
smd.Int3 = smallRank;
smd.asin = sg.ASIN;
DataNew.Save_GoodsCodeData2(smd);
}
}
}
catch (Exception ex)
{
continue;
}
}
}
}
#endregion
#region Ebay数据导入
public static string ImportEbayForTM(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
EbayApiNew obj = new EbayApiNew();
string error = "";
foreach (int ShopId in ListModel)
{
JC_Shop ShopModel = JC_ShopService.GetModel(ShopId);
obj.Appkey = ShopModel.Appkey;
obj.DeveKey = ShopModel.DeveKey;
obj.CertKey = ShopModel.RefreshToken;
obj.ShopNo = ShopModel.ShopNo;
List<OrderModel> ListOrderModel = obj.GetOrdersForTM(StartDate, StopDate, ShopModel.AccessToken, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return "导入订单失败:" + error;
error += "导入订单:" + ListOrderModel.Count.ToString() + "条";
DataNew.SaveOrderModel2(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 3, 0, ListOrderModel);
}
return error;
}
#endregion
public static string ImportWishV3(List<int> ListModel)
{
WishNew obj = new WishNew();
string error = "";
foreach (int ShopId in ListModel)
{
JC_Shop ShopModel = JC_ShopService.GetModel(ShopId);
obj.ShopId = ShopModel.ShopId.Value;
obj.client_id = ShopModel.Appkey;
obj.client_secret = ShopModel.DeveKey;
obj.AccessToken = ShopModel.AccessToken;
obj.RefreshToken = ShopModel.RefreshToken;
obj.AccessTokenUpdateTime = ShopModel.AccessTokenUpdateTime;
obj.RefreshTokenSaveTime = ShopModel.RefreshTokenSaveTime;
obj.code = ShopModel.Code;
List<OrderModel> ListOrderModel = obj.GetOrdersNew(out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return "导入订单失败:" + error;
error += "导入订单:" + ListOrderModel.Count.ToString() + "条";
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 4, 0, ListOrderModel);
}
return error;
}
public string ImportAlibab(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_Shop model = JC_ShopService.GetModel(ShopId);
if (model.Code != null && model.Code != "")
{
AlibabaApiQMNew obj = new AlibabaApiQMNew();
obj.ShopId = model.ShopId.Value;
obj.sessionKey = model.Code;
var olist = API_OrderInfoService.GetOrderCodeList(2000, model.ShopId.Value);
//obj.GetLoanOrder(StartDate, StopDate, out error);
try
{
List<OrderModel> ListOrderModel = obj.GetWaitGoods("WAIT_SELLER_SEND_GOODS", 1, StartDate, StopDate, true, olist, out error);
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, "导入订单失败" + error);
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, "未发货数量:0");
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 1, 0, ListOrderModel);
}
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
}
return error;
}
public string ImportShopee(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_Shop model = JC_ShopService.GetModel(ShopId);
if (model.AccessToken != null && model.AccessToken != "")
{
ShopeeApi obj = new ShopeeApi();
obj.shopid =Convert.ToInt32(model.AccessToken);// 343402994;// 315290216;
obj.Partner_Id = Convert.ToInt32(model.Appkey);// 846936;
obj.Partner_Key = model.DeveKey;// "660400cc224f0cfef1fcd409f9ccfe57c507c3be9bf173592fc8c9bc01e6b150";
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(out error);
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入shopee", "店铺名称:" + model.ShopName, "导入订单失败" + error);
error="导入订单失败" + error;
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入shopee订单", "店铺名称:" + model.ShopName, "未发货数量:0");
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入shopee订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 16, 0, ListOrderModel);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "导入订单失败" + ex.Message);
continue;
}
}
}
return error;
}
public string ImportLXShopee(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_LXShop model = DataNew.GetLXShopModel(ShopId);
if (model.store_id != null && model.store_id != "")
{
LXOpenApi obj = new LXOpenApi();
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(model.store_id,out error);
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入shopee", "店铺名称:" + model.ShopName, "导入订单失败" + error);
error = "导入订单失败" + error;
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入shopee订单", "店铺名称:" + model.ShopName, "未发货数量:0");
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入shopee订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 16, 0, ListOrderModel);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "导入订单失败" + ex.Message);
continue;
}
}
}
return error;
}
public string ImportLXWayFair(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_LXShop model = DataNew.GetLXShopModel(ShopId);
if (model.store_id != null && model.store_id != "")
{
LXOpenApi obj = new LXOpenApi();
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(model.store_id, out error);
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入WayFair", "店铺名称:" + model.ShopName, "导入订单失败" + error);
error = "导入订单失败" + error;
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入WayFair订单", "店铺名称:" + model.ShopName, "未发货数量:0");
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入shopee订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 18, 0, ListOrderModel);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "导入订单失败" + ex.Message);
continue;
}
}
}
return error;
}
public string ImportLazada(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_Shop model = JC_ShopService.GetModel(ShopId);
if (model.AccessToken != null && model.AccessToken != "")
{
LazadaApiNew obj = new LazadaApiNew();
obj.ShopId = model.ShopId;
obj.client_id = model.Appkey;// "103013";
obj.client_secret = model.DeveKey;// "flWVOQHy2X57H76F0OcELAMcsJ8cvthv";
obj.refresh_token = model.RefreshToken;// "50001200338arqobcSPHTAokoYvsCC1I2khTeVPDYFfrdqRuo71b47637dRB7oe";
obj.access_token = model.AccessToken;// "50000201f39eSzbr5NwXFjkuhYmtVnfZHwoEOSWQnQ0xeuBHm7h10b854d4ahnr";
obj.country = model.Country;// "菲律宾";
obj.AccessTokenUpdateTime = model.AccessTokenUpdateTime.Value;
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(DateTime.Today.AddDays(-7), DateTime.Today, out error);//"309439539844901"
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入lazada", "店铺名称:" + model.ShopName, "导入订单失败" + error);
error="导入订单失败" + error;
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入lazada订单", "店铺名称:" + model.ShopName, "未发货数量:0");
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入lazada订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 5, 0, ListOrderModel);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "导入订单失败" + error);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, ex.Message);
continue;
}
}
}
return error;
}
public string ImportLXLazada(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_LXShop model = DataNew.GetLXShopModel(ShopId);
if (model.store_id != null && model.store_id != "")
{
LXOpenApi obj = new LXOpenApi();
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(model.store_id, out error);//"309439539844901"
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入lazada", "店铺名称:" + model.ShopName, "导入订单失败" + error);
error = "导入订单失败" + error;
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入lazada订单", "店铺名称:" + model.ShopName, "未发货数量:0");
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入lazada订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 5, 0, ListOrderModel);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "导入订单失败" + error);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, ex.Message);
continue;
}
}
}
return error;
}
public string ImportLXWalmart(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_LXShop model = DataNew.GetLXShopModel(ShopId);
if (model.store_id != null && model.store_id != "")
{
LXOpenApi obj = new LXOpenApi();
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(model.store_id, out error);
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Walart", "店铺名称:" + model.ShopName, "导入订单失败" + error);
error = "导入订单失败" + error;
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入Walart订单", "店铺名称:" + model.ShopName, "未发货数量:0");
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入Walart订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 6, 0, ListOrderModel);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "导入订单失败" + ex.Message);
continue;
}
}
}
return error;
}
#region Lazada
//public void ImportLazada()
//{
// if (ListLazada == null || ListLazada.Count == 0) return;
// LazadaApiNew obj = new LazadaApiNew();
// string error = "";
// for (int i = ListLazada.Count - 1; i >= 0; i--)
// {
// JC_Shop model = ListLazada[i];
// List<OrderModel> ListOrderModel = null;
// try
// {
// obj.ShopId = model.ShopId;
// obj.client_id = model.Appkey;// "103013";
// obj.client_secret = model.DeveKey;// "flWVOQHy2X57H76F0OcELAMcsJ8cvthv";
// obj.refresh_token = model.RefreshToken;// "50001200338arqobcSPHTAokoYvsCC1I2khTeVPDYFfrdqRuo71b47637dRB7oe";
// obj.access_token = model.AccessToken;// "50000201f39eSzbr5NwXFjkuhYmtVnfZHwoEOSWQnQ0xeuBHm7h10b854d4ahnr";
// obj.country = model.Country;// "菲律宾";
// obj.AccessTokenUpdateTime = model.AccessTokenUpdateTime.Value;
// ListOrderModel = obj.GetOrders(DateTime.Today.AddDays(-14), DateTime.Today, out error);
// if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
// if (string.IsNullOrEmpty(error) == false)
// {
// ErrorFollow.TraceWrite("自动导入Lazada订单", "店铺名称:" + model.ShopName, error);
// //ListWish.RemoveAt(i);
// continue;
// }
// else
// {
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
// ErrorFollow.TraceWrite("自动导入Lazada订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
// }
// API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 5, 0, ListOrderModel);
// ListLazada.RemoveAt(i);
// }
// catch (Exception ex)
// {
// ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
// continue;
// }
// }
// ListWish = null;
//}
public void ImportLXLazada()
{
if (ListLazada == null || ListLazada.Count == 0) return;
LXOpenApi obj = new LXOpenApi();
string error = "";
for (int i = ListLazada.Count - 1; i >= 0; i--)
{
JC_LXShop model = ListLazada[i];
List<OrderModel> ListOrderModel = null;
try
{
if (model.store_id != null && model.store_id != "")
{
ListOrderModel = obj.GetOrders(model.store_id, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Lazada订单", "店铺名称:" + model.ShopName, error);
//ListWish.RemoveAt(i);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入Lazada订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 5, 0, ListOrderModel);
ListLazada.RemoveAt(i);
}
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListLazada = null;
}
public void ImportLXShopee()
{
if (ListShopee == null || ListShopee.Count == 0) return;
LXOpenApi obj = new LXOpenApi();
string error = "";
for (int i = ListShopee.Count - 1; i >= 0; i--)
{
JC_LXShop model = ListShopee[i];
List<OrderModel> ListOrderModel = null;
try
{
if (model.store_id != null && model.store_id != "")
{
ListOrderModel = obj.GetOrders(model.store_id, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Shopee订单", "店铺名称:" + model.ShopName, error);
//ListWish.RemoveAt(i);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入Shopee订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 16, 0, ListOrderModel);
ListShopee.RemoveAt(i);
}
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListShopee = null;
}
public void ImportLXWayfairlist()
{
if (ListWayFair == null || ListWayFair.Count == 0) return;
LXOpenApi obj = new LXOpenApi();
string error = "";
for (int i = ListWayFair.Count - 1; i >= 0; i--)
{
JC_LXShop model = ListWayFair[i];
List<OrderModel> ListOrderModel = null;
try
{
if (model.store_id != null && model.store_id != "")
{
ListOrderModel = obj.GetOrders(model.store_id, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入WayFair订单", "店铺名称:" + model.ShopName, error);
//ListWish.RemoveAt(i);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入WayFair订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 18, 0, ListOrderModel);
ListWayFair.RemoveAt(i);
}
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListWayFair = null;
}
#endregion
public string ImportShopify(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_Shop model = JC_ShopService.GetModel(ShopId);
if (!string.IsNullOrEmpty(model.AccessToken) && !string.IsNullOrEmpty(model.Appkey) && !string.IsNullOrEmpty(model.DeveKey))
{
Shopify obj = new Shopify();
obj.ShopName = model.ShopNo;
obj.AccessToken = model.AccessToken;
obj.AppKey = model.Appkey;
obj.AppSecret = model.DeveKey;
//obj.GetLoanOrder(StartDate, StopDate, out error);
try
{
List<OrderModel> ListOrderModel = obj.GetOrdersNew(out error);
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入shopify", "店铺名称:" + model.ShopName, "导入订单失败" + error);
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入shopify订单", "店铺名称:" + model.ShopName, "未发货数量:0");
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入shopify订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 15, 0, ListOrderModel);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
}
return error;
}
#region 速卖通
public void ImportAlibab()
{
if (ListAlibab == null || ListAlibab.Count == 0) return;
string error = "";
for (int i = ListAlibab.Count - 1; i >= 0; i--)
{
JC_Shop model = ListAlibab[i];
if (model.Code != null && model.Code != "")
{
AlibabaApiQMNew obj = new AlibabaApiQMNew();
obj.ShopId = model.ShopId.Value;
obj.sessionKey = model.Code;
var olist = API_OrderInfoService.GetOrderCodeList(2000, model.ShopId.Value);
//obj.GetLoanOrder(StartDate, StopDate, out error);
try
{
List<OrderModel> ListOrderModel = obj.GetWaitGoods("WAIT_SELLER_SEND_GOODS", 1, DateTime.Today.AddDays(-3), null, true, olist, out error);
//List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, "导入订单失败" + error);
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, "未发货数量:0");
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 1, 0, ListOrderModel);
}
//List<OrderModel> ListOrderModel1 = obj.GetWaitGoods("RISK_CONTROL", 2, null, null, true, null, out error);
////List<OrderModel> ListOrderModel = obj.GetPayMoneyGoods(true, out error);
//if (ListOrderModel1 == null) ListOrderModel1 = new List<OrderModel>();
//if (string.IsNullOrEmpty(error) == false)
//{
// ErrorFollow.TraceWrite("自动导入速卖通已付款未到账订单", "店铺名称:" + model.ShopName, error);
// //ListAlibab.RemoveAt(i);
// continue;
//}
//else
//{
// einfo += "采集未到账订单:" + ListOrderModel1.Count;
// ErrorFollow.TraceWrite("自动导入速卖通已付款未到账订单", "店铺名称:" + model.ShopName, "已付款未到账数量:" + ListOrderModel1.Count);
//}
//API_OrderInfoService.SaveOrderModel2(model.CompanyId, model.ShopId.Value, model.ShopName, 1, 0, ListOrderModel1);
// List<OrderModel> ListOrderModel2 = obj.GetWaitGoods("IN_CANCEL", 3, null, null, true, null, out error);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
else
{
AlibabaApi obj = new AlibabaApi();
obj.ShopId = model.ShopId.Value;
obj.Appkey = model.Appkey;
obj.DeveKey = model.DeveKey;
obj.RefreshToken = model.RefreshToken;
obj.AccessToken = model.AccessToken;
obj.GroupName = model.ShopName;
obj.RefreshTokenSaveTime = model.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = model.AccessTokenUpdateTime;
List<OrderModel> ListOrderModel = null;
try
{
string einfo = "";
var olist = API_OrderInfoService.GetOrderCodeList(2000, model.ShopId.Value);
ListOrderModel = obj.GetWaitGoods(null, null, true, olist, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, error);
//ListAlibab.RemoveAt(i);
continue;
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入速卖通订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 1, 0, ListOrderModel);
//List<OrderModel> ListOrderModel1 = obj.GetPayMoneyGoods(true, out error);
//if (ListOrderModel1 == null) ListOrderModel1 = new List<OrderModel>();
//if (string.IsNullOrEmpty(error) == false)
//{
// ErrorFollow.TraceWrite("自动导入速卖通已付款未到账订单", "店铺名称:" + model.ShopName, error);
// //ListAlibab.RemoveAt(i);
// continue;
//}
//else
//{
// einfo += "采集未到账订单:" + ListOrderModel1.Count;
// ErrorFollow.TraceWrite("自动导入速卖通已付款未到账订单", "店铺名称:" + model.ShopName, "已付款未到账数量:" + ListOrderModel1.Count);
//}
//API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, einfo);
obj.GetMsgData2(DateTime.Now.AddDays(-2), DateTime.Now, out error); //读取留言
// API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 1, 0, ListOrderModel1);
ListAlibab.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
}
ListAlibab = null;
}
#endregion
#region 亚马逊
public void ImportAmazon()
{
if (ListAmazon == null || ListAmazon.Count == 0) return;
AmazonApi obj = new AmazonApi();
ApiNew.Amazonapinew obj2 = new ApiNew.Amazonapinew();
AmazonNewApi obj3 = new AmazonNewApi();
Amazon_SPApi obj4 = new Amazon_SPApi();
string error = "";
for (int i = ListAmazon.Count - 1; i >= 0; i--)
{
List<OrderModel> ListOrderModel = null;
List<OrderModel> ListOrderModel2 = null;
JC_Shop model = ListAmazon[i];
if (model.Code != null && model.Code == "new2")
{
obj4.SellerId = model.Appkey;
//obj2.MWSAuthToken = "amzn.mws.94ba1459-809f-6157-a36f-967c9209c99b";// ShopModel.AccessToken;
obj4.SumoolToKen = model.RefreshToken;
obj4.country = model.Country;
obj4.MarketplaceId = model.DeveKey;
var olist = API_OrderInfoService.GetOrderCodeList(2000, model.ShopId.Value);
try
{
ListOrderModel = obj4.GetOrders(DateTime.Today.AddDays(-15), "MFN", olist, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 0, ListOrderModel);
if (model.IsFba == true)
{
ListOrderModel2 = obj4.GetOrders(DateTime.Today.AddDays(-15), "AFN", olist, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel2.Count);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 1, ListOrderModel2);
}
ListAmazon.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
else
if (model.Code != null && model.Code == "new")
{
obj3.SellerId = model.Appkey;
obj3.MWSAuthToken = model.AccessToken;// ShopModel.AccessToken;
obj3.SumoolToKen = model.RefreshToken;
obj3.MarketplaceId = model.DeveKey;
obj3.country = model.Country;
var olist = API_OrderInfoService.GetOrderCodeList(2000, model.ShopId.Value);
try
{
ListOrderModel = obj3.GetOrders(DateTime.Today.AddDays(-7), null, "MFN", olist, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 0, ListOrderModel);
if (model.IsFba == true)
{
ListOrderModel2 = obj3.GetOrders(DateTime.Today.AddDays(-4), null, "AFN",olist, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel2.Count);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 1, ListOrderModel2);
}
ListAmazon.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
else
if (model.Code != null && model.Code != "")
{
var olist = API_OrderInfoService.GetOrderCodeList(2000, model.ShopId.Value);
obj2.accessKeyId = model.RefreshToken;
obj2.secretAccessKey = model.AccessToken;
obj2.merchantId = model.Appkey;
obj2.marketplaceId = model.DeveKey;
obj2.country = model.Country;
obj2.MWSAuthToken = model.Code;
try
{
ListOrderModel = obj2.GetOrders(DateTime.Today.AddDays(-7), null, model.ShopName,olist, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 0, ListOrderModel);
if (model.IsFba == true)
{
ListOrderModel2 = obj2.GetFBAOrders(DateTime.Today.AddDays(-4), null, model.ShopName, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel2.Count);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 1, ListOrderModel2);
}
ListAmazon.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
else
{
obj.accessKeyId = model.RefreshToken;
obj.secretAccessKey = model.AccessToken;
obj.merchantId = model.Appkey;
obj.marketplaceId = model.DeveKey;
obj.country = model.Country;
try
{
ListOrderModel = obj.GetOrders(DateTime.Today.AddDays(-7), null, model.ShopName, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 0, ListOrderModel);
if (model.IsFba == true)
{
ListOrderModel2 = obj.GetFBAOrders(DateTime.Today.AddDays(-4), null, model.ShopName, DateTime.Today, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, error);
//ListAmazon.RemoveAt(i);
continue;
}
else
{
ErrorFollow.TraceWrite("自动导入亚马逊海外仓订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel2.Count);
// API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 2, 1, ListOrderModel2);
}
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count + ";海外仓订单:" + ListOrderModel2.Count);
ListAmazon.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
}
ListAmazon = null;
}
#endregion
#region 亚马逊数据导入
public string ImportAmazon2(DateTime? StartDate, DateTime? StopDate, List<int> ListModel)
{
AmazonApi obj = new AmazonApi();
ApiNew.Amazonapinew obj2 = new ApiNew.Amazonapinew();
AmazonNewApi obj3 = new AmazonNewApi();
Amazon_SPApi obj4 = new Amazon_SPApi();
string error = "";
string mess = "";
foreach (int ShopId in ListModel)
{
JC_Shop ShopModel = JC_ShopService.GetModel(ShopId);
if (ShopModel.Code != null && ShopModel.Code == "new2")
{
obj4.SellerId = ShopModel.Appkey;
//obj2.MWSAuthToken = "amzn.mws.94ba1459-809f-6157-a36f-967c9209c99b";// ShopModel.AccessToken;
obj4.SumoolToKen = ShopModel.RefreshToken;
obj4.country = ShopModel.Country;
obj4.MarketplaceId = ShopModel.DeveKey;
ErrorFollow.TraceWrite("ImportAmazon2", "店铺名称:" + ShopModel.ShopName, "");
var olist = API_OrderInfoService.GetOrderCodeList(2000, ShopId);
List<OrderModel> ListOrderModel = obj4.GetOrders(StartDate, "MFN", olist, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return "导入订单失败:" + error;
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 0, ListOrderModel);
mess = "导入普通订单:" + ListOrderModel.Count.ToString() + "条;";
if (ShopModel.IsFba == true)
{
System.Threading.Thread.Sleep(10000);//暂停60秒
List<OrderModel> ListOrderModel2 = obj4.GetOrders(StartDate, "AFN", olist, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return mess + "导入海外仓订单订单失败:" + error;
mess += "导入海外仓订单:" + ListOrderModel2.Count.ToString() + "条;";
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 1, ListOrderModel2);
}
}
else
if (ShopModel.Code != null && ShopModel.Code == "new")
{
ErrorFollow.TraceWrite("ImportAmazon2", "店铺名称:" + ShopModel.ShopName, "");
obj3.SellerId = ShopModel.Appkey;
obj3.MWSAuthToken = ShopModel.AccessToken;// ShopModel.AccessToken;
obj3.SumoolToKen = ShopModel.RefreshToken;
obj3.MarketplaceId = ShopModel.DeveKey;
obj3.country = ShopModel.Country;
var olist = API_OrderInfoService.GetOrderCodeList(2000, ShopId);
List<OrderModel> ListOrderModel = obj3.GetOrders(StartDate, StopDate, "MFN", olist, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return "导入订单失败:" + error;
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 0, ListOrderModel);
mess = "导入普通订单:" + ListOrderModel.Count.ToString() + "条;";
if (ShopModel.IsFba == true)
{
System.Threading.Thread.Sleep(10000);//暂停60秒
List<OrderModel> ListOrderModel2 = obj3.GetOrders(StartDate, StopDate, "AFN", olist, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return mess + "导入海外仓订单订单失败:" + error;
mess += "导入海外仓订单:" + ListOrderModel2.Count.ToString() + "条;";
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 1, ListOrderModel2);
}
}
else
if (ShopModel.Code != null && ShopModel.Code != "")
{
obj2.accessKeyId = ShopModel.RefreshToken;
obj2.secretAccessKey = ShopModel.AccessToken;
obj2.merchantId = ShopModel.Appkey;
obj2.marketplaceId = ShopModel.DeveKey;
obj2.country = ShopModel.Country;
obj2.MWSAuthToken = ShopModel.Code;
var olist = API_OrderInfoService.GetOrderCodeList(2000, ShopId);
List<OrderModel> ListOrderModel = obj2.GetOrders(StartDate, StopDate, ShopModel.ShopName, olist, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return "导入订单失败:" + error;
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 0, ListOrderModel);
mess = "导入普通订单:" + ListOrderModel.Count.ToString() + "条;";
if (ShopModel.IsFba == true)
{
System.Threading.Thread.Sleep(60000);//暂停60秒
List<OrderModel> ListOrderModel2 = obj2.GetFBAOrders(StartDate, StopDate, ShopModel.ShopName, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return mess + "导入海外仓订单订单失败:" + error;
mess += "导入海外仓订单:" + ListOrderModel2.Count.ToString() + "条;";
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 1, ListOrderModel2);
}
}
else
{
obj.accessKeyId = ShopModel.RefreshToken;
obj.secretAccessKey = ShopModel.AccessToken;
obj.merchantId = ShopModel.Appkey;
obj.marketplaceId = ShopModel.DeveKey;
obj.country = ShopModel.Country;
List<OrderModel> ListOrderModel = obj.GetOrders(StartDate, StopDate, ShopModel.ShopName, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return "导入订单失败:" + error;
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 0, ListOrderModel);
mess = "导入普通订单:" + ListOrderModel.Count.ToString() + "条;";
if (ShopModel.IsFba == true)
{
System.Threading.Thread.Sleep(60000);//暂停60秒
List<OrderModel> ListOrderModel2 = obj.GetFBAOrders(StartDate, StopDate, ShopModel.ShopName, DateTime.Today, out error);
if (ListOrderModel2 == null) ListOrderModel2 = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false) return mess + "导入海外仓订单订单失败:" + error;
mess += "导入海外仓订单:" + ListOrderModel2.Count.ToString() + "条;";
API_OrderInfoService.SaveOrderModel(ShopModel.CompanyId, ShopId, ShopModel.ShopName, 2, 1, ListOrderModel2);
}
}
}
return mess;
}
#endregion
#region Ebay
public void ImportEbay()
{
if (ListEbay == null || ListEbay.Count == 0) return;
EbayApiNew obj = new EbayApiNew();
string error = "";
for (int i = ListEbay.Count - 1; i >= 0; i--)
{
JC_Shop model = ListEbay[i];
obj.Appkey = model.Appkey;
obj.DeveKey = model.DeveKey;
obj.CertKey = model.RefreshToken;
List<OrderModel> ListOrderModel = null;
try
{
ListOrderModel = obj.GetOrdersForTM(DateTime.Today.AddDays(-7), null, model.AccessToken, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Ebay订单", "店铺名称:" + model.ShopName, error);
//ListEbay.RemoveAt(i);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入Ebay订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
DataNew.SaveOrderModel2(model.CompanyId, model.ShopId.Value, model.ShopName, 3, 0, ListOrderModel);
ListEbay.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListEbay = null;
}
#endregion
#region Wish
public void ImportWish()
{
if (ListWish == null || ListWish.Count == 0) return;
WishNew obj = new WishNew();
string error = "";
for (int i = ListWish.Count - 1; i >= 0; i--)
{
JC_Shop model = ListWish[i];
List<OrderModel> ListOrderModel = null;
try
{
ListOrderModel = obj.GetOrders(model.AccessToken, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Wish订单", "店铺名称:" + model.ShopName, error);
//ListWish.RemoveAt(i);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入Wish订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 4, 0, ListOrderModel);
ListWish.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListWish = null;
}
public void ImportWish2()
{
if (ListWish == null || ListWish.Count == 0) return;
WishApi obj = new WishApi();
string error = "";
for (int i = ListWish.Count - 1; i >= 0; i--)
{
JC_Shop model = ListWish[i];
List<OrderModel> ListOrderModel = null;
try
{
obj.ShopId = model.ShopId.Value;
obj.client_id = model.Appkey;
obj.client_secret = model.DeveKey;
obj.AccessToken = model.AccessToken;
obj.RefreshToken = model.RefreshToken;
obj.AccessTokenUpdateTime = model.AccessTokenUpdateTime;
obj.RefreshTokenSaveTime = model.RefreshTokenSaveTime;
obj.code = model.Code;
ListOrderModel = obj.GetOrdersNew(out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Wish订单", "店铺名称:" + model.ShopName, error);
//ListWish.RemoveAt(i);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入Wish订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 4, 0, ListOrderModel);
ListWish.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListWish = null;
}
#endregion
#region 沃尔玛
public void ImportWalmart()
{
if (ListWalmart == null || ListWalmart.Count == 0) return;
WalmartApi obj = new WalmartApi();
string error = "";
for (int i = ListWalmart.Count - 1; i >= 0; i--)
{
List<OrderModel> ListOrderModel = null;
JC_Shop model = ListWalmart[i];
try
{
WalmartApi.ShopId = model.ShopId;
WalmartApi.ACCESS_TOKEN = model.AccessToken;
WalmartApi.ClientID = model.Appkey;
WalmartApi.ClientSecret = model.DeveKey;
WalmartApi.GetTokenTime = model.AccessTokenUpdateTime;
ListOrderModel = obj.GetWalmartOrder(DateTime.Today.AddDays(-5), null, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入沃尔玛订单", "店铺名称:" + model.ShopName, error);
continue;
}
ErrorFollow.TraceWrite("自动导入沃尔玛订单", "店铺名称:" + model.ShopName, "数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 6, 0, ListOrderModel);
ListWalmart.RemoveAt(i);
//确认
try
{
foreach (var md in ListOrderModel)
{
obj.GetWalmartOrderSure(md.OrderCode, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("沃尔玛订单确认", "单号:" + md.OrderCode, error);
}
}
}
catch (Exception ex)
{
ErrorFollow.TraceWrite("确认" + ex.TargetSite.Name, ex.StackTrace, ex.Message);
}
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListWalmart = null;
}
#endregion
#region TikTok
public string ImportTikTokForTM(DateTime? StartDate,DateTime? StopDate, List<int> ListModel)
{
string error = "";
foreach (int ShopId in ListModel)
{
JC_Shop model = JC_ShopService.GetModel(ShopId);
if (!string.IsNullOrEmpty(model.AccessToken) && !string.IsNullOrEmpty(model.Appkey) && !string.IsNullOrEmpty(model.DeveKey))
{
TikTok obj = new TikTok();
obj.ShopName = model.ShopName;
obj.AccessToken = model.AccessToken;
obj.AppKey = model.Appkey;
obj.AppSecret = model.DeveKey;
obj.Shop_Cipher = model.Code;
obj.RefershToken = model.RefreshToken;
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入TikTok", "店铺名称:" + model.ShopName, "导入订单失败" + error);
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入TikTok订单", "店铺名称:" + model.ShopName, "未发货数量:0");
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入TikTok订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 22, 0, ListOrderModel);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
//continue;
}
//店铺AccessToken的有效期是七天所以每次店铺获取完数据之后都去刷新一遍AccessToken
string acc_token = "";
string refre_token = "";
var isRefresh = obj.RefershAccessToken(out acc_token, out refre_token);
if (isRefresh && !string.IsNullOrEmpty(acc_token) && !string.IsNullOrEmpty(refre_token))
{
model.AccessToken = acc_token;
model.RefreshToken = refre_token;
DataNew.UpdateShopToken(model);
}
else
{
error += " 刷新AccessToken失败";
}
}
}
return error;
}
public void ImportTikTok()
{
if (ListTikTok == null || ListTikTok.Count == 0) return;
TikTok obj = new TikTok();
string error = "";
for (int i = ListTikTok.Count - 1; i >= 0; i--)
{
JC_Shop model = ListTikTok[i];
obj.ShopName = model.ShopName;
obj.AccessToken = model.AccessToken;
obj.AppKey = model.Appkey;
obj.AppSecret = model.DeveKey;
obj.Shop_Cipher = model.Code;
obj.RefershToken = model.RefreshToken;
List<OrderModel> ListOrderModel = null;
try
{
ListOrderModel = obj.GetOrders(out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入TikTok订单", "店铺名称:" + model.ShopName, error);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入TikTok订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 22, 0, ListOrderModel);
ListTikTok.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
//店铺AccessToken的有效期是七天所以每次店铺获取完数据之后都去刷新一遍AccessToken
string acc_token = "";
string refre_token = "";
var isRefresh = obj.RefershAccessToken(out acc_token, out refre_token);
if (isRefresh && !string.IsNullOrEmpty(acc_token) && !string.IsNullOrEmpty(refre_token))
{
model.AccessToken = acc_token;
model.RefreshToken = refre_token;
DataNew.UpdateShopToken(model);
}
else
{
error += " 刷新AccessToken失败";
}
}
ListTikTok = null;
}
#endregion
#region Shein
public string ImportSheinForTM(DateTime? StartDate, DateTime? ShopDate, List<int> ListModel)
{
string error = "";
//var ListModel = new List<int>() { 84 };
foreach (int ShopId in ListModel)
{
JC_Shop model = JC_ShopService.GetModel(ShopId);
if (!string.IsNullOrEmpty(model.Appkey) && !string.IsNullOrEmpty(model.DeveKey))
{
SheinNew obj = new SheinNew();
obj.ShopName = model.ShopName;
obj.ShopId= ShopId;
obj.AppKey = model.Appkey;
obj.AppSecret = model.DeveKey;
obj.StartTime = StartDate.HasValue ? StartDate.Value : DateTime.Now; //订单同步的时间区间不能大于2天48小时
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Shein", "店铺名称:" + model.ShopName, "导入订单失败" + error);
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入Shein订单", "店铺名称:" + model.ShopName, "未发货数量:0");
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入Shein订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 21, 0, ListOrderModel);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
//continue;
}
}
}
return error;
}
public void ImportShein()
{
if (ListShein == null || ListShein.Count == 0) return;
SheinNew obj = new SheinNew();
string error = "";
for (int i = ListShein.Count - 1; i >= 0; i--)
{
JC_Shop model = ListShein[i];
obj.ShopName = model.ShopName;
obj.ShopId = model.ShopId.Value;
obj.AppKey = model.Appkey;
obj.AppSecret = model.DeveKey;
obj.StartTime = DateTime.Now.AddDays(-2);
List<OrderModel> ListOrderModel = null;
try
{
ListOrderModel = obj.GetOrders(out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入Shein订单", "店铺名称:" + model.ShopName, error);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入Shein订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 21, 0, ListOrderModel);
ListShein.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListShein = null;
}
#endregion
#region TEMU
public string ImportTemuForTM(DateTime? StartDate,DateTime? EndDate,List<int> ListModel)
{
string error = "";
//var ListModel = new List<int>() { 84 };
foreach (int ShopId in ListModel)
{
JC_Shop model = JC_ShopService.GetModel(ShopId);
if (!string.IsNullOrEmpty(model.Appkey) && !string.IsNullOrEmpty(model.DeveKey))
{
Temu obj = new Temu();
obj.AppKey = model.Appkey;
obj.AppSecret = model.DeveKey;
obj.AccessToken = model.RefreshToken;
obj.shopid = ShopId;
var sdate = StartDate.HasValue ? StartDate.Value.AddDays(-1) : DateTime.Now.AddDays(-4);
var edate = EndDate.HasValue ? EndDate.Value.AddDays(1) : DateTime.Now.AddDays(2);
ErrorFollow.TraceWrite("自动导入TEMU订单", "店铺名称:" + model.ShopName, "开始时间:" + sdate.ToString("yyyy-MM-dd hh:mm:ss") + "; 结束时间:" + edate.ToString("yyyy-MM-dd hh:mm:ss"));
try
{
List<OrderModel> ListOrderModel = obj.GetOrders(sdate, edate, out error);
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入TEMU", "店铺名称:" + model.ShopName, "导入订单失败" + error);
continue;
}
string einfo = "";
if (ListOrderModel == null)
{
einfo = "采集到账订单0";
ErrorFollow.TraceWrite("自动导入TEMU订单", "店铺名称:" + model.ShopName, "未发货数量:0");
}
else
{
einfo = "采集到账订单:" + ListOrderModel.Count;
ErrorFollow.TraceWrite("自动导入TEMU订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 23, 0, ListOrderModel);
}
error = einfo;
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
//continue;
}
}
}
return error;
}
public void ImportTemu()
{
try
{
if (ListTemu == null || ListTemu.Count == 0) return;
Temu obj = new Temu();
string error = "";
for (int i = ListTemu.Count - 1; i >= 0; i--)
{
JC_Shop model = ListTemu[i];
obj.AppKey = model.Appkey;
obj.AppSecret = model.DeveKey;
obj.AccessToken = model.RefreshToken;
obj.shopid = model.ShopId.Value;
var sdate = DateTime.Now.AddDays(-3);
var edate = DateTime.Now.AddDays(1);
List<OrderModel> ListOrderModel = null;
try
{
ListOrderModel = obj.GetOrders(sdate, edate, out error);
if (ListOrderModel == null) ListOrderModel = new List<OrderModel>();
if (string.IsNullOrEmpty(error) == false)
{
ErrorFollow.TraceWrite("自动导入TEMU订单", "店铺名称:" + model.ShopName, error);
continue;
}
else
{
API_OrderInfoService.SaveImpotShopInfo(model.ShopId.Value, "采集订单:" + ListOrderModel.Count);
ErrorFollow.TraceWrite("自动导入TEMU订单", "店铺名称:" + model.ShopName, "未发货数量:" + ListOrderModel.Count);
}
API_OrderInfoService.SaveOrderModel(model.CompanyId, model.ShopId.Value, model.ShopName, 23, 0, ListOrderModel);
ListTemu.RemoveAt(i);
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
continue;
}
}
ListTemu = null;
}
catch(Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
ListTemu = null;
}
}
#endregion
#region 延迟执行
void DelayAction()
{
AutoReset.WaitOne(OrderDelayTime * 60 * 1000, false);
if (IsRun == false) return;
for (int i = CurrentOrderReadNum; i < OrderReadNum; i++)
{
ImportAlibab();
ImportAmazon();
ImportEbay();
ImportWish();
ImportLXLazada();
ImportLXShopee();
ImportLXWayfairlist();
ImportTikTok();
ImportShein();
ImportTemu();
if (ListAlibab != null || ListAmazon != null || ListEbay != null || ListWish != null || ListLazada != null || ListWalmart != null || ListShopee != null || ListWayFair != null || ListTikTok!=null || ListShein!=null || ListTemu!=null)
{
AutoReset.WaitOne(OrderDelayTime * 60 * 1000, false);
if (IsRun == false) return;
}
else
{
break;
}
}
EndOrder();
}
#endregion
#region 处理已导入的订单
public void EndOrder()
{
try
{
List<BaseModel> ListCompany = BaseService.GetListCompany(0);
foreach (BaseModel item in ListCompany)
{
int CompanyID = item.ID;
List<int> ListOrder = API_OrderInfoService.GetList(CompanyID);
foreach (int OrderID in ListOrder)
{
BaseService.OrderAddForTM(CompanyID, OrderID, 0);
}
}
//DD_OrderData obj = new DD_OrderData();
//obj.MonthOrderGoodsNum();
//TradeManage.UserService obj2 = new TradeManage.UserService();
//obj2.GetTrackList();
//obj.GetOrderTrackCode();
}
catch (Exception ex)
{
ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message);
}
}
#endregion
}
}