一、删除
前置条件(约束):
用户必须存在方可删除
后置条件(数据库操作)
从sysuser表删除用户信息
// 1- service
public void deleteSysuser(String id) throws Exception {
Sysuser sysuser = sysuserMapper.selectByPrimaryKey(id);
if (sysuser == null) {
ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 212, null));
}
sysuserMapper.deleteByPrimaryKey(id);
}
// 2- action 删除用户
@RequestMapping("/deletesysuser")
public @ResponseBody SubmitResultInfo deletesysuser(String id)throws Exception{
userService.deleteSysuser(id);
return ResultUtil.createSubmitResult(ResultUtil.createSuccess(Config.MESSAGE, 906, null));
}
// 页面
{
field : 'opt1',
title : '删除',
width : 120,
formatter : function(value, row, index) {
return
"+row.id+"')>删除";
}
}
// 方法
//删除用户方法
function deleteuser(id){
//第一个参数是提示信息,第二个参数,取消执行的函数指针,第三个参是,确定执行的函数指针
_confirm('您确认删除吗?',null,function (){
//将要删除的id赋值给deleteid,deleteid在sysuserdeleteform中
$("#delete_id").val(id);
//使用ajax的from提交执行删除
//sysuserdeleteform:form的id,userdel_callback:删除回调函数,
//第三个参数是url的参数
//第四个参数是datatype,表示服务器返回的类型
jquerySubByFId('sysuserdeleteform',userdel_callback,null,"json");
});
// jquery 的ajax 最后还是通过form 发送post请求
//删除用户的回调
function userdel_callback(data){
alert("data: " + data);
message_alert(data);
var type = data.resultInfo.type;
if (type == 1) {
// 成功结果 刷新页面 重新加载datagrid
queryuser();
}
}
二、用户修改
前置条件(约束):
* 修改用户账号不允许暂用别人的账号
* 用户变更单位必须是存在的
后置条件(数据库操作)
* 从sysuser表修改用户信息
service
接口功能:修改用户信息
接口参数:修改用户的id、修改用户的信息
约束分析:修改用户账号不允许暂用别人的账号
如果用户的账号不修改不用校验账号是否暂用别人的账号
如果用户修改账号了,才需要校验账号是否暂用别人的账号
通过修改的账号查询sysuser系统用户表,如果查询到说明暂用别人的账号
@Override
public void updateSysuser(String id, SysuserCustom sysuserCustom)
throws Exception {
Sysuser sysuser = sysuserMapper.selectByPrimaryKey(id);
if (sysuser == null) {
ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 215, null));
}
//用户原始账号
String userid = sysuser.getUserid();
String page_userid = sysuserCustom.getUserid();
//修改用户账号不允许暂用别人的账号 如果判断账号修改了 页面提交的账号可能是用户修改的账号
if (!userid.equals(page_userid)) {
//通过页面提交的账号查询数据库,如果查到说明暂用别人的账号
Sysuser sysuser_1 = this.findSysuserByUserId(page_userid);
if (sysuser_1 != null) {
ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 213, null));
}
}
// 修改的单位必须存在
String groupId = sysuserCustom.getGroupid(); //用户类型
String sysmc = sysuserCustom.getSysmc();//页面输入的单位名称
String sysid = null;
sysid = this.findSysidBySysmc(sysmc, groupId);
//密码修改
//如果从页面提交的密码值为空说明用户不修改密码,否则 就需要对密码进行加密存储
String pwd_page = sysuserCustom.getPwd().trim();
String pwd_md5 = null;
if (pwd_page != null && !pwd_page.equals("")) {
pwd_md5 = new MD5().getMD5ofStr(pwd_page);
}
//调用mapper更新用户
//使用updateByPrimaryKey更新,要先查询用户
Sysuser sysuser_update = sysuserMapper.selectByPrimaryKey(id);
sysuser_update.setUserid(sysuserCustom.getUserid());
sysuser_update.setUserstate(sysuserCustom.getUserstate());
sysuser_update.setUsername(sysuserCustom.getUsername());
if (pwd_md5 != null) {
sysuser_update.setPwd(pwd_md5);
}
sysuser_update.setGroupid(sysuserCustom.getGroupid());
sysuser_update.setSysid(sysid);//单位id
sysuserMapper.updateByPrimaryKey(sysuser_update);
}
// action
//修改用户
@RequestMapping("/editsysuser")
public String editsysuser(Model model, String id)throws Exception{
SysuserCustom sysuserCustom = userService.findSysuserCustomById(id);
model.addAttribute("sysuserCustom", sysuserCustom);
return "/base/user/editsysuser";
}
//修改用户提交
@RequestMapping("/editsysusersubmit")
public @ResponseBody SubmitResultInfo editsysusersubmit(String id,SysuserQueryVo sysuserQueryVo)throws Exception{
userService.updateSysuser(id, sysuserQueryVo.getSysuserCustom());
return ResultUtil.createSubmitResult(ResultUtil.createSuccess(Config.MESSAGE, 906, null));
}
页面 - 查询页面中 添加修改
{
field : 'opt2',
title : '修改',
width : 120,
formatter : function(value, row, index) {
return "+row.id+"')>修改";
}
}
function edituser(id){
//打开修改窗口
createmodalwindow("修改用户信息", 800, 250, '${baseurl}user/editsysuser.action?id='+id);
}
修改页面
<a id="submitbtn" href="#" onclick="sysusersave()">提交</a>
function sysusersave(){
jquerySubByFId('userform',sysusersave_callback,null,"json");
}
//ajax调用的回调函数,ajax请求完成调用此函数,传入的参数是action返回的结果
function sysusersave_callback(data){
message_alert(data);
}