|
|
using NetLibrary.Common.Configuration;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.ComponentModel;
|
|
|
using System.Data;
|
|
|
using System.Diagnostics;
|
|
|
using System.Linq;
|
|
|
using System.ServiceProcess;
|
|
|
using System.Text;
|
|
|
using System.Threading;
|
|
|
using NetLibrary.Log;
|
|
|
using System.Net;
|
|
|
using System.IO;
|
|
|
using System.Text.RegularExpressions;
|
|
|
using TradeManageNew;
|
|
|
using TradeData;
|
|
|
using TradeModel;
|
|
|
using System.IO.Compression;
|
|
|
|
|
|
namespace TradeServer
|
|
|
{
|
|
|
partial class Service1 : ServiceBase
|
|
|
{
|
|
|
OrderInfoService ser = new OrderInfoService();
|
|
|
Thread threadListen = null;
|
|
|
Thread thread1 = null;
|
|
|
public DateTime? FedexSDate = null;
|
|
|
public DateTime? FedexEDate = null;
|
|
|
Thread threadListen2 = null;
|
|
|
Thread threadListen3 = null;
|
|
|
public Service1()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
}
|
|
|
|
|
|
protected override void OnStart(string[] args)
|
|
|
{
|
|
|
// TODO: 在此处添加代码以启动服务。
|
|
|
ReadSetting();
|
|
|
|
|
|
ser.StartRunTime = StaticModel.OrderReadTime;
|
|
|
ser.FedexReadTime = StaticModel.FedexReadTime;
|
|
|
ser.OrderDelayTime = StaticModel.OrderDelayTime;
|
|
|
ser.OrderReadNum = StaticModel.OrderReadNum;
|
|
|
ser.Start();
|
|
|
|
|
|
|
|
|
//threadListen = new Thread(new ThreadStart(GetStar));
|
|
|
|
|
|
// threadListen.Start();
|
|
|
// thread1 = new Thread(GetTrackCode);
|
|
|
// thread1.Start(); // 只要使用Start方法,线程才会运行
|
|
|
//if (FedexSDate != null && FedexEDate != null)
|
|
|
//{
|
|
|
threadListen2 = new Thread(new ThreadStart(GetPM));//排名
|
|
|
|
|
|
threadListen2.Start();
|
|
|
|
|
|
// threadListen3 = new Thread(new ThreadStart(GetOrderReturn2));//退货
|
|
|
|
|
|
// threadListen3.Start();
|
|
|
//}
|
|
|
}
|
|
|
public void GetOrderReturn()
|
|
|
{
|
|
|
|
|
|
|
|
|
while (true)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var slist = DataNew.GetListGoodsShopTH(2);
|
|
|
if (slist != null)
|
|
|
{
|
|
|
foreach (var smd in slist)
|
|
|
{
|
|
|
AmazonNewApi obj2 = new AmazonNewApi();
|
|
|
obj2.SellerId = smd.Appkey;// "A1TCQIR9I01XTZ";
|
|
|
obj2.MWSAuthToken = smd.AccessToken;// "amzn.mws.62ba145e-2196-8467-6004-3c51f61ba7e0";// ShopModel.AccessToken;
|
|
|
obj2.SumoolToKen = "ccb0a9d7-3d71-4e2f-81da-dd844e86de70";//obj2.marketplaceId = "ATVPDKIKX0DER";// ShopModel.DeveKey;
|
|
|
obj2.country = "美国";
|
|
|
obj2.MarketplaceId = "ATVPDKIKX0DER";
|
|
|
DateTime sdt = DateTime.Today.AddDays(-60);
|
|
|
DateTime edt = DateTime.Today;
|
|
|
string requestid = obj2.GetGoodsReturnRequest(sdt, edt);
|
|
|
if (requestid != null && requestid != "")
|
|
|
{
|
|
|
Thread.Sleep(300 * 1000);
|
|
|
var rlist = obj2.GetGoodsReturn(sdt, edt, requestid);
|
|
|
if (rlist != null)
|
|
|
{
|
|
|
Random rd = new Random();
|
|
|
foreach (var rmd in rlist)
|
|
|
{
|
|
|
var olist = obj2.GetGoodsReturnOrders(rmd.ReportId);
|
|
|
if (olist != null)
|
|
|
{
|
|
|
foreach (var oomd in olist)
|
|
|
{
|
|
|
if (oomd.label_details != null)
|
|
|
{
|
|
|
foreach (var lmd in oomd.label_details)
|
|
|
{
|
|
|
if (oomd.return_details != null)
|
|
|
{
|
|
|
foreach (var dmd in oomd.return_details)
|
|
|
{
|
|
|
var omd = new DT_OrderReturn();
|
|
|
omd.id = 0;
|
|
|
omd.orderid = 0;
|
|
|
omd.detailid = 0;
|
|
|
omd.ordercode = oomd.order_id;
|
|
|
if (oomd.order_date != null && oomd.order_date != "")
|
|
|
omd.order_date = Convert.ToDateTime(oomd.order_date);
|
|
|
omd.return_request_date = DateTime.Now;
|
|
|
omd.return_request_status = oomd.return_request_status;
|
|
|
omd.in_policy = dmd.in_policy;
|
|
|
omd.merchant_sku = dmd.merchant_sku;
|
|
|
omd.asin = dmd.asin;
|
|
|
omd.return_quantity = dmd.return_quantity;
|
|
|
omd.return_reason_code = dmd.return_reason_code;
|
|
|
omd.refund_amount = dmd.refund_amount;
|
|
|
omd.tracking_id = lmd.tracking_id;
|
|
|
omd.return_carrier = lmd.return_carrier;
|
|
|
omd.label_cost = lmd.label_cost;
|
|
|
omd.barcode = DateTime.Now.ToString("yyyyMMddHHmmss") + rd.Next(0, 10000).ToString();
|
|
|
DataNew.Save_OrderReturn(omd);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
// DataNew.Save_DD_GoodsSync(md.Id.Value);
|
|
|
ErrorFollow.TraceWrite("GetOrderReturn", "", ex.Message);
|
|
|
Thread.Sleep(3600 * 8 * 1000);
|
|
|
}
|
|
|
Thread.Sleep(3600 * 24 * 1000);
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
public void GetOrderReturn2()
|
|
|
{
|
|
|
|
|
|
|
|
|
while (true)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var slist = DataNew.GetListGoodsShopTH(2);
|
|
|
if (slist != null)
|
|
|
{
|
|
|
foreach (var smd in slist)
|
|
|
{
|
|
|
Amazon_SPApi obj2 = new Amazon_SPApi();
|
|
|
obj2.SellerId = smd.Appkey;// "A1TCQIR9I01XTZ";
|
|
|
obj2.MWSAuthToken = smd.AccessToken;// "amzn.mws.62ba145e-2196-8467-6004-3c51f61ba7e0";// ShopModel.AccessToken;
|
|
|
obj2.SumoolToKen = smd.RefreshToken;// "ccb0a9d7-3d71-4e2f-81da-dd844e86de70";//obj2.marketplaceId = "ATVPDKIKX0DER";// ShopModel.DeveKey;
|
|
|
obj2.country = smd.Country;// "美国";
|
|
|
obj2.MarketplaceId = smd.DeveKey;// "ATVPDKIKX0DER";
|
|
|
DateTime sdt = DateTime.Today.AddDays(-60);
|
|
|
DateTime edt = DateTime.Today;
|
|
|
string ReportId = obj2.GetGoodsReturnRequest(sdt, edt);
|
|
|
if (ReportId != null && ReportId != "")
|
|
|
{
|
|
|
Thread.Sleep(300 * 1000);
|
|
|
string docid = obj2.GetGoodsReturn(ReportId);
|
|
|
Thread.Sleep(300 * 1000);
|
|
|
|
|
|
string url = obj2.Getdocuments(docid);
|
|
|
|
|
|
if (url != "")
|
|
|
{
|
|
|
Random rd = new Random();
|
|
|
|
|
|
var olist = obj2.GetGoodsReturnOrders(url);
|
|
|
if (olist != null)
|
|
|
{
|
|
|
foreach (var oomd in olist)
|
|
|
{
|
|
|
if (oomd.label_details != null)
|
|
|
{
|
|
|
foreach (var lmd in oomd.label_details)
|
|
|
{
|
|
|
if (oomd.return_details != null)
|
|
|
{
|
|
|
foreach (var dmd in oomd.return_details)
|
|
|
{
|
|
|
var omd = new DT_OrderReturn();
|
|
|
omd.id = 0;
|
|
|
omd.orderid = 0;
|
|
|
omd.detailid = 0;
|
|
|
omd.ordercode = oomd.order_id;
|
|
|
if (oomd.order_date != null && oomd.order_date != "")
|
|
|
omd.order_date = Convert.ToDateTime(oomd.order_date);
|
|
|
omd.return_request_date = DateTime.Now;
|
|
|
omd.return_request_status = oomd.return_request_status;
|
|
|
omd.in_policy = dmd.in_policy;
|
|
|
omd.merchant_sku = dmd.merchant_sku;
|
|
|
omd.asin = dmd.asin;
|
|
|
omd.return_quantity = dmd.return_quantity;
|
|
|
omd.return_reason_code = dmd.return_reason_code;
|
|
|
omd.refund_amount = dmd.refund_amount;
|
|
|
omd.tracking_id = lmd.tracking_id;
|
|
|
omd.return_carrier = lmd.return_carrier;
|
|
|
omd.label_cost = lmd.label_cost;
|
|
|
omd.barcode = DateTime.Now.ToString("yyyyMMddHHmmss") + rd.Next(0, 10000).ToString();
|
|
|
DataNew.Save_OrderReturn(omd);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
// DataNew.Save_DD_GoodsSync(md.Id.Value);
|
|
|
ErrorFollow.TraceWrite("GetOrderReturn", "", ex.Message);
|
|
|
Thread.Sleep(3600 * 8 * 1000);
|
|
|
}
|
|
|
Thread.Sleep(3600 * 24 * 1000);
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
public void GetPM()
|
|
|
{
|
|
|
|
|
|
|
|
|
while (true)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var ulist = DataNew.GetGoodsLink2(5);
|
|
|
// ErrorFollow.TraceWrite("GetPM1", "", ulist.Count.ToString());
|
|
|
if (ulist != null)
|
|
|
{
|
|
|
var glist = new List<AMGoodsPM>();
|
|
|
int shopid = 0;
|
|
|
foreach (var md in ulist)
|
|
|
{
|
|
|
if (shopid > 0 && shopid != md.ShopId.Value)
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
AMGoodsPM gmd = new AMGoodsPM();
|
|
|
gmd.id = md.Id;
|
|
|
gmd.ASIN = md.Url;
|
|
|
gmd.ShopId = md.ShopId;
|
|
|
gmd.GoodsId = md.GoodsId;
|
|
|
gmd.PM1 = 0;
|
|
|
gmd.PM2 = 0;
|
|
|
glist.Add(gmd);
|
|
|
shopid = md.ShopId.Value;
|
|
|
}
|
|
|
// ErrorFollow.TraceWrite("GetPM1", "", glist.Count.ToString());
|
|
|
var mlist = new List<AMGoodsPM>();
|
|
|
if (glist != null && glist.Count > 0)
|
|
|
{
|
|
|
if (ulist[0].Code == "new2")
|
|
|
{
|
|
|
Amazon_SPApi obj2 = new Amazon_SPApi();
|
|
|
obj2.SellerId = ulist[0].Appkey;
|
|
|
obj2.MWSAuthToken = ulist[0].AccessToken;// ShopModel.AccessToken;
|
|
|
obj2.SumoolToKen = ulist[0].RefreshToken;//obj2.marketplaceId = "ATVPDKIKX0DER";// ShopModel.DeveKey;
|
|
|
obj2.country = ulist[0].Country;
|
|
|
obj2.MarketplaceId = ulist[0].DeveKey;
|
|
|
string ErrorMessage = "";
|
|
|
mlist = obj2.GetProductPM_New(glist,out ErrorMessage);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
AmazonNewApi obj2 = new AmazonNewApi();
|
|
|
obj2.SellerId = ulist[0].Appkey;
|
|
|
obj2.MWSAuthToken = ulist[0].AccessToken;// ShopModel.AccessToken;
|
|
|
obj2.SumoolToKen = ulist[0].RefreshToken;//obj2.marketplaceId = "ATVPDKIKX0DER";// ShopModel.DeveKey;
|
|
|
obj2.country = ulist[0].Country;
|
|
|
obj2.MarketplaceId = ulist[0].DeveKey;
|
|
|
mlist = obj2.GetGoodsPM(glist);
|
|
|
}
|
|
|
// ErrorFollow.TraceWrite("GetPM2", "", mlist.Count.ToString());
|
|
|
foreach (var md in glist)
|
|
|
{
|
|
|
|
|
|
DataNew.Save_DD_GoodsSync2(md.id.Value);
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if (mlist != null)
|
|
|
{
|
|
|
foreach (var md in mlist)
|
|
|
{
|
|
|
|
|
|
if (md.PM1 > 0 && md.PM2 > 0)
|
|
|
{
|
|
|
DD_GoodsCodeData smd = new DD_GoodsCodeData();
|
|
|
smd.ShopId = md.ShopId;
|
|
|
smd.GoodsId = md.GoodsId;
|
|
|
smd.Int5 = 0;
|
|
|
smd.InDate = DateTime.Now;
|
|
|
smd.OrderDate = DateTime.Today;
|
|
|
smd.Int2 = md.PM1;
|
|
|
smd.Int3 = md.PM2;
|
|
|
smd.asin = md.ASIN;
|
|
|
DataNew.Save_GoodsCodeData2(smd);
|
|
|
// ErrorFollow.TraceWrite("GetPM3", md.PM1.ToString() + ";" + md.PM2.ToString(), md.GoodsId.ToString() + "," + md.ShopId.ToString());
|
|
|
//var umd = ulist.Find(n => n.ShopId == md.ShopId && n.GoodsId != md.GoodsId);
|
|
|
//if (umd != null)
|
|
|
// DataNew.Save_DD_GoodsSync2(umd.Id.Value);
|
|
|
}
|
|
|
//else
|
|
|
//{
|
|
|
// var umd = ulist.Find(n => n.ShopId == md.ShopId && n.GoodsId != md.GoodsId);
|
|
|
// if (umd != null)
|
|
|
// DataNew.Save_DD_GoodsSync2(umd.Id.Value);
|
|
|
|
|
|
//}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
DataNew.AddDD_GoodsPM();
|
|
|
Thread.Sleep(30*60*1000);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
// DataNew.Save_DD_GoodsSync(md.Id.Value);
|
|
|
ErrorFollow.TraceWrite("GetPM", "", ex.Message);
|
|
|
Thread.Sleep(5 * 60 * 1000);
|
|
|
}
|
|
|
Thread.Sleep(2000);
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
public void GetPM2()
|
|
|
{
|
|
|
|
|
|
while (true)
|
|
|
{
|
|
|
var ulist = DataNew.GetGoodsLink(5);
|
|
|
// ErrorFollow.TraceWrite("GetPM1", "", ulist.Count.ToString());
|
|
|
if (ulist != null)
|
|
|
{
|
|
|
foreach (var md in ulist)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
if (md.Url.Contains("amazon") == false)
|
|
|
{
|
|
|
DataNew.Save_DD_GoodsSync(md.Id.Value);
|
|
|
continue;
|
|
|
}
|
|
|
string url = md.Url.Trim();// "https://www.amazon.com/gp/product/B07BHGSL5M";
|
|
|
if (!(url.Contains("http://") || url.Contains("https://")))
|
|
|
{
|
|
|
url = "http://" + url;
|
|
|
}
|
|
|
// ErrorFollow.TraceWrite("GetPM2", "", url);
|
|
|
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
|
|
|
req.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
|
|
|
req.Accept = "*/*";
|
|
|
req.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
|
|
|
req.ContentType = "text/xml";
|
|
|
|
|
|
string sHTML = "";
|
|
|
using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
|
|
|
{
|
|
|
if (response.ContentEncoding.ToLower().Contains("gzip"))
|
|
|
{
|
|
|
using (GZipStream stream = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress))
|
|
|
{
|
|
|
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
|
|
|
{
|
|
|
sHTML = reader.ReadToEnd();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (response.ContentEncoding.ToLower().Contains("deflate"))
|
|
|
{
|
|
|
using (DeflateStream stream = new DeflateStream(response.GetResponseStream(), CompressionMode.Decompress))
|
|
|
{
|
|
|
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
|
|
|
{
|
|
|
sHTML = reader.ReadToEnd();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
using (Stream stream = response.GetResponseStream())
|
|
|
{
|
|
|
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
|
|
|
{
|
|
|
sHTML = reader.ReadToEnd();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//id="SalesRank" #54,746 <span class="zg_hrsr_rank">#30</span>
|
|
|
// ErrorFollow.TraceWrite("GetPM3", "", sHTML);
|
|
|
string pm1 = "";
|
|
|
string pm2 = "";
|
|
|
int s = -1;
|
|
|
s = sHTML.IndexOf("Best Sellers Rank");
|
|
|
int es = 0;
|
|
|
if (s <= 0)
|
|
|
s = sHTML.IndexOf("id=\"SalesRank\"");
|
|
|
if (s <= 0)
|
|
|
{
|
|
|
DataNew.Save_DD_GoodsSync(md.Id.Value);
|
|
|
continue;
|
|
|
}
|
|
|
// ErrorFollow.TraceWrite("GetPM", "", s.ToString());
|
|
|
if (s > 0)
|
|
|
{
|
|
|
int ss = sHTML.IndexOf("#", s);
|
|
|
int ee = sHTML.IndexOf(" ", ss);
|
|
|
if (ss > s && ee > ss + 1)
|
|
|
{
|
|
|
pm1 = sHTML.Substring(ss + 1, ee - ss);
|
|
|
}
|
|
|
es = ee;
|
|
|
|
|
|
}
|
|
|
|
|
|
int s2 = sHTML.IndexOf("zg_hrsr_rank", s);
|
|
|
// ErrorFollow.TraceWrite("GetPM", "", s2.ToString());
|
|
|
if (s2 <= 0 && es > 0)
|
|
|
{
|
|
|
s2 = es + 5;
|
|
|
}
|
|
|
if (s2 > 0)
|
|
|
{
|
|
|
int ss2 = sHTML.IndexOf("#", s2);
|
|
|
int ee2 = sHTML.IndexOf("in", ss2);
|
|
|
if (ss2 > s2 && ee2 > ss2 + 1)
|
|
|
{
|
|
|
pm2 = sHTML.Substring(ss2 + 1, ee2 - ss2 - 1).Trim();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
string a = pm1.Trim().Replace(",", "").Replace(",", "");
|
|
|
string a1 = pm2.Trim().Replace(",", "").Replace(",", "");
|
|
|
int dpm = 0;
|
|
|
int xpm = 0;
|
|
|
string reg = "^[0-9]*$";
|
|
|
if (Regex.IsMatch(a, reg) == true)
|
|
|
dpm = Convert.ToInt32(a);
|
|
|
if (Regex.IsMatch(a1, reg) == true)
|
|
|
xpm = Convert.ToInt32(a1);
|
|
|
if (dpm > 0 || xpm > 0)
|
|
|
{
|
|
|
DD_GoodsCodeData smd = new DD_GoodsCodeData();
|
|
|
smd.ShopId = md.ShopId;
|
|
|
smd.GoodsId = md.GoodsId;
|
|
|
smd.Int5 = 0;
|
|
|
smd.InDate = DateTime.Now;
|
|
|
smd.OrderDate = DateTime.Today;
|
|
|
smd.Int2 = dpm;
|
|
|
smd.Int3 = xpm;
|
|
|
DataNew.Save_GoodsCodeData2(smd);
|
|
|
DataNew.Save_DD_GoodsSync(md.Id.Value);
|
|
|
}
|
|
|
Random rd2 = new Random();
|
|
|
int st2 = rd2.Next(1, 10);
|
|
|
Thread.Sleep(st2 * 1000);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
DataNew.Save_DD_GoodsSync(md.Id.Value);
|
|
|
ErrorFollow.TraceWrite("GetPM", "", ex.Message);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Thread.Sleep(30*60*1000);
|
|
|
}
|
|
|
Random rd = new Random();
|
|
|
int st = rd.Next(50, 500);
|
|
|
Thread.Sleep(st * 1000);
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
public void GetFedex2()
|
|
|
{
|
|
|
|
|
|
while (true)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
JC_ExpressService service = new JC_ExpressService();
|
|
|
// JC_PostAddress address = DataNew.GetAddressModel22(4);
|
|
|
JC_ExpressPost expressModel = service.GetExpressModel(1, 228);
|
|
|
List<DT_OrderModel> fedexOrderList = DataNew.GetFedexOrderList2(FedexSDate, FedexEDate);
|
|
|
if (fedexOrderList == null || fedexOrderList.Count == 0)
|
|
|
{
|
|
|
Thread.Sleep(10000000);
|
|
|
|
|
|
}
|
|
|
string str = "";
|
|
|
if (fedexOrderList != null)
|
|
|
{
|
|
|
foreach (DT_OrderModel model in fedexOrderList)
|
|
|
{
|
|
|
str = str + model.OrderId + ",";
|
|
|
}
|
|
|
}
|
|
|
List<DT_OrderMateGoods> fedexOrderGoodsList = new List<DT_OrderMateGoods>();
|
|
|
List<DT_SpareFee> spareList = new List<DT_SpareFee>();
|
|
|
if (str != "")
|
|
|
{
|
|
|
fedexOrderGoodsList = API_OrderInfoService.GetFedexOrderGoodsList(str.TrimEnd(','));
|
|
|
spareList = DataNew.GetFedexOrderGoodsListSPare(str.TrimEnd(','));
|
|
|
}
|
|
|
if (fedexOrderList != null)
|
|
|
{
|
|
|
foreach (var fmd in fedexOrderList)
|
|
|
{
|
|
|
var isspare = 0;
|
|
|
string str2 = "";
|
|
|
if (spareList != null)
|
|
|
{
|
|
|
var smd = spareList.FindAll(n => n.OrderId == fmd.OrderId);
|
|
|
if (smd != null)
|
|
|
{
|
|
|
isspare = 1;
|
|
|
foreach (var ssmd in smd)
|
|
|
{
|
|
|
if (ssmd.Weight == null || ssmd.Weight == "")
|
|
|
return;
|
|
|
TradeManageNew.FedexRateNew2 rate = new TradeManageNew.FedexRateNew2();
|
|
|
TradeManageNew.FedexRateNew2.Key = expressModel.UserCode;
|
|
|
TradeManageNew.FedexRateNew2.Password = expressModel.CheckCode;
|
|
|
TradeManageNew.FedexRateNew2.AccountNumber = expressModel.client_id;
|
|
|
TradeManageNew.FedexRateNew2.MeterNumber = expressModel.client_secret;
|
|
|
TradeManageNew.FedexRateNew2.PayAccountNumber = expressModel.refresh_token;
|
|
|
TradeManageNew.FedexRateNew2.HubId = expressModel.Code;
|
|
|
TradeManageNew.FedexFeeMdNew md = new TradeManageNew.FedexFeeMdNew();
|
|
|
TradeManageNew.FedexRateNew2.Addr2 = 1;
|
|
|
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 = "1801 North Andrews Ave";// address.EnglishAddress;
|
|
|
md.SendCountry = "US";// address.countycode;
|
|
|
md.SendCity = "Pompano Beach";// address.city;
|
|
|
md.SendProv = "FL";// address.provincecode;
|
|
|
md.SendPostCode = "33069";// address.PostCode;
|
|
|
|
|
|
//md.SendAddr = "480 W 83rd St";// address.EnglishAddress;
|
|
|
//md.SendCountry = "US";// address.countycode;
|
|
|
//md.SendCity = "Hialeah";// address.city;
|
|
|
//md.SendProv = "FL";// address.provincecode;
|
|
|
//md.SendPostCode = "33166";// address.PostCode;
|
|
|
|
|
|
if (ssmd.Width != null && ssmd.Width != "")
|
|
|
{
|
|
|
md.Width = (Math.Ceiling(Convert.ToDecimal(ssmd.Width)).ToString());
|
|
|
}
|
|
|
if (ssmd.Height != null && ssmd.Height != "")
|
|
|
{
|
|
|
md.Height = Math.Ceiling(Convert.ToDecimal(ssmd.Height)).ToString();
|
|
|
}
|
|
|
if (ssmd.Long != null && ssmd.Long != "")
|
|
|
{
|
|
|
md.Lenght = Math.Ceiling(Convert.ToDecimal(ssmd.Long)).ToString();
|
|
|
}
|
|
|
md.Weight = Convert.ToDecimal(ssmd.Weight);
|
|
|
md.PostType = "SMART_POST";
|
|
|
|
|
|
rate.GetFee(md, out str2);
|
|
|
Thread.Sleep(3000);
|
|
|
md.PostType = "FEDEX_GROUND";
|
|
|
rate.GetFee(md, out str2);
|
|
|
Thread.Sleep(3000);
|
|
|
md.PostType = "GROUND_HOME_DELIVERY";
|
|
|
rate.GetFee(md, out str2);
|
|
|
Thread.Sleep(5000);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (isspare == 0)
|
|
|
{
|
|
|
List<DT_OrderMateGoods> list3 = null;
|
|
|
if (fedexOrderGoodsList != null)
|
|
|
{
|
|
|
|
|
|
list3 = fedexOrderGoodsList.FindAll(n => n.OrderId == fmd.OrderId);
|
|
|
}
|
|
|
decimal num = 0M;
|
|
|
|
|
|
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.FedexRateNew2 rate = new TradeManageNew.FedexRateNew2();
|
|
|
TradeManageNew.FedexRateNew2.Key = expressModel.UserCode;
|
|
|
TradeManageNew.FedexRateNew2.Password = expressModel.CheckCode;
|
|
|
TradeManageNew.FedexRateNew2.AccountNumber = expressModel.client_id;
|
|
|
TradeManageNew.FedexRateNew2.MeterNumber = expressModel.client_secret;
|
|
|
TradeManageNew.FedexRateNew2.PayAccountNumber = expressModel.refresh_token;
|
|
|
TradeManageNew.FedexRateNew2.HubId = expressModel.Code;
|
|
|
TradeManageNew.FedexFeeMdNew md = new TradeManageNew.FedexFeeMdNew();
|
|
|
TradeManageNew.FedexRateNew2.Addr2 = 1;
|
|
|
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 = "1801 North Andrews Ave";// address.EnglishAddress;
|
|
|
md.SendCountry = "US";// address.countycode;
|
|
|
md.SendCity = "Pompano Beach";// address.city;
|
|
|
md.SendProv = "FL";// address.provincecode;
|
|
|
md.SendPostCode = "33069";// address.PostCode;
|
|
|
|
|
|
//md.SendAddr = "480 W 83rd St";// address.EnglishAddress;
|
|
|
//md.SendCountry = "US";// address.countycode;
|
|
|
//md.SendCity = "Hialeah";// address.city;
|
|
|
//md.SendProv = "FL";// address.provincecode;
|
|
|
//md.SendPostCode = "33166";// 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";
|
|
|
|
|
|
rate.GetFee(md, out str2);
|
|
|
Thread.Sleep(3000);
|
|
|
md.PostType = "FEDEX_GROUND";
|
|
|
rate.GetFee(md, out str2);
|
|
|
Thread.Sleep(3000);
|
|
|
md.PostType = "GROUND_HOME_DELIVERY";
|
|
|
rate.GetFee(md, out str2);
|
|
|
Thread.Sleep(5000);
|
|
|
}
|
|
|
}
|
|
|
if (str2 != "")
|
|
|
{
|
|
|
DataNew.Save_Fedex(fmd.OrderId.Value);
|
|
|
}
|
|
|
// 1.三种里面如果最便宜是S, 就用S
|
|
|
//2. 如果是RESIDENTIAL, smart 贵, 就走home devlivery,
|
|
|
//3. 如果是COMMERCIAL, 就smart 和GROUND比较哪个便宜走哪个。
|
|
|
//4.超过70L, 就用GROUND
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch (Exception exception)
|
|
|
{
|
|
|
ErrorFollow.TraceWrite("GetFedex2", "", exception.Message);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
public void GetTrackCode()
|
|
|
{
|
|
|
|
|
|
while (true)
|
|
|
{
|
|
|
// ErrorFollow.TraceWrite("GetTrackCode", "", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
try
|
|
|
{
|
|
|
string error = "";
|
|
|
var md = DataNew.GetAutoCodeNew(1,6);//smart
|
|
|
var obj11 = new BaseService();
|
|
|
int ExpressId = 228;
|
|
|
|
|
|
// if(md!=null)
|
|
|
// ErrorFollow.TraceWrite("GetTrackCode", "md1", md.PlatOrderCode);
|
|
|
var companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
var pmd = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md != null && pmd != null && companymd != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md, pmd, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodesmart", "", error);
|
|
|
|
|
|
Thread.Sleep(2000);
|
|
|
md = DataNew.GetAutoCodeNew(2,6);//smart
|
|
|
ExpressId = 228;
|
|
|
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
pmd = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md, pmd, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodesmart", "", error);
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
|
error = "";
|
|
|
var md3 = DataNew.GetAutoCodeNew(5,6);//home
|
|
|
ExpressId = 234;
|
|
|
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
var pmd3 = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md3 != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md3, pmd3, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodehome", "", error);
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
|
|
|
|
error = "";
|
|
|
var md2 = DataNew.GetAutoCodeNew(3, 6);//groud
|
|
|
ExpressId = 233;
|
|
|
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
var pmd2 = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md2 != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md2, pmd2, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodegroud", "", error);
|
|
|
Thread.Sleep(1000);
|
|
|
error = "";
|
|
|
md2 = DataNew.GetAutoCodeNew(4, 6);//groud
|
|
|
ExpressId = 233;
|
|
|
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
pmd2 = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md2 != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md2, pmd2, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodegroud", "", error);
|
|
|
|
|
|
GetTrackCode2();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ErrorFollow.TraceWrite("GetTrackCode", "", ex.Message);
|
|
|
}
|
|
|
Thread.Sleep(3000);
|
|
|
// if (DateTime.Now.Hour >= 18)
|
|
|
// Thread.Sleep(10000);
|
|
|
}
|
|
|
|
|
|
//}
|
|
|
//catch (Exception exception)
|
|
|
//{
|
|
|
// ErrorFollow.TraceWrite("GetTrackCode", "", exception.Message);
|
|
|
// thread1.Abort();
|
|
|
// Thread.Sleep(500000);
|
|
|
// thread1 = new Thread(GetTrackCode);
|
|
|
// thread1.Start();
|
|
|
//}
|
|
|
}
|
|
|
|
|
|
|
|
|
public void GetTrackCode2()
|
|
|
{
|
|
|
|
|
|
// ErrorFollow.TraceWrite("GetTrackCode", "", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
try
|
|
|
{
|
|
|
string error = "";
|
|
|
var md = DataNew.GetAutoCodeNew(1, 11);//smart
|
|
|
var obj11 = new BaseService();
|
|
|
int ExpressId = 237;
|
|
|
// if(md!=null)
|
|
|
// ErrorFollow.TraceWrite("GetTrackCode", "md1", md.PlatOrderCode);
|
|
|
var companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
var pmd = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md != null && pmd != null && companymd != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md, pmd, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodesmart", "", error);
|
|
|
|
|
|
Thread.Sleep(1000);
|
|
|
md = DataNew.GetAutoCodeNew(2, 11);//smart
|
|
|
|
|
|
ExpressId = 237;
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
pmd = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md, pmd, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodesmart", "", error);
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
|
error = "";
|
|
|
var md3 = DataNew.GetAutoCodeNew(5, 11);//home
|
|
|
|
|
|
ExpressId = 239;
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
var pmd3 = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md3 != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md3, pmd3, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodehome", "", error);
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
|
|
|
|
error = "";
|
|
|
var md2 = DataNew.GetAutoCodeNew(3, 11);//groud
|
|
|
|
|
|
ExpressId = 238;
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
var pmd2 = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md2 != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md2, pmd2, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodegroud", "", error);
|
|
|
Thread.Sleep(1000);
|
|
|
error = "";
|
|
|
md2 = DataNew.GetAutoCodeNew(4, 11);//groud
|
|
|
|
|
|
ExpressId = 238;
|
|
|
companymd = obj11.GetAddressModel2(ExpressId);
|
|
|
pmd2 = DataNew.GetExpressModel(1, ExpressId);
|
|
|
if (md2 != null)
|
|
|
error = DD_OrderServiceNew.GetOrderPostCodeAuto(md2, pmd2, companymd, ExpressId);
|
|
|
if (error != "")
|
|
|
ErrorFollow.TraceWrite("GetTrackCodegroud", "", error);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ErrorFollow.TraceWrite("GetTrackCode", "", ex.Message);
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
private void GetStar()
|
|
|
{
|
|
|
|
|
|
while (true)
|
|
|
{
|
|
|
Thread.Sleep(30000);
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var list = DataLogic.GetLinkList();
|
|
|
|
|
|
if (list != null)
|
|
|
{
|
|
|
foreach (var md in list)
|
|
|
{
|
|
|
if (md.Url == null || md.Url == "")
|
|
|
continue;
|
|
|
string aa = "";
|
|
|
try
|
|
|
{
|
|
|
WebRequest request = WebRequest.Create(md.Url);
|
|
|
WebResponse response = request.GetResponse();
|
|
|
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
|
|
|
|
|
|
aa = reader.ReadToEnd();
|
|
|
|
|
|
reader.Close();
|
|
|
reader.Dispose();
|
|
|
response.Close();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ErrorFollow.TraceWrite("WebRequestGetStarlist", ex.Message, ex.Data.ToString());
|
|
|
DataLogic.UpdateGoodsStar2(md.Id.Value);
|
|
|
Thread.Sleep(3000);
|
|
|
}
|
|
|
if (aa == "")
|
|
|
continue;
|
|
|
Match m = Regex.Match(aa, "<span data-hook=\"total-review-count\" class=\"a-size-medium totalReviewCount\">(?<TotalNum>.*?)</span>");
|
|
|
|
|
|
int TotalNum = 0;
|
|
|
if (m.Success)
|
|
|
{
|
|
|
if (m.Groups["TotalNum"] != null && m.Groups["TotalNum"].Value != null)
|
|
|
TotalNum = Convert.ToInt32(m.Groups["TotalNum"].Value);
|
|
|
}
|
|
|
|
|
|
|
|
|
int Star1 = 0;
|
|
|
int Star2 = 0;
|
|
|
int Star3 = 0;
|
|
|
int Star4 = 0;
|
|
|
int Star5 = 0;
|
|
|
int s1 = aa.IndexOf("cm_cr_dp_d_hist_1");
|
|
|
if (s1 > 0)
|
|
|
{
|
|
|
int s = aa.IndexOf("star (", s1);
|
|
|
int end = aa.IndexOf("%)", s);
|
|
|
string bb = aa.Substring(s + 6, end - s - 6);
|
|
|
if (bb != "")
|
|
|
Star1 = Convert.ToInt32(bb);
|
|
|
}
|
|
|
|
|
|
s1 = aa.IndexOf("cm_cr_dp_d_hist_2");
|
|
|
if (s1 > 0)
|
|
|
{
|
|
|
int s = aa.IndexOf("star (", s1);
|
|
|
int end = aa.IndexOf("%)", s);
|
|
|
string bb = aa.Substring(s + 6, end - s - 6);
|
|
|
if (bb != "")
|
|
|
Star2 = Convert.ToInt32(bb);
|
|
|
}
|
|
|
s1 = aa.IndexOf("cm_cr_dp_d_hist_3");
|
|
|
if (s1 > 0)
|
|
|
{
|
|
|
int s = aa.IndexOf("star (", s1);
|
|
|
int end = aa.IndexOf("%)", s);
|
|
|
string bb = aa.Substring(s + 6, end - s - 6);
|
|
|
if (bb != "")
|
|
|
Star3 = Convert.ToInt32(bb);
|
|
|
|
|
|
}
|
|
|
s1 = aa.IndexOf("cm_cr_dp_d_hist_4");
|
|
|
if (s1 > 0)
|
|
|
{
|
|
|
int s = aa.IndexOf("star (", s1);
|
|
|
int end = aa.IndexOf("%)", s);
|
|
|
string bb = aa.Substring(s + 6, end - s - 6);
|
|
|
if (bb != "")
|
|
|
Star4 = Convert.ToInt32(bb);
|
|
|
}
|
|
|
s1 = aa.IndexOf("cm_cr_dp_d_hist_5");
|
|
|
if (s1 > 0)
|
|
|
{
|
|
|
int s = aa.IndexOf("star (", s1);
|
|
|
int end = aa.IndexOf("%)", s);
|
|
|
string bb = aa.Substring(s + 6, end - s - 6);
|
|
|
if (bb != "")
|
|
|
Star5 = Convert.ToInt32(bb);
|
|
|
}
|
|
|
if (TotalNum > 0 && (Star1 > 0 || Star2 > 0 || Star3 > 0 || Star4 > 0 || Star5 > 0))
|
|
|
{
|
|
|
md.Star6 = TotalNum;
|
|
|
md.Star1 = Star1;
|
|
|
md.Star2 = Star2;
|
|
|
md.Star3 = Star3;
|
|
|
md.Star4 = Star4;
|
|
|
md.Star5 = Star5;
|
|
|
|
|
|
DataLogic.Save_GoodsStar(md);
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
DataLogic.UpdateGoodsStar2(md.Id.Value);
|
|
|
Thread.Sleep(10000);
|
|
|
|
|
|
}
|
|
|
Thread.Sleep(10000);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
DataLogic.AddGoodsStar();
|
|
|
Thread.Sleep(40000000);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ErrorFollow.TraceWrite("GetStar", ex.Message, ex.Data.ToString());
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
#region 读取配置
|
|
|
public void ReadSetting()
|
|
|
{
|
|
|
string SetupPath = AppDomain.CurrentDomain.BaseDirectory + "Setup.ini";
|
|
|
StaticModel.OrderReadTime = ConfigurationSourceSection.LoadXml_Attribute(SetupPath, "OrderReadTime");
|
|
|
|
|
|
string OrderDelayTime = ConfigurationSourceSection.LoadXml_Attribute(SetupPath, "OrderDelayTime");
|
|
|
if (string.IsNullOrEmpty(OrderDelayTime) == false) StaticModel.OrderDelayTime = Convert.ToInt32(OrderDelayTime);
|
|
|
|
|
|
StaticModel.OrderJGTime = Convert.ToInt32(ConfigurationSourceSection.LoadXml_Attribute(SetupPath, "OrderJGTime"));
|
|
|
|
|
|
string OrderReadNum = ConfigurationSourceSection.LoadXml_Attribute(SetupPath, "OrderReadNum");
|
|
|
if (string.IsNullOrEmpty(OrderReadNum) == false) StaticModel.OrderReadNum = Convert.ToInt32(OrderReadNum);
|
|
|
|
|
|
|
|
|
|
|
|
string FedexReadTime = ConfigurationSourceSection.LoadXml_Attribute(SetupPath, "FedexReadTime");
|
|
|
if (string.IsNullOrEmpty(FedexReadTime) == false) StaticModel.FedexReadTime = FedexReadTime;
|
|
|
string FedexReadTimeS = ConfigurationSourceSection.LoadXml_Attribute(SetupPath, "FedexReadTimeS");
|
|
|
if (string.IsNullOrEmpty(FedexReadTimeS) == false) FedexSDate = Convert.ToDateTime(FedexReadTimeS);
|
|
|
string FedexReadTimeE = ConfigurationSourceSection.LoadXml_Attribute(SetupPath, "FedexReadTimeE");
|
|
|
if (string.IsNullOrEmpty(FedexReadTimeE) == false) FedexEDate = Convert.ToDateTime(FedexReadTimeE); ;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
protected override void OnStop()
|
|
|
{
|
|
|
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
|
|
|
if (threadListen != null)
|
|
|
threadListen.Abort();
|
|
|
if (thread1 != null)
|
|
|
thread1.Abort();
|
|
|
if (threadListen2 != null)
|
|
|
threadListen2.Abort();
|
|
|
if (threadListen3 != null)
|
|
|
threadListen3.Abort();
|
|
|
ser.Stop();
|
|
|
}
|
|
|
}
|
|
|
}
|