protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { JsonData = CommonCallJsonData.GetCommonCallJsonData(JsonStr); } }
/// 保存短信信息 /// <summary> /// 保存短信信息 /// </summary> /// <param name="msg"></param> /// <param name="data"></param> /// <returns></returns> private bool SMSSaveEvent(out string msg, out string data) { msg = ""; data = "''"; try { int loginuserid = BLL.Util.GetLoginUserID(); CommonCallJsonData jsondata = CommonCallJsonData.GetCommonCallJsonData(JsonData); if (jsondata == null) { msg = "参数解析错误!"; return(false); } LogForWebForCall("短信", "保存短信信息:jsondata" + JsonData); LogForWebForCall("短信", "页面数据:" + jsondata.PageData.ToString()); LogForWebForCall("短信", "短信数据:" + jsondata.SMSData.ToString()); int bgid = jsondata.PageData.BGID_Out; int scid = jsondata.PageData.SCID_Out; if (bgid <= 0) { //当前分组 bgid = BLL.SurveyCategory.Instance.GetSelfBGIDByUserID(loginuserid); } if (scid <= 0) { //当前分类 scid = BLL.SurveyCategory.Instance.GetSelfSCIDByUserID(loginuserid); } LogForWebForCall("短信", "分组分类=" + bgid + "-" + scid); //更新CustBasicInfo 3表 jsondata.CBID = SaveCustBasicInfo(jsondata.SMSData.Phone_Out, jsondata.PageData, loginuserid); LogForWebForCall("短信", "保存个人用户信息:电话=" + jsondata.SMSData.Phone_Out + ";CBID=" + jsondata.CBID); //发送短信 int sendstatus = SendSMS(jsondata, loginuserid, out msg); //新增或者更新SMSSendHistory表 SaveSMSSendHistory(jsondata, loginuserid, bgid, sendstatus, out data); LogForWebForCall("短信", "发送短信:电话=" + jsondata.SMSData.Phone_Out + ";内容=" + jsondata.SMSData.Content_Out.Length + ";任务ID=" + jsondata.PageData.TaskID_Out); //更新SendSMSLog表 SaveSendSMSLog(jsondata, loginuserid); LogForWebForCall("短信", "更新SendSMSLog表:电话=" + jsondata.SMSData.Phone_Out); //如果任务存在,添加访问记录 if (jsondata.PageData.TaskID_Out != "") { SaveCustPhoneVisitBusiness(jsondata.PageData, jsondata.SMSData.Phone_Out, (int)CallSourceEnum.C05_短信, -1, loginuserid); LogForWebForCall("短信", "添加访问记录:电话=" + jsondata.SMSData.Phone_Out + ";任务ID=" + jsondata.PageData.TaskID_Out); } LogForWebForCall("短信", "END\r\n"); return(sendstatus == 0); } catch (Exception ex) { msg = ex.Message; return(false); } }
/// 保存话务信息 /// <summary> /// 保存话务信息 /// </summary> /// <param name="msg"></param> /// <param name="data"></param> /// <returns></returns> private bool CallSaveEvent(out string msg, out string data) { msg = ""; data = "''"; try { int loginuserid = BLL.Util.GetLoginUserID(); CommonCallJsonData jsondata = CommonCallJsonData.GetCommonCallJsonData(JsonData); if (jsondata == null) { msg = "参数解析错误!"; return(false); } LogForWebForCall("电话", "保存话务信息:jsondata" + JsonData); LogForWebForCall("电话", "页面数据:" + jsondata.PageData.ToString()); LogForWebForCall("电话", "话务数据:" + jsondata.CallData.ToString()); int bgid = jsondata.PageData.BGID_Out; int scid = jsondata.PageData.SCID_Out; if (bgid <= 0) { //当前分组 bgid = BLL.SurveyCategory.Instance.GetSelfBGIDByUserID(loginuserid); } if (scid <= 0) { //当前分类 scid = BLL.SurveyCategory.Instance.GetSelfSCIDByUserID(loginuserid); } LogForWebForCall("电话", "分组分类=" + bgid + "-" + scid); //更新CustBasicInfo 3表 jsondata.CBID = SaveCustBasicInfo(jsondata.CallData.Phone_Out, jsondata.PageData, loginuserid); LogForWebForCall("电话", "保存个人用户信息:电话=" + jsondata.CallData.Phone_Out + ";CBID=" + jsondata.CBID); //新增或者更新CallRecord_ORIG_Business表 BLL.CallRecord_ORIG_Business.Instance.UpdateBusinessDataByCallID(jsondata.CallData.CallID_Out, jsondata.PageData.TaskID_Out, bgid, scid, loginuserid, ref msg); LogForWebForCall("电话", "新增或者更新CallRecord_ORIG_Business表:话务ID=" + jsondata.CallData.CallID_Out + ";任务ID=" + jsondata.PageData.TaskID_Out); //如果接通:新增或者更新CallRecordInfo表 if (jsondata.CallData.IsEstablished_Out) { SaveCallRecordInfo(jsondata, loginuserid, bgid, scid); LogForWebForCall("电话", "接通-新增或者更新CallRecordInfo表:话务ID=" + jsondata.CallData.CallID_Out + ";任务ID=" + jsondata.PageData.TaskID_Out); } //如果任务存在,添加访问记录 if (jsondata.PageData.TaskID_Out != "") { SaveCustPhoneVisitBusiness(jsondata.PageData, jsondata.CallData.Phone_Out, jsondata.CallData.CallType_Out, jsondata.CallData.CallID_Out, loginuserid); LogForWebForCall("电话", "添加访问记录:电话=" + jsondata.CallData.Phone_Out + ";任务ID=" + jsondata.PageData.TaskID_Out); } LogForWebForCall("电话", "END\r\n"); return(true); } catch (Exception ex) { msg = ex.Message; return(false); } }
/// 保存数据表 /// <summary> /// 保存数据表 /// </summary> /// <param name="jsondata"></param> /// <param name="loginuserid"></param> private void SaveSendSMSLog(CommonCallJsonData jsondata, int loginuserid) { Entities.SendSMSLog smsLogModel = new Entities.SendSMSLog(); smsLogModel.TemplateID = jsondata.SMSData.TemplateID_Out; smsLogModel.CustID = jsondata.CBID; smsLogModel.Mobile = jsondata.SMSData.Phone_Out; smsLogModel.SendTime = DateTime.Now; smsLogModel.SendContent = jsondata.SMSData.Content_Out; smsLogModel.CreateUserID = loginuserid; BLL.SendSMSLog.Instance.Insert(smsLogModel); }
/// 发送短信 /// <summary> /// 发送短信 /// </summary> /// <param name="jsondata"></param> /// <param name="loginuserid"></param> private int SendSMS(CommonCallJsonData jsondata, int loginuserid, out string msg) { msg = ""; string md5 = SMSServiceHelper.Instance.MixMd5(jsondata.SMSData.Phone_Out, jsondata.SMSData.Content_Out); int msgid = SMSServiceHelper.Instance.SendMsgImmediately(jsondata.SMSData.Phone_Out, jsondata.SMSData.Content_Out, DateTime.Now.AddHours(1), md5); if (msgid > 0) { return(0); } else { msg = BLL.Util.GetEnumOptText(typeof(Entities.SendSMSInfo), msgid); return(-1); } }
/// 保存用户信息 /// <summary> /// 保存用户信息 /// </summary> /// <param name="msg"></param> /// <param name="data"></param> /// <returns></returns> private bool InsertBasicInfo(out string msg, out string data) { msg = ""; data = "''"; try { int loginuserid = BLL.Util.GetLoginUserID(); CommonCallJsonData jsondata = CommonCallJsonData.GetCommonCallJsonData(JsonData); data = "'" + SaveCustBasicInfo(Phone, jsondata.PageData, loginuserid) + "'"; return(true); } catch (Exception ex) { msg = ex.Message; return(false); } }
/// 保存数据表 /// <summary> /// 保存数据表 /// </summary> /// <param name="jsondata"></param> /// <param name="loginuserid"></param> private void SaveSMSSendHistory(CommonCallJsonData jsondata, int loginuserid, int bgid, int sendstatus, out string data) { //插入发送短信记录 Entities.SMSSendHistory smssendhistory = new Entities.SMSSendHistory(); smssendhistory.BGID = bgid; smssendhistory.TemplateID = jsondata.SMSData.TemplateID_Out; smssendhistory.Phone = jsondata.SMSData.Phone_Out; smssendhistory.Content = jsondata.SMSData.Content_Out; smssendhistory.Status = sendstatus; smssendhistory.CustID = jsondata.CBID; smssendhistory.CRMCustID = jsondata.PageData.CRMCustID_Out.ToString(); smssendhistory.TaskType = (int)jsondata.PageData.TaskType_Out; smssendhistory.TaskID = jsondata.PageData.TaskID_Out; smssendhistory.CreateTime = DateTime.Now; smssendhistory.CreateUserID = loginuserid; BLL.SMSSendHistory.Instance.Insert(smssendhistory); data = "'" + smssendhistory.RecID + "'"; }
/// 保存来电去电表 /// <summary> /// 保存来电去电表 /// </summary> /// <param name="jsondata"></param> /// <param name="loginuserid"></param> /// <param name="bgid"></param> /// <param name="scid"></param> public void SaveCallRecordInfo(CommonCallJsonData jsondata, int loginuserid, int bgid, int scid) { if (jsondata.CallData.CallID_Out <= 0) { return; } CallRecordInfoInfo info = BLL.CallRecordInfo.Instance.GetCallRecordInfoInfo(jsondata.CallData.CallID_Out); bool isadd = true; if (info == null) { //新增 info = new CallRecordInfoInfo(); isadd = true; } else { //更新 isadd = false; } //赋值 info.SessionID = jsondata.CallData.SessionID_Out; info.ExtensionNum = jsondata.CallData.ExtensionNum_Out; info.CallStatus = jsondata.CallData.CallType_Out; if (info.CallStatus == 1) { //呼入 // 被叫 主叫 // 呼入 坐席 用户 info.PhoneNum = GetTel(CallUserType.坐席, jsondata.CallData.ExtensionNum_Out, jsondata.CallData.Zhujiao_Out, jsondata.CallData.Beijiao_Out); info.ANI = GetTel(CallUserType.用户, jsondata.CallData.ExtensionNum_Out, jsondata.CallData.Zhujiao_Out, jsondata.CallData.Beijiao_Out); } else { //呼出 // 被叫 主叫 // 呼出 用户 坐席 info.PhoneNum = GetTel(CallUserType.用户, jsondata.CallData.ExtensionNum_Out, jsondata.CallData.Zhujiao_Out, jsondata.CallData.Beijiao_Out); info.ANI = GetTel(CallUserType.坐席, jsondata.CallData.ExtensionNum_Out, jsondata.CallData.Zhujiao_Out, jsondata.CallData.Beijiao_Out); } info.BeginTime = jsondata.CallData.BeginTime_Out; info.EndTime = jsondata.CallData.EndTime_Out; info.TallTime = jsondata.CallData.TallTime_Out; info.AudioURL = jsondata.CallData.AudioURL_Out; info.CustID = jsondata.CBID; info.CustName = jsondata.PageData.CBName_Out; info.Contact = jsondata.PageData.CBName_Out; info.TaskTypeID = (int)jsondata.PageData.TaskType_Out; info.TaskID = jsondata.PageData.TaskID_Out; info.SkillGroup = jsondata.CallData.SkillGroup_Out; info.BGID = bgid; info.SCID = scid; info.CallID = jsondata.CallData.CallID_Out; info.CreateTime = DateTime.Now; info.CreateUserID = loginuserid; //入库 if (isadd) { CommonBll.Instance.InsertComAdoInfo(info); } else { CommonBll.Instance.UpdateComAdoInfo(info); } }