diff --git a/src/main/java/com/ycwl/basic/biz/OrderBiz.java b/src/main/java/com/ycwl/basic/biz/OrderBiz.java index 530fc054..a3fc6ed7 100644 --- a/src/main/java/com/ycwl/basic/biz/OrderBiz.java +++ b/src/main/java/com/ycwl/basic/biz/OrderBiz.java @@ -67,7 +67,7 @@ public class OrderBiz { @Autowired private IPriceCalculationService iPriceCalculationService; - public PriceObj queryPrice(Long scenicId, int goodsType, Long goodsId) { + public PriceObj queryPrice(Long scenicId, Long memberId, int goodsType, Long goodsId) { PriceObj priceObj = new PriceObj(); priceObj.setGoodsType(goodsType); priceObj.setGoodsId(goodsId); @@ -99,8 +99,10 @@ public class OrderBiz { vlogProductItem.setQuantity(videoTaskRepository.getTaskLensNum(video.getTaskId())); vlogProductItem.setScenicId(scenicId.toString()); vlogCalculationRequest.setProducts(Collections.singletonList(vlogProductItem)); + vlogCalculationRequest.setUserId(memberId); vlogCalculationRequest.setFaceId(priceObj.getFaceId()); vlogCalculationRequest.setPreviewOnly(true); // 仅查询价格,不实际使用优惠 + vlogCalculationRequest.setAutoUseCoupon(true); PriceCalculationResult vlogCalculationResult = iPriceCalculationService.calculatePrice(vlogCalculationRequest); priceObj.setPrice(vlogCalculationResult.getFinalAmount()); priceObj.setSlashPrice(vlogCalculationResult.getOriginalAmount()); @@ -120,13 +122,33 @@ public class OrderBiz { if (face != null) { calculationRequest.setUserId(face.getMemberId()); } + calculationRequest.setUserId(memberId); calculationRequest.setFaceId(goodsId); calculationRequest.setPreviewOnly(true); // 仅查询价格,不实际使用优惠 + calculationRequest.setAutoUseCoupon(true); PriceCalculationResult priceCalculationResult = iPriceCalculationService.calculatePrice(calculationRequest); priceObj.setPrice(priceCalculationResult.getFinalAmount()); priceObj.setSlashPrice(priceCalculationResult.getOriginalAmount()); priceObj.setFaceId(goodsId); break; + case 5: + PriceCalculationRequest plogCalculationRequest = new PriceCalculationRequest(); + ProductItem plogProductItem = new ProductItem(); + plogProductItem.setProductType(ProductType.PHOTO_LOG); + plogProductItem.setProductId(scenicId.toString()); + plogProductItem.setPurchaseCount(1); + plogProductItem.setScenicId(scenicId.toString()); + plogCalculationRequest.setProducts(Collections.singletonList(plogProductItem)); + plogCalculationRequest.setUserId(memberId); + plogCalculationRequest.setFaceId(goodsId); + plogCalculationRequest.setPreviewOnly(true); // 仅查询价格,不实际使用优惠 + plogCalculationRequest.setAutoUseCoupon(true); + PriceCalculationResult plogPriceCalculationResult = iPriceCalculationService.calculatePrice(plogCalculationRequest); + priceObj.setPrice(plogPriceCalculationResult.getFinalAmount()); + priceObj.setSlashPrice(plogPriceCalculationResult.getOriginalAmount()); + priceObj.setFaceId(goodsId); + priceObj.setScenicId(scenicId); + break; case 13: PriceCalculationRequest aiCamCalculationRequest = new PriceCalculationRequest(); ProductItem aiCamProductItem = new ProductItem(); @@ -135,7 +157,10 @@ public class OrderBiz { aiCamProductItem.setPurchaseCount(1); aiCamProductItem.setScenicId(scenicId.toString()); aiCamCalculationRequest.setProducts(Collections.singletonList(aiCamProductItem)); + aiCamCalculationRequest.setUserId(memberId); + aiCamCalculationRequest.setFaceId(goodsId); aiCamCalculationRequest.setPreviewOnly(true); // 仅查询价格,不实际使用优惠 + aiCamCalculationRequest.setAutoUseCoupon(true); PriceCalculationResult aiCamPriceCalculationResult = iPriceCalculationService.calculatePrice(aiCamCalculationRequest); priceObj.setPrice(aiCamPriceCalculationResult.getFinalAmount()); priceObj.setSlashPrice(aiCamPriceCalculationResult.getOriginalAmount()); @@ -190,7 +215,7 @@ public class OrderBiz { } } } - PriceObj priceObj = queryPrice(scenicId, goodsType, goodsId); + PriceObj priceObj = queryPrice(scenicId, memberId, goodsType, goodsId); if (priceObj == null) { return respVO; } diff --git a/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java b/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java index 76c7f9fe..dc2fc073 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java @@ -229,7 +229,7 @@ public class GoodsServiceImpl implements GoodsService { isBuy = orderRepository.checkUserBuyFaceItem(userId, entity.getFaceId(), -1, entity.getTemplateId()); } if (!isBuy) { - PriceObj priceObj = orderBiz.queryPrice(video.getScenicId(), 0, videoId); + PriceObj priceObj = orderBiz.queryPrice(video.getScenicId(), userId, 0, videoId); if (priceObj.isFree()) { goodsDetailVO.setIsBuy(1); } else { diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java index c8003324..702e2423 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java @@ -757,7 +757,7 @@ public class OrderServiceImpl implements OrderService { order.setOpenId(member.getOpenId()); order.setScenicId(createOrderReqVO.getScenicId()); - PriceObj priceObj = orderBiz.queryPrice(order.getScenicId(), createOrderReqVO.getGoodsType(), createOrderReqVO.getGoodsId()); + PriceObj priceObj = orderBiz.queryPrice(order.getScenicId(), member.getId(), createOrderReqVO.getGoodsType(), createOrderReqVO.getGoodsId()); order.setSlashPrice(priceObj.getSlashPrice()); order.setPrice(priceObj.getPrice()); // 判断是否是本人数据