当前位置: 首页 > news >正文

cnzz网站建设教学设计公司网站应该包括的信息

cnzz网站建设教学,设计公司网站应该包括的信息,筋郑州做网站,网站建设 网页更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址#xff1a;RuoYi-Nbcio后台管理系统 1、上一节说到RedisReceiver #xff0c;这里有调用了NbcioRedisListener自定义业务监听#xff0c;如下…更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码 https://gitee.com/nbacheng/ruoyi-nbcio 演示地址RuoYi-Nbcio后台管理系统 1、上一节说到RedisReceiver 这里有调用了NbcioRedisListener自定义业务监听如下 package com.ruoyi.common.redis.listener;import com.ruoyi.common.base.BaseMap;/*** 自定义消息监听* author nbacheng* date 2023-09-20*/public interface NbcioRedisListener {void onMessage(BaseMap message); }2、实现这个代码如下 package com.ruoyi.common.websocket;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import com.ruoyi.common.base.BaseMap; import com.ruoyi.common.constant.CommonSendStatus; import com.ruoyi.common.redis.listener.NbcioRedisListener;import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j;/*** 监听消息(采用redis发布订阅方式发送消息)*/ Slf4j Component public class SocketHandler implements NbcioRedisListener {Autowiredprivate WebSocketServer webSocket;Overridepublic void onMessage(BaseMap map) {log.info(【SocketHandler消息】Redis Listerer: map.toString());String userId map.get(userId);String message map.get(message);if (ObjectUtil.isNotEmpty(userId)) {webSocket.pushMessage(userId, message);//app端消息推送webSocket.pushMessage(userIdCommonSendStatus.APP_SESSION_SUFFIX, message);} else {webSocket.pushMessage(message);}} 这里进行了websocket的服务器给用户推送同时之前第一个节里公共类方法也同时往两个表增加数据以便失败后后续可以进行发送以确保能真正通知到用户。 3、接下来就是需要在用户提起流程发给审批人进行消息发送了 package com.ruoyi.flowable.listener;import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils; import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType; import org.flowable.common.engine.api.delegate.event.FlowableEvent; import org.flowable.common.engine.api.delegate.event.FlowableEventListener; import org.flowable.common.engine.api.delegate.event.FlowableEventType; import org.flowable.engine.HistoryService; import org.flowable.engine.RepositoryService; import org.flowable.engine.TaskService; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.task.service.impl.persistence.entity.TaskEntity; import org.springframework.stereotype.Component;import com.ruoyi.common.core.service.CommonService; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.model.LoginUser;import javax.annotation.Resource;/*** 全局监听-工作流待办消息提醒** author nbacheng*/ Slf4j Component RequiredArgsConstructor public class TaskCreateListener implements FlowableEventListener {private final TaskService taskService;Resourceprivate CommonService commonService;Resourceprotected RepositoryService repositoryService;Resourceprotected HistoryService historyService;Overridepublic void onEvent(FlowableEvent flowableEvent) {FlowableEventType type flowableEvent.getType();if (type FlowableEngineEventType.TASK_ASSIGNED) { if(flowableEvent instanceof org.flowable.engine.delegate.event.impl.FlowableEntityEventImpl ) {TaskEntity taskEntity (TaskEntity) ((org.flowable.engine.delegate.event.impl.FlowableEntityEventImpl) flowableEvent).getEntity();String taskId taskEntity.getId();String procInsId taskEntity.getProcessInstanceId();HistoricProcessInstance historicProcessInstance historyService.createHistoricProcessInstanceQuery().processInstanceId(procInsId).singleResult();String businessKey historicProcessInstance.getBusinessKey();String deployId historicProcessInstance.getDeploymentId();String startUserId historicProcessInstance.getStartUserId();//获取任务接收人String receiver taskEntity.getAssignee();if (StringUtils.isNotEmpty(receiver)) {//发送提醒消息String category ;if(taskService.getVariables(taskId).get(category) ! null) {category taskService.getVariables(taskId).get(category).toString();}LoginUser loginUser commonService.getLoginUser();String taskMessageUrl;if(StringUtils.isNotBlank(businessKey)) {taskMessageUrl a href commonService.getBaseUrl() ?procInsId procInsId deployId deployId taskId taskId businessKey businessKey category category finishedtrue 点击这个进行处理/a ;}else {taskMessageUrl a href commonService.getBaseUrl() ?procInsId procInsId deployId deployId taskId taskId businessKey category category finishedtrue 点击这个进行处理/a ;}String msgContent 流程待办通知 taskMessageUrl;if(!StringUtils.equals(startUserId, receiver) || !StringUtils.equals((loginUser.getUserId()).toString(),receiver)) {//发起人或登录人自己不发送log.info(流程待办通知给: receiver);commonService.sendSysNotice(loginUser.getUserId().toString(), receiver, 流程待办通知, msgContent, Constants.MSG_CATEGORY_3);//setMsgCategory3是待办}}}} }Overridepublic boolean isFailOnException() {return false;}Overridepublic boolean isFireOnTransactionLifecycleEvent() {return false;}Overridepublic String getOnTransaction() {return null;} }
http://www.hkea.cn/news/14364284/

相关文章:

  • 大型大型网站建设方案ppt做网站类网站费用
  • 怎样做让百度收录网站域名中企动力科技股份有限公司南通分公司
  • 网站维护模板免费网站空间怎么做网站
  • 笔记本做网站服务器跨境电商自己做网站卖衣服
  • 7天精通网站建设实录简介242烟台优化公司
  • 网站建设分为哪三部分企业erp生产管理系统
  • 贵阳网站开发人员工资如何做网站维护 找关键词
  • 谷歌网站收录提交入口建筑工程集团有限公司
  • 生产建设网站基坑开挖深度网线制作公开课
  • 荷兰网站后缀wordpress慢死了
  • uemo网站源码网站开发国内外研究状况
  • 惠州网站建设哪家好国外优秀设计公司网站
  • 网站内容更新慢原因自己做网站 发布视频
  • 开发外包网站网站建设制作设计seo优化湖北
  • 哪个网站做外链视频好网页设计师工作室
  • 模板网站seo模块建筑
  • 能在家做的兼职的网站本人有五金件外发加工
  • 江苏建站系统青岛网站备案
  • 网站开发中设置会员等级网站开发项目答辩主持词
  • 东莞市公司网站建设服务机构官网建设费用入什么科目
  • 天猫网站的建设建e网客厅效果图
  • 广州建设网站的公司简介wordpress登陆图标修改
  • 网站用花生壳nas做存储怎样用自己电脑做网站
  • 网站推广只能使用在线手段进行。网站建设0doit
  • 寻花问柳一家专注做男人喜爱的网站企业网站建设怎么做
  • 图片1600px做网站wordpress 函数手册
  • 百度网站入口网络营销工具分析
  • 大丰区城乡和住房建设局网站烟台seo
  • 昆明高端网站设计企业注册名字查询
  • 网站建设的基础是什么意思网站登录注册页面模板下载