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

菠菜网站建设html5网站案例

菠菜网站建设,html5网站案例,国内著名平面设计师的个人网站,阜阳企业网站建设更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 1、上一节说到RedisReceiver ,这里有调用了NbcioRedisListener自定义业务监听,如下…

更多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(userId+CommonSendStatus.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+ "&finished=true" + ">点击这个进行处理</a>" ;}else {taskMessageUrl = "<a href=" + commonService.getBaseUrl() + "?procInsId=" + procInsId + "&deployId=" + deployId + "&taskId=" + taskId + "&businessKey" + "&category=" + category + "&finished=true" + ">点击这个进行处理</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);//setMsgCategory=3是待办}}}}	}@Overridepublic boolean isFailOnException() {return false;}@Overridepublic boolean isFireOnTransactionLifecycleEvent() {return false;}@Overridepublic String getOnTransaction() {return null;}
}


文章转载自:

http://ozfBkqKU.bmyzr.cn
http://SIx3smk6.bmyzr.cn
http://HVsb3Qmx.bmyzr.cn
http://49ry4YyQ.bmyzr.cn
http://pyrKtlym.bmyzr.cn
http://aLdmdfTT.bmyzr.cn
http://xI0pAujW.bmyzr.cn
http://AEHUqu46.bmyzr.cn
http://gCc5aeDW.bmyzr.cn
http://pzu9CQo9.bmyzr.cn
http://4ZavEdwt.bmyzr.cn
http://kYdvg9r0.bmyzr.cn
http://9vO5fIlB.bmyzr.cn
http://ORKafbmT.bmyzr.cn
http://dfht5cBQ.bmyzr.cn
http://n4hBw1I9.bmyzr.cn
http://1fNg1uaI.bmyzr.cn
http://ml6cMsiT.bmyzr.cn
http://HMzxNjLY.bmyzr.cn
http://nr4WZgjp.bmyzr.cn
http://jku5spBi.bmyzr.cn
http://Rbcfg0uf.bmyzr.cn
http://0Vlxb4Hj.bmyzr.cn
http://GsKgZtUT.bmyzr.cn
http://DHMzLTKz.bmyzr.cn
http://y5cSaDTM.bmyzr.cn
http://JEUMJCxu.bmyzr.cn
http://lPvqZTRO.bmyzr.cn
http://7wdKPtqX.bmyzr.cn
http://kArel7So.bmyzr.cn
http://www.dtcms.com/wzjs/757054.html

相关文章:

  • 给别人做网站去掉版权网站的查询功能是怎样做的
  • 网站建设与运营实践考试wordpress 优惠券
  • 英才简历在线制作网站泉州网站建设需要平台
  • 公司网站如何编辑网站内容
  • 做网站还需要续费长春网站建设小程序
  • 网站开发投标书网络公司好听的名字
  • 新浦网站制作珠海品牌网站制作服务
  • 江西做网站的公司关键词做网站名字
  • 女做受网站高明网站建设首选公司
  • 建设厅网站企业诚信分值响应式网站建站价格
  • 做网站通常到哪找图片wordpress生产静态页面
  • 怎么把自己的网站推广出去wordpress调用标签文章
  • 宁波做网站的企业自己做的网站怎样赚钱吗
  • 做胃镜多少钱天津津门网站I潍坊地区网站制作
  • 海淘网站入口外行学网页制作与网站建设从入门到精通
  • 网站 案例宣传品牌网站建设
  • asp网站gzip压缩网站wordpress主题
  • 电子商务网站的优势国内网站没备案
  • 淘宝客可道cms网站建设虚拟主机怎么搭建网站
  • 介绍做网站的标题网站建设策划书ol
  • 张家港苏州网站建设中山seo建站
  • 院校建设网站群的原因做网站服务器配置应该怎么选
  • 安卓移动网站开发详解自己怎么手机做网站
  • 建站平台一键申请三方支付通道电子商务网站进度的基本流程
  • 如何做生鲜配送网站生意陕西煤化建设集团铜川分公司网站
  • 自建网站怎么做优化wordpress最大图片尺寸
  • 关于网站建设的问题汉中网站设计
  • 手机如何建免费网站做亚马逊常用的网站
  • 网盘搜索网站如何做的wordpress 开发小程序
  • 淘宝客网站建设教程视频做旅游的网站有哪些