无关风月
2 天以前 f6760448428b0a11aebab4ee281023532e4f61d7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
@@ -63,10 +63,14 @@
    @DeleteMapping(value = "/delete")
    public R delete(@RequestParam String ids) {
        List<String> notificationIds = Arrays.asList(ids.split(","));
        List<Integer> idsList = new ArrayList<>();
        for (String notificationId : notificationIds) {
            idsList.add(Integer.parseInt(notificationId));
        }
        // 删除后 将已发送的消息通知一并删除
        oaNotificationService.removeBatchByIds(notificationIds);
        oaNotificationService.removeBatchByIds(idsList);
        oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>()
                .in(OaNotificationUser::getNotificationId,notificationIds));
                .in(OaNotificationUser::getNotificationId,idsList));
        return R.ok();
    }
    @Log(title = "消息通知-新增消息", businessType = BusinessType.INSERT)
@@ -98,6 +102,38 @@
        oaNotifationUserService.saveBatch(oaNotificationUsers);
        return R.ok();
    }
    @Log(title = "消息通知-编辑消息", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "编辑消息")
    @PostMapping(value = "/edit")
    public R<Boolean> edit( @RequestBody OaNotification dto) {
        oaNotificationService.updateById(dto);
        // 删除消息通知
        oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>()
                .eq(OaNotificationUser::getNotificationId,dto.getId()));
        ArrayList<OaNotificationUser> oaNotificationUsers = new ArrayList<>();
        // 发送消息通知
        if (dto.getType()){
            // 指定人员发送
            Arrays.asList(dto.getUserIds().split(","))
                    .forEach(userId -> {
                        OaNotificationUser oaNotificationUser = new OaNotificationUser();
                        oaNotificationUser.setUserId(Integer.parseInt(userId));
                        oaNotificationUser.setNotificationId(dto.getId());
                        oaNotificationUsers.add(oaNotificationUser);
                    });
        }else{
            // 所有人发送
            List<SysUser> sysUsers = sysUserService.selectAllList();
            sysUsers.forEach(sysUser -> {
                OaNotificationUser oaNotificationUser = new OaNotificationUser();
                oaNotificationUser.setUserId(sysUser.getUserId().intValue());
                oaNotificationUser.setNotificationId(dto.getId());
                oaNotificationUsers.add(oaNotificationUser);
            });
        }
        oaNotifationUserService.saveBatch(oaNotificationUsers);
        return R.ok();
    }
    @ApiOperation(value = "消息通知详情")
    @GetMapping(value = "/detail")
    public R<NotificationDetailVO> detail(String id) {