@RequestMapping
(value =
"/modifyproduct"
, method = RequestMethod.POST)
@ResponseBody
private
Map<String, Object> modifyProduct(HttpServletRequest request) {
Map<String, Object> modelMap =
new
HashMap<>();
boolean
statusChange = HttpServletRequestUtil.getBoolean(request,
"statusChange"
);
if
(!statusChange && !CodeUtil.checkVerifyCode(request)) {
modelMap.put(
"success"
,
false
);
modelMap.put(
"errMsg"
,
"输入了错误的验证码"
);
return
modelMap;
}
ObjectMapper mapper =
new
ObjectMapper();
Product product =
null
;
ImageHolder thumbnail =
null
;
List<ImageHolder> productImgList =
new
ArrayList<>();
CommonsMultipartResolver multipartResolver =
new
CommonsMultipartResolver(request.getSession().getServletContext());
try
{
if
(multipartResolver.isMultipart(request)) {
thumbnail = handleImage(request, thumbnail, productImgList);
}
}
catch
(Exception e) {
modelMap.put(
"success"
,
false
);
modelMap.put(
"errMag"
, e.toString());
return
modelMap;
}
try
{
String productStr = HttpServletRequestUtil.getString(request,
"productStr"
);
product = mapper.readValue(productStr, Product.
class
);
}
catch
(Exception e) {
modelMap.put(
"success"
,
false
);
modelMap.put(
"errMag"
, e.toString());
return
modelMap;
}
if
(product !=
null
) {
try
{
Shop currentShop = (Shop) request.getSession().getAttribute(
"currentShop"
);
product.setShop(currentShop);
ProductExecution pe = productService.modifyProduct(product, thumbnail, productImgList);
if
(pe.getState() == ProductStateEnum.SUCCESS.getState()) {
modelMap.put(
"success"
,
true
);
}
else
{
modelMap.put(
"success"
,
false
);
modelMap.put(
"errMsg"
, pe.getStateInfo());
}
}
catch
(RuntimeException e) {
modelMap.put(
"success"
,
false
);
modelMap.put(
"errMsg"
, e.toString());
return
modelMap;
}
}
else
{
modelMap.put(
"success"
,
false
);
modelMap.put(
"errMsg"
,
"请输入商品信息"
);
}
return
modelMap;
}