/// <summary> /// 作废订单 /// </summary> /// <param name="soNumber"></param> public static void AbandonSO(int soNumber) { SOV31 msg = new SOV31() { Body = new SOMsg() { SOMaster = new SOMasterMsg() { SystemNumber = soNumber } }, Header = ServiceAdapterHelper.ApplyMessageHeader() }; IMaintainSOV31 service = ServiceBroker.FindService <IMaintainSOV31>(); try { msg = service.SystemAbandonSO(msg); ServiceAdapterHelper.DealServiceFault(msg.Faults); } finally { ServiceBroker.DisposeService <IMaintainSOV31>(service); } }
public static void AuditNetPay(int soSysNo) { NetPayV31 message = new NetPayV31 { Header = ServiceAdapterHelper.ApplyMessageHeader(), Body = new NetPayMessage { SOSysNo = soSysNo } }; IMaintainNetPayV31 service = ServiceBroker.FindService <IMaintainNetPayV31>(); try { //SimpleTypeDataContract<bool> BatchApproveGroupBuy(NetPayV31 msg); SimpleTypeDataContract <bool> ResultMsg = service.BatchApproveGroupBuy(message); ServiceAdapterHelper.DealServiceFault(ResultMsg.Faults); } finally { ServiceBroker.DisposeService <IMaintainNetPayV31>(service); } }
public static void SendEmail(MailEntity mailEntity) { TxtFileLogger logger = LoggerManager.GetLogger(); try { var mailService = ServiceBroker.FindService <IPP.Oversea.CN.ServiceCommon.ServiceInterfaces.ServiceContracts.ISendMail>(); var mail = new MailBodyV31 { Body = new MailBodyMsg { MailTo = mailEntity.To, CCMailAddress = mailEntity.CC, Subjuect = mailEntity.Subject, MailBody = mailEntity.Body, Status = 0, //0:未发送,1:已经发送 CreateDate = DateTime.Now, Priority = 1 // Normal } }; mail.Header = new MessageHeader(); mail.Header.CompanyCode = ConfigurationManager.AppSettings["CompanyCode"]; DefaultDataContract result = mailService.SendMail2IPP3Internal(mail); if (result.Faults != null && result.Faults.Count > 0) { throw new Exception(result.Faults[0].ErrorDescription); } } catch (Exception ex) { logger.WriteLog("邮件发送失败!\r\n" + ex.ToString()); } }
private static TaobaoResponse Query(string method, Dictionary <string, string> param) { ITaoBaoMaintain service = ServiceBroker.FindService <ITaoBaoMaintain>(); try { TaoBaoRequest taobaoRequest = new TaoBaoRequest(); taobaoRequest.param = param; taobaoRequest.method = method; taobaoRequest.Header = Util.CreateServiceHeader(); TaoBaoResponse taoBaoResponse = service.GetTaoBaoInventoryQtyByMethod(taobaoRequest); string response = taoBaoResponse.CommonReturnStringValue; //string response = TaoBaoUtil.Post(param); response = response.Replace("items_onsale_get_response>", "items_inventory_get_response>"); if (string.IsNullOrEmpty(response)) { throw new Exception("淘宝未返回任何信息。"); } if (response.IndexOf("error_response") > -1) { throw new Exception(response); } TaobaoResponse taobaoResponse = XmlSerializerHelper.Deserializer <TaobaoResponse>(response, CommonConst.taobao_response_encoding); return(taobaoResponse); } finally { ServiceBroker.DisposeService <ITaoBaoMaintain>(service); } }
private void SynInvnetoryQty(List <TaoBaoSKUMsg> TaoBaoSKUList) { TaoBaoRequest request = new TaoBaoRequest(); request.TaoBaoSKUList = TaoBaoSKUList; request.Header = Util.CreateServiceHeader(Common); ITaoBaoMaintain service = ServiceBroker.FindService <ITaoBaoMaintain>(); try { TaoBaoResponse response = service.TaoBaoItemQantityUpdate(request); if (response != null && response.Faults != null && response.Faults.Count > 0) { MessageFault msg = response.Faults[0]; BusinessException ex = new BusinessException(msg.ErrorCode, string.Format("{0}\r\n{1}", msg.ErrorDescription, msg.ErrorDetail), true); throw ex; } } finally { ServiceBroker.DisposeService <ITaoBaoMaintain>(service); } }
public static void WriteLog(List <LogInfo> logInfos) { ICreateLogV31 service = ServiceBroker.FindService <ICreateLogV31>(); LogV31 log = new LogV31(); try { log.Body = ToMessageList(logInfos); if (logInfos != null && logInfos.Count > 0) { log.Header = new Newegg.Oversea.Framework.Contract.MessageHeader { CompanyCode = Settings.CompanyCode }; } else { log.Header = new Newegg.Oversea.Framework.Contract.MessageHeader(); } service.CreateLog(log); } catch (Exception ex) { throw ex; } finally { ServiceBroker.DisposeService <ICreateLogV31>(service); } }
public static void Sync(ChannelProductEntity entity) { if (entity == null) { throw new ArgumentNullException("entity"); } #if DEBUG ISyncChannelInventoryV31 service = ServiceBroker.FindService <ISyncChannelInventoryV31>("CN.InventoryMgmt.UI.IPP01", "LocalDev"); #else ISyncChannelInventoryV31 service = ServiceBroker.FindService <ISyncChannelInventoryV31>(); #endif ChannelInventoryRequestV31 request = new ChannelInventoryRequestV31(); request.Body = new List <ChannelInventoryMsg>(); ChannelInventoryMsg msg = new ChannelInventoryMsg { ChannelSysNo = entity.ChannelSysNo, ChannelInventory = entity.SynChannelQty, ProductSysNo = entity.ProductSysNo, SynProductID = entity.SynProductID, SkuID = entity.SkuID }; request.Body.Add(msg); request.Header = Util.CreateMessageHeader(); ChannelInventoryResponseV31 response = service.Sync(request); if (response == null) { throw new BusinessException("SyncChannelInventoryJobError", string.Format("ThirdPart Service返回NULL值,product:{0},channel:{1}({2}) 同步失败", entity.ProductSysNo, entity.ChannelSysNo, entity.ChannelCode)); } if (response.Faults != null && response.Faults.Count > 0) { var fault = response.Faults[0]; throw new BusinessException(fault.ErrorCode, string.IsNullOrEmpty(fault.ErrorDetail) ? fault.ErrorDescription : fault.ErrorDetail); } if (response.Body == null || response.Body.Count == 0) { throw new BusinessException("SyncChannelInventoryJobError", string.Format("ThirdPart Service返回未知错误,product:{0},channel:{1}({2}) 同步失败", entity.ProductSysNo, entity.ChannelSysNo, entity.ChannelCode)); } msg = response.Body[0]; if (msg.FaultMsg != null) { BusinessException ex = new BusinessException(msg.FaultMsg.ErrorCode, string.Format("product:{0},channel:{1}({2}) 同步失败\r\n{3}\r\n{4}", entity.ProductSysNo, entity.ChannelSysNo, entity.ChannelCode, msg.FaultMsg.ErrorDescription, msg.FaultMsg.ErrorDetail)); throw ex; } }
/// <summary> /// 开始检测订单的本地仓状态 /// </summary> /// <param name="jobContext">Job运行上下文</param> public static void Run(JobContext jobContext) { BizLogFile = jobContext.Properties["BizLog"]; List <SOEntity4OutStockEntity> list = OutStockSODA.GetOutStockSOList(CompanyCode); if (list == null || list.Count == 0) { jobContext.Message += "没有附合条件的记录"; WriteLog("没有附合条件的记录"); return; } else { jobContext.Message += string.Format(" 共获取到{0}条满足条件的记录", list.Count); WriteLog(string.Format(" 共获取到{0}条满足条件的记录", list.Count)); } int successCount = 0; IMaintainSOManualChangeWHV31 service = ServiceBroker.FindService <IMaintainSOManualChangeWHV31>(); GetAutoAuditSendMessageLoginInfo(); foreach (SOEntity4OutStockEntity so in list) { // 如果3天没有备到货,改为超时未到货 TimeSpan ts = DateTime.Now.Subtract(so.OrderDate); if (ts.TotalHours > 72) { OutStockSODA.UpdateSOStockStatus(so.SysNo, 2); continue; } // 如果已经到货,修改订单仓库并修改订单为到货可审 if (OutStockSODA.IsItemAvail(so.SysNo, so.LocalWHSysNo)) { List <SOItem4OutStockEntity> soItems = OutStockSODA.GetSOItem4OutStock(so.SysNo, so.LocalWHSysNo); foreach (SOItem4OutStockEntity soitem in soItems) { try { UpdateSOStockStatus(so.SysNo, soitem.ProductID, soitem.ProductSysNo, soitem.Quantity, int.Parse(soitem.WarehouseNumber), int.Parse(so.LocalWHSysNo), service); successCount++; jobContext.Message += string.Format("成功修改订单仓库,单号:{0}\r\n", so.SysNo); WriteLog(string.Format("成功修改订单仓库,单号:{0}", so.SysNo)); } catch (Exception ex) { jobContext.Message += string.Format("修改仓库时发生异常,单号:{0},异常:{1}\r\n", so.SysNo, ex.Message); WriteLog(string.Format("修改仓库时发生异常,单号:{0},异常:{1}", so.SysNo, ex.Message)); } } } } }
public static void SendMessage(JobContext jobContext) { BizLogFile = jobContext.Properties["BizLog"]; //从配置文件中获取自动审核一次最多提取的单数 TopCount = GetAutoAuditSendMessageTopCount(); //从配置文件获取为邮件发送JOB中调用WCF服务时所使用到的信息 GetAutoAuditSendMessageLoginInfo(); //自动审单时审单人编号 AuditUserSysNo = GetAutoAuditUserSysNo(); List <int> sendMailSysNoList = SOAutoAuditSendMessageDA.GetSOList4Audit2SendMessage(TopCount, SendMailCompanyCode); if (sendMailSysNoList.Count > 0) { jobContext.Message += string.Format("共获取到{0}条附合条件的记录\r\n", sendMailSysNoList.Count); WriteLog(string.Format("共获取到{0}条附合条件的记录\r\n", sendMailSysNoList.Count)); IMaintainSOV31 service = ServiceBroker.FindService <IMaintainSOV31>(); int successCount = 0; try { foreach (int x in sendMailSysNoList) { try { SendMessage4SO(x, service); successCount++; jobContext.Message += string.Format("已为审单通过成功发送邮件,单号:{0}\r\n", x); WriteLog(string.Format("已为审单通过成功发送邮件,单号:{0}", x)); } catch (Exception ex) { jobContext.Message += string.Format("发送邮件异常,单号:{0},异常:\r\n", x, ex.Message); WriteLog(string.Format("发送邮件异常,单号:{0},异常:", x, ex.Message)); } } } finally { ServiceBroker.DisposeService <IMaintainSOV31>(service); } jobContext.Message += string.Format("执行结束,成功{0}条,失败{1}条\r\n", successCount, sendMailSysNoList.Count - successCount); WriteLog(string.Format("执行结束,成功{0}条,失败{1}条\r\n", successCount, sendMailSysNoList.Count - successCount)); } else { jobContext.Message += string.Format("没有附合条件的记录\r\n"); WriteLog("没有附合条件的记录\r\n"); } }
public static void InStock(POEntity po) { WMSRequest request = new WMSRequest() { Header = ServiceAdapterHelper.ApplyMessageHeader() , OrderInfo = new WMSOrderInfo() { OrderSysNo = po.SysNo.Value , OrderType = "PO" , WarehouseNumber = po.StockSysNo.ToString() } }; List <WMSRequestProduct> products = new List <WMSRequestProduct>(); foreach (var item in po.POItems) { products.Add( new WMSRequestProduct() { Code = item.ProductID , UnitQty = item.PurchaseQty }); } WMSRequestWaitInStock req = new WMSRequestWaitInStock() { Action = "ImportAsn" , OrderCode = po.SysNo.ToString() , WarehouseCode = po.StockSysNo.ToString() , ProductList = products }; request.WaitInStock = req; IWMSMaintain service = ServiceBroker.FindService <IWMSMaintain>(); try { WMSResponse response = service.WaitInStock(request); ServiceAdapterHelper.DealServiceFault(response.Faults); } finally { ServiceBroker.DisposeService <IWMSMaintain>(service); } }
/// <summary> /// 发送带附件的邮件 /// </summary> /// <returns></returns> public static void SendMailWithAccessories(MailContract mailContract) { ISendEmail service = ServiceBroker.FindService <ISendEmail>(); try { bool isSuccess = service.SendMail(mailContract, false); mailContract.Attachments.Clear(); //清空附件列表 if (!isSuccess) { throw (new BusinessException("Invoice job(SendMailARAmtOfVIPCustomer) Send mail failed!")); } } finally { ServiceBroker.DisposeService <ISendEmail>(service); } }
/// <summary> /// 更新订单 /// </summary> /// <param name="soSysNo"></param> public static void UpdateSO4GroupBuying(int soSysNo) { SimpleTypeDataContract <int> SysNo = new SimpleTypeDataContract <int> { Value = soSysNo, Header = ServiceAdapterHelper.ApplyMessageHeader() }; IMaintainSOV31 service = ServiceBroker.FindService <IMaintainSOV31>(); try { DefaultDataContract msg = service.UpdateSO4GroupBuying(SysNo); ServiceAdapterHelper.DealServiceFault(msg.Faults); } finally { ServiceBroker.DisposeService <IMaintainSOV31>(service); } }
private void SynInvnetoryQty(List <InventoryQtyEntity> inventoryQtyList) { TaoBaoRequest request = new TaoBaoRequest(); request.TaoBaoSKUList = new List <TaoBaoSKUMsg>(); foreach (InventoryQtyEntity entity in inventoryQtyList) { TaoBaoSKUMsg skuMsg = new TaoBaoSKUMsg(); skuMsg.Quantity = entity.SynInventoryQty.ToString(); skuMsg.Type = "2"; skuMsg.SKU = entity.SKU; request.TaoBaoSKUList.Add(skuMsg); } request.Header = Util.CreateServiceHeader(); ITaoBaoMaintain service = ServiceBroker.FindService <ITaoBaoMaintain>(); try { TaoBaoResponse response = service.TaoBaoItemQantityUpdate(request); if (response != null && response.Faults != null && response.Faults.Count > 0) { MessageFault msg = response.Faults[0]; BusinessException ex = new BusinessException(msg.ErrorCode, string.Format("{0}\r\n{1}", msg.ErrorDescription, msg.ErrorDetail), true); throw ex; } } catch (Exception ex) { ExceptionHelper.HandleException(ex); throw ex; } finally { ServiceBroker.DisposeService <ITaoBaoMaintain>(service); } }
private static void InsertKFC(SOEntity4FPEntity entity) { IMaintainKFCV31 service = ServiceBroker.FindService <IMaintainKFCV31>(); KnownFraudCustomerV31 message = new KnownFraudCustomerV31 { Body = new KnownFraudCustomerMsg { BrowseInfo = entity.BrowseInfo, CreateDate = DateTime.Now, CreateUserName = "******", CustomerSysNo = entity.CustomerSysNo, EmailAddress = entity.EmailAddress, FraudType = 1, IPAddress = entity.IPAddress, MobilePhone = entity.MobilePhone, ShippingAddress = entity.ShippingAddress, ShippingContact = entity.ShippingContact, Status = 0, Telephone = entity.Telephone }, Header = new Newegg.Oversea.Framework.Contract.MessageHeader() { OperationUser = new OperationUser(UserDisplayName, UserLoginName, StoreSourceDirectoryKey, CompanyCode), CompanyCode = CompanyCode, StoreCompanyCode = StoreCompanyCode } }; try { message = service.InsertKnownFraudCustomer(message); } finally { ServiceAdapterHelper.DealServiceFault(message); } }
public static void UpdateSO4GroupBuyingV2(int soSysNo, int gourpBuySysNo, int productSysNo) { SOGroupBuyAjustV31 message = new SOGroupBuyAjustV31() { Body = new SOGroupBuyAjustMsg(), Header = ServiceAdapterHelper.ApplyMessageHeader() }; message.Body.SOSysNo = soSysNo; message.Body.GroupBuySysNo = gourpBuySysNo; message.Body.ProductSysNo = productSysNo; IMaintainSOV31 service = ServiceBroker.FindService <IMaintainSOV31>(); try { DefaultDataContract msg = service.UpdateSO4GroupBuyingV2(message); ServiceAdapterHelper.DealServiceFault(msg.Faults); } finally { ServiceBroker.DisposeService <IMaintainSOV31>(service); } }
public static void CreateAO(int soSysNo) { FinanceIncomeV31 message = new FinanceIncomeV31 { Header = ServiceAdapterHelper.ApplyMessageHeader(), Body = new FinanceIncomeMessage() }; message.Body.SOIncome = new SOIncomeMessage { OrderSysNo = soSysNo }; message.Body.SOIncomeRefund = new SOIncomeRefundMessage { Note = "团购订单作废", RefundReason = null, RefundPayType = SOIncomeRefundPayType.PrepayRefund }; message.Body.Type = FinanceIncomeType.AO; ICreateSOIncomeRefundV31 service = ServiceBroker.FindService <ICreateSOIncomeRefundV31>(); try { SimpleTypeDataContract <bool> ResultMsg = service.CreateNegativeFinanceIncome(message); ServiceAdapterHelper.DealServiceFault(ResultMsg.Faults); } finally { ServiceBroker.DisposeService <ICreateSOIncomeRefundV31>(service); } }
public void SendMail(MailEntity entity) { ISendMail service = ServiceBroker.FindService <ISendMail>(); MailBodyV31 mail = new MailBodyV31(); mail.Body = new MailBodyMsg { CCMailAddress = entity.CC, CreateDate = DateTime.Now, MailBody = entity.Body, MailFrom = entity.From, MailTo = entity.To, Subjuect = entity.Subject }; mail.Header = Util.CreateServiceHeader(); DefaultDataContract contract = service.SendMail2MailDBInternal(mail); if (contract != null && contract.Faults != null && contract.Faults.Count > 0) { MessageFault fault = contract.Faults[0]; throw new Exception(string.Format("{0}\r\n{1}\r\n{2}", fault.ErrorCode, fault.ErrorDescription, fault.ErrorDetail)); } }