예제 #1
0
        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);
                }
            }
        }
예제 #2
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);
        }