蓝缘基础框架项目-账号删除

今天说下账号删除的功能,因列表可勾选多个账号删除,因此账号删除功能做成了批量删除,兼容多个账号删除。同时,这里还有个逻辑:当前登录用户不能删除自己。
在这里插入图片描述
前端调用删除逻辑:

$("#deleteView").click("click", function() {//绑定删除按扭
      var cbox = grid.getSelectedCheckbox();
      if (cbox.length == 0) {
        parent.$.ligerDialog.alert("请选择删除项");
        return;
      }
      parent.$.ligerDialog.confirm('删除后不能恢复,确定删除吗?', function(confirm) {
        if (confirm) {
          $.ajax({
              type: "post", 
              dataType: "json", //json格式的数据
              async: false, //同步   不写的情况下 默认为true
              url: rootPath + '/background/account/deleteById.html', //要访问的后台地址
              data: {ids:cbox.join(",")}, //要发送的数据
              success: function(data){
                if (data.flag) {
                  parent.$.ligerDialog.success('删除成功', '提示', function() {
                    loadGird();//重新加载表格数据
                });
              }else{
                parent.$.ligerDialog.warn("删除失败");
              }
            }
          });
        }
      });
    });

说明:

1、首先判断是否选择,若没有选择则提示需要选择后操作。
2、提示删除警告,删除后不可恢复。
3、当点击确认删除,调用后端删除接口,对选择的记录上送id用逗号隔开。
4、处理结果弹出对话框提示,对于成功需要重新加载表格列表数据。

后端接口处理逻辑:

/**
   * 批量删除账号
   */
  @ResponseBody
  @RequestMapping("deleteById")
  public Map<String, Object> deleteById(String ids, HttpServletRequest request) {
    String userId = String.valueOf((Integer) request.getSession().getAttribute(Common.USER_SESSION_ID));
    Map<String, Object> map = new HashMap<String, Object>();
    try {
      String[] idSplit = ids.split(",");
      List<String> idsList = new ArrayList(Arrays.asList(idSplit));
      if (idsList.contains(userId)){
        //当前登录用户不能删除自己
        for (int i = 0; i < idsList.size(); i++) {
          if (idsList.get(i).equals(userId)){
            idsList.remove(i);
            i--;
          }
        }
      }
      map.put("flag", accountService.deleteBatch(idsList));
    } catch (Exception e) {
      map.put("flag", false);
    }
    return map;
  }

说明:

1、获取当前登录的用户id。
2、将上送id数据用逗号分隔,组装成集合。
3、判断当前用户id是否在集合中,若在则删除,表示登录用户不能删除自己。
4、调用批量删除服务,返回结果。

mapper处理批量删除的逻辑如下:

<delete id="deleteBatch" parameterType="java.util.List">
    DELETE FROM sys_account WHERE id in(
    <foreach collection="list" item="id" index="index" separator=",">
      ${id}
    </foreach>
    );
  </delete>

在这里插入图片描述
软件定制及其他业务
请加微信号:13128600812

公众号:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张先生程序猿

谢谢您的打赏,我会持续创作下去

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值