using CRM.Core.BLL.FB; using CRM.Core.BLL.Res; using CRM.Core.BLL.Sms; using CRM.Core.Model; using System; using System.Collections.Generic; using System.Linq; using WX.CRM.Common; namespace CRM.Core.CoreService.PkgSms.DataDrive { public class SmsBatchSendDomain { /// /// 批次 /// public decimal batchId { get; set; } /// /// 短信帐号编码 /// public string clientCode { get; set; } /// /// 每个接口自定义的编码 /// public string interfaceCode { get; set; } /// /// 对应接口的发送帐号 /// public string interfaceAccount { get; set; } /// /// 对应接口的帐号密码 /// public string interfacePwd { get; set; } /// /// 短信内容 /// public string msgContent { get; set; } /// /// 手机号 /// public List mobiles { get; set; } private List pkids { get; set; } public static int SmsWaitCount { get; set; } public static void ClearBatch() { SmsWaitCount = 0; } /// /// 获取一组发送数据 /// /// public SmsBatchSendDomain GetInfo() { try { var batchSms = new Sms_BatchMsg_BL(ConStringHelper.CompanyCode.QBJZ).GetTopInfo(); this.batchId = batchSms.batchid; this.clientCode = batchSms.clientcode; var account = new SMS_ACCOUNT_BL().GetList(p => p.CLIENTCODE == this.clientCode).FirstOrDefault(); if (account == null) return null; var _smsBatchMsgDetial = new Sms_BatchMsgDetail_BL(ConStringHelper.CompanyCode.QBJZ); var totalCount = 0; var smsDetialList = _smsBatchMsgDetial.GetList(p => p.batchid == this.batchId, p => p.pkid, 1, 200, out totalCount, System.Data.SqlClient.SortOrder.Ascending); var mobilesDic = new RES_RESOURCEMOBILE_BL().GetNumberByResId(smsDetialList.Select(p => p.resid).ToArray()); this.interfaceCode = account.SMSSP_CODE; this.interfaceAccount = account.SMSACCOUNT; this.interfacePwd = account.SMSPASSWORD; this.msgContent = batchSms.message; foreach (KeyValuePair item in mobilesDic) { mobiles.Add(item.Value); } LogHelper.Info("totalCount:" + totalCount.ToString()); SmsWaitCount = totalCount - 200; return this; } catch (Exception ex) { WX.CRM.Common.LogHelper.Error("BatchMsg.GetInfo():" + ex.Message + ex.StackTrace); return null; } } //public static void ExecLog(List detaisIds, WX.CRM.Model.Entity.SMS_SENDLOG logInfo) //{ // try // { // //WX.CRM.IBLL.Sms.ISMS_BATCHMSG_Q dataDriveBiz = new WX.CRM.BLL.Sms.SMS_BATCHMSG_BL(); // //dataDriveBiz.ExecLog(detaisIds, logInfo); // } // catch (Exception ex) // { // WX.CRM.Common.LogHelper.Error("【BatchMsg.ExecLog()】:" + ex.Message + ex.Source + ex.StackTrace); // } //} /// /// 根据接口编码获取步长 /// /// /// private int StemNum(string iterfaceCode) { return 200; } } }