四 密码修改

1 需求分析

修改当前登陆用户的登陆密码

2 页面原型

3 流程图

4 编写Controller

@ResponseBody@RequestMapping("updatePwd")public MessageModel updatePwd(HttpServletRequest request, String oldPassword, String newPassword, String confirmPassword){MessageModel messageModel=new  MessageModel();String userId = UserLoginUtil.realseUserId(request);try{userService.updatePwd(userId,oldPassword,newPassword,confirmPassword);}catch (ParamsException e){e.printStackTrace();messageModel.setCode(e.getCode());messageModel.setMsg(e.getMsg());}catch (Exception e){e.printStackTrace();messageModel.setCode(CrmConstant.OPS_FAILED_DODE);messageModel.setMsg(CrmConstant.OPS_FAILED_MSG);}return messageModel;}  

5 编写Service

/*** 用户修改密码* @param userId* @param oldPassword* @param newPassword* @param confirmPassword*/public void updatePwd(String userId,String oldPassword,String newPassword,String confirmPassword){AssertUtil.isTrue(null==userId,"非法用户");AssertUtil.isTrue(StringUtils.isBlank(newPassword),"新密码不能为空");AssertUtil.isTrue(!newPassword.equals(confirmPassword),"两次密码输入不一致");User user = userDao.queryUserById(userId);AssertUtil.isTrue(null==user,"用户被冻结,不允许修改密码");oldPassword = Md5Util.encode(oldPassword);AssertUtil.isTrue(!oldPassword.equals(user.getUserPwd()),"原始密码错误");newPassword= Md5Util.encode(newPassword);AssertUtil.isTrue(userDao.updatePwd(userId,newPassword)<1,"操作失败");}

6 编写Dao

public User queryUserById(String id);public Integer updatePwd(@Param("id") String id, @Param("userPwd") String userPwd);

7 编写Mapper

<sql id="user_columns">id , user_name as userName, user_pwd as userPwd,true_name as trueName,phone,email,is_valid as isValid,create_date as createDate,update_date as updateDate</sql><select id="queryUserById" parameterType="string" resultType="user">SELECT <include refid="user_columns"/>from t_user where id = #{id} and is_valid=1</select><update id="updatePwd">UPDATE t_user set user_pwd=#{userPwd}where id =#{id}</update>   

8 前台js

function modifyPassword() {$("#fm").form("submit",{url:ctx+"/user/updatePwd",onSubmit:function () {return $("#fm").form("validate");},success:function (data) {data=JSON.parse(data);if (data.code==200){$.messager.alert("来自crm系统","修改密码成功,两秒后推出系统","info");setTimeout(function () {$.removeCookie("userName");$.removeCookie("trueName");$.removeCookie("userId");window.location.href="index";},2000)}else{$.messager.alert("来自crm系统",data.msg,"info");}}})}

五 总结

了解项目分层

Controller:接收请求,向前台返回数据

Service:在其中实现具体的业务逻辑

Dao/Mapper:与数据库进行交互,负责增删改查

Vo:数据库与项目中实体类的映射

Model:向前台返回我们所需要的自定义的类型

Utils:封装我们需要的公共的方法

喜欢就关注嗨码歌吧!

每天都有新的技术与你分享哦!

gitlab修改用户密码_CRM用户模块(用户密码修改)相关推荐

  1. IntelliJ IDEA修改项目的根目录名称_修改包目录的名称_修改模块名称_修改项目名称

    文章目录 修改项目根目录的名称 修改包目录的名称 模块重命名 修改了项目根目录后,必须删除项目和 .idea 文件,重新导入(重点) 新版本的 IDEA 取消了 Import Project 入口 修 ...

  2. linux修改密码最短生存时间,Linux基础命令---修改用户密码

    passwd 更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码.这个任务是通过调用LinuxPAM和LibuserAPI来完成的.本质上,它使用LinuxPAM将自己初始化为一个 ...

  3. 用户控件(显示用户信息,修改用户名密码)的WebPart预览版

    *********************************************************************** *                            ...

  4. 服务器开发修改用户密码功能,更改服务器用户密码

    更改服务器用户密码 内容精选 换一换 为避免网络故障或网络配置问题影响登录系统,请管理员优先检查网络ACL配置是否允许访问云堡垒机,并参考表1配置实例安全组.AD域.RADIUS.LDAP.Azure ...

  5. 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法

     mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database           | +- ...

  6. mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  7. Oracle修改密码文件_转载:Oracle修改用户密码

    转载一位大佬的博文,用于帮助常忘记密码的我和某些同道. 1. 通过系统管理员(system)修改密码 修改普通用户密码相对来说简单很多. 1.1 登录系统管理员账户.一般为system. 1.2 查询 ...

  8. linux 密码修改下次,问题:如何强制用户在下次登录Linux时更改密码

    当你使用默认密码创建用户时,你必须强制用户在下一次登录时更改密码.当你在一个组织中工作时,此选项是强制性的.因为老员工可能知道默认密码,他们可能会也可能不会尝试不当行为,看到下图会不会有为用户担心的感 ...

  9. 【转】SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)

    前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真正的大型项目中经受住了考验:.Net版SAP RFC适配器组件和SharePoint 2013修改AD ...

  10. SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)

    转:http://www.cnblogs.com/nbpowerboy/p/3355943.html 前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真 ...

最新文章

  1. 【技术贴】火狐的悬停激活标签扩展插件下载。Tab Focus
  2. java 内核线程_Java:如何根据cpu内核扩展线程?
  3. 计算机无法搜索程序,电脑搜索功能不能用的解决方法
  4. 给迷茫的Java员一些中肯建议,你还在虚度光阴吗?
  5. 作业调度算法--短作业优先 操作系统_处理器管理_编程题
  6. Android插件化原理解析——Hook机制之动态代理
  7. ECMAScript 对象类型
  8. html 并集选择器,CSS并集选择器
  9. 阿里修冶:微服务拆分之道
  10. 第3章 用户(账户)管理
  11. Android性能优化-Render篇
  12. 【欢迎大家一起交流讨论】关于Word的自动检测修改--论文格式修正系统(毕业设计)...
  13. Java面向对象之多态(向上、向下转型) 入门实例
  14. swift中Any,AnyObject,AnyClass的区别
  15. 点到圆弧的距离(csu1503)+几何
  16. dat关闭某进程_电脑程序卡住怎么办?结束进程只需要这三个键
  17. win10系统从旧固态迁移到新固态,win10系统迁移到固态硬盘ssd
  18. android格式化通讯录
  19. MFC之菜单栏的相关使用14
  20. 不允许使用抽象类类型的对象怎么办_什么是抽象类?

热门文章

  1. OpenBSD 5.1 正式版发布
  2. Map 集合循环、遍历的 四 种方式
  3. Threading in C#
  4. win10+vscode部署java开发环境
  5. Tomcat 配置详解/优化方案
  6. 1023:坑爹的黑店
  7. JQ获取CKeditor的值
  8. 爬虫那些事儿-- 简介
  9. struts2--java.lang.IllegalAccessException: Class ognl.OgnlRuntime can not access a member of
  10. flask同源策略解决办法及flask-cors只允许特定域名跨域