zoujiajian 1 год назад
Родитель
Сommit
873ce15452

+ 34 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CpsGoodsDonDistributeView.java

@@ -0,0 +1,34 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: CpsGoodsDonDistributeView
+ * 创建者: JavaZou
+ * 创建时间:2024/9/9 14:21
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don g left join user_plat_distribute_rate upr on upr.goods_id = g.id :distribute_id:" +
+		" left join business_distribute_default_rate_config bddr on bddr.goods_id = g.id",
+		where = "g.type = 1 and g.deleted is true and g.status is true and g.is_distribute is true")
+public class CpsGoodsDonDistributeView {
+	@DbField("g.id")
+	private Long id;
+
+	@DbField("g.title")
+	private String title;
+
+	@DbField("g.type")
+	private Integer type;
+
+	@DbField("g.second_type")
+	private Integer secondType;
+
+	@DbField("ifnull(upr.rate,bddr.rate)")
+	private Integer rate;
+}

+ 8 - 23
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsPopularizeController.java

@@ -15,6 +15,7 @@ import com.cyksj.mapper.UserDistributePosterRecordMapper;
 import com.cyksj.mapper.manage.coupon.CouponDistributePopularizeMapper;
 import com.cyksj.mapper.manage.distribute.*;
 import com.cyksj.model.entity.*;
+import com.cyksj.model.views.CpsGoodsDonDistributeView;
 import com.cyksj.model.views.DistributePosterGoodsCpsView;
 import com.cyksj.model.views.UserDistributePopularizeView;
 import com.cyksj.model.views.UserDistributePosterOrderDetailView;
@@ -209,32 +210,16 @@ public class CpsPopularizeController {
 	 * 获取所有平台列表
 	 */
 	@GetMapping("/get/all/goods")
-	public Result<List<GoodsDon>> getAllGoodsList(Boolean isNoBuyout, Boolean isRate) {
+	public Result<List<CpsGoodsDonDistributeView>> getAllGoodsList(Boolean isNoBuyout, Boolean isRate) {
 		Long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
-		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)";
+		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		if (isRate != null && isRate) {
-			UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class)
-					.eq(UserDistribute::getUserId, cpsUserId)
-					.eq(UserDistribute::getDeleted, 1)
-					.last("limit 1"));
-			conditionSql += String.format("  and exists (select 1 from user_plat_distribute_rate upr where upr.distribute_id = %s and upr.goods_id = g.id and upr.rate > 0)", userDistribute.getId());
+			builder.field(CpsGoodsDonDistributeView::getRate, 0).op(Operator.GreaterThan);
 		}
-		List<GoodsDon> goodsDons = beanSearcher.searchAll(GoodsDon.class, mapBuilder
-				.put("condition", conditionSql)
-				.field(GoodsDon::getType, 1)
-				.field(GoodsDon::getStatus, 1)
-				.field(GoodsDon::getDeleted, true)
-				.onlySelect(GoodsDon::getId, GoodsDon::getCategory, GoodsDon::getType, GoodsDon::getTitle, GoodsDon::getSecondType).build());
-		return GatewayResponse.SUCCESS.newBuilder().toResult(goodsDons);
+		List<CpsGoodsDonDistributeView> list = beanSearcher.searchAll(CpsGoodsDonDistributeView.class, builder
+				.put("distribute_id", String.format("and distribute_id = (select id from user_distribute where user_id = %s and deleted is true limit 1)", cpsUserId))
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(list);
 	}
 
 	/**