基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(七)
  Phag4aaQX4ZJ 2023年11月02日 114 0


更多ruoyi-nbcio功能请看演示系统

演示地址:RuoYi-Nbcio后台管理系统

接下来需要进行点击消息进行操作的动作。

1、首先先导入这个更新用户消息的一些菜单与权限,以便后面进行配置

insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values(1704735607761620993, '用户公告阅读标记', '3', '1', 'noticeSend', 'system/noticeSend/index', 1, 0, 'C', '0', '0', 'system:noticeSend:list', '#', 'admin', sysdate(), '', null, '用户公告阅读标记菜单');-- 按钮 SQL
 insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values(1704735607761620994, '用户公告阅读标记查询', 1704735607761620993, '1',  '#', '', 1, 0, 'F', '0', '0', 'system:noticeSend:query',        '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values(1704735607761620995, '用户公告阅读标记新增', 1704735607761620993, '2',  '#', '', 1, 0, 'F', '0', '0', 'system:noticeSend:add',          '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values(1704735607761620996, '用户公告阅读标记修改', 1704735607761620993, '3',  '#', '', 1, 0, 'F', '0', '0', 'system:noticeSend:edit',         '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values(1704735607761620997, '用户公告阅读标记删除', 1704735607761620993, '4',  '#', '', 1, 0, 'F', '0', '0', 'system:noticeSend:remove',       '#', 'admin', sysdate(), '', null, '');insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values(1704735607761620998, '用户公告阅读标记导出', 1704735607761620993, '5',  '#', '', 1, 0, 'F', '0', '0', 'system:noticeSend:export',       '#', 'admin', sysdate(), '', null, '');

2、因为要点击进行流程的处理,所以需要进行yml配置,所以下面的flowable配置移到dev与prod里了

flowable:
  # 关闭定时任务 job
  async-executor-activate: false
  # 库与数据库表结构不一致时,会自动将数据库表结构升级至新版本。
  database-schema-update: true
  idm:
    # 关闭idm引擎 数据库不会创建act_id_*表,流程流转不会使用act_id_*相关的表
    enabled: false
  # 关闭流程定义文件自动检查
  check-process-definitions: false
  # 关闭历史任务定时任务job
  async-history-executor-activate: false
  #消息链接基地址
  message-base-url: http://localhost:9666/workflow/process/detail/

3、更新用户公告阅读状态标记,后端代码如下:

/**
     * 更新用户公告阅读状态标记
     */
    @SaCheckPermission("system:noticeSend:edit")
    @Log(title = "更新用户公告阅读状态标记", businessType = BusinessType.UPDATE)
    @RepeatSubmit()
    @PutMapping(value = "/updateUserIdAndNotice")
    public R<Void> updateUserIdAndNotice(@RequestBody JSONObject json) {
		Long noticeId = json.getLong("noticeId");
		LoginUser loginUser = commonService.getLoginUser();
		Long userId = loginUser.getUserId();
		LambdaUpdateWrapper<SysNoticeSend> updateWrapper = new UpdateWrapper().lambda();
		updateWrapper.set(SysNoticeSend::getReadFlag, Constants.HAS_READ_FLAG);
		updateWrapper.set(SysNoticeSend::getReadTime, new Date());
		updateWrapper.last("where notice_id ="+noticeId+" and user_id ="+userId);
		SysNoticeSend noticeSend = new SysNoticeSend();
		iSysNoticeSendService.update(noticeSend, updateWrapper);
		return R.ok("更新用户公告阅读状态标记成功");
    }

4、前端主要调用更新标记同时显示详细动作信息

showNotice(record) {
        updateUserIdAndNotice({
          noticeId: record.noticeId
        }).then((res) => {
          if (res.code == 200) {
            this.loadData();
          }
        });
        this.hovered = false;
        if (record.openType === 'component') {
          this.openPath = record.openPage;
          this.formData = {
            id: record.busId
          };
          this.$refs.showDynamNotice.detail(record.openPage);
        } else {
          this.$refs.ShowNotice.detail(record);
        }
      },

5、效果图如下:

基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(七)_ico

基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(七)_ruoyi-nbcio_02

基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(七)_若依_03

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Phag4aaQX4ZJ