Przeglądaj źródła

获取所有平台以及规格

zoujiajian 2 lat temu
rodzic
commit
ce5b812e29

+ 42 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDetailView.java

@@ -0,0 +1,42 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.GoodsDonSku;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: GoodsDetailView
+ * 创建者: JavaZou
+ * 创建时间:2024/5/31 14:15
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don g", where = ":condition:")
+public class GoodsDetailView {
+	@DbField("g.id")
+	private Long id;
+
+	/**
+	 * 1.虚拟,2.实物,3.潮玩,4.租赁
+	 */
+	@DbField("g.type")
+	private Integer type;
+
+	@DbField("g.title")
+	private String title;
+
+	@DbField("g.status")
+	private Boolean status;
+
+	@DbField("g.deleted")
+	private Boolean deleted;
+
+	@DbIgnore
+	private List<GoodsDonSku> skuList;
+}

+ 36 - 0
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsPopularizeController.java

@@ -1,14 +1,18 @@
 package com.cyksj.web.controller.cps;
 
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.EnvCommonService;
 import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.mapper.manage.coupon.CouponDistributePopularizeMapper;
 import com.cyksj.model.entity.GoodsDon;
+import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.User;
 import com.cyksj.model.entity.UserDistributePopularize;
+import com.cyksj.model.views.GoodsDetailView;
 import com.cyksj.model.views.UserDistributePopularizeView;
 import com.cyksj.service.cps.CpsPopularizeService;
 import com.cyksj.service.user.UserService;
@@ -48,6 +52,8 @@ public class CpsPopularizeController {
 
 	private final UserService userService;
 
+	private final GoodsDonSkuMapper skuMapper;
+
 	/**
 	 * 渠道推广链接列表
 	 */
@@ -156,4 +162,34 @@ public class CpsPopularizeController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(cpsPopularizeService.getServiceCodeUrl(cpsUserId));
 	}
 
+	/**
+	 * 获取所有平台以及其规格
+	 */
+	@GetMapping("/get/all/goods")
+	public Result<List<GoodsDetailView>> getAllGoodsDetail(Boolean isNoBuyout) {
+		MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
+		//过滤买断制 平台
+		String conditionSql;
+		if (isNoBuyout != null && isNoBuyout) {
+			mapBuilder.field(GoodsDon::getSpecialType).op(Operator.IsNull);
+			conditionSql = "(select count(*) from goods_don_sku sku where sku.goods_id = g.id and sku.months = 300) = 0";
+		} else {
+			conditionSql = "(special_type is null or special_type != 'giftCard')";
+		}
+		conditionSql += "  and exists (select id from goods_don_sku sku where sku.goods_id = g.id limit 1)";
+
+		List<GoodsDetailView> goodsDons = beanSearcher.searchAll(GoodsDetailView.class, mapBuilder
+				.put("condition", conditionSql)
+				.field(GoodsDetailView::getType, 1)
+				.field(GoodsDetailView::getStatus, 1)
+				.field(GoodsDetailView::getDeleted, true).build());
+		goodsDons.forEach(e->{
+			List<GoodsDonSku> donSkus = skuMapper.selectList(Wrappers.lambdaQuery(GoodsDonSku.class)
+					.eq(GoodsDonSku::getGoodsId, e.getId())
+					.eq(GoodsDonSku::getStatus, 1));
+			e.setSkuList(donSkus);
+		});
+		return GatewayResponse.SUCCESS.newBuilder().toResult(goodsDons);
+	}
+
 }