/// <summary> /// 删除 /// </summary> /// <param name="pc">pc</param> /// <returns>影响的记录行数</returns> public int DeleteMultiple(ParameterCollection pc) { int ret = 0; AutoDialerTaskNumberInfoModel autodialertasknumberinfo = new AutoDialerTaskNumberInfoModel(); ret = DbUtil.Current.DeleteMultiple(autodialertasknumberinfo, pc); return(ret); }
/// <summary> /// 更新 /// </summary> /// <param name="autodialertasknumberinfo">实体</param> /// <param name="pc">pc</param> /// <returns>影响的记录行数</returns> public int UpdateMultiple(AutoDialerTaskNumberInfoModel autodialertasknumberinfo, ParameterCollection pc) { int ret = 0; autodialertasknumberinfo.ModifiedBy = SessionUtil.Current.UserId; autodialertasknumberinfo.ModifiedOn = DateTime.Now; ret = DbUtil.Current.UpdateMultiple(autodialertasknumberinfo, pc); return(ret); }
/// <summary> /// 更新 /// </summary> /// <param name="autodialertasknumberinfo">实体</param> /// <returns>影响的记录行数</returns> public int Update(AutoDialerTaskNumberInfoModel autodialertasknumberinfo) { int ret = 0; autodialertasknumberinfo.ModifiedBy = SessionUtil.Current.UserId; autodialertasknumberinfo.ModifiedOn = DateTime.Now; ret = DbUtil.Current.Update(autodialertasknumberinfo); return(ret); }
/// <summary> /// 删除 /// </summary> /// <param name="autodialernumberid"></param> /// <returns>影响的记录行数</returns> public int Delete(string autodialernumberid) { int ret = 0; AutoDialerTaskNumberInfoModel autodialertasknumberinfo = new AutoDialerTaskNumberInfoModel(); autodialertasknumberinfo.AutoDialerNumberId = autodialernumberid; ret = DbUtil.Current.Delete(autodialertasknumberinfo); return(ret); }
/// <summary> /// 根据条件获取实体集合 /// </summary> /// <param name="pc">pc</param> /// <param name="obc">obc</param> /// <returns>实体</returns> public List <AutoDialerTaskNumberInfoModel> RetrieveMultiple(ParameterCollection pc, OrderByCollection obc) { List <AutoDialerTaskNumberInfoModel> autodialertasknumberinfos = new List <AutoDialerTaskNumberInfoModel>(); AutoDialerTaskNumberInfoModel autodialertasknumberinfo = new AutoDialerTaskNumberInfoModel(); DataTable dt = DbUtil.Current.RetrieveMultiple(autodialertasknumberinfo, pc, obc); for (int i = 0; i < dt.Rows.Count; i++) { autodialertasknumberinfo = new AutoDialerTaskNumberInfoModel(); autodialertasknumberinfo.ConvertFrom(dt, i); autodialertasknumberinfos.Add(autodialertasknumberinfo); } return(autodialertasknumberinfos); }
/// <summary> /// 根据主键获取实体 /// </summary> /// <param name="autodialernumberid"></param> /// <returns>实体</returns> public AutoDialerTaskNumberInfoModel Retrieve(string autodialernumberid) { AutoDialerTaskNumberInfoModel autodialertasknumberinfo = new AutoDialerTaskNumberInfoModel(); autodialertasknumberinfo.AutoDialerNumberId = autodialernumberid; DataTable dt = DbUtil.Current.Retrieve(autodialertasknumberinfo); if (dt.Rows.Count < 1) { return(null); } autodialertasknumberinfo.ConvertFrom(dt); return(autodialertasknumberinfo); }
/// <summary> /// 添加自动外呼任务外呼号码条目。 /// </summary> /// <param name="taskId"></param> /// <param name="numberList"></param> /// <param name="message"></param> /// <returns></returns> public bool AddAutoDialerTaskNumbers(string taskId, List <string> numberList, out int nowTotal, out string message) { bool result = false; nowTotal = 0; message = "操作失败,请与管理员联系"; AutoDialerTaskInfoModel taskInfo = Retrieve(taskId); if (taskInfo == null) { message = "操作失败,当前任务ID不存在"; return(false); } nowTotal = Convert.ToInt32(taskInfo.DialerNumberTotal); if (taskInfo.Status == 1) { message = "操作失败,当前任务正在执行中"; return(false); } #region 往TF_CMS数据库中插入数据 if (numberList != null && numberList.Count > 0) { string insertSql = @" INSERT INTO [DIALER_INFO] ([DIALER_ID] ,[PHONE] ,[DIALER_TYPE] ,[BEGIN_TIME] ,[INTERVAL] ,[TIMES] ,[GENERATE_TIME] ,[AGENT_ID] ,[PRIORITY] ,[LOCK_ID] ,[LOCK_TIME] ,[LOCK_PORT] ,[FREE_ID] ,[TRANSFER_AGENT] ,[FILE_NAME] ,[TTS_TEXT] ,[CONTENT] ,[EVENT_ID] ,[MONEY_DATE] ,[TOTAL_MONEY] ,[NBH]) VALUES ($numberId$, -- 外拨任务编号 $number$, -- 外拨号码 '', -- 1, -- 外拨类型 $begintime$, -- 外拨开始时间 $interval$, -- 外拨时间间隔 $trycount$, -- 外拨失败重试次数 GETDATE(), -- 外拨任务添加时间,可默认为记录添加当前的系统时间 '', -- null, -- 座席ID(预留字段) $priority$, -- 优先级(需赋初值,1即可) 0, -- 是否锁定(需赋初值,0即可) '1900-1-1', -- 任务锁定时间(需赋初值,1900-1-1即可) -1, -- null, -- 锁定端口 $projectId$, -- 对应的外拨任务ProjectID '0', -- 是否转接座席 null, -- 任务关联文件(预留字段) null, -- 外拨成功播放的TTS内容(预留字段) null, -- 任务关联文字内容 null, -- 事件编号(预留字段) null, -- 计费日期(预留字段) null, -- 总费用(预留字段) 0) -- 每小时费用(预留字段,需赋初值,0即可) "; try { DbUtil.IBPDBManager.BeginTransaction(); DbUtil.IVRDBManager.BeginTransaction(); AutoDialerTaskNumberInfoModel ibpNumberInfo = null; ParameterCollection ivrpc = new ParameterCollection(); int counter = 0; foreach (string numberInfo in numberList) { if (string.IsNullOrEmpty(numberInfo)) { continue; } ibpNumberInfo = new AutoDialerTaskNumberInfoModel(); ibpNumberInfo.AutoDialerNumberId = Guid.NewGuid().ToString(); ibpNumberInfo.AutodialerTaskId = taskInfo.AutoDialerTaskId; ibpNumberInfo.IvrDialerProjectId = taskInfo.IvrDialerProjectId; ibpNumberInfo.DialerNumber = numberInfo.Replace("\r", "").Replace("\n", "").Replace("\t", ""); if (AutoDialerTaskNumberInfoService.Instance.Create(ibpNumberInfo) == 1) { ivrpc.Clear(); ivrpc.Add("numberId", ibpNumberInfo.AutoDialerNumberId); ivrpc.Add("number", ibpNumberInfo.DialerNumber); ivrpc.Add("begintime", taskInfo.BeginTime); ivrpc.Add("interval", taskInfo.Interval); ivrpc.Add("trycount", taskInfo.RetryCount); ivrpc.Add("priority", taskInfo.Priority); ivrpc.Add("projectId", taskInfo.IvrDialerProjectId); if (DbUtil.IVRDBManager.IData.ExecuteNonQuery(insertSql, ivrpc) != 1) { DbUtil.IBPDBManager.RollbackTransaction(); DbUtil.IVRDBManager.RollbackTransaction(); message = "操作失败,往IVR系统数据库传递自动外呼号码失败"; return(false); } counter++; } else { DbUtil.IBPDBManager.RollbackTransaction(); DbUtil.IVRDBManager.RollbackTransaction(); message = "操作失败,往IBP系统数据库传递自动外呼号码失败"; return(false); } } string totalSql = @"SELECT COUNT(1) FROM auto_dialer_task_number_info WHERE autodialer_task_id = $taskId$"; ParameterCollection pc = new ParameterCollection(); pc.Add("taskId", taskInfo.AutoDialerTaskId); nowTotal = Convert.ToInt32(DbUtil.IBPDBManager.IData.ExecuteScalar(totalSql, pc)); string updateSql = "UPDATE auto_dialer_task_info SET dialer_number_total = $total$ WHERE auto_dialer_task_id = $taskId$"; pc.Add("total", nowTotal); if (DbUtil.IBPDBManager.IData.ExecuteNonQuery(updateSql, pc) == 1) { DbUtil.IBPDBManager.CommitTransaction(); DbUtil.IVRDBManager.CommitTransaction(); message = string.Format("成功插入自动外呼号码共 {0} 行", counter); result = true; } else { DbUtil.IBPDBManager.RollbackTransaction(); DbUtil.IVRDBManager.RollbackTransaction(); message = "操作失败,更新IBP系统自动外呼号码总数失败"; return(false); } } catch (Exception ex) { DbUtil.IVRDBManager.RollbackTransaction(); DbUtil.IBPDBManager.RollbackTransaction(); message = "操作失败,往IVR系统数据库传递自动外呼号码异常"; LogUtil.Error("往IVR系统数据库传递自动外呼号码异常", ex); return(false); } } #endregion return(result); }