记得阿朱在《走出软件作坊》一书中有一章讲客户提的需求太邪门了,鼠标键盘不太会用要程序员开发一个语音输入功能,还要系统中带类似QQ的功能;确实刚开始的客户的想法有点天真,但是随着信息化的越来越普遍,客户对信息系统也比较了解,特别年轻的信息管理人员,除了接受能力强,并且长期站在客户的角度对信息系统也有一些独特的见解,跳出技术框框外的想法;

其中有个年轻的信息人员聊天的时候说了一些对系统的要求,其中有一个功能是这样的,部门人员向库房申请一批物资,以前的做法就是先把申请单内容录入系统,然后再电话通知库房人员叫他们审核申请单,审核完后核对没有问题,库房人员再打电话通知他们什么时候送货过来;现在听了他的意见改进后,部门人员录完申请单,保存的时候系统自动发送一条消息给所有库房人员,库房人员的电脑会弹出一个类似QQ的通知框,库房人员就会马上审核此申请单,然后审核完成后,系统又会自定生成一条消息发给接收部门;全程再也不需要电话联系,系统给人带来一种比较智能的感觉;

当然他跟我讲得并不止这一点点,如申请也不应该由他们自己录入,应该是系统自动给他们生成,还有系统很多环节不应该是由人作为事件的开始点,应该由系统主动的做出判断并提醒操作人员应该做什么,还有哪些事需要做;我最后的感觉就是以前的系统只是一个单纯的工具,操作人什么时候要用就拿过来用一下;而以后的系统应该更智能,从被动的接收变为主动的提供工作上的指导,实时促进岗位上人员的工作;从被动的信息传递到主动的信息分析

又跑远了,本章内容是讲框架中的“消息管理”模块,当然此功能肯定没有上面说的那么神,其实就是一个简单的短消息功能,与业务系统的紧密集成,实现业务出现多岗位的时候能够实时的发送消息给对应的人员;把消息类型的管理与消息的推送封装成一个公共的模块;而消息什么生成与生成什么内容就需要深入的分析业务建立相关模型了;

本文要点:

1)功能清单介绍

2)功能界面展示

3)核心业务流程图与数据库表关系图

4)关键点的技术实现代码

1)消息管理功能清单

模块名称

功能名称

功能说明

系统消息

消息类型设置

消息类型维护,新增、修改、停用
消息模板维护
配置消息接收的角色、科室

消息记录管理

查看消息,未读、已读、已发

消息实时提醒

产生新的消息,推送给用户,主界面给出提示框

2)消息管理界面展示

3)消息管理业务流程与核心表

4)消息管理关键技术实现

1.消息的两种模式

看上面两张业务流程图,模式一消息类型定义好用户角色,模式二用户自定义订阅自己的消息;模式一适合岗位非常固定的企业,消息推送按照配置好的角色就行了;模式二适合一人多岗,岗位人员比较灵活的那种,因为岗位灵活如果按照模式一的方式,那此人可能时时刻刻都会受到消息的骚扰,应该上午做这个事,那么就应该只推送这个事的消息就行了,下午就推送下午的消息;所以需要用户自己维护自己的消息接收时间和内容;

2.产生消息的统一接口

