接上一篇的内容,还需要修改超市管理的相关接口,这些接口的修改难度较联盟管理接口的修改难度更大。
超市管理:
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;
}