SSM项目-医药采购-05 用户删除与修改

一、删除
前置条件(约束):
用户必须存在方可删除
后置条件(数据库操作)
从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
 "<a href=javascript:deleteuser('"+row.id+"')>删除</a>";
        }
    }
// 方法
//删除用户方法
    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请求
  <form action="${baseurl}user/deletesysuser.action" id="sysuserdeleteform" method="post">
    <input type="hidden" name="id" id="delete_id">
   </form>  

//删除用户的回调
    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 "<a href=javascript:edituser('"+row.id+"')>修改</a>";
        }
    }   
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);


  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值