首页 > 其他分享 >更新用户密码(2024-3-19)

更新用户密码(2024-3-19)

时间:2024-03-19 20:55:57浏览次数:31  
标签:updatePwd String get 19 2024 密码 Result id newPwd

//userController
@PatchMapping("/updatePwd")
    public Result updatePwd(@RequestBody Map<String,String> params){
        //1.校验参数
        String oldPwd = params.get("old_pwd");
        String newPwd = params.get("new_pwd");
        String rePwd = params.get("re_pwd");

        if(!StringUtils.hasLength(oldPwd) || !StringUtils.hasLength(newPwd) || !StringUtils.hasLength(rePwd)){
            return Result.error("缺少必要的参数");
        }

        //判断原密码是否正确
        //调用userService根据用户名拿到密码,再和old_pwd对比
        Map<Object,String> map = ThreadLocalUtil.get();
        String username =(String) map.get("username");
        User loginUser = userService.findByUserName(username);
        if(!loginUser.getPassword().equals(Md5Util.getMD5String(oldPwd))){
            return Result.error("原密码填写错误");
        }
        //newPwd和rePwd是否一样
        if(!rePwd.equals(newPwd)){
            return Result.error("两次填写的新密码不一样");
        }
        //2.调用service完成密码更新
        userService.updatePwd(newPwd);
        return Result.success();

//userservice
 void updatePwd(String newPwd);
//userServiceImpl
 @Override
    public void updatePwd(String newPwd) {
        Map<String,Object> map  = ThreadLocalUtil.get();
        Integer id = (Integer) map.get("id");
        userMapper.updatePwd(Md5Util.getMD5String(newPwd),id);
    }
//userMapper
 @Update("update user set password=#{md5String},update_time=now() where id=#{id}")
    void updatePwd(String md5String, Integer id);

标签:updatePwd,String,get,19,2024,密码,Result,id,newPwd
From: https://www.cnblogs.com/muzhaodi/p/18083919

相关文章

  • 3.19
    Android采用Sqlite作为数据库存储。Sqlite代码写起来繁琐且容易出错,所以开源社区里逐渐出现了各种ORM(ObjectRelationalMapping)库。这些开源ORM库都是为了方便Sqlite的使用,包括数据库的创建,升级,增删改查等。常见的ORM有ORMLite,GreenDAO等。Google也意识到了推出自家ORM的必要性,于......
  • CodeForces 1945H GCD is Greater
    洛谷传送门CF传送门感觉是这场唯一比较有趣的题?首先明确一点:先手只会选\(2\)个数,因为数多了\(\gcd\)会变小,而且对方的\(\text{and}\)会变大。所以对于某一位,若\(0\)的个数\(\ge3\)那么对方的按位与这一位一定是\(0\)。所以若\(0\)的个数\(\le2\),那么可能会......
  • 【办公类-22-15】周计划系列(5-6)“周计划-06 周计划打印pdf(docx删除内容转PDF)“ (2024年
    作品展示背景需求:前期用docx(删除第一页反思部分内容)转PDF转png(第一页)的方式获得上传网页用的图片。【办公类-22-14】周计划系列(5-5)“周计划-05上传周计划png(docx转PDF转png)“(2024年调整版本)-CSDN博客文章浏览阅读600次,点赞11次,收藏9次。【办公类-22-14】周计划系列(5-5)“......
  • Windows server 2019 英文版镜像和中文版镜像Debian12.4镜像
    Windowsserver2019英文镜像​​​​​​​​​https://sl-m-ssl.xunlei.com/h5/page/download-share/index.html?entry=link&appType=PC&videobtindex=-1&storid=czvvdfq66ast&share_from=leftlist_rk_shareWindowsserver2019英文镜像https://pan.xunlei.com/s/VNtDquO1......
  • Qt+vs2019+PCL1.12.1+VTK9.1环境搭建中的相关问题
    目录1.VS中双击Ui文件无法打开2.VTK9.0以后在QtDesigner中找不到QVTKWidget组件3.无法打开源文件"QVTKOpenGLNativeWidget.h"4.无法打开源文件"QOpenGLWidget"5.QWidget:MustconstructaQApplicationbeforeaQWidget6.无法打开源文件"QtWidgets/QApplicati......
  • 随笔,发散了 3.19
    okihavefinishedthelisteningandthereadingtasks.andnowineedtowritesomething ohicansharesomedreamswithu iwilldreamsomethingwiredwheniwassleeping.butIcannotreallyrememberallthedreams. irememberedadreamthatiwas......
  • GTC 2024 开幕,英伟达发布新一代 GPU 架构;Apple ID 或将淘汰丨 RTE 开发者日报 Vol.168
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人......
  • CF1935 A-C题解
    A设\(s\)翻转后的字符串为\(t\),考虑进行\(n\)次操作可能生成出哪些字符串:只进行翻转操作——\(s\);先复制再\(n-1\)次翻转——\(s+t\);先翻转,再复制,再翻转\(n-2\)次,\(t+s\);多次复制的情况。情况2显然劣于情况1;情况4得到的字符串的开头一定是\(s\)或者\(t\)......
  • 2024-3-19
    多任务级联通过级联(即顺序连接)不同的任务来改善整体模型性能。这种方法通常涉及将几个相关的任务组织成一个流水线,其中每个任务的输出都作为下一个任务的输入。多任务级联的核心思想是利用不同任务之间的内在联系和互补信息,以此来增强模型的泛化能力和提高特定任务的精度。......
  • 2024.03.19【文字排版】作为设计师 这三个功能不用还是尽量别用
    第一个功能-黑色加粗的“B”它是Bold的简写,可以通过这一功能将字体给加粗加大一号。可是实际上这个功能并不是把字体变成大一号,而是单纯的给字体加上一个外轮廓,这样不仅破坏了设计师原本的字形轮廓设计,可选粗细单一而且会使得字体变形,看着不美观也不自然所以大部分字库都会......