记得阿朱在《走出软件作坊》一书中有一章讲客户提的需求太邪门了,鼠标键盘不太会用要程序员开发一个语音输入功能,还要系统中带类似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. [19/04/17-星期三] Java的动态性_反射(Reflection)机制

    一.前言 动态语言:程序运行时,可以改变程序结构或变量类型.典型的代表:Python,ruby,JavaScript 如JavaScript代码: function test(){ var s=&qu ...

  2. PAT——1072. 开学寄语(20)

    下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进 ...

  3. Xcode 错误收集及解决办法

    1.An unknown error occurred. 如果仅仅提示“An unknown error occurred.” 而没有别的提示,很有可能是设备内存已满,没有足够的空间来安装这个应用. ...

  4. linux 中安装mysql8.0

    转载自:http://www.linuxidc.com/Linux/2016-11/137608.htm 可能有人会惊奇MySQL为何从5.x一下跳跃到了8.0.事实上,MySQL 5.x系列已经延续 ...

  5. Project Euler:Problem 86 Cuboid route

    A spider, S, sits in one corner of a cuboid room, measuring 6 by 5 by 3, and a fly, F, sits in the o ...

  6. TestNG+Maven+IDEA 自动化测试(二) TestNG.xml

    示例代码: https://github.com/ryan255/TestNG-Demo 项目代码结构参考上一章 TestNG+Maven+IDEA 自动化测试(一) 环境搭建 maven插件引入 & ...

  7. 网站jcms流程分析

    本实例大致流程:基于jsp页面,通过servlet传递数据调用方法,利用service更改数据库.本文重点分析的是其中的两个小方法add()和delete(),来反映出反射机制的一个具体作用:减少Se ...

  8. T-SQL查询:WITH AS 递归计算某部门的所有上级机构或下级机构

    drop table #Area; CREATE TABLE #Area ( id INT NOT NULL, city_name NVARCHAR(100) NOT NULL, parent_id ...

  9. CentOS7集成Apache和SVN

    本文主要介绍如何在CentOS7环境下集成Apache和SVN,完成后可以通过浏览器访问SVN仓库. 1.查看系统环境,关闭防火墙和SELinux. [root@Docker /]# systemct ...

  10. vs code 修改文件的缩进

    百度这个问题的都是强迫症患者. 前人代码是2个空格缩进,我习惯3个, step1:打开  文件 —>  首选项 —> 设置,进入用户设置 step2:设置缩进量,(加两句代码) step3 ...