/** * Accepts a POST request with an XML message parameter * * @param message serialized Message object * @return a string with the result of the POST */ @RequestMapping( value = "addcarandprice", method = RequestMethod.POST, consumes = "application/json", produces = "application/json") public @ResponseBody ResultResponse addCarAndPrice( @RequestBody AddCarAndPriceRequest req, HttpServletResponse response, HttpServletRequest request) { ResultResponse rp = new ResultResponse(); rp.setResult(Cookie.RESPONSE_BAD_REQUEST); String strId = SecurityContextHolder.getContext().getAuthentication().getName(); long userId = Cookie.checkCommonUser( strId, response, request, SecurityContextHolder.getContext().getAuthentication()); // LogUtil.i("test:", "userId =" + userId + "price:"+req.getPrice()); if (0 >= AddCarAndPriceRequest.checkParameters(req)) { return rp; } if (!priceRequestBo.isPriceValid(req)) { rp.setResult(Cookie.RESPONSE_USE_ERROR_MSG); rp.setErrorMsg("所输价格不合理,请重新录入"); return rp; } Long driverId = req.getDriverUserId(); PositionRequest pos = positionRequestBo.findById(userId, driverId); // 不在我的车场内,先添加到车场 if (pos == null || pos.getType() < 0) { int size = positionRequestBo.getRemainFocusSize(userId); if (size <= 0) { rp.setResult(Cookie.RESPONSE_TOO_MUCH); return rp; } ProcessPositionRequest processPositionRequest = new ProcessPositionRequest(driverId); rp = positionRequestBo.askPosition(processPositionRequest, userId, 1, 1); if (rp.getResult() <= 0) { return rp; } } // 添加或更新价格 rp = priceRequestBo.updatePrice(req, userId); return rp; }