using CRM.Core.BLL.EventBus.Events; using CRM.Core.BLL.Util; using CRM.Core.Common.EventBus; using CRM.Core.DTO; using System; using System.Linq; using System.Text; using WX.CRM.Common; namespace CRM.Core.BLL.EventBus.EventHandlers { public class RefundOrderEventHandler : IEventHandler { private CACHE_BL _cache = new CACHE_BL(); public void Handle(RefundOrderEvent @event) { try { LogHelper.Info("退款事件执行" + @event.ToJson()); try { //http://post.hc.dn8188.com/Rights/orderback.html var noticeUrl = Utility.GetSettingByKey("noticeUrl"); if (!string.IsNullOrEmpty(noticeUrl)) { Utility.GetData(noticeUrl, "orderid=" + @event.OrderId.ToString() + "type=1&values=" + @event.OrderStatus, Encoding.UTF8); } } catch (Exception exx) { LogHelper.Error("通知前端错误:" + exx.ToString()); } var host = Utility.GetSettingOrNullByKey("DataSyncApiUrl"); var url = host + "/api/DataSync"; if (@event.channel.HasValue) { var companyCode = _cache.GetCompanyCode(); var company = companyCode.FirstOrDefault(p => p.Min <= @event.channel.Value && p.Max >= @event.channel.Value); if (company != null) { @event.DeptCode = company.CompanyCode; } } var para = new SYNC_PUSH_DTO() { bidatatype = "Client_RefundOrder", deptcode = @event.DeptCode, jsontext = new { @event.OrderId, @event.OrderStatus, @event.OrderStatusName, @event.Id, @event.AuditStatus, @event.Auditor, @event.AuditorName, @event.AuditTime, @event.IsOpen }.ToJson() }; var rep = Utility.PostAjaxData(url, para.ToJson(), Encoding.UTF8); var ret = Utility.JSONToObject(rep); if (!ret.result) LogHelper.Error("接口 RefundOrderEventHandler 写入失败!"); //var para2 = new SYNC_PUSH_DTO() //{ // bidatatype = "web_RefundOrder", // deptcode = "WEB", // jsontext = new { @event.OrderId, @event.OrderStatus, @event.OrderStatusName, @event.Id, @event.AuditStatus, @event.Auditor, @event.AuditorName, @event.AuditTime }.ToJson() //}; //var rep2 = Utility.PostAjaxData(url, para2.ToJson(), Encoding.UTF8); //var ret2 = Utility.JSONToObject(rep2); //if (!ret2.result) // LogHelper.Error("接口 RefundOrderEventHandler 写入WEB失败!"); } catch (Exception ex) { LogHelper.Error(ex.ToString()); } } } }