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 f7a10b46..b1715a36 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 @@ -6,6 +6,7 @@ import com.ycwl.basic.integration.common.manager.ScenicConfigManager; import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO; import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity; import com.ycwl.basic.repository.MemberRelationRepository; +import com.ycwl.basic.repository.OrderRepository; import com.ycwl.basic.utils.JacksonUtil; import com.ycwl.basic.biz.CouponBiz; import com.ycwl.basic.biz.OrderBiz; @@ -106,6 +107,8 @@ public class GoodsServiceImpl implements GoodsService { private MemberRelationRepository memberRelationRepository; @Autowired private PrinterMapper printerMapper; + @Autowired + private OrderRepository orderRepository; @Override public List sourceGoodsList(GoodsReqQuery query) { @@ -220,31 +223,25 @@ public class GoodsServiceImpl implements GoodsService { goodsDetailVO.setShare(true); goodsDetailVO.setPrice("未登录"); } else { - MemberVideoEntity entity = videoMapper.queryUserVideo(userId, videoId); - if (entity == null) { - goodsDetailVO.setIsBuy(0); - goodsDetailVO.setShare(true); - goodsDetailVO.setPrice("未登录"); - } else { - goodsDetailVO.setShare(false); - goodsDetailVO.setFaceId(entity.getFaceId()); - goodsDetailVO.setIsBuy(entity.getIsBuy()); - if (Integer.valueOf(0).equals(entity.getIsBuy())) { - IsBuyRespVO buy = orderBiz.isBuy(videoRespVO.getScenicId(), userId, entity.getFaceId(), 0, videoId); - if (!buy.isBuy()) { - PriceObj priceObj = orderBiz.queryPrice(videoRespVO.getScenicId(), 0, videoId); - if (priceObj.isFree()) { - goodsDetailVO.setIsBuy(1); - } else { - goodsDetailVO.setIsBuy(0); - goodsDetailVO.setPrice(priceObj.getPrice().toString()); - goodsDetailVO.setOrigPrice(priceObj.getPrice()); - goodsDetailVO.setSlashPrice(priceObj.getSlashPrice()); - } - } else { - goodsDetailVO.setIsBuy(1); - } + VideoEntity entity = videoMapper.getEntity(videoId); + TaskEntity taskEntity = videoTaskRepository.getTaskById(entity.getTaskId()); + goodsDetailVO.setFaceId(taskEntity.getFaceId()); + boolean isBuy = orderRepository.checkUserBuyFaceItem(userId, taskEntity.getFaceId(), 0, videoId); + if (!isBuy) { + isBuy = orderRepository.checkUserBuyFaceItem(userId, taskEntity.getFaceId(), -1, taskEntity.getTemplateId()); + } + if (!isBuy) { + PriceObj priceObj = orderBiz.queryPrice(videoRespVO.getScenicId(), 0, videoId); + if (priceObj.isFree()) { + goodsDetailVO.setIsBuy(1); + } else { + goodsDetailVO.setIsBuy(0); + goodsDetailVO.setPrice(priceObj.getPrice().toString()); + goodsDetailVO.setOrigPrice(priceObj.getPrice()); + goodsDetailVO.setSlashPrice(priceObj.getSlashPrice()); } + } else { + goodsDetailVO.setIsBuy(1); } } TaskEntity task = videoTaskRepository.getTaskById(videoRespVO.getTaskId());