using CRM.Core.BLL.EventBus.Events; using CRM.Core.BLL.Sms; using CRM.Core.BLL.Util; using CRM.Core.Common.EventBus; using CRM.Core.Model.Entity; using System; using System.Linq; using WX.CRM.Common; namespace CRM.Core.BLL.EventBus.EventHandlers { public class OpenOrderSendSmsEventHandler : IEventHandler { private SMS_MESSAGE_BL _sms = new SMS_MESSAGE_BL(); private CACHE_BL _cache = new CACHE_BL(); public void Handle(OpenOrderSendSmsEvent @event) { try { #region 发送短信 LogHelper.Info("发送短信事件执行:" + @event.ToJson()); var OpenOrderSendSms = Utility.GetSettingOrNullByKey("OpenOrderSendSms"); if (!string.IsNullOrEmpty(OpenOrderSendSms) && OpenOrderSendSms == "1") { var typeCode = "ISVRSMS0001"; var subTypeCode = "OpenOrder"; var TemplateId = string.IsNullOrEmpty(_cache.GetValue_Parameter(Model.Enum.Parameter.Sms_TencentOpenOrderTid)) ? 0 : int.Parse(_cache.GetValue_Parameter(Model.Enum.Parameter.Sms_TencentOpenOrderTid)); var SmsSign = _cache.GetValue_Parameter(Model.Enum.Parameter.Sms_TencentSign); if (!string.IsNullOrEmpty(@event.DonateDays)) { TemplateId = string.IsNullOrEmpty(_cache.GetValue_Parameter(Model.Enum.Parameter.Sms_TencentOpenOrderDonateTid)) ? 0 : int.Parse(_cache.GetValue_Parameter(Model.Enum.Parameter.Sms_TencentOpenOrderDonateTid)); } var smsSubType = _cache.GetSmsSubTypeList(); var smsClient = _cache.GetSmsClientList(); var subTypeId = smsSubType.FirstOrDefault(p => p.SUBTYPECODE == subTypeCode).SUBTYPEID; var clientCode = smsClient.FirstOrDefault(p => p.SUBTYPEID == subTypeId).CLIENTCODE; var mssage = new { TemplateId, SmsSign, @event.SoftUserName, @event.ProductName, @event.OpenDays, @event.DonateDays }.ToJson();//尊敬的客户{1},您购买的{2}已开通,产品期限:{3},赠送期限:{4},使用中有问题可致电010-53465298,我们竭诚为您服务! var model = new SMS_MESSAGE() { MESSAGE = mssage, RESID = @event.ResId, TYPECODE = typeCode, SUBTYPECODE = subTypeCode, CLIENTCODE = clientCode, CTIME = DateTime.Now, CREATEUSER = 10000 }; _sms.Add(model); } #endregion } catch (Exception ex) { LogHelper.Error(ex.ToString()); } } } }