diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppPuzzleController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppPuzzleController.java index 2319c95a..bc1ec823 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppPuzzleController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppPuzzleController.java @@ -205,26 +205,31 @@ public class AppPuzzleController { // 设置模板ID vo.setTemplateId(record.getTemplateId()); - IsBuyRespVO isBuyRespVO = orderBiz.isBuy(face.getScenicId(), face.getMemberId(), face.getId(), 5, record.getTemplateId()); - if (isBuyRespVO.isBuy()) { + IsBuyRespVO isBuyScenic = orderBiz.isBuy(face.getScenicId(), face.getMemberId(), face.getId(), 5, face.getScenicId()); + if (isBuyScenic.isBuy()) { vo.setIsBuy(1); } else { - vo.setIsBuy(0); - PriceCalculationRequest calculationRequest = new PriceCalculationRequest(); - ProductItem productItem = new ProductItem(); - productItem.setProductType(ProductType.PHOTO_LOG); - productItem.setProductId(record.getTemplateId().toString()); - productItem.setPurchaseCount(1); - productItem.setScenicId(face.getScenicId().toString()); - calculationRequest.setProducts(Collections.singletonList(productItem)); - calculationRequest.setUserId(face.getMemberId()); - calculationRequest.setFaceId(record.getFaceId()); - calculationRequest.setPreviewOnly(true); // 仅查询价格,不实际使用优惠 - PriceCalculationResult calculationResult = iPriceCalculationService.calculatePrice(calculationRequest); - if (calculationResult.getFinalAmount().compareTo(BigDecimal.ZERO) > 0) { - vo.setFreeCount(0); + IsBuyRespVO isBuyRespVO = orderBiz.isBuy(face.getScenicId(), face.getMemberId(), face.getId(), 5, record.getTemplateId()); + if (isBuyRespVO.isBuy()) { + vo.setIsBuy(1); } else { - vo.setFreeCount(1); + vo.setIsBuy(0); + PriceCalculationRequest calculationRequest = new PriceCalculationRequest(); + ProductItem productItem = new ProductItem(); + productItem.setProductType(ProductType.PHOTO_LOG); + productItem.setProductId(record.getTemplateId().toString()); + productItem.setPurchaseCount(1); + productItem.setScenicId(face.getScenicId().toString()); + calculationRequest.setProducts(Collections.singletonList(productItem)); + calculationRequest.setUserId(face.getMemberId()); + calculationRequest.setFaceId(record.getFaceId()); + calculationRequest.setPreviewOnly(true); // 仅查询价格,不实际使用优惠 + PriceCalculationResult calculationResult = iPriceCalculationService.calculatePrice(calculationRequest); + if (calculationResult.getFinalAmount().compareTo(BigDecimal.ZERO) > 0) { + vo.setFreeCount(0); + } else { + vo.setFreeCount(1); + } } } return vo; diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java index dc9920c4..47a2c607 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java @@ -502,11 +502,16 @@ public class FaceServiceImpl implements FaceService { sfpContent.setGoodsType(3); sfpContent.setSort(0); if (optionalRecord.isPresent()) { - IsBuyRespVO isBuyRespVO = orderBiz.isBuy(face.getScenicId(), face.getMemberId(), faceId, 5, optionalRecord.get().getTemplateId()); - if (isBuyRespVO.isBuy()) { + IsBuyRespVO isBuyScenic = orderBiz.isBuy(face.getScenicId(), face.getMemberId(), faceId, 5, face.getScenicId()); + if (isBuyScenic.isBuy()) { sfpContent.setIsBuy(1); } else { - sfpContent.setIsBuy(0); + IsBuyRespVO isBuyRespVO = orderBiz.isBuy(face.getScenicId(), face.getMemberId(), faceId, 5, optionalRecord.get().getTemplateId()); + if (isBuyRespVO.isBuy()) { + sfpContent.setIsBuy(1); + } else { + sfpContent.setIsBuy(0); + } } } PriceCalculationRequest calculationRequest = new PriceCalculationRequest();