Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
duckula
duckula-ops
提交
58d02435
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 搜索 >>
提交
58d02435
编写于
6月 12, 2021
作者:
偏锋书生
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
密码登陆和用户修改
上级
4ff6e304
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
231 addition
and
120 deletion
+231
-120
src/main/java/net/wicp/tams/duckula/ops/pages/Login.java
src/main/java/net/wicp/tams/duckula/ops/pages/Login.java
+6
-1
src/main/java/net/wicp/tams/duckula/ops/pages/ParentPage.java
...main/java/net/wicp/tams/duckula/ops/pages/ParentPage.java
+7
-82
src/main/java/net/wicp/tams/duckula/ops/pages/ParentPageBean.java
.../java/net/wicp/tams/duckula/ops/pages/ParentPageBean.java
+175
-0
src/main/java/net/wicp/tams/duckula/ops/pages/cas/UserManager.java
...java/net/wicp/tams/duckula/ops/pages/cas/UserManager.java
+43
-37
未找到文件。
src/main/java/net/wicp/tams/duckula/ops/pages/Login.java
浏览文件 @
58d02435
...
...
@@ -8,12 +8,16 @@ import org.apache.tapestry5.http.services.Request;
import
org.apache.tapestry5.ioc.annotations.Inject
;
import
org.slf4j.Logger
;
import
cn.hutool.crypto.digest.BCrypt
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysUser
;
import
net.wicp.tams.app.duckula.controller.dao.SysUserMapper
;
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
;
import
net.wicp.tams.common.constant.dic.YesOrNo
;
import
net.wicp.tams.component.tools.TapestryAssist
;
import
net.wicp.tams.duckula.ops.beans.SessionBean
;
@Import
(
stack
=
"easyuistack"
)
...
...
@@ -44,7 +48,8 @@ public class Login {
return
Login
.
class
;
}
SysUser
sysUser
=
selUsers
.
get
(
0
);
if
(!
sysUser
.
getPassword
().
equals
(
pwd
))
{
boolean
checkpw
=
BCrypt
.
checkpw
(
pwd
,
sysUser
.
getPassword
());
if
(!
checkpw
)
{
log
.
error
(
"用户{}密码有误"
,
userName
);
return
Login
.
class
;
}
...
...
src/main/java/net/wicp/tams/duckula/ops/pages/ParentPage.java
浏览文件 @
58d02435
...
...
@@ -5,9 +5,10 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.ServletContext
;
import
org.apache.commons.beanutils.PropertyUtils
;
import
org.apache.commons.lang.ArrayUtils
;
import
org.apache.commons.lang3.tuple.Pair
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.tapestry5.SymbolConstants
;
import
org.apache.tapestry5.annotations.Environmental
;
import
org.apache.tapestry5.annotations.Property
;
...
...
@@ -20,29 +21,18 @@ import org.apache.tapestry5.ioc.annotations.Symbol;
import
org.apache.tapestry5.services.javascript.JavaScriptSupport
;
import
org.apache.tapestry5.util.TextStreamResponse
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
cn.hutool.core.bean.BeanUtil
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysUser
;
import
net.wicp.tams.cas.convert.ConvertValueOpt
;
import
net.wicp.tams.common.Result
;
import
net.wicp.tams.common.apiext.DateUtil
;
import
net.wicp.tams.common.apiext.NumberUtil
;
import
net.wicp.tams.common.apiext.ReflectAssist
;
import
net.wicp.tams.common.apiext.StringUtil
;
import
net.wicp.tams.common.apiext.json.EasyUiAssist
;
import
net.wicp.tams.common.callback.IConvertObj
;
import
net.wicp.tams.common.callback.IConvertValue
;
import
net.wicp.tams.common.callback.impl.convertvalue.ConvertValueEnum
;
import
net.wicp.tams.component.services.ISupportedLocales
;
import
net.wicp.tams.component.tools.TapestryAssist
;
import
net.wicp.tams.duckula.ops.WebTools
;
@SuppressWarnings
(
"rawtypes"
)
public
abstract
class
ParentPage
{
// private static Logger logger = LoggerFactory.getLogger(ParentPage.class);
@InjectService
(
"locales"
)
protected
ISupportedLocales
supportedLocales
;
...
...
@@ -63,78 +53,13 @@ public abstract class ParentPage {
@Symbol
(
SymbolConstants
.
CONTEXT_PATH
)
@Property
protected
String
contextPath
;
@Inject
protected
ServletContext
servletContext
;
@Property
protected
String
lan
=
supportedLocales
.
getCurLocale
().
getLanguage
();
// 当前选择语言
protected
final
IConvertValue
optConvert
=
new
ConvertValueOpt
(
supportedLocales
);
/***
* mybatis查询封装
*
* @param <T> mybatis的po
* @param mapper mybatis的mapper
* @param queryWrapper mybatis的查询封装
* @return L:数据,R:数据的总量
*/
public
<
T
>
Pair
<
List
<
T
>,
Long
>
query
(
BaseMapper
<
T
>
mapper
,
QueryWrapper
<
T
>
queryWrapper
)
{
String
needpage
=
request
.
getParameter
(
"needpage"
);
boolean
isPage
=
StringUtil
.
isNotNull
(
needpage
)
&&
!
Boolean
.
parseBoolean
(
needpage
)
?
false
:
true
;
List
<
T
>
selectList
=
null
;
long
size
=
0
;
if
(
isPage
)
{
// 需要分页,默认
Page
<
T
>
selectPage
=
mapper
.
selectPage
(
WebTools
.
buildPage
(
request
),
queryWrapper
);
selectList
=
selectPage
.
getRecords
();
size
=
selectPage
.
getTotal
();
}
else
{
selectList
=
mapper
.
selectList
(
queryWrapper
);
size
=
selectList
.
size
();
}
return
Pair
.
of
(
selectList
,
size
);
}
/***
* 保存或修改对象
*
* @param <T>
* @param mapper
* @param tClass
* @return
*/
public
<
T
>
TextStreamResponse
saveCommon
(
Class
<
T
>
tClass
,
BaseMapper
<
T
>
mapper
,
IUpdateObj
<
T
>
callback
)
{
final
T
po
=
TapestryAssist
.
getBeanFromPage
(
tClass
,
requestGlobals
);
if
(
callback
!=
null
)
{
callback
.
doUpdate
(
po
,
BeanUtil
.
getFieldValue
(
po
,
"id"
)
==
null
);
}
if
(
BeanUtil
.
getFieldValue
(
po
,
"id"
)
==
null
)
{
mapper
.
insert
(
po
);
}
else
{
ReflectAssist
.
invokeMothed
(
mapper
,
"updateByPrimaryKeySelective"
,
po
);
}
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
);
}
/***
* 删除对象
*
* @param <T>
* @param mapper
* @return
*/
public
<
T
>
TextStreamResponse
delCommon
(
BaseMapper
<
T
>
mapper
)
{
String
id
=
request
.
getParameter
(
"id"
);
mapper
.
deleteById
(
id
);
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getSuc
());
}
/****
* 国际化方法 可以把数据库取出来的值进行国际化 eg:${L('order.channel')}
*
...
...
@@ -233,7 +158,7 @@ public abstract class ParentPage {
protected
final
String
getJsonForGridForI18n
(
List
<?>
fromList
,
String
[]
titles
,
long
recordNum
,
String
...
convertTitles
)
{
IConvertValue
[]
convert
=
null
;
if
(
ArrayUtils
.
isNotEmpty
(
convertTitles
))
{
if
(
org
.
apache
.
commons
.
lang3
.
ArrayUtils
.
isNotEmpty
(
convertTitles
))
{
// titles=org.apache.commons.lang3.ArrayUtils.addAll(titles,
// convertTitles);
convert
=
new
IConvertValue
[
titles
.
length
+
convertTitles
.
length
];
...
...
src/main/java/net/wicp/tams/duckula/ops/pages/ParentPageBean.java
0 → 100644
浏览文件 @
58d02435
package
net.wicp.tams.duckula.ops.pages
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.ParameterizedType
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.lang3.tuple.MutableTriple
;
import
org.apache.commons.lang3.tuple.Pair
;
import
org.apache.tapestry5.annotations.Property
;
import
org.apache.tapestry5.util.TextStreamResponse
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
cn.hutool.core.bean.BeanUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wicp.tams.common.Result
;
import
net.wicp.tams.common.annotation.TamsBean
;
import
net.wicp.tams.common.apiext.ReflectAssist
;
import
net.wicp.tams.common.apiext.StringUtil
;
import
net.wicp.tams.common.apiext.json.EasyUiAssist
;
import
net.wicp.tams.common.callback.IConvertValue
;
import
net.wicp.tams.component.tools.TapestryAssist
;
import
net.wicp.tams.duckula.ops.WebTools
;
@Slf4j
public
abstract
class
ParentPageBean
<
T
>
extends
ParentPage
{
@SuppressWarnings
(
"unchecked"
)
public
Class
<
T
>
getTClass
()
{
Class
<
T
>
tClass
=
(
Class
<
T
>)
((
ParameterizedType
)
getClass
().
getGenericSuperclass
())
.
getActualTypeArguments
()[
0
];
return
tClass
;
}
@SuppressWarnings
(
"rawtypes"
)
protected
MutableTriple
<
String
,
String
[],
Map
<
String
,
IConvertValue
>>
queryAssetInfo
=
EasyUiAssist
.
getQueryAssetInfo
(
getTClass
());
protected
Pair
<
List
<
Field
>,
List
<
Field
>>
querySaveInfo
=
EasyUiAssist
.
getQuerySaveInfo
(
getTClass
());
@Property
private
String
cols
=
queryAssetInfo
.
left
;
@Property
private
TamsBean
tamsbean
=
getTClass
().
getAnnotation
(
TamsBean
.
class
);
protected
final
T
t
=
TapestryAssist
.
getBeanFromPage
(
getTClass
(),
requestGlobals
);
public
TextStreamResponse
onSave
()
{
final
T
saveBean
=
TapestryAssist
.
getBeanFromPage
(
getTClass
(),
requestGlobals
);
String
id
=
request
.
getParameter
(
"id"
);
boolean
isInsert
=
false
;
if
(
StringUtil
.
isNull
(
id
))
{
isInsert
=
true
;
}
else
{
isInsert
=
false
;
}
try
{
doSave
(
saveBean
,
isInsert
);
}
catch
(
Throwable
e
)
{
log
.
error
(
"save data error"
,
e
);
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getError
(
e
.
getMessage
()));
}
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getSuc
());
}
public
TextStreamResponse
onDel
()
{
String
id
=
request
.
getParameter
(
"id"
);
if
(
StringUtil
.
isNull
(
id
))
{
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getSuc
(
"没有拿到id,不能进行删除"
));
}
try
{
doDel
(
id
);
}
catch
(
Throwable
e
)
{
log
.
error
(
"delete data error"
,
e
);
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getError
(
e
.
getMessage
()));
}
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getSuc
());
}
public
String
getUrl
()
{
String
retUrl
=
tamsbean
.
url
();
if
(
StringUtil
.
isNull
(
retUrl
))
{
// 页面所在的类名
String
name
=
getClass
().
getName
();
String
initParameter
=
servletContext
.
getInitParameter
(
"tapestry.app-package"
);
retUrl
=
name
.
replace
(
initParameter
+
".pages"
,
""
).
replace
(
"."
,
"/"
);
}
return
retUrl
;
}
public
abstract
void
doSave
(
T
t
,
boolean
isInsert
);
public
abstract
void
doDel
(
String
id
);
////////////////////////////////////////////////////////////// mytatis特有的/////////////////////////////////////////////////////////////////////////////////
public
abstract
BaseMapper
<
T
>
getBaseMapper
();
public
abstract
void
packageQuery
(
T
t
,
QueryWrapper
<
T
>
queryWrapper
);
@SuppressWarnings
(
"rawtypes"
)
protected
Pair
<
String
[],
Map
<
String
,
IConvertValue
>>
packageConvert
()
{
return
Pair
.
of
(
this
.
queryAssetInfo
.
middle
,
this
.
queryAssetInfo
.
right
);
};
@SuppressWarnings
(
"rawtypes"
)
public
TextStreamResponse
onQuery
()
{
final
T
t
=
TapestryAssist
.
getBeanFromPage
(
getTClass
(),
requestGlobals
);
QueryWrapper
<
T
>
queryWrapper
=
new
QueryWrapper
<
T
>();
this
.
packageQuery
(
t
,
queryWrapper
);
// 组装查询
BaseMapper
<
T
>
mapper
=
getBaseMapper
();
Pair
<
List
<
T
>,
Long
>
query
=
this
.
query
(
mapper
,
queryWrapper
);
// Pair<List<SysUser>, Long> query = doQuery(t, queryWrapper);
Pair
<
String
[],
Map
<
String
,
IConvertValue
>>
packageConvert
=
packageConvert
();
String
retstr
=
EasyUiAssist
.
getJsonForGridAlias2
(
query
.
getLeft
(),
packageConvert
.
getLeft
(),
packageConvert
.
getRight
(),
query
.
getRight
());
return
TapestryAssist
.
getTextStreamResponse
(
retstr
);
}
/***
* mybatis查询封装
*
* @param <T> mybatis的po
* @param mapper mybatis的mapper
* @param queryWrapper mybatis的查询封装
* @return L:数据,R:数据的总量
*/
public
<
T
>
Pair
<
List
<
T
>,
Long
>
query
(
BaseMapper
<
T
>
mapper
,
QueryWrapper
<
T
>
queryWrapper
)
{
String
needpage
=
request
.
getParameter
(
"needpage"
);
boolean
isPage
=
StringUtil
.
isNotNull
(
needpage
)
&&
!
Boolean
.
parseBoolean
(
needpage
)
?
false
:
true
;
List
<
T
>
selectList
=
null
;
long
size
=
0
;
if
(
isPage
)
{
// 需要分页,默认
Page
<
T
>
selectPage
=
mapper
.
selectPage
(
WebTools
.
buildPage
(
request
),
queryWrapper
);
selectList
=
selectPage
.
getRecords
();
size
=
selectPage
.
getTotal
();
}
else
{
selectList
=
mapper
.
selectList
(
queryWrapper
);
size
=
selectList
.
size
();
}
return
Pair
.
of
(
selectList
,
size
);
}
/***
* 保存或修改对象
*
* @param <T>
* @param mapper
* @param tClass
* @return
*/
public
TextStreamResponse
saveCommon
(
BaseMapper
<
T
>
mapper
,
IUpdateObj
<
T
>
callback
)
{
final
T
po
=
TapestryAssist
.
getBeanFromPage
(
getTClass
(),
requestGlobals
);
if
(
callback
!=
null
)
{
callback
.
doUpdate
(
po
,
BeanUtil
.
getFieldValue
(
po
,
"id"
)
==
null
);
}
if
(
BeanUtil
.
getFieldValue
(
po
,
"id"
)
==
null
)
{
mapper
.
insert
(
po
);
}
else
{
ReflectAssist
.
invokeMothed
(
mapper
,
"updateByPrimaryKeySelective"
,
po
);
}
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getSuc
());
}
public
TextStreamResponse
saveCommon
(
BaseMapper
<
T
>
mapper
)
{
return
saveCommon
(
mapper
,
null
);
}
protected
interface
IUpdateObj
<
V
>
{
public
void
doUpdate
(
V
po
,
boolean
isInsert
);
}
}
src/main/java/net/wicp/tams/duckula/ops/pages/cas/UserManager.java
浏览文件 @
58d02435
package
net.wicp.tams.duckula.ops.pages.cas
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.lang3.tuple.Pair
;
import
org.apache.tapestry5.ioc.annotations.Inject
;
import
org.apache.tapestry5.util.TextStreamResponse
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
cn.hutool.crypto.digest.BCrypt
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysUser
;
...
...
@@ -17,51 +19,32 @@ import net.wicp.tams.common.apiext.CollectionUtil;
import
net.wicp.tams.common.apiext.PwdUtil
;
import
net.wicp.tams.common.apiext.StringUtil
;
import
net.wicp.tams.common.apiext.json.EasyUiAssist
;
import
net.wicp.tams.common.callback.IConvertValue
;
import
net.wicp.tams.common.callback.impl.convertvalue.ConvertValueEnum
;
import
net.wicp.tams.common.constant.dic.Gender
;
import
net.wicp.tams.common.constant.dic.YesOrNo
;
import
net.wicp.tams.common.jdbc.convert.ConvertValueMysql
;
import
net.wicp.tams.component.tools.TapestryAssist
;
import
net.wicp.tams.duckula.ops.pages.ParentPage
;
import
net.wicp.tams.duckula.ops.pages.ParentPage
Bean
;
public
class
UserManager
extends
ParentPage
{
public
class
UserManager
extends
ParentPage
Bean
<
SysUser
>
{
@Inject
private
SysUserMapper
sysUserExample
;
public
TextStreamResponse
onQuery
()
{
// ajax.req(key, params);
final
SysUser
sysUser
=
TapestryAssist
.
getBeanFromPage
(
SysUser
.
class
,
requestGlobals
);
QueryWrapper
<
SysUser
>
queryWrapper
=
new
QueryWrapper
<
SysUser
>();
if
(
StringUtil
.
isNotNull
(
sysUser
.
getUserName
()))
{
queryWrapper
.
likeRight
(
"user_name"
,
sysUser
.
getUserName
());
private
SysUserMapper
sysUserMapper
;
@Override
public
void
packageQuery
(
SysUser
t
,
QueryWrapper
<
SysUser
>
queryWrapper
)
{
if
(
StringUtil
.
isNotNull
(
t
.
getUserName
()))
{
queryWrapper
.
likeRight
(
"user_name"
,
t
.
getUserName
());
}
ConvertValueMysql
orgCv
=
new
ConvertValueMysql
(
ColsSysOrg
.
db
,
ColsSysOrg
.
tb
,
"org_name"
);
Pair
<
List
<
SysUser
>,
Long
>
query
=
query
(
sysUserExample
,
queryWrapper
);
String
retstr
=
EasyUiAssist
.
getJsonForGridAlias2
(
query
.
getLeft
(),
new
String
[]
{
"orgId,orgId1"
,
"status,status1"
,
"gender,gender1"
},
CollectionUtil
.
newMap
(
"orgId1"
,
orgCv
,
"status1"
,
new
ConvertValueEnum
(
YesOrNo
.
class
),
"gender1"
,
new
ConvertValueEnum
(
Gender
.
class
)),
query
.
getRight
());
return
TapestryAssist
.
getTextStreamResponse
(
retstr
);
}
public
TextStreamResponse
onSave
()
{
return
saveCommon
(
SysUser
.
class
,
sysUserExample
,
new
IUpdateObj
<
SysUser
>()
{
@Override
public
void
doUpdate
(
SysUser
po
,
boolean
isInsert
)
{
if
(
isInsert
)
{
po
.
setPassword
(
PwdUtil
.
hashpw
(
"123456"
));
// 初始化密码
}
else
{
po
.
setPassword
(
null
);
// 不能修改密码
}
}
});
}
public
TextStreamResponse
onDel
()
{
return
delCommon
(
sysUserExample
);
@Override
protected
Pair
<
String
[],
Map
<
String
,
IConvertValue
>>
packageConvert
()
{
ConvertValueMysql
orgCv
=
new
ConvertValueMysql
(
ColsSysOrg
.
db
,
ColsSysOrg
.
tb
,
"org_name"
);
return
Pair
.
of
(
new
String
[]
{
"orgId,orgId1"
,
"status,status1"
,
"gender,gender1"
},
CollectionUtil
.
newMap
(
"orgId1"
,
orgCv
,
"status1"
,
new
ConvertValueEnum
(
YesOrNo
.
class
),
"gender1"
,
new
ConvertValueEnum
(
Gender
.
class
)));
}
public
TextStreamResponse
onSavePwd
()
{
...
...
@@ -77,7 +60,7 @@ public class UserManager extends ParentPage {
if
(
pwdOld
.
equals
(
pwdNew
))
{
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getError
(
"旧密码与新密码不能相同"
));
}
SysUser
sysUser
=
sysUserExample
.
selectById
(
id
);
SysUser
sysUser
=
this
.
sysUserMapper
.
selectById
(
id
);
// 要不要检查旧密码
boolean
checkpw
=
BCrypt
.
checkpw
(
pwdOld
,
sysUser
.
getPassword
());
if
(!
checkpw
)
{
...
...
@@ -87,7 +70,7 @@ public class UserManager extends ParentPage {
SysUser
user
=
new
SysUser
();
user
.
setId
(
id
);
user
.
setPassword
(
PwdUtil
.
hashpw
(
pwdNew
));
sysUserExample
.
updateByPrimaryKeySelective
(
user
);
this
.
sysUserMapper
.
updateByPrimaryKeySelective
(
user
);
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getSuc
());
}
...
...
@@ -96,8 +79,31 @@ public class UserManager extends ParentPage {
SysUser
user
=
new
SysUser
();
user
.
setId
(
id
);
user
.
setPassword
(
PwdUtil
.
hashpw
(
"123456"
));
sysUserExample
.
updateByPrimaryKeySelective
(
user
);
this
.
sysUserMapper
.
updateByPrimaryKeySelective
(
user
);
return
TapestryAssist
.
getTextStreamResponse
(
Result
.
getSuc
());
}
@Override
public
void
doSave
(
SysUser
t
,
boolean
isInsert
)
{
if
(
isInsert
)
{
t
.
setPassword
(
PwdUtil
.
hashpw
(
"123456"
));
// 初始化密码
this
.
sysUserMapper
.
insert
(
t
);
}
else
{
t
.
setPassword
(
null
);
// 不能修改密码
this
.
sysUserMapper
.
updateByPrimaryKeySelective
(
t
);
}
}
@Override
public
void
doDel
(
String
id
)
{
this
.
sysUserMapper
.
deleteById
(
id
);
}
@Override
public
BaseMapper
<
SysUser
>
getBaseMapper
()
{
return
this
.
sysUserMapper
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录