public ModelAndView addAddress(HttpServletRequest request,HttpServletResponse response){
String rd = request.getParameter("rd");
String cacheRd = (String) request.getSession().getAttribute("rd");
if(cacheRd==null||!cacheRd.equals(rd)){
String addressId = decodeParameter(request, "addressId");
Address addr = null;
boolean addFlag = true;
if(isNumber(addressId)){
addFlag = false;
int id = Integer.parseInt(addressId.trim());
List<Address> list = addressService.getAddress(" from Address a where a.id=?", new Object[]{id});
if(null!=list&&list.size()>0){
addr = list.get(0);
}
}else{
addFlag =true;
addr = new Address();
}
String isdefault = request.getParameter("isdefault");
if(null==isdefault||"".equals(isdefault.trim()))isdefault = "0";
String address = decodeParameter(request,"address");
String region =decodeParameter(request,"region");
String city = decodeParameter(request,"city");
String province = decodeParameter(request,"province");
String zipcode = decodeParameter(request,"zipcode");
String tel = decodeParameter(request,"tel");
String name = decodeParameter(request,"name");
String syn = decodeParameter(request,"syn");
Dictionary d0 = dictionaryDao.findByKindAndCode("province", province);
Dictionary d1 = dictionaryDao.findByKindAndCode("city", city);
Dictionary d2 = dictionaryDao.findByKindAndCode("county", region);
addr.setCity(d1 != null ? d1.getDETAIL():"");
addr.setAddress(address);
addr.setIsdefault(Integer.parseInt(isdefault.trim()));
addr.setName(name);
addr.setProvince(d0 != null ? d0.getDETAIL():"");
addr.setRegion(d2 != null ? d2.getDETAIL():"");
addr.setTel(tel);
addr.setZipcode(zipcode);
if(addFlag){
User user = userCardService.findUserById(RunTimeUser.getRunTimeUser(request).getId());
addr.setUser(user);
try{
boolean ok = addressService.addAddress(addr);
if(!ok){
request.setAttribute("errmsg", "收货地址修改失败");
request.setAttribute("url", MemberURLConst.URL_ADDRESS_ADD);
return new ModelAndView(MemberURLConst.URL_BASE);
}
}catch (Exception e) {
e.printStackTrace();
request.setAttribute("errmsg", "收货地址修改失败");
request.setAttribute("url", MemberURLConst.URL_ADDRESS_ADD);
return new ModelAndView(MemberURLConst.URL_BASE);
}
if(!StringUtil.isNull(syn)){
JSONObject addrJson = new JSONObject();
try {
addrJson.put("id", addr.getId());
addrJson.put("address", addr.getAddress());
addrJson.put("province", addr.getProvince());
addrJson.put("city", addr.getCity());
addrJson.put("region", addr.getRegion());
addrJson.put("name", addr.getName());
addrJson.put("tel", addr.getTel());
addrJson.put("zipcode", addr.getZipcode());
} catch (JSONException e) {
e.printStackTrace();
}
this.printJSON(response, addrJson.toString());
}