|
|
@@ -25,6 +25,7 @@ using System.Threading.Tasks;
|
|
|
using System.Web;
|
|
|
using static SiteCore.taoObj.Api_trade_info;
|
|
|
using System.Text.RegularExpressions;
|
|
|
+using NPOI.OpenXmlFormats.Shared;
|
|
|
|
|
|
namespace SiteCore.Handler
|
|
|
{
|
|
|
@@ -207,11 +208,18 @@ namespace SiteCore.Handler
|
|
|
string decryptMsg = callbackCrypto.GetDecryptMsg(msgSignature, timeStamp, nonce, encrypt);
|
|
|
JObject item = JsonConvert.DeserializeObject<JObject>(decryptMsg);
|
|
|
string eventType, orderSn, expressCompany, expressName, expressNo;
|
|
|
+ int status = 0;
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+
|
|
|
try
|
|
|
{
|
|
|
+ status = Convert.ToInt16(item["status"]);
|
|
|
+ if (status != 4)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
eventType = item["eventType"].ToString();
|
|
|
orderSn = item["body"]["orderSN"].ToString();
|
|
|
- Debug.WriteLine("订单号:" + orderSn);
|
|
|
expressCompany = item["body"]["extra"]["expressCompany"].ToString();
|
|
|
expressName = item["body"]["extra"]["expressName"].ToString();
|
|
|
expressNo = item["body"]["extra"]["expressNo"].ToString();
|
|
|
@@ -223,11 +231,10 @@ namespace SiteCore.Handler
|
|
|
{
|
|
|
entity = CeErpTradeCell.GetByCtid(ctid);
|
|
|
}
|
|
|
- StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
if (entity != null && entity.SupplierId == 7)
|
|
|
{
|
|
|
- sb.AppendLine(string.Format("insert into CE_ErpTradeLog(tid,orderstate,userid,operatetime,con) select ctid,{1},{2},getdate(),'{3}' from ce_erptradecell where ctid = '{0}' ;", entity.ctid, (int)OrderState.下单完成, 0, "测试-盛大接口发货:" + expressCompany + "-" + expressNo));
|
|
|
+ sb.AppendLine(string.Format("insert into CE_ErpTradeLog(tid,orderstate,userid,operatetime,con) select ctid,{1},{2},getdate(),'{3}' from ce_erptradecell where ctid = '{0}' ;", entity.ctid, (int)OrderState.下单完成, 0, "盛大接口发货:" + expressCompany + "-" + expressNo));
|
|
|
|
|
|
CeErpTrade mainEn = CeErpTrade.Get(entity.tid);
|
|
|
string apires = "";
|
|
|
@@ -239,7 +246,7 @@ namespace SiteCore.Handler
|
|
|
{
|
|
|
cpCode = "ZTO-SD";
|
|
|
}
|
|
|
- if ("PADTF".Equals(expressName) && expressCompany.IndexOf("平安达") > -1)
|
|
|
+ if ("PADTF".Equals(expressName) && expressCompany.IndexOf("") > -1)
|
|
|
{
|
|
|
cpCode = "PADTF-SD";
|
|
|
}
|
|
|
@@ -303,29 +310,32 @@ namespace SiteCore.Handler
|
|
|
}
|
|
|
else if (mainEn.status == "SHIPPED" || mainEn.status == "PART_SHIPPED" || entity.OrderState >= 7) //已发货的不处理直接返回面单
|
|
|
{
|
|
|
- entity.OutSid = (entity.OutSid + "," + expressNo);
|
|
|
- if (entity.OrderState == 6)
|
|
|
+ if (string.IsNullOrEmpty(entity.OutSid) || entity.OutSid.IndexOf(expressNo) == -1)
|
|
|
{
|
|
|
- entity.OrderState = 7;
|
|
|
- }
|
|
|
- entity.UpdateTime = DateTime.Now;
|
|
|
- entity.FinishDeliveryTime = DateTime.Now;
|
|
|
- entity.Update();
|
|
|
|
|
|
- CeErpExpressInfo exinfo = new CeErpExpressInfo();
|
|
|
- exinfo.tid = entity.ctid;
|
|
|
- exinfo.out_sid = expressNo;
|
|
|
- exinfo.company_code = cpCode;
|
|
|
- exinfo.company_name = expressCompany;
|
|
|
- exinfo.supplierUserName = supplierName;
|
|
|
- exinfo.deliveryType = "发货成功";
|
|
|
- exinfo.print_time = DateTime.Now;
|
|
|
- exinfo.printUser = userName;
|
|
|
- exinfo.postData = "";
|
|
|
- exinfo.Create();
|
|
|
- commonHelper.UpdateRelationOrder(entity.ctid);
|
|
|
- CeErpSukuraData.createInfo(entity.ctid, 4);
|
|
|
+ entity.OutSid = (entity.OutSid + "," + expressNo);
|
|
|
+ if (entity.OrderState == 6)
|
|
|
+ {
|
|
|
+ entity.OrderState = 7;
|
|
|
+ }
|
|
|
+ entity.UpdateTime = DateTime.Now;
|
|
|
+ entity.FinishDeliveryTime = DateTime.Now;
|
|
|
+ entity.Update();
|
|
|
|
|
|
+ CeErpExpressInfo exinfo = new CeErpExpressInfo();
|
|
|
+ exinfo.tid = entity.ctid;
|
|
|
+ exinfo.out_sid = expressNo;
|
|
|
+ exinfo.company_code = cpCode;
|
|
|
+ exinfo.company_name = expressCompany;
|
|
|
+ exinfo.supplierUserName = supplierName;
|
|
|
+ exinfo.deliveryType = "发货成功";
|
|
|
+ exinfo.print_time = DateTime.Now;
|
|
|
+ exinfo.printUser = userName;
|
|
|
+ exinfo.postData = "";
|
|
|
+ exinfo.Create();
|
|
|
+ commonHelper.UpdateRelationOrder(entity.ctid);
|
|
|
+ CeErpSukuraData.createInfo(entity.ctid, 4);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -333,23 +343,22 @@ namespace SiteCore.Handler
|
|
|
entity.LastBillCpCode = cpCode;
|
|
|
entity.LastBillWaybillCode = expressNo;
|
|
|
entity.Update();
|
|
|
- sb.AppendLine(string.Format("insert into CE_ErpTradeLog(tid,orderstate,userid,operatetime,con) select ctid,{1},{2},getdate(),'{3}' from ce_erptradecell where ctid = '{0}' ;", entity.ctid, (int)OrderState.下单完成, 0, "测试-盛大接口发货失败:" + expressCompany + "-" + expressNo + "。发货失败:" + apires));
|
|
|
+ sb.AppendLine(string.Format("insert into CE_ErpTradeLog(tid,orderstate,userid,operatetime,con) select ctid,{1},{2},getdate(),'{3}' from ce_erptradecell where ctid = '{0}' ;", entity.ctid, (int)OrderState.下单完成, 0, "盛大接口发货失败:" + expressCompany + "-" + expressNo + "。发货失败:" + apires));
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sb.AppendLine(string.Format("update [dbo].[CE_ErpShengdaRequestDataBack] set message = '查不到对应订单:{0}' where signature='{1}' and timestamp='{2}';", ctid, msgSignature, timeStamp));
|
|
|
}
|
|
|
- SqlHelper.ExecuteNonQuery(sb.ToString());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
+ sb.AppendLine(string.Format("update [dbo].[CE_ErpShengdaRequestDataBack] set message = '数据解析错误:{0}' where signature='{1}' and timestamp='{2}';", ex.Message, msgSignature, timeStamp));
|
|
|
XLog.SaveLog(0, "盛大数据解析错误:" + msgSignature);
|
|
|
}
|
|
|
+ SqlHelper.ExecuteNonQuery(sb.ToString());
|
|
|
|
|
|
}
|
|
|
|