zoujiajian hace 2 años
padre
commit
02eaae1f20

+ 2 - 6
netflix-dao/src/main/java/com/cyksj/model/views/DistributePosterGoodsFrontView.java

@@ -16,8 +16,7 @@ import java.math.BigDecimal;
 
 @Getter
 @Setter
-@SearchBean(tables = "distribute_poster_goods dp inner join goods_don g on g.id = dp.goods_id" +
-		" left join user_plat_distribute_rate ud on ud.goods_id = g.id :uid:",
+@SearchBean(tables = "distribute_poster_goods dp inner join goods_don g on g.id = dp.goods_id",
 		where = "g.status is true and g.deleted is true",
 		orderBy = "dp.update_time desc")
 public class DistributePosterGoodsFrontView {
@@ -39,15 +38,12 @@ public class DistributePosterGoodsFrontView {
 	@DbField("g.logo")
 	private String logo;
 
-	@DbField("ifnull(ud.rate,g.rate)")
+	@DbField("g.rate")
 	private Integer rate;
 
 	@DbField("g.is_sku_distribute")
 	private Boolean isSkuRate;
 
-	@DbField("ud.distribute_id")
-	private Long distributeId;
-
 	@DbField("g.min_price")
 	private BigDecimal price;
 }

+ 12 - 3
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -13,6 +13,7 @@ import com.cyksj.mapper.OrderDonMapper;
 import com.cyksj.mapper.manage.coupon.CouponUserMapper;
 import com.cyksj.mapper.manage.distribute.DistributeGeneralSkuRateMapper;
 import com.cyksj.mapper.manage.distribute.UserDistributeMapper;
+import com.cyksj.mapper.manage.distribute.UserPlatDistributeRateMapper;
 import com.cyksj.mapper.manage.distribute.UserPlatSkuDistributeRateMapper;
 import com.cyksj.model.dto.UserWhoami;
 import com.cyksj.model.entity.*;
@@ -80,6 +81,8 @@ public class UserController {
 
     private final UserPlatSkuDistributeRateMapper userPlatSkuDistributeRateMapper;
 
+    private final UserPlatDistributeRateMapper userPlatDistributeRateMapper;
+
     private final DistributeGeneralSkuRateMapper distributeGeneralSkuRateMapper;
 
     private final GoodsDonSkuMapper skuMapper;
@@ -450,11 +453,17 @@ public class UserController {
                 .eq(UserDistribute::getDeleted, 1)
                 .last("limit 1"));
         MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
-        if (userDistribute != null) {
-            builder.put("uid", String.format(" and ud.distribute_id = %s", userId));
-        }
         List<DistributePosterGoodsFrontView> searchAll = beanSearcher.searchAll(DistributePosterGoodsFrontView.class, builder.build());
         searchAll.forEach(e -> {
+            if (userDistribute != null) {
+                UserPlatDistributeRate userPlatDistributeRate = userPlatDistributeRateMapper.selectOne(Wrappers.lambdaQuery(UserPlatDistributeRate.class)
+                        .eq(UserPlatDistributeRate::getDistributeId, userDistribute.getId())
+                        .eq(UserPlatDistributeRate::getGoodsId, e.getGoodsId())
+                        .last("limit 1"));
+                if (userPlatDistributeRate != null) {
+                    e.setRate(userPlatDistributeRate.getRate());
+                }
+            }
             if (e.getIsSkuRate()) {
                 BigDecimal price = e.getPrice();
                 GoodsDonSku sku = skuMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSku.class)