Browse Source

fix 特定价格

zoujiajian 3 years ago
parent
commit
f4b82749ee

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuFrontView.java

@@ -3,6 +3,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 com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -102,5 +103,6 @@ public class GoodsDonSkuFrontView {
 	/**
 	 * 特定购买平台
 	 */
+	@JsonIgnore
 	private String specificGoodsIds;
 }

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonViews.java

@@ -122,6 +122,8 @@ public class GoodsDonViews {
      */
     private String recommendGoods;
 
+    private Boolean isSp;
+
     @DbIgnore
     private List<GoodsDonSkuFrontView> skuList;
 

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsFrontListView.java

@@ -6,6 +6,7 @@ import com.ejlchina.searcher.bean.DbField;
 import com.ejlchina.searcher.bean.DbIgnore;
 import com.ejlchina.searcher.bean.SearchBean;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -23,6 +24,7 @@ import java.util.List;
 @SearchBean(tables = "goods_don g",
 		where = "g.deleted is true and g.status is true and g.type = 1",
 		orderBy = "g.sort_by desc, g.id")
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class GoodsFrontListView {
 	@DbField("g.id")
 	private Long id;

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

@@ -302,7 +302,12 @@ public class GoodsDonController {
      * 获取商品详情
      */
     @GetMapping("/get/{id}")
-    public Result<GoodsDonViews> getDetail(@PathVariable Long id) {
+    public Result<GoodsDonViews> getDetail(@PathVariable Long id, Boolean isLogin) {
+        Long userId = null;
+        if (isLogin != null && isLogin) {
+            userId = StpUserUtil.getLoginIdAsLong();
+        }
+        final Long fUid = userId;
         GoodsDonViews views = beanSearcher.searchFirst(GoodsDonViews.class, MapUtils.builder().field(GoodsDonViews::getId, id).build());
 
         views.setSpecs(beanSearcher.searchFirst(GoodsDonSpecFrontView.class, MapUtils.builder().field(GoodsDonSpecFrontView::getGoodsId, views.getId()).build()));
@@ -318,6 +323,13 @@ public class GoodsDonController {
                         .field(GoodsDiscountPlusPurchaseRelationFrontView::getSkuId, sku.getId())
                         .build()));
             }
+            if (fUid != null && views.getIsSp()) {
+                //设置特定价格
+                if (!isPaySpecificGoodsIds(sku.getSpecificGoodsIds(), fUid)) {
+                    sku.setSpecificGoodsIds(null);
+                    sku.setSpecificPrice(null);
+                }
+            }
         });
         return GatewayResponse.SUCCESS.newBuilder().toResult(views);
     }

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -3,6 +3,7 @@ package com.cyksj.web.controller.group;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.lang.Assert;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.servlet.ServletUtil;
@@ -32,7 +33,6 @@ import com.cyksj.model.request.SpecialGoodsTicketReq;
 import com.cyksj.model.views.*;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.chatgpt.ChatGptAuthService;
-import com.cyksj.service.mail.MailService;
 import com.cyksj.service.mange.coupon.CouponCommonService;
 import com.cyksj.service.mange.ticket.TicketAdvertiseConfigClickRecordService;
 import com.cyksj.service.order.OrderDonService;