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

博客内容涉及前后端接口的修改,主要集中在联盟管理部分。前端需要展示商品在不同超市的价格变化,后端则需处理联盟管理的变更,包括联盟不再需要龙头超市且超市可自由进出。在联盟查询接口中,由于数据类型问题导致查询错误,已修复并添加异常处理。添加联盟的接口去除了创建龙头超市的步骤,回归初始设计。
摘要由CSDN通过智能技术生成

经过老师的初步检查,发现了一些问题。

前端方面,商品的改价记录图表需要反映一种商品在不同超市中的价格变换。后端需要处理的是联盟管理问题,因为最初的设想是联盟必须拥有龙头超市,超市必须加入联盟,而现在按照老师的要求,联盟可以没有龙头超市,超市不管是不是龙头也可以随时退出联盟,所以必须对超市和联盟管理的相关接口进行修改。

联盟管理:

1.联盟查询

因为在向前端传递数据的时候,我使用了一个非关联数据库的实体进行保存从数据库传来的数据,这就导致了没有龙头超市的联盟,super_union_leaderid一项是空的。又因super_union_leaderid属性为int类型,返回值为空时进一步查询就发生了错误,所以在这里需要将实体的该属性设计为String类型,通过强转为int类型进行查询。同时还要捕捉NumberFormatExcepction,捕捉到错误就返回id为-1,龙头超市说明为“暂无”。

相关代码:

        Map para = (Map) obj;
        List<Admin_SuperUnion> list = this.admin_superUnionDao.findAllSuperUnion();
        List<com.sdu.administrator.Entity.Admin_SuperUnion> res = new ArrayList<>();
        for (int i=0;i<list.size();i++){
            com.sdu.administrator.Entity.Admin_SuperUnion superUnion = new com.sdu.administrator.Entity.Admin_SuperUnion();
            superUnion.setSuper_union_id(list.get(i).getSuper_union_id());
            superUnion.setSuper_union_name(list.get(i).getSuper_union_name());
            try {
                superUnion.setSuper_union_leaderid(Integer.parseInt(list.get(i).getSuper_union_leaderid()));
                superUnion.setSuper_union_leader_name(superUserDao.findSuperUserNameByID(Integer.parseInt(list.get(i).getSuper_union_leaderid())));
            }catch (NumberFormatException e){
                superUnion.setSuper_union_leaderid(-1);
                superUnion.setSuper_union_leader_name("暂无");
            }
            res.add(superUnion);
        }

2.添加联盟

添加联盟需要修改的地方就是同时注册龙头超市的操作,因为现在联盟不需要龙头超市,这一步骤就可以取消了,也回归了最初的设计。

相关代码:

public Map addSuperUnion(@RequestBody Object obj, HttpServletRequest request){
        Map para = (Map) obj;
        HttpSession session = request.getSession();
        List<Admin_SuperUnion> list = admin_superUnionDao.findAllSuperUnion();
        String super_union_name = (String)para.get("super_union_name");
        String checkstring1 = admin_superUnionDao.checkSuperUnionisexist(super_union_name);
        Map data = new HashMap();
        boolean isexist1 = false;
        if (checkstring1==null){
            isexist1 = true;
        }
        if (isexist1==false){
            data.put("status","-1");
            data.put("message","联盟用户名已存在,添加失败");
            data.put("sessionId",session.getId());
            return data;
        }
        if(!list.contains(super_union_name)&&isexist1!=false){
            String sql1 = "insert into super_union(super_union_name) values('"+super_union_name+"')";
            this.jdbcTemplate.update(sql1);
            int super_union_id = admin_superUnionDao.findSuperUnionIdBySuperUnionname(super_union_name);
            data.put("status","1");
            data.put("message","添加成功");
        }else {
            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、付费专栏及课程。

余额充值