九、EnterpriseFrameWork框架基础功能之消息管理的更多相关文章

  1. 六、EnterpriseFrameWork框架基础功能之权限管理

    回<[开源]EnterpriseFrameWork框架系列文章索引> 从本章开始进入框架的第二块内容“EnterpriseFrameWork框架的基础功能”,包括:权限管理.字典数据管理. ...

  2. 七、EnterpriseFrameWork框架基础功能之字典数据配置管理

    框架中的“通用字典数据配置管理”主要解决的问题是,所有的行业软件给客户实施第一步一般都是基础数据的维护,一个系统的字典是少不了的,涉及业务范围越广字典就越多,如果每一个字典数据都做一个界面来进行维护数 ...

  3. 八、EnterpriseFrameWork框架基础功能之自定义报表

    本章写关于框架中的“自定义报表”,类似上章“字典管理”也是三部分功能组成,包括配置报表.对报表按角色授权.查看报表:其核心思想就是实现新增一个报表而不用修改程序代码.不用升级,只需要编写一个存储过程, ...

  4. Flask框架基础功能

    引言 本文简单汇总Flask框架几大基础功能,包括: 路由系统 模板 数据库 几种常用Flask库 一个简单的Flask事例 Flask是一个基于Python,依赖Jinja2模板和WSGI服务的框架 ...

  5. Spring 框架基础(05):事务管理机制,和实现方式

    本文源码:GitHub·点这里 || GitEE·点这里 一.Spring事务管理 1.基础描述 Spring事务管理的本质就是封装了数据库对事务支持的操作,使用JDBC的事务管理机制,就是利用jav ...

  6. 爬虫入门之Scrapy 框架基础功能(九)

    Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...

  7. 一起写框架-MVC框架-基础功能-Date类型数据绑定(七)

    实现功能 表单请求传递的数据,格式为以下格式的日期时间数据. (1):yyyy-MM-dd hh:mm:ss (2):yyyy-MM-dd 执行方法可以使用Date类型接收. 实现思路 1.获得表单字 ...

  8. Java中的框架基础面试知识

    spring mvc 工作机制(原理): DispatcherServlet主要用作职责调度工作,本身主要用于控制流程 Spring mvc运行原理 1.springmvc将所有的请求都提交给Disp ...

  9. Netsharp快速入门(之16) Netsharp基础功能(权限管理)

    第5章     Netsharp基础功能 5.1     权限配置 5.1.1  功能权限 1.配置权限功能点,打开平台工具-基础业务-操作管理 2.选择资源节点为销售订单,点添加常用操作,添加完成后 ...

随机推荐

  1. PHP面试系列之Linux(一) ----- Linux基础

    一.系统安全 sudo:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行. su:用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码. ...

  2. JDK(三)JDK1.8源码分析【排序】mergeSort

    归并排序是JDK对象数组的排序算法之一,接下来开始分析JDK的归并排序算法. /** * 将指定范围的对象数组按自然顺序升序排序 * * Src is the source array that st ...

  3. 一些有用的社区论坛,wiki网站(持续更新)

    1. IBM开发者(IBM developerwork): 这是一个比较全面的网站,上面有关于linux 管理.linux内核设计.存储等各个方面的知识,内容广泛,参考价值很高 http://www. ...

  4. mysql常见字符串处理函数

  5. zookeeper启动时报错:Error contacting service. It is probably not running问题

    查看zookeeper.out发现启动日志报错未找到java路径. 启动日志位于zookeeper-4.0.10/bin目录下 修改/etc/profile中环境变量得以解决.

  6. 【Dubbo源码阅读系列】服务暴露之远程暴露

    引言 什么叫 远程暴露 ?试着想象着这么一种场景:假设我们新增了一台服务器 A,专门用于发送短信提示给指定用户.那么问题来了,我们的 Message 服务上线之后,应该如何告知调用方服务器,服务器 A ...

  7. WebGl 平移(矩阵变换)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. PHP几种常见魔术方法与魔术变量解析

    原文地址:http://small.aiweimeng.top/index.php/archives/49.html 先不多说,直接上代码,如下: class Demo { private $str ...

  9. Hadoop源码学习笔记之NameNode启动场景流程三:FSNamesystem初始化源码剖析

    上篇内容分析了http server的启动代码,这篇文章继续从initialize()方法中按执行顺序进行分析.内容还是分为三大块: 一.源码调用关系分析 二.伪代码执行流程 三.代码图解 一.源码调 ...

  10. ARMCC中$Super$$和$Sub$$的使用

    代码: extern int $Super$$main(void); /* re-define main function */ int $Sub$$main(void) { rt_hw_interr ...