推送mq项目运行流程
2019-08-21 16:21:45 0 举报
推送mq项目运行流程
作者其他创作
大纲/内容
内部或者外部用户通过sys服务getAllUserIdsByPbOrgIds方法得到userList
通过UserType(0、全部 1、内部用户 2、外部用户)判断消息类型
组装msMessage时注意2点:1、所有消息和待办都不存在标签推送,所以推送方式固定为别名推送2、先判断是否有websocket推送,然后再判断之前从t_sys_message_template_rel_tid表中取出的tid集合中是否包含固定的几个tid(如果增加新的推送tid,需要手动去维护枚举类,并且在此处需要判断)
MessagesReceiver接收数据
如果是外部用户,通过vol服务的getAllVolUserIds方法在t_volunteer_volunteer_info表中获取所有外部用户
通过sys服务的getMessageTitle方法获取消息名称、类目名称、类型名称
直接将targetId转化成userList
根据sys服务getTidByMessageTemplate方法 通过模板ID和APPID获取此次消息的接收端(t_sys_message_template_rel_tid表)
党建
如果是内部用户,通过sys服务的getAdminUserByStationOrgIds方法获取通过服务站ID获取管理员userList集合(判断条件是服务站ID为mqMessage中的TargetId集合,并且t_sys_user表中create_type 为平台创建的)
MqMessage
通过UserType(0、全部 1、内部用户 2、外部用户)判断消息类型
志愿者
所有用户,通过sys服务getAllUserIdsForOaOrg方法获取所有人得到userList
根据APPID获取要插入的所有组织
从messageTemplate模板中获取消息类型msg_type 1 消息提醒msg_type 2 待办提醒msg_type 3 通知提醒msg_type 4 公告提醒
如果是外部用户
通过MqMessage中params参数长度拼接模板中的动态变量,组成模板内容
如果是发给具体人员
如果是内部或者外部用户
如果是内部用户
存入mogo
组装成功后将msMessage发送至ms项目
内部或者外部用户通过sys服务getAllUserIdsByOaOrgIds 方法,在t_sys_user_rel_oa_dep表中通过pborg_id 得到userList
业务端拼装数据MqMessage
根据TargetType判断是发送给组织还是发送给个人
组装msMessage
如果是全部
政务
所有用户,通过sys服务getAllUserIdsByPbOrgIds方法获取所有人得到userList
如果是发给组织
如果是所有人
判断判断应用模块取值remind_message_pb_category 党建消息提醒task_message_pb_category 党建待办提醒remind_message_vol_category 志愿者消息task_message_vol_category 志愿者待办remind_message_oa_category 政务消息task_message_oa_category 政务待办remind_message_sv_category 安检消息remind_message_ep_category 环保消息获取类目名称和类型名称
0 条评论
下一页