Просмотр исходного кода

Merge branch 'subsidy_sku_func' into pre

zoujiajian 2 лет назад
Родитель
Сommit
0b0482415d

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

@@ -28,7 +28,7 @@ public class GoodsDonSkuSubsidyDetailView {
 	@DbField("gs.subsidy_id")
 	private Long subsidyId;
 
-	@DbField("gs.id")
+	@DbField("sku.id")
 	private Long id;
 
 	@DbField("sku.goods_id")

+ 14 - 1
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuSubsidyFrontView.java

@@ -1,6 +1,7 @@
 package com.cyksj.model.views;
 
 import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
 import com.ejlchina.searcher.bean.SearchBean;
 import lombok.Getter;
 import lombok.Setter;
@@ -41,6 +42,9 @@ public class GoodsDonSkuSubsidyFrontView {
 	@DbField("g.logo")
 	private String logo;
 
+	@DbIgnore
+	private Long skuId;
+
 	/**
 	 * 最低规格价格
 	 */
@@ -50,9 +54,18 @@ public class GoodsDonSkuSubsidyFrontView {
 	/**
 	 * 商品原价
 	 */
-	@DbField("select (select price from goods_don_sku where sku_id = ggs.sku_id limit 1) from goods_don_sku_subsidy ggs where ggs.goods_id = g.id and ggs.price = min(gs.price) and ggs.deleted is true limit 1")
+	@DbIgnore
 	private BigDecimal oriPrice;
 
+	@DbIgnore
+	private String picture;
+
+	@DbIgnore
+	private Integer months;
+
+	@DbIgnore
+	private Integer days;
+
 
 	/**
 	 * 已售

+ 10 - 1
netflix-web/src/main/java/com/cyksj/web/controller/goods/GoodsDonController.java

@@ -1145,7 +1145,16 @@ public class GoodsDonController {
 		Object o = redisService.get(key);
 		if (o == null) {
 			List<GoodsDonSkuSubsidyFrontView> subsidyList = beanSearcher.searchAll(GoodsDonSkuSubsidyFrontView.class, MapUtils.builder().build());
-			redisService.setNx(key, subsidyList, RedisService.key.YH_HOME_PAGHE_CACHE .getTimeout() + 60 * RandomUtil.randomInt(10));
+			subsidyList.forEach(e -> {
+				Optional.ofNullable(beanSearcher.searchFirst(GoodsDonSkuSubsidyDetailView.class, MapUtils.builder().field(GoodsDonSkuSubsidyDetailView::getGoodsId, e.getId()).field(GoodsDonSkuSubsidyDetailView::getPrice, e.getPrice()).build())).ifPresent(sku -> {
+					e.setOriPrice(sku.getOriPrice());
+					e.setMonths(sku.getMonths());
+					e.setDays(sku.getDays());
+					e.setSkuId(sku.getId());
+					e.setPicture(sku.getPicture());
+				});
+			});
+			redisService.setNx(key, subsidyList, RedisService.key.YH_HOME_PAGHE_CACHE.getTimeout() + 60 * RandomUtil.randomInt(10));
 			o = redisService.get(key);
 		}
 		List<GoodsDonSkuSubsidyFrontView> subsidyList = Jsons.parseList(o, GoodsDonSkuSubsidyFrontView.class);