提交 4ff6e304 编写于 作者: 偏锋书生's avatar 偏锋书生

用户修改密码功能

上级 26bbc0ee
......@@ -102,9 +102,9 @@ public abstract class ParentPage {
* @return
*/
public <T> TextStreamResponse saveCommon(Class<T> tClass, BaseMapper<T> mapper, IUpdateObj<T> callback) {
final T po = TapestryAssist.getBeanFromPage(tClass, requestGlobals);
final T po = TapestryAssist.getBeanFromPage(tClass, requestGlobals);
if (callback != null) {
callback.doUpdate(po,BeanUtil.getFieldValue(po, "id") == null);
callback.doUpdate(po, BeanUtil.getFieldValue(po, "id") == null);
}
if (BeanUtil.getFieldValue(po, "id") == null) {
mapper.insert(po);
......@@ -114,8 +114,12 @@ public abstract class ParentPage {
return TapestryAssist.getTextStreamResponse(Result.getSuc());
}
public <T> TextStreamResponse saveCommon(Class<T> tClass, BaseMapper<T> mapper) {
return saveCommon(tClass, mapper, null);
}
protected interface IUpdateObj<V> {
public void doUpdate(V po,boolean isInsert);
public void doUpdate(V po, boolean isInsert);
}
/***
......
......@@ -8,9 +8,11 @@ import org.apache.tapestry5.util.TextStreamResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.hutool.crypto.digest.BCrypt;
import net.wicp.tams.app.duckula.controller.bean.models.SysUser;
import net.wicp.tams.app.duckula.controller.dao.SysUserMapper;
import net.wicp.tams.cas.constant.ColsSysOrg;
import net.wicp.tams.common.Result;
import net.wicp.tams.common.apiext.CollectionUtil;
import net.wicp.tams.common.apiext.PwdUtil;
import net.wicp.tams.common.apiext.StringUtil;
......@@ -62,4 +64,40 @@ public class UserManager extends ParentPage {
return delCommon(sysUserExample);
}
public TextStreamResponse onSavePwd() {
Long id = Long.parseLong(request.getParameter("id"));
String pwdNew = request.getParameter("pwdNew");
String pwdNew2 = request.getParameter("pwdNew2");
if (!pwdNew.equals(pwdNew2)) {
return TapestryAssist.getTextStreamResponse(Result.getError("密码2次需要一致"));
}
String pwdOld = request.getParameter("pwdOld");
if (StringUtil.isNotNull(pwdOld)) {
if (pwdOld.equals(pwdNew)) {
return TapestryAssist.getTextStreamResponse(Result.getError("旧密码与新密码不能相同"));
}
SysUser sysUser = sysUserExample.selectById(id);
// 要不要检查旧密码
boolean checkpw = BCrypt.checkpw(pwdOld, sysUser.getPassword());
if (!checkpw) {
return TapestryAssist.getTextStreamResponse(Result.getError("旧密码错误!"));
}
}
SysUser user = new SysUser();
user.setId(id);
user.setPassword(PwdUtil.hashpw(pwdNew));
sysUserExample.updateByPrimaryKeySelective(user);
return TapestryAssist.getTextStreamResponse(Result.getSuc());
}
public TextStreamResponse onResertPwd() {
Long id = Long.parseLong(request.getParameter("id"));
SysUser user = new SysUser();
user.setId(id);
user.setPassword(PwdUtil.hashpw("123456"));
sysUserExample.updateByPrimaryKeySelective(user);
return TapestryAssist.getTextStreamResponse(Result.getSuc());
}
}
......@@ -8,7 +8,7 @@
</head>
<body>
<r:query id="q" qBlock="query" queryUrl="/cas/UserManager:query" uBlock="save" saveUrl="/cas/UserManager:save" deleteUrl="/cas/UserManager:del" opFormatter="showopt"
columns="[[{field:'userName',width:100,title:'用户名'},{field:'gender1',width:80,title:'性别'},{field:'email',width:200,title:'邮箱'},{field:'mobile',width:120,title:'手机'},{field:'orgId1',width:170,title:'组织'},{field:'status1',width:50,title:'状态'},{field:'op',width:320,title:'操作'}]]"
columns="[[{field:'userName',width:100,title:'用户名'},{field:'gender1',width:80,title:'性别'},{field:'email',width:200,title:'邮箱'},{field:'mobile',width:120,title:'手机'},{field:'orgId1',width:170,title:'组织'},{field:'status1',width:50,title:'状态'},{field:'op',width:370,title:'操作'}]]"
dialogStyle="width:800px;height:460px;" initAddHandle="initAdd" initSaveHandle="initUpdate" pagination="true"/>
<t:block id="query">
<table class="frame_table_list_4">
......@@ -67,15 +67,40 @@
</table>
</t:block>
<r:dialog id="pwdDialog" title="请输入密码" width="640" height="420" closable="true" toolbar="[{'id':'savePwd','text':'保存','plain':false}]">
<form id="pwdForm">
<table class="frame_table_list_2">
<tr>
<td class="frame_table_list_2_righttext">原密码</td>
<td>
<r:validatebox name="pwdOld" required="true"></r:validatebox>
<input type="hidden" name="id" id="pwd_id"/>
</td>
</tr>
<tr>
<td class="frame_table_list_2_righttext" >新密码</td>
<td>
<r:validatebox name="pwdNew" required="true"></r:validatebox>
</td>
</tr>
<tr>
<td class="frame_table_list_2_righttext" >确认新密码</td>
<td>
<r:validatebox name="pwdNew2" required="true"></r:validatebox>
</td>
</tr>
</table>
</form>
</r:dialog>
<script>
function showopt(value,row,index){
var optCan=false;
var update= '<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" data-options="disabled:'+optCan+'" style="margin-right:10px" onclick="_doUpdate('+index+') ">'+msg.update+'</a>';
var deletebut= '<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" data-options="disabled:'+optCan+'" style="margin-right:10px" onclick="_doDelete('+index+') ">'+msg.delete_+'</a>';
return update+deletebut;
var pwdbut= '<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-reload" data-options="disabled:'+optCan+'" style="margin-right:10px" onclick="doPwd('+index+') ">修改密码</a>';
var resetbut= '<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-reload" data-options="disabled:'+optCan+'" style="margin-right:10px" onclick="doReset('+index+') ">重置密码</a>';
return update+deletebut+pwdbut+resetbut;
}
function initAdd(){
......@@ -86,8 +111,60 @@
//$('#version_save').textbox('readonly',true);
}
function getRow(index){
var rows = jQuery('#q_grid').datagrid('getRows');
return rows[index];
}
function doPwd(index){
var row=getRow(index);
jQuery('#pwdForm').form('reset');
$('#pwd_id').val(row.id);
$.rjzjh.opendialog2("pwdDialog");
}
function doReset(index){
var row=getRow(index);
$.rjzjh.confirm('你确定要重置密码吗?',function(){
$.messager.progress({
title:window.msg.hintwaiting,
msg:window.msg.hinthandling
});
$.post($.rjzjh.packurl('/cas/UserManager:resertPwd'),{id:row.id},function(data){
$.messager.progress('close');
if (data.msg != '') {
$.rjzjh.alert(data.msg);
} else {
$.rjzjh.alert(window.msg.optsuccess);
$('#pwdDialog').dialog('close');
}
},'json');
});
}
function savePwd(){
if(!jQuery('#pwdForm').form('validate')){
return false;
}
$.rjzjh.confirm('你确定要修改密码吗?',function(){
$.messager.progress({
title:window.msg.hintwaiting,
msg:window.msg.hinthandling
});
var formdata=$("#pwdForm").serializeObject();
$.post($.rjzjh.packurl('/cas/UserManager:savePwd'),formdata,function(data){
$.messager.progress('close');
if (data.msg != '') {
$.rjzjh.alert(data.msg);
} else {
$.rjzjh.alert(window.msg.optsuccess);
$('#pwdDialog').dialog('close');
}
},'json');
});
}
......@@ -99,7 +176,7 @@
}
$(function(){
$('#savePwd').bind('click', savePwd);
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册