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