瀏覽代碼

Merge branch 'distribute_func' into pre

zoujiajian 2 年之前
父節點
當前提交
51b67f844f

+ 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_distribute ud on ud.goods_id = g.id and ud.deleted is true :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.id")
-	private Long distributeId;
-
 	@DbField("g.min_price")
 	private BigDecimal price;
 }

+ 23 - 6
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -12,6 +12,8 @@ import com.cyksj.mapper.GoodsDonSkuMapper;
 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.*;
@@ -79,10 +81,14 @@ public class UserController {
 
     private final UserPlatSkuDistributeRateMapper userPlatSkuDistributeRateMapper;
 
+    private final UserPlatDistributeRateMapper userPlatDistributeRateMapper;
+
     private final DistributeGeneralSkuRateMapper distributeGeneralSkuRateMapper;
 
     private final GoodsDonSkuMapper skuMapper;
 
+    private final UserDistributeMapper userDistributeMapper;
+
     @GetMapping(value = "/wx/whoami")
     public Result<UserWhoami> whoami() {
         long userId = StpUserUtil.getLoginIdAsLong();
@@ -442,11 +448,22 @@ public class UserController {
     @GetMapping("/get/ds/poster/goods")
     public Result<List<DistributePosterGoodsFrontView>> getPosterGoods() {
         long userId = StpUserUtil.getLoginIdAsLong();
-        List<DistributePosterGoodsFrontView> searchAll = beanSearcher.searchAll(DistributePosterGoodsFrontView.class, MapUtils
-                .flatBuilder(request.getParameterMap())
-                .put("uid", String.format(" and ud.user_id = %s", userId))
-                .build());
+        UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class)
+                .eq(UserDistribute::getUserId, userId)
+                .eq(UserDistribute::getDeleted, 1)
+                .last("limit 1"));
+        MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
+        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)
@@ -454,9 +471,9 @@ public class UserController {
                         .eq(GoodsDonSku::getPrice, price)
                         .last("limit 1"));
                 if (sku != null) {
-                    if (e.getDistributeId() != null) {
+                    if (userDistribute != null) {
                         UserPlatSkuDistributeRate userPlatSkuDistributeRate = userPlatSkuDistributeRateMapper.selectOne(Wrappers.lambdaQuery(UserPlatSkuDistributeRate.class)
-                                .eq(UserPlatSkuDistributeRate::getDistributeId, e.getDistributeId())
+                                .eq(UserPlatSkuDistributeRate::getDistributeId, userDistribute.getId())
                                 .eq(UserPlatSkuDistributeRate::getGoodsId, e.getGoodsId())
                                 .eq(UserPlatSkuDistributeRate::getSkuId, sku.getId())
                                 .last("limit 1"));