提交 97d571d7 作者: zhenjie

商城确认订单提交订单优化

上级 1d30bd63
......@@ -1213,23 +1213,12 @@ public class AppMallOrderServiceImpl implements AppMallOrderService {
BigDecimal orderAmount = BigDecimal.ZERO;
//产品sku信息
List<OrderGoodsProdDTO> orderGoodsProdDTOList = new ArrayList<>();
//行业sku信息
List<OrderGoodsIndstDTO> orderGoodsIndstDTOList = new ArrayList<>();
//处理产品商品
if(!CollectionUtils.isEmpty(param.getMallSpecIds()) && param.getDirectoryId().equals(1)){
confirmGoodsInfoDTO.setDirectoryId(1);
//设置查询商品信息的参数,mallProdSkuInfoSpecId
mallOrderGoodsInfoQO.setMallProdSkuSpecIds(new HashSet<>());
mallOrderGoodsInfoQO.getMallProdSkuSpecIds().addAll(param.getMallSpecIds());
//设置mallProdSkuInfoSpecId对应的购物车详情id
// Map<Integer, Integer> prodSkuSpecIdCarMap = new HashMap<>();
// for (MallProdShopCarDO mallProdShopCarDO : mallProdShopCarDOS) {
// for (MallProdShopCarDetailDO mallProdShopCarDetailDO : mallProdShopCarDO.getShopCarDetailDOS()){
// //设置产品商品小规格对应的购物车详情id
// prodSkuSpecIdCarMap.put(mallProdShopCarDetailDO.getMallProdSkuInfoSpecId(), mallProdShopCarDetailDO.getId());
// }
// }
//查询商品详细信息
orderGoodsProdDTOList = pmsClient.feignListProdGoodsSkuInfo(mallOrderGoodsInfoQO, token);
......@@ -1252,39 +1241,25 @@ public class AppMallOrderServiceImpl implements AppMallOrderService {
/**
* 待写
*/
// List<OrderGoodsProdDO> orderGoodsProdDOS = this.generatedProdOrder(mallProdShopCarDOS, orderGoodsProdDTOList);
List<OrderGoodsProdDO> orderGoodsProdDOS = this.generatedMallProdOrder(param, orderGoodsProdDTOList);
if(orderGoodsProdDOS == null){
return ResultBody.error(ResultEnum.SPEC_NOT_CONFIG_PRICE);
}
//把每个商品所有规格金额加起来,订单金额
for (OrderGoodsProdDO orderGoodsProdDO : orderGoodsProdDOS){
orderAmount = orderAmount.add(orderGoodsProdDO.getGoodsAmount());
}
//根据品牌id,查询个人拥有的优惠券并做处理
// List<CouponUserOrderDTO> couponUserOrderDTOList = this.findUserCoupon(orderGoodsProdDOS, muser.getId(), orderAmount);
// List<CouponUserOrderDTO> usable = couponUserOrderDTOList.stream().filter(d->"usable".equals(d.getValidStr())).collect(Collectors.toList());
// List<CouponUserOrderDTO> unusable = couponUserOrderDTOList.stream().filter(d->"unusable".equals(d.getValidStr())).collect(Collectors.toList());
// confirmGoodsInfoDTO.setUsableCoupon(usable);
// confirmGoodsInfoDTO.setDisableCoupon(unusable);
BigDecimal prodOrderAmount = orderGoodsProdDOS.stream().map(OrderGoodsProdDO::getGoodsAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
List<OrderGoodsProdDetailDO> orderGoodsProdDetailDOList = new ArrayList<>();
for (OrderGoodsProdDO orderGoodsProdDO : orderGoodsProdDOS){
orderGoodsProdDOS.stream().forEach(orderGoodsProdDO -> {
if(!CollectionUtils.isEmpty(orderGoodsProdDO.getOrderGoodsProdDetailDOList())){
for (OrderGoodsProdDetailDO orderGoodsProdDetailDO : orderGoodsProdDO.getOrderGoodsProdDetailDOList()){
//设置商品订单id
orderGoodsProdDetailDO.setOrderGoodsProdId(orderGoodsProdDO.getId());
//orderGoodsProdDetailDO.setMallProdShopCarDetailId(prodSkuSpecIdCarMap.get(orderGoodsProdDetailDO.getMallProdSkuInfoSpecId()));
orderGoodsProdDetailDOList.add(orderGoodsProdDetailDO);
}
orderGoodsProdDO.getOrderGoodsProdDetailDOList().stream().forEach(prodDetail -> {
prodDetail.setOrderGoodsProdId(orderGoodsProdDO.getId());
orderGoodsProdDetailDOList.add(prodDetail);
});
}
}
});
List<OrderGoodsProdDetailDTO> collect = orderGoodsProdDetailDOList.stream().map(d -> d.buildOrderGoodsProdDetailDTO()).collect(Collectors.toList());
confirmGoodsInfoDTO.setOrderGoodsProdDetailDTOS(collect);
confirmGoodsInfoDTO.setOrderAmount(prodOrderAmount);
}
confirmGoodsInfoDTO.setOrderAmount(orderAmount);
return ResultBody.success(confirmGoodsInfoDTO);
}
......@@ -1292,8 +1267,7 @@ public class AppMallOrderServiceImpl implements AppMallOrderService {
@Override
public ResultBody commitMallOrder(MallConfirmOrderVO param, BaseAccountDTO currentAccount, String token) {
//查询收货地址
UserAddressDTO userAddressDTO = userAddressService.getUserAddressInfo(currentAccount.getUserAccountId());
UserAddressDTO userAddressDTO = userAddressService.getUserAddressInfo(param.getUserAddressId());
//查询商品信息,价格信息
MallOrderGoodsInfoQO mallOrderGoodsInfoQO = new MallOrderGoodsInfoQO();
mallOrderGoodsInfoQO.setUserAccountId(currentAccount.getUserAccountId());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论