ComplianceServer/oldcode/Core.BLL/EventBus/EventHandlers/RefundOrderEventHandler.cs

78 lines
3.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<RefundOrderEvent>
{
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<retMsg>(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<retMsg>(rep2);
//if (!ret2.result)
// LogHelper.Error("接口 RefundOrderEventHandler 写入WEB失败");
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
}
}
}
}