小Z最近在做一个体育方面的平台,其中在整消息管理这一块,主要用到的设计模式是“拉”模式,就是后台创建一条消息,用户进行消息界面时通过WebAPI进行拉处理,类似于我们每天去邮箱,打开邮箱,看看有没有新消息。其中DDD DomainServices中的代码如下,

            /// <summary>
/// 接收消息并且返回未读消息数目
/// </summary>
/// <returns></returns>
public int RecieveMessage()
{
var notReadCount = 0;
var recieveDateTime = DateTime.Now;
var userId = currentUser.UserId;
//查看用户是否有消息事件
var userMessageEventInfo = _iuserMessageEventInfoServices.Find(ent => ent.UserId == userId);
if (userMessageEventInfo == null)
{
userMessageEventInfo = new UserMessageEventInfo();
userMessageEventInfo.UserId = userId;
userMessageEventInfo.LastViewDateTime = recieveDateTime;
_iuserMessageEventInfoServices.Add(userMessageEventInfo);
}
//获取用户最后访问之后的未读消息数量
var userMessages = _iuserMessageServices.FindAll(ent => ent.UserId == userId && ent.IsRead == false);
if (userMessages != null && userMessages.Count() > 0)
{
notReadCount += userMessages.Count();
}
//比较消息发送时间和用户最后访问时间,进行消息抽取
var messages = domainRepository.FindAll(ent => ent.CreateTime >= userMessageEventInfo.LastViewDateTime);
foreach (var message in messages)
{
UserMessage userMessage = new UserMessage(userId);
userMessage.MessageId = message.Id;
_iuserMessageServices.Add(userMessage);
notReadCount++;
}
userMessageEventInfo.LastViewDateTime = recieveDateTime;
_unitOfWork.Commit();
return notReadCount;
}

消息管理之获取未读信息数目相关推荐

  1. python获取未读邮箱数目_利用腾讯企业邮箱开放API获取账户未读邮件数初探

    1 /// 2 ///POST时用到的几个数据3 /// 4 public structPostData5 {6 /// 7 ///目标服务器地址8 /// 9 public stringurl;10 ...

  2. python获取未读邮箱数目_python imaplib 获取未读邮件,email解析并按照原名下载附件...

    以下所有内容都是基于Python 2 主要内容:imaplib 查看未读邮件 email 下载邮件附件 啰嗦在前面: python 邮件查收功能相关的模块有poplib和imaplib.分别支持POP ...

  3. 环信-获取未读消息数量

    描述: 他人发给我消息,不管在主页面还是在聊天列表页面,均能收到消息且能得到未读消息数量,但若我保留未读消息,杀掉进程,再次打开app,主页面下tabbar角标并不显示未读消息数量. 上环信官网中的社 ...

  4. 融云客服获取未读消息

    比较极客的我们 能动手的尽量少BB 这里主要介绍两个API getUnreadCount setOnReceiveMessageListener 思路:为 setOnReceiveMessageLis ...

  5. TIM SDK腾讯实时通信获取未读消息

    使用TIM的getConversationList函数,不仅可以获取未读消息的具体信息,而是可以获取全部未读未读消息的总数. 调用方法: import TIM from 'tim-wx-sdk'// ...

  6. 美洽系统怎么获取未读消息

    获取未读消息 美洽官方的聊天按钮可以显示未读消息的数量,以及提供最近一条未读消息的预览. 如果你设置了无按钮模式,这两个数据也就无法被呈现了.但是通过 _MEIQIA('getUnreadMsg', ...

  7. 微信HOOK 获取未读消息数量

    微信版本:3.4.5.27 要点:靠微信未读消息数量定位 1.打开CE附加微信 2.用另一个微信给这个微信发送消息 3 条位读 3.CE精准数字搜索3 4.然后取消搜索0 5.在发送2条 在搜索2 6 ...

  8. [iOS微博项目 - 3.6] - 获取未读消息

    github: https://github.com/hellovoidworld/HVWWeibo   A.获取登陆用户未读消息 1.需求 获取所有未读消息,包括新微博.私信.@.转发.关注等 把未 ...

  9. 第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。

    第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. from PIL import Image,ImageFont,ImageDraw,I ...

最新文章

  1. 在SQLServer中自动产生移动数据库的TSQL语句
  2. Redis常用命令之操作Hash类型
  3. 通过过滤器防止用户通过url访问不在权限内的菜单
  4. 你可能不知道的.Net Core Configuration
  5. springboot响应结果超长(7.8M)浏览器无法接收
  6. Android系统信息获取 之九:TelephonyManager类
  7. 《空间谱估计理论与算法》学习笔记005-信号源数估计
  8. tomcat自定义错误页面
  9. 小家电企业坐上“过山车”,是谁浇灭了年轻人的热情?
  10. 学习笔记(2):模拟登陆抽屉网(ajax)
  11. java计算机毕业设计网上拍卖系统源码+数据库+系统+lw文档+mybatis+运行部署
  12. adc网络语什么意思_王者荣耀游戏术语解释 ADC是什么意思
  13. MonsoonRF推出新型RFID读取器,安装难度和换灯泡差不多
  14. 读数据库版本的、利用K-means聚类方法做经纬度聚合
  15. 超级计算机排行榜历年,历代游戏主机浮点运算能力排行榜 究竟谁才是真正的性能怪兽...
  16. u2硬盘测试软件,Buffalo HD-PET320U2移动硬盘检测报告
  17. Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程
  18. python,day7,并发编程
  19. Shell while语句
  20. amd c6 support_完胜690!最详尽的C68G芯片组性能评测

热门文章

  1. 判刑了继续上诉有用吗_觉得判刑判重了上诉有用吗?
  2. 苹果内购小结 - iOS
  3. 智能小车交通标志识别功能的实现(python,ubuntu)
  4. 苹果呼叫转移设置不了_手机不想接电话怎么设置空号
  5. 移动互联网手游市场火爆背后到底隐藏着什么秘密?
  6. 跨平台应用开发进阶(二十五) :uni-app实现IOS云打包解决IOS提交审核相册等隐私描述语导致审核失败问题
  7. 6月3号绝地求生服务器维护,2020年绝地求生6月3日更新维护开服时间 绝地求生6月3日更新维护了哪些...
  8. C++ 操作重载与类型转换 《C++Primer》第14章 读书笔记
  9. IntelliJ IDEA 控制台中文乱码和错误: 非法字符: ‘\ufeff‘
  10. ★10月08日股市交易提示