using CRM.Core.BLL.EventBus.Events; using CRM.Core.BLL.Util; using CRM.Core.Common.EventBus; using CRM.Core.DTO; using CRM.Core.Model.Entity; using System; using System.Linq; using System.Net.Mail; using System.Text; using WX.CRM.Common; namespace CRM.Core.BLL.EventBus.EventHandlers { public class CmsNewsEventHandler : IEventHandler { public void Handle(CmsNewsEvent @event) { try { string GetPushDeptcode = @event.DeptCode;//获取推送的deptcode CACHE_BL cachebl = new CACHE_BL(); Bas_CompanyVirtual bas_company = cachebl.GetCompanyVirtual().FirstOrDefault(m => m.CompanyCode == @event.DeptCode); if (bas_company != null) { var ss = bas_company.Channel.Split('|')[0].Split(','); int maxchannel = Convert.ToInt32(ss[1]); int minchannel = Convert.ToInt32(ss[0]); Bas_CompanyChannel channe = cachebl.GetCompanyCode().FirstOrDefault(m => m.Max <= maxchannel && m.Min >= minchannel); if (channe != null) { GetPushDeptcode = channe.CompanyCode; } } var host = Utility.GetSettingOrNullByKey("DataSyncApiUrl"); var url = host + "/api/DataSync"; var para = new SYNC_PUSH_DTO() { bidatatype = "Client_CmsNews", deptcode = GetPushDeptcode, jsontext = new { newid = @event.log.newid, Status = @event.log.Status, OpUser = @event.log.OpUser, OpName = @event.log.OpName, deptcode = @event.log.deptcode, OpEvent = @event.log.OpEvent, CheckRemark = @event.log.CheckRemark, AuditImg1 = @event.log.AuditImg1, AuditImg2 = @event.log.AuditImg2, AuditImg3 = @event.log.AuditImg3, AuditImg4 = @event.log.AuditImg4, AuditImg5 = @event.log.AuditImg5, AuditImg6 = @event.log.AuditImg6, Reason = @event.log.Reason, Attachment = @event.log.Attachment, }.ToJson() }; var rep = Utility.PostAjaxData(url, para.ToJson(), Encoding.UTF8); var ret = Utility.JSONToObject(rep); if (!ret.result) LogHelper.Error("接口 Client_CmsNews 写入失败!"); } catch (Exception ex) { LogHelper.Error(ex.ToString()); } } } }