山东大学暑期项目实训第五周(3)

接上一篇的内容,还需要修改超市管理的相关接口,这些接口的修改难度较联盟管理接口的修改难度更大。

超市管理:

1.超市查询

所有超市信息查询和超市信息模糊查询业务操作相似,可以优化相同代码。同时这里因为超市可能没有联盟,那么int类型的联盟id就可以为空,返回数据后进行查询就会报错,所以这里也需要进行异常捕捉,为没有联盟信息的超市进行处理。

private Map getMap(HttpSession session, List<SuperUser> list) {
        List<Admin_SuperUser> admin_superUserList = new ArrayList<>();
        Map data = new HashMap();
        if (list!=null&&list.size()!=0){
            for (int i=0;i<list.size();i++){
                Admin_SuperUser admin_superUser =new Admin_SuperUser();
                admin_superUser.setSuper_user_id(list.get(i).getSuper_user_id());
                admin_superUser.setSuper_user_name(list.get(i).getSuper_user_name());
                admin_superUser.setSuper_user_password(list.get(i).getSuper_user_password());
                admin_superUser.setSuper_phone(list.get(i).getSuper_phone());
                admin_superUser.setSuper_address(list.get(i).getSuper_address());
                try {
                    admin_superUser.setSuper_union_name(list.get(i).getAdmin_superUnion().getSuper_union_name());
                    if(Integer.parseInt(list.get(i).getAdmin_superUnion().getSuper_union_leaderid())==list.get(i).getSuper_user_id()){
                        admin_superUser.setRole("龙头超市");
                    }else {
                        admin_superUser.setRole("普通超市");
                    }
                }catch (Exception e){
                    admin_superUser.setSuper_union_name("无联盟");
                    admin_superUser.setRole("无联盟超市");
                }
                admin_superUserList.add(admin_superUser);
            }
            data.put("superusers",admin_superUserList);
            data.put("message","完成查找");
            data.put("status","1");
        }else {
            data.put("message","没有找到超市");
            data.put("status","-1");
        }
        data.put("sessionId", session.getId());
        return data;
    }

2.添加超市

因为现在超市可以不加入联盟,在创建时就可以不填写联盟信息,就会导致查询不到联盟,从而发生错误,这里需要进行一个判断,如果不能查询到联盟id就进入另一个分支。

 try {
            super_union_id = admin_superUnionDao.findSuperUnionIdBySuperUnionname(super_union_name);
        }catch (AopInvocationException e){
            String sql = "insert into super_user(super_user_name,super_user_password," +
                    "super_phone,super_address) values('"+super_user_name+"','"+super_user_password+"'," +
                    "'"+super_phone+"','"+super_address+"')";
            this.jdbcTemplate.update(sql);
            data.put("status","1");
            data.put("message","添加成功");
            data.put("sessionId", session.getId());
            return data;
        }

3.更新超市信息

更新超市信息所需要进行的操作较多,第一步是查询新的用户名是否与已经存在的用户名相同,第二步是查询超市是否是龙头超市以及超市的联盟id是否发生了变化,如果不是龙头超市就直接进行修改操作,如果是龙头超市但联盟id没有发生变化就可以直接修改除联盟id外的信息,如果发生了变化需要进一步操作,第三步是当龙头超市联盟id发生变化时,不仅要进行超市表的更新操作,还需要将该超市所在的旧联盟的龙头超市id置为空。

public Map updateSuperUser(@RequestBody Object obj,HttpServletRequest request){
        Map para = (Map) obj;
        HttpSession session = request.getSession();
        int super_user_id = (int)para.get("super_user_id");
        String super_user_name = (String)para.get("super_user_name");
        String super_user_password = (String)para.get("super_user_password");
        String super_phone = (String)para.get("super_phone");
        String super_address = (String)para.get("super_address");
        String super_union_name = (String) para.get("super_union_name");
        int super_union_id = admin_superUnionDao.findSuperUnionIdBySuperUnionname(super_union_name);
        SuperUser superUser = superUserDao.findSuperUserByName(super_user_id);
        String sql = "update super_user set super_user_name = '"+super_user_name+"',super_user_password" +
                "= '"+super_user_password+"',super_phone = '"+super_phone+"',super_address = '"+super_address+"'," +
                "super_union_id = '"+super_union_id+"' where super_user_id = '"+super_user_id+"'";
        Map data = new HashMap();
        String checkstring = superUserDao.checkSuperUserupdateisexist(super_user_name,super_user_id);
        boolean isexist = false;
        if (checkstring==null){
            isexist = true;
        }
        if (isexist==false){
            data.put("status","-1");
            data.put("message","用户名已存在,修改失败");
            data.put("sessionId",session.getId());
            return data;
        }
        try {
            int old_super_union_id = superUser.getAdmin_superUnion().getSuper_union_id();
        }catch (Exception e){
            try {
                this.jdbcTemplate.update(sql);
            }catch (Exception e1){
                data.put("status","-1");
                data.put("message","修改失败");
                data.put("sessionId",session.getId());
                return data;
            }
            data.put("status","1");
            data.put("message","修改成功");
            data.put("sessionId",session.getId());
            return data;
        }
        try {
            if(Integer.parseInt(superUser.getAdmin_superUnion().getSuper_union_leaderid())==super_user_id&&superUser.getAdmin_superUnion().getSuper_union_id()!=super_union_id){
                int old_super_union_id = superUser.getAdmin_superUnion().getSuper_union_id();
                String sql1 = "update super_union set super_union_leaderid = null where super_union_id = '"+old_super_union_id+"'";
                this.jdbcTemplate.update(sql1);
                this.jdbcTemplate.update(sql);
            }else {
                this.jdbcTemplate.update(sql);
            }
        }catch (NumberFormatException e){
            this.jdbcTemplate.update(sql);
            data.put("status","1");
            data.put("message","修改成功");
            data.put("sessionId",session.getId());
            return data;
        }
        data.put("status","1");
        data.put("message","修改成功");
        data.put("sessionId",session.getId());
        return data;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值