您的位置:首页 > 其它

yycg 的用户删除和用户修改模块

2015-10-31 23:51 615 查看

1      用户删除

1.1     需求

用户出现变更、用户不存在了,将系统用户从系统中删除。

 

前置条件(约束):

用户必须存在方可删除

后置条件(数据库操作)

从sysuser表删除用户信息

1.2     实现

1.2.1     dao

使用自动生成的mapper从sysuser表删除一个用户

1.2.2     service

接口功能:将系统用户从系统中删除

接口参数:用户id

    //
用户删除
   @Override
   public
void
deleteSysuser(Stringid)
throws
Exception {
      //
校验前置条件
      //
先查找
      Sysusersysuser =
sysuserMapper.selectByPrimaryKey(id);
      if (sysuser ==
null) {
         ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 212,
                null));
      }
      sysuserMapper.deleteByPrimaryKey(id);
   }

 

1.2.3     action

实现用户删除方法(提交方法)。

   //
用户删除
   @RequestMapping("/deletesysuser")
   public
@ResponseBody
   SubmitResultInfodeletesysuser(String id)
throws Exception {
      userService.deleteSysuser(id);
      return ResultUtil.createSubmitResult(ResultUtil.createSuccess(
            Config.MESSAGE, 906,
null));
   }

 

1.2.4     页面

通常情况,针对单条记录操作,建议在记录上添加链接操作。

修改queryuser.jsp:

 

在datagrid 列表中添加删除按钮。

{
      field : 'opt1',//对应json中的key
      title : '删除',
      width : 120,
      formatter:function(value,row,index){
      return
"<ahref=javascript:deleteuser('"+row.id+"')>删除</a>";
      }

定义删除方法(javascript)

  
//删除用户方法
   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");
        
        
      });
   }//删除用户的回调
   function
userdel_callback(data){
      message_alert(data);
     
//刷新页面
      //在提交成功后重新加载 datagrid
      //取出提交结果
      var
type=data.resultInfo.type;
      if(type==1){
        
//成功结果
        
//重新加载 datagrid
         queryuser();
      }
   }

删除操作使用ajax的form提交,需要在页面中定义单独删除form,form中有一个删除用户id。Sysuserdeleteform
对应jquerySubByFId 中的id

<form 
id="sysuserdeleteform" 
action="${baseurl}user/deletesysuser.action"method="post">
   <input
type="hidden"
id="delete_id"name="id"/>
   </form>

2      用户修改

2.1     需求 :

修改用户的信息,可以修改用户账号、用户的名称、用户密码、用户类型、用户所属单位、用户状态。

 

前置条件(约束):

修改用户账号不允许暂用别人的账号

用户变更单位必须是存在的

 

后置条件(数据库操作)

从sysuser表修改用户信息

 

 

2.2     实现 :

2.2.1     dao

 

使用自动生成的mapper从sysuser表修改一个用户

 

2.2.2     service

接口功能:修改用户信息

接口参数:修改用户的id、修改用户的信息

 

约束分析:修改用户账号不允许占用别人的账号

  如果用户的账号不修改不用校验账号是否暂用别人的账号

  如果用户修改账号了,才需要校验账号是否暂用别人的账号

通过修改的账号查询sysuser系统用户表,如果查询到说明暂用别人的账号

 

在修改之前需要先根据用户id获取用户信息:

实现类

//
更新用户
   @Override
   public
void
updateSysuser(Stringid, SysuserCustom sysuserCustom)
         throws Exception {
      //
非空校验。。。
      //
修改用户账号不允许暂用别人的账号
      //
如果判断账号修改了
      //
页面提交的账号可能是用户修改的账号
      Stringpage_userid = sysuserCustom.getUserid();
      Sysusersysuser =
sysuserMapper.selectByPrimaryKey(id);
      if (sysuser ==
null) {
        
// 说明是藏数据
         ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 902,
                null));
      }
      //
修改前的id
      Stringuserid = sysuser.getUserid();
      if(!page_userid.equals(userid)) {
         Sysusersysuser_new =
this
.findSysuserByuserid(page_userid);
         if (sysuser_new !=
null) {
           
// 说明账号被占用
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                   213,null));
         }
      }
      //
验证单位id
是否存在
      Stringgroupid = sysuserCustom.getGroupid();//
用户类型,是监督单位还是卫生室
      Stringsysmc = sysuserCustom.getSysmc();//
单位名称
      Stringsysid = null;
      if (groupid.equals("1") ||groupid.equals("2")) {//
监督单位
         Userjduserjd = this.findUserjdByMc(sysmc);
         if (userjd ==
null) {
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                   217,null));
         }
         sysid= userjd.getId();
      }elseif(groupid.equals("3")) {//
医院
         Useryyuseryy = this.findUseryyByMc(sysmc);
         if (useryy ==
null) {
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                   217,null));
         }
         sysid= useryy.getId();
      }elseif(groupid.equals("4")) {//
供应商
         Usergysusergys = this.findUsergysByMc(sysmc);
         if (usergys ==
null) {
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                   217,null));
         }
         sysid= usergys.getId();
      }
 
      //
