zoujiajian 2 роки тому
батько
коміт
bb5b3f3bb4

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/views/DistributeGoodsGeneralRateView.java

@@ -0,0 +1,18 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: DistributeGoodsGeneralRateView
+ * 创建者: JavaZou
+ * 创建时间:2024/1/11 14:26
+ */
+@Getter
+@Setter
+public class DistributeGoodsGeneralRateView {
+	private Integer rate;
+
+	private String goodsInfo;
+}

+ 1 - 2
netflix-dao/src/main/java/com/cyksj/model/views/DistributePopularizeView.java

@@ -1,6 +1,5 @@
 package com.cyksj.model.views;
 
-import com.cyksj.model.entity.GoodsDon;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -68,5 +67,5 @@ public class DistributePopularizeView {
 	/**
 	 * 普通低分销比例
 	 */
-	private List<GoodsDon> generalDistributes;
+	private List<DistributeGoodsGeneralRateView> generalDistributes;
 }

+ 11 - 3
netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java

@@ -40,6 +40,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -274,15 +275,22 @@ public class DistributePopularizeController {
 	 */
 	@GetMapping("/get/general/distribute/detail")
 	public Result<DistributePopularizeView> getGeneralDistributeDetail() {
-		Long userId = StpUserUtil.getLoginIdAsLong();
-		List<GoodsDon> goodsDons = goodsDonMapper.selectList(Wrappers.lambdaQuery(GoodsDon.class).eq(GoodsDon::getDeleted, true).gt(GoodsDon::getRate, 0).orderByAsc(GoodsDon::getRate).select(GoodsDon::getRate, GoodsDon::getTitle));
+		List<GoodsDon> goodsDons = goodsDonMapper.selectList(Wrappers.lambdaQuery(GoodsDon.class).eq(GoodsDon::getDeleted, true).orderByAsc(GoodsDon::getRate).select(GoodsDon::getRate, GoodsDon::getTitle));
 		if (goodsDons.isEmpty()) {
 			return GatewayResponse.SUCCESS.newBuilder().toResult();
 		}
 		DistributePopularizeView distributePopularizeView = new DistributePopularizeView();
 		GoodsDon highestRateGoods = goodsDons.get(goodsDons.size() - 1);
 		distributePopularizeView.setHighestRate(highestRateGoods.getRate());
-		List<GoodsDon> generalDistributes = goodsDons.stream().filter(gd -> !gd.getRate().equals(highestRateGoods.getRate())).collect(Collectors.toList());
+		Map<Integer, List<GoodsDon>> rateMap = goodsDons.stream().filter(gd -> !gd.getRate().equals(highestRateGoods.getRate())).collect(Collectors.groupingBy(GoodsDon::getRate));
+		List<DistributeGoodsGeneralRateView> generalDistributes = new ArrayList<>();
+		rateMap.forEach((rate, v) -> {
+			DistributeGoodsGeneralRateView rateView = new DistributeGoodsGeneralRateView();
+			rateView.setRate(rate);
+			String goodsInfo = v.stream().map(GoodsDon::getTitle).collect(Collectors.joining("/"));
+			rateView.setGoodsInfo(goodsInfo);
+			generalDistributes.add(rateView);
+		});
 		distributePopularizeView.setGeneralDistributes(generalDistributes);
 		return GatewayResponse.SUCCESS.newBuilder().toResult(distributePopularizeView);
 	}