78 lines
3.1 KiB
C#
78 lines
3.1 KiB
C#
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());
|
||
}
|
||
}
|
||
}
|
||
}
|