验证密码
      Stringpage_pwd = sysuserCustom.getPwd().trim();
      Stringmd5_pwd = null;//
对密码加密
      if (page_pwd !=
null &&!page_pwd.equals("")) {
 
         md5_pwd= newMD5().getMD5ofStr(page_pwd);
      }
 
      //
设置更新信息
      //
更新先要查询到用户
      Sysusersysuser_update =
sysuserMapper.selectByPrimaryKey(id);
      sysuser_update.setUserid(sysuserCustom.getUserid());
      sysuser_update.setUsername(sysuserCustom.getUsername());
      sysuser_update.setUserstate(sysuserCustom.getUserstate());
      if (md5_pwd !=
null) {
         sysuser_update.setPwd(md5_pwd);
      }
      sysuser_update.setGroupid(sysuserCustom.getGroupid());
      sysuser_update.setSysid(sysid);//
单位id
      sysuser_update.setAddr(sysuserCustom.getAddr());
      sysuser_update.setPhone(sysuserCustom.getPhone());
      //
更新所有列(空的也更新)
      sysuserMapper.updateByPrimaryKey(sysuser_update);
 
   }
 
   //
通过id查询用户信息更新用户用到
   @Override
   public SysuserCustomfindSysuserById(String id)
throws Exception {
  
      Sysusersysuser=sysuserMapper.selectByPrimaryKey(id);
     
      Stringgroupid = sysuser.getGroupid();
      Stringsysid = sysuser.getSysid();
      Stringsysmc = null;
      if (groupid.equals("1") ||groupid.equals("2")) {
         Userjduserjd =userjdMapper.selectByPrimaryKey(sysid);
         if (userjd ==
null) {
 
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                   217,null));
         }
         sysmc= userjd.getMc();
      }elseif(groupid.equals("3")) {
         Useryyuseryy =
useryyMapper.selectByPrimaryKey(sysid);
         if (useryy ==
null) {
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                   217,null));
         }
         sysmc= useryy.getMc();
      }elseif(groupid.equals("4")) {
         Usergysusergys =
usergysMapper.selectByPrimaryKey(sysid);
         if (usergys ==
null) {
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                   217,null));
         }
         sysmc= usergys.getMc();
      }
        
      SysuserCustomsysuserCustom=newSysuserCustom();
      //将sysuser中数据设置到sysuserCustom
      BeanUtils.copyProperties(sysuser,sysuserCustom);
      sysuserCustom.setSysmc(sysmc);
      return sysuserCustom;
   }

2.2.3     action

两个方法:返回页面  和提交两个方法

//
用户修改页面
   @RequestMapping("/editsysuser")
   public Stringeditsysuser(Model model, String id)
throws Exception {
 
      SysuserCustomsysuserCustom =
userService.findSysuserById(id);
 
      model.addAttribute("sysuserCustom",sysuserCustom);
      return
"/base/user/editsysuser";
   }
   //
用户修改数据
   @RequestMapping("/editsysusersubmit")
   public
@ResponseBody
   SubmitResultInfoeditsysusersubmit(String id, SysuserQueryVo sysuserQueryVo)
         throws Exception {
      userService.updateSysuser(id,sysuserQueryVo.getSysuserCustom());
      return ResultUtil.createSubmitResult(ResultUtil.createSuccess(
            Config.MESSAGE, 906,
null));
   }

2.2.4     页面

 

在queryuser.jsp的datagrid 中添加修改链接。

{
      field : 'opt2',//对应json中的key
      title : '修改',
      width : 120,
      formatter:function(value,row,index){
      return
"<ahref=javascript:edituser('"+row.id+"')>修改</a>";
      }

定义edituser 的script方法

//修改用户
   function
edituser(id){
     
//打开修改窗口
      createmodalwindow("修改用户信息", 800, 300, '${baseurl}user/editsysuser.action?id='+id);
   }

Editsysuser.Jsp 中的script方法

<script
type="text/javascript">
  function
sysusersave(){
    jquerySubByFId('userform',sysusersave_callback,null,"json");
    
  }
 
//ajax调用的回调函数,ajax请求完成调用此函数,传入的参数是action返回的结果
  function
sysusersave_callback(data){
    
    message_alert(data);
   var
type=data.resultInfo.type;
  }

 

同样定义form

form
id="userform"action="${baseurl}user/editsysusersubmit.action"
method="post">
<!-- 更新用户的id -->

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: