Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
duckula
duckula-ops
提交
4ff6e304
duckula-ops
项目概览
duckula
/
duckula-ops
通知
6
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
duckula-ops
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4ff6e304
编写于
5月 31, 2021
作者:
偏锋书生
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
用户修改密码功能
上级
26bbc0ee
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
128 addition
and
9 deletion
+128
-9
src/main/java/net/wicp/tams/duckula/ops/pages/ParentPage.java
...main/java/net/wicp/tams/duckula/ops/pages/ParentPage.java
+7
-3
src/main/java/net/wicp/tams/duckula/ops/pages/cas/UserManager.java
...java/net/wicp/tams/duckula/ops/pages/cas/UserManager.java
+38
-0
src/main/resources/net/wicp/tams/duckula/ops/pages/cas/UserManager.tml
...urces/net/wicp/tams/duckula/ops/pages/cas/UserManager.tml
+83
-6
未找到文件。
src/main/java/net/wicp/tams/duckula/ops/pages/ParentPage.java
浏览文件 @
4ff6e304
...
...
@@ -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
);
}
/***
...
...
src/main/java/net/wicp/tams/duckula/ops/pages/cas/UserManager.java
浏览文件 @
4ff6e304
...
...
@@ -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
());
}
}
src/main/resources/net/wicp/tams/duckula/ops/pages/cas/UserManager.tml
浏览文件 @
4ff6e304
...
...
@@ -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:3
2
0,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:3
7
0,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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录