public int AddUserMessage(Sys_UserMessageModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append( "insert into Sys_UserMessage (MsgKey,Accid,IsPush,IsRead,ChannelId,PushTime,Title,PushContent,Operator,OperatorName) " + "Values (@MsgKey,@Accid,@IsPush,@IsRead,@ChannelId,@PushTime,@Title,@PushContent,@Operator,@OperatorName);"); if (CheckMsgExist(model.Accid, model.MsgKey) == 1) { return(1); } else { try { return(DapperHelper.Execute(strSql.ToString(), new { MsgKey = model.MsgKey, Accid = model.Accid, IsPush = model.IsPush, IsRead = model.IsRead, ChannelId = model.ChannelId, PushTime = model.PushTime, Title = model.Title, PushContent = model.PushContent, Operator = model.Operator, OperatorName = model.OperatorName })); } catch (Exception ex) { Logger.Error("汇总插入用户推送消息出错!", ex); return(0); } } }
/// <summary> /// 更新获取 /// </summary> /// <param name="accid"></param> /// <param name="channelId"></param> /// <returns></returns> public int UpdateUserMessage(int accid, int channelId, DateTime specDate) { StringBuilder strSql = new StringBuilder(); switch (channelId) { case 1: //从短信表获取更新 strSql.Append("insert into Sys_UserMessage (MsgKey,Accid,IsPush,IsRead,ChannelId,PushTime,Title,PushContent,Operator,OperatorName) "); strSql.Append("(select '',ta.ID,1,1,1,sendtime,'',smsContent,0,'' " + "from i200.dbo.T_Sms_List sl " + "left join i200.dbo.T_Account ta " + "on sl.phoneNum=ta.PhoneNumber " + "where sl.accID=0 and DATEADD(SECOND,-1,sl.sendtime)>@specDate and ta.ID=@accid " + ")"); DapperHelper.Execute(strSql.ToString(), new { specDate = specDate, accid = accid }); break; case 2: //从邮件列表获取更新 strSql.Append("insert into Sys_UserMessage (MsgKey,Accid,IsPush,IsRead,ChannelId,PushTime,Title,PushContent,Operator,OperatorName) "); strSql.Append("(select '',accid,1,1,2,sendtime,emailTitle,emailContent,0,'' " + "from Sys_I200.dbo.Sys_VisitEmailSnap " + "where DATEADD(SECOND,-1,sendtime)>@specDate and accid=@accid)"); DapperHelper.Execute(strSql.ToString(), new { specDate = specDate, accid = accid }); break; case 3: //从移动端消息获取更新 //获取增量更新的消息列表 MessageModel mobileModel = MessageCenter.GetMobileMessageEx(accid, "", specDate, DateTime.Now); //非空则循环插入消息 if (mobileModel != null && mobileModel.msgList != null && mobileModel.msgList.Count > 0) { foreach (var item in mobileModel.msgList) { Sys_UserMessageModel tmpModel = new Sys_UserMessageModel(); tmpModel.Accid = accid; tmpModel.ChannelId = 3; tmpModel.IsPush = item.isPush; tmpModel.IsRead = item.isRead; tmpModel.MsgKey = item._id; tmpModel.Operator = item.operatorId; tmpModel.PushContent = item.msgContent; tmpModel.PushTime = item.createTime; tmpModel.Title = item.msgTitle; tmpModel.OperatorName = item.operatorName; AddUserMessage(tmpModel); } } break; case 4: //从PC站内消息获取更新 //获取增量更新的消息列表 MessageModel pcModel = MessageCenter.GetMessageEx(accid, "", specDate, DateTime.Now); //非空则循环插入消息 if (pcModel != null && pcModel.msgList != null && pcModel.msgList.Count > 0) { foreach (var item in pcModel.msgList) { Sys_UserMessageModel tmpModel = new Sys_UserMessageModel(); tmpModel.Accid = accid; tmpModel.ChannelId = 4; tmpModel.IsPush = item.isPush; tmpModel.IsRead = item.isRead; tmpModel.MsgKey = item._id; tmpModel.Operator = item.operatorId; tmpModel.PushContent = item.msgContent; tmpModel.PushTime = item.createTime; tmpModel.Title = item.msgTitle; tmpModel.OperatorName = item.operatorName; AddUserMessage(tmpModel); } } break; } return(1); }