IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 通知信息只能发布者和管理员有权删除(获取当前登录用户名和用户id) -> 正文阅读

[开发测试]通知信息只能发布者和管理员有权删除(获取当前登录用户名和用户id)

  1. 调用修改和删除的方法
 /**
    * 编辑
    *
    * @param noticeEntity
    * @return
    */
    @AutoLog(value = "通知公告-编辑")
    @ApiOperation(value="通知公告-编辑", notes="通知公告-编辑")
    @PutMapping(value = "/edit")
    public Result<?> edit(@RequestBody NoticeEntity noticeEntity,HttpServletRequest request) {

        //获取当前登录用户id
        LoginUser loginUser = getCurrentUser();
        String userId = loginUser.getId();

        //获取当前登录的用户名
//        String username = JwtUtil.getUserNameByToken(request);
        log.debug("当前用户Id{}",userId);
        //获取创建问题人的信息
        String createUsernameId = noticeEntity.getPublisher();

            if (userId == null){
                return Result.error("检查当前用户");
            }
            if (createUsernameId == null){
                return Result.error("通知发布者为空");
            }
            if (userId.equals(createUsernameId)){
                NoticeEntity oldEntiry = noticeService.getById(noticeEntity.getId());
                //如果原本没有文件,且修改时没有上传文件(仅修改其他)
                if (oldEntiry.getFilePath().equals("")&&noticeEntity.getFilePath().equals("")){
                    String fileName = oldEntiry.getFilePath().substring(oldEntiry.getFilePath().lastIndexOf("/") + 1);
                    noticeEntity.setFileName(fileName);
                    noticeEntity.setFilePath(oldEntiry.getFilePath());
                }else{ //修改上传文件
                    String fileName = noticeEntity.getFilePath().substring(noticeEntity.getFilePath().lastIndexOf("/") + 1);
                    noticeEntity.setFileName(fileName);
                }
                noticeService.updateById(noticeEntity);
                return Result.ok("编辑成功!");
            }else{
                return Result.error("只有发布者有权限修改信息");
            }
    }
 /**
     * 通过id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "通知公告-通过id删除")
    @ApiOperation(value="通知公告-通过id删除", notes="通知公告-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name="id",required=true) String id,HttpServletRequest request,NoticeEntity noticeEntity) {

//        @RequestBody
        //获取当前登录的用户名
        String username = JwtUtil.getUserNameByToken(request);

        //获取当前登录用户id
        LoginUser loginUser = getCurrentUser();
        String userId = loginUser.getId();

        NoticeEntity oldEntiry = noticeService.getById(id);
        //获取发布人的信息
        String createUsername = oldEntiry.getPublisher();

        log.debug("当前登录用户{}",userId);
        log.debug("创建用户{}",createUsername);

        if (userId == null){
            return Result.error("检查当前用户id");
        }
        if (username == null){
            return Result.error("检查当前用户名");
        }

        if (userId.equals(createUsername) || username.equals("admin")){
            log.debug("可以删除");
            noticeService.removeById(id);
            return Result.ok("删除成功!");
        } else {
          log.debug("只有发布者与管理员有权删除");
          return Result.error("只有发布者与管理员有权删除");
        }
    }
  • String username = JwtUtil.getUserNameByToken(request);获取当前登录的用户名
  • 获取当前用户的id
    //获取当前登录用户id
        LoginUser loginUser = getCurrentUser();
        String userId = loginUser.getId();
    
  • 防止空指针异常
    if (userId == null){
            return Result.error("检查当前用户id");
        }
        if (username == null){
            return Result.error("检查当前用户名");
        }
    

我只想说:我是菜狗。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:55:28  更:2022-03-30 18:58:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:44:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码