ソースを参照

fix 推广最低规格价格、月份数返回

zoujiajian 3 年 前
コミット
fea9b546bc

+ 7 - 1
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonPopularizeView.java

@@ -73,9 +73,15 @@ public class GoodsDonPopularizeView {
 	/**
 	 * 最低规格价格
 	 */
-	@DbField("select ifnull(min(price),0) from goods_don_sku gdk where gdk.status is true and gdk.goods_id = g.id")
+	@DbIgnore
 	private BigDecimal price;
 
+	/**
+	 * 最低规格月份
+	 */
+	@DbIgnore
+	private Integer months;
+
 	/**
 	 * 已售
 	 */

+ 12 - 2
netflix-web/src/main/java/com/cyksj/web/controller/goods/GoodsDonController.java

@@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -90,8 +91,16 @@ public class GoodsDonController {
                 .build());
         DateTime now = DateTime.now();
         Integer randomNum = 2000;
-        List<GoodsDonPopularizeView> collect = search.getDataList().stream().filter(data -> data.getPrice().compareTo(BigDecimal.ZERO) > 0).collect(Collectors.toList());
-        collect.forEach(data -> {
+        search.getDataList().forEach(data -> {
+            GoodsDonSku goodsDonSku = goodsDonSkuMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSku.class)
+                    .eq(GoodsDonSku::getGoodsId, data.getId())
+                    .eq(GoodsDonSku::getStatus, true)
+                    .orderByAsc(GoodsDonSku::getPrice)
+                    .last("limit 1"));
+            Optional.ofNullable(goodsDonSku).ifPresent(sku -> {
+                data.setPrice(sku.getPrice());
+                data.setMonths(sku.getMonths());
+            });
             data.setSpecs(beanSearcher.searchFirst(GoodsDonSpec.class, MapUtils.builder().field(GoodsDonSpec::getGoodsId, data.getId()).build()));
             data.setSkuList(beanSearcher.searchAll(GoodsDonSku.class, MapUtils.builder().field(GoodsDonSku::getGoodsId, data.getId()).field(GoodsDonSku::getStatus, true).build()));
             if (data.getId() != 17) {
@@ -138,6 +147,7 @@ public class GoodsDonController {
             notifyMsg.append("前有人购买");
             data.setNotifyMsg(notifyMsg.toString());
         });
+        List<GoodsDonPopularizeView> collect = search.getDataList().stream().filter(data -> data.getPrice().compareTo(BigDecimal.ZERO) > 0).collect(Collectors.toList());
         search = new SearchResult<>(collect);
         search.setTotalCount(collect.size());
         return GatewayResponse.SUCCESS.newBuilder().toResult(search);