zoujiajian 2 жил өмнө
parent
commit
3b42492a4d

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/request/OrderPayRequest.java

@@ -114,4 +114,9 @@ public class OrderPayRequest {
      * 店铺id
      */
     private String customId;
+
+    /**
+     * 购买实物
+     */
+    private Boolean isPayReal;
 }

+ 24 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopAvailableGoodsView.java

@@ -0,0 +1,24 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: YhShopAvailableGoodsView
+ * 创建者: JavaZou
+ * 创建时间:2023/9/28 14:12
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop_goods_rate yr left join goods_don g on g.id = yr.goods_id",
+		where = "g.type = 1 and g.deleted is true and g.status is true :condition:")
+public class YhShopAvailableGoodsView {
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	private String title;
+}

+ 5 - 4
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -242,7 +242,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			//记录优惠券使用状态
 			couponUser = couponStatusRecord(payRequest.getCouponExCode(), payRequest.getCouponId(), payRequest.getUserId(), couponPopularizeDto);
 		}
-		GoodsDonSku sku = adjustGoodsDonSku(yhsId, payRequest.getSkuId());
+		GoodsDonSku sku = adjustGoodsDonSku(yhsId, payRequest.getIsPayReal(), payRequest.getSkuId());
 		GoodsDon goodsDon = goodsDonMapper.selectById(sku.getGoodsId());
 		if (goodsDon == null || !goodsDon.getStatus()) {
 			throw new BusinessRuntimeException("商品已下架");
@@ -696,7 +696,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		String customId = payRequest.getCustomId();
 		//若存在店铺id,校验店铺状态
 		Long yhsId = yhShopFrontService.checkShopCustomIdAndReturnShopId(customId);
-		GoodsDonSku sku = adjustGoodsDonSku(yhsId, renewSkuId);
+		GoodsDonSku sku = adjustGoodsDonSku(yhsId, false, renewSkuId);
 
 		GroupsRelation relation = groupsRelationMapper.selectById(relationId);
 		if (relation == null) {
@@ -2210,9 +2210,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		}
 	}
 
-	public GoodsDonSku adjustGoodsDonSku(Long yhsId, Long skuId) {
+	public GoodsDonSku adjustGoodsDonSku(Long yhsId, Boolean isPayReal, Long skuId) {
 		GoodsDonSku sku;
-		if (yhsId != null) {
+		isPayReal = Optional.ofNullable(isPayReal).orElse(false);
+		if (yhsId != null && !isPayReal) {
 			sku = yhShopGoodsSkuMapper.selectGoodsDonSkuBySkuIdAndYhsId(yhsId, skuId);
 		} else {
 			sku = goodsDonSkuMapper.selectById(skuId);

+ 14 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/shop/YhShopGoodsController.java

@@ -5,6 +5,7 @@ import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.model.entity.YhShopGoodsSku;
+import com.cyksj.model.views.YhShopAvailableGoodsView;
 import com.cyksj.model.views.YhShopGoodsRateView;
 import com.cyksj.model.views.YhShopGoodsView;
 import com.cyksj.service.shop.YhShopGoodsSkuService;
@@ -78,6 +79,19 @@ public class YhShopGoodsController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}
 
+	/**
+	 * 查询可选择的平台
+	 */
+	@GetMapping("/get/available/goods")
+	public Result<SearchResult<YhShopAvailableGoodsView>> getAvailableGoods(){
+		long userId = StpYhShopManageUser.getLoginIdAsLong();
+		SearchResult<YhShopAvailableGoodsView> search = beanSearcher.search(YhShopAvailableGoodsView.class, MapUtils.builder()
+				.put("condition", String.format("and (select count(*) from yh_shop_goods_sku where user_id = %s and goods_id = yr.goods_id) = 0", userId))
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+
 	/**
 	 * 查询平台
 	 */