diff --git a/src/main/java/com/ycwl/basic/biz/PriceBiz.java b/src/main/java/com/ycwl/basic/biz/PriceBiz.java index 2b19451b..6aabab2d 100644 --- a/src/main/java/com/ycwl/basic/biz/PriceBiz.java +++ b/src/main/java/com/ycwl/basic/biz/PriceBiz.java @@ -1,6 +1,8 @@ package com.ycwl.basic.biz; import com.ycwl.basic.model.mobile.order.IsBuyBatchRespVO; +import com.ycwl.basic.model.mobile.order.IsBuyRespVO; +import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO; import com.ycwl.basic.model.pc.coupon.entity.CouponEntity; import com.ycwl.basic.model.pc.couponRecord.resp.CouponRecordQueryResp; import com.ycwl.basic.model.pc.face.entity.FaceEntity; @@ -15,14 +17,17 @@ import com.ycwl.basic.repository.FaceRepository; import com.ycwl.basic.repository.PriceRepository; import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.repository.TemplateRepository; +import com.ycwl.basic.service.pc.FaceService; import org.apache.commons.lang3.Strings; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; @Component @@ -38,6 +43,9 @@ public class PriceBiz { @Autowired private FaceRepository faceRepository; @Autowired + @Lazy + private FaceService faceService; + @Autowired private CouponBiz couponBiz; public List listGoodsByScenic(Long scenicId) { @@ -48,15 +56,16 @@ public class PriceBiz { GoodsListRespVO goods = new GoodsListRespVO(); goods.setGoodsId(template.getId()); goods.setGoodsName(template.getName()); + goods.setGoodsType(0); return goods; }).forEach(goodsList::add); ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); if (scenicConfig != null) { if (!Boolean.TRUE.equals(scenicConfig.getDisableSourceVideo())) { - goodsList.add(new GoodsListRespVO(1L, "录像集")); + goodsList.add(new GoodsListRespVO(1L, "录像集", 1)); } if (!Boolean.TRUE.equals(scenicConfig.getDisableSourceImage())) { - goodsList.add(new GoodsListRespVO(2L, "照片集")); + goodsList.add(new GoodsListRespVO(2L, "照片集", 2)); } } return goodsList; @@ -140,6 +149,14 @@ public class PriceBiz { respVO.setBuy(Integer.valueOf(1).equals(orderEntity.getStatus())); } } + if (type == -1 && !respVO.isBuy()) { + // 查找所有内容是否购买。 + List list = faceService.faceContentList(faceId); + boolean notBuy = list.stream().anyMatch(item -> Integer.valueOf(0).equals(item.getIsBuy())); + if (!notBuy) { + respVO.setBuy(true); + } + } respVO.setShare(false); if (face == null || !face.getMemberId().equals(userId)) { respVO.setShare(true); diff --git a/src/main/java/com/ycwl/basic/controller/pc/CouponController.java b/src/main/java/com/ycwl/basic/controller/pc/CouponController.java index 4603caf2..4d88410f 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/CouponController.java +++ b/src/main/java/com/ycwl/basic/controller/pc/CouponController.java @@ -25,7 +25,7 @@ public class CouponController { @GetMapping("/{scenicId}/goodsList") public ApiResponse> scenicGoodsList(@PathVariable Long scenicId) { List data = priceBiz.listGoodsByScenic(scenicId); - data.add(new GoodsListRespVO(-1L, "一口价")); + data.add(new GoodsListRespVO(-1L, "一口价", -1)); return ApiResponse.success(data); } diff --git a/src/main/java/com/ycwl/basic/model/pc/price/resp/GoodsListRespVO.java b/src/main/java/com/ycwl/basic/model/pc/price/resp/GoodsListRespVO.java index e07cec78..1f91ed46 100644 --- a/src/main/java/com/ycwl/basic/model/pc/price/resp/GoodsListRespVO.java +++ b/src/main/java/com/ycwl/basic/model/pc/price/resp/GoodsListRespVO.java @@ -10,4 +10,5 @@ import lombok.NoArgsConstructor; public class GoodsListRespVO { private Long goodsId; private String goodsName; + private Integer goodsType; }