/** * 获得人气组合商品详情 * @param paramMap * @return */ public List<Goods> getCheckGoodsCombination(Map paramMap);
/** * 获得人气组合商品详情 * * @param request * @param response * @param originalGoodsId * @param checkGoodsIds */ @RequestMapping("/combination") public void combination(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "originalGoodsId", required = true) String originalGoodsId, @RequestParam(value = "checkGoodsId", required = false) String checkGoodsIds) { try { ServiceMessage<List<Goods>> combinationResult = goodsDetailService.getCheckGoodsCombination(originalGoodsId, checkGoodsIds); if (combinationResult.getStatus() != MsgStatus.NORMAL) { this.setResultInfo(combinationResult.getStatus().getCode(), combinationResult.getMessage()); return; } List<Goods> goodsList = combinationResult.getResult(); DecimalFormat df = new DecimalFormat("0.00"); BigDecimal sumMarktPrice = new BigDecimal(0); BigDecimal sumEcPrice = new BigDecimal(0); for (Goods g : goodsList) { // 如果是促销 if (g.getDiscountState().equals("enable")) { long beginTime = DateUtils.dateAllToLong(g.getBeginTime()); long endTime = DateUtils.dateAllToLong(g.getEndTime()); long current = System.currentTimeMillis(); if (beginTime > current || endTime < current) { g.setDiscountState("none"); }else{ g.setEcPrice(g.getDiscountPrice()); } sumEcPrice = sumEcPrice.add(g.getEcPrice()); } else { sumEcPrice = sumEcPrice.add(g.getEcPrice()); } sumMarktPrice = sumMarktPrice.add(g.getMarketPrice()); // 转化为小数点两位 g.setEcPrice(new BigDecimal(df.format(g.getEcPrice()))); } // 优惠价=网售价-市场价 BigDecimal promotePrice = sumEcPrice.subtract(sumMarktPrice); // _result.put("originalGoodsId", originalGoodsId); // 优惠的价 _result.put("promotePrice", df.format(promotePrice)); // 组合售价之和 _result.put("combinationPrice", df.format(sumEcPrice)); // 组合结果集 _result.put("combinationResult", combinationResult.getResult()); _result.setMsg(combinationResult.getMessage()); _result.setStatus(combinationResult.getStatus().getCode()); } catch (Exception e) { logger.error(e.getMessage(), e); } finally { write(request, response); } }
/** * 获得人气组合商品详情 * * @param originalGoodsId 原goodsId * @param checkGoodsIds 选中的组合goodsId * @return */ @Override public ServiceMessage<List<Goods>> getCheckGoodsCombination(String originalGoodsId, String checkGoodsIds) { try { List<String> list = new ArrayList<String>(); String combinationType = ""; if (!"".equals(checkGoodsIds) && checkGoodsIds != null) { if (checkGoodsIds.equals("0")) { combinationType = "original"; } else { combinationType = "combination"; checkGoodsIds = URLDecoder.decode(checkGoodsIds, "utf-8"); String[] checkArr = checkGoodsIds.split(","); for (int i = 0; i < checkArr.length; i++) { list.add(checkArr[i]); } } } else { list = null; combinationType = "all"; //return super.returnParamsError("人气组合选中的组合checkGoodsIds为空"); } if (originalGoodsId == null || "".equals(originalGoodsId)) { return super.returnParamsError("人气组合原goodsId为空"); } Map<String, Object> map = new HashMap<String, Object>(); map.put("originalGoodsId", originalGoodsId); map.put("checkGoodsIds", list); map.put("combinationType", combinationType); List<Goods> combinationList = goodsMapper.getCheckGoodsCombination(map); if (combinationList == null || combinationList.size() < 1) { return super.returnException("查找不到人气组合商品"); } return super.returnCorrectResult(combinationList); } catch (Throwable e) { logger.error(e); return super.returnException("查询人气组合商品出错"); } }