using CRM.Core.CoreService.PkgSms; using CRM.Core.CoreService.PkgSms.DataDrive; using CRM.Core.CoreService.PkgSms.InterfaceModel; using CRM.Core.Model.Entity; using System; using WX.CRM.Common; namespace CRM.Core.CoreService.SmsJob { /// /// 任务执行 /// public class SmsSendExc { public void Send() { do { SendSMS(); } while (CrmMsg.waitCount > 0); } void SendSMS() { var logInfo = new SMS_SENDLOG(); decimal _messageid = 0; try { CrmMsgSendModel info = CrmMsg.GetInfo(); if (info == null) { CrmMsg.ClearWait(); return; } _messageid = info.messageid; string[] mbs = { info.mobile }; var _id = InterfaceFactory.GetInterfaceIdByCode(info.interfaceCode); if (_id <= 0) { LogHelper.Info("配置有误"); return; } var sms = new MsgSend(_id, info.interfaceAccount, info.interfacePwd); var result = sms.Execute(mbs, info.msgContent, info.subtypecode); logInfo.SENDSTR = result.SendStr; logInfo.CLIENTCODE = info.clientCode; logInfo.MSGSOURCEID = info.messageid; logInfo.RETURNMSG = result.ReturnStr; logInfo.SENDTIME = System.DateTime.Now; logInfo.SENDSUCCESS = (short)(result.submitStatus == SubmitStatus.success ? 1 : 0); //插入日志 CrmMsg.ExecLog(info.messageid, logInfo); } catch (Exception ex) { //插入日志 logInfo.SENDSUCCESS = 0; logInfo.RETURNMSG = ex.Message; CrmMsg.ExecLog(_messageid, logInfo); CrmMsg.ClearWait(); WX.CRM.Common.LogHelper.Error("WX.CRM.CRMServices.SMS.SendCrmMsg:" + ex.Message + ex.StackTrace); } } } }