zoujiajian 2 жил өмнө
parent
commit
8607f863fe

+ 11 - 1
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -164,10 +164,15 @@ public interface Constant {
 	String CHANNEL_360_DISCOUNT = "channel_360_discount";
 
 	/**
-	 * 百度渠道 投放链接优惠下单 系统配置key
+	 * 百度链接免登录下单优惠 系统配置key
 	 */
 	String CHANNEL_BAIDU_DISCOUNT_KEY = "channel_baidu_discount_key";
 
+	/**
+	 * 抖音免登录下单优惠 key
+	 */
+	String CHANNEL_DY_DISCOUNT_KEY = "channel_dy_discount_key";
+
 	/**
 	 * GPT 平台账号重复
 	 */
@@ -284,4 +289,9 @@ public interface Constant {
 	 * GPT 镜像车队唯一账号
 	 */
 	String GPT_CAR_ONLY_ACCOUNT = "gptcaroo21213";
+
+	/**
+	 * 免登录渠道
+	 */
+	List<String> NO_SIGN_CHANNEL_NAMES = List.of("百度", "抖音");
 }

+ 10 - 0
netflix-dao/src/main/java/com/cyksj/model/views/ChannelPopularizeFrontView.java

@@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /*
@@ -71,6 +72,15 @@ public class ChannelPopularizeFrontView {
 	@JsonIgnore
 	private String couponIds;
 
+	/**
+	 * 是否免登录
+	 */
+	@DbIgnore
+	private Boolean isSign = false;
+
+	@DbIgnore
+	private BigDecimal discount;
+
 	@DbIgnore
 	private List<CouponTfPopularizeView> coupons;
 }

+ 32 - 1
netflix-web/src/main/java/com/cyksj/web/controller/channel/ChannelController.java

@@ -1,6 +1,9 @@
 package com.cyksj.web.controller.channel;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Jsons;
 import com.cyksj.dto.Result;
@@ -9,8 +12,11 @@ import com.cyksj.mapper.channel.ChannelPopularizeMapper;
 import com.cyksj.mapper.channel.ChannelPopularizeVisitMapper;
 import com.cyksj.mapper.channel.MoviesVisitRecordMapper;
 import com.cyksj.mapper.manage.coupon.CouponSkuMapper;
+import com.cyksj.mapper.sys.SysConfigMapper;
 import com.cyksj.model.entity.ChannelPopularizeVisit;
 import com.cyksj.model.entity.MoviesVisitRecord;
+import com.cyksj.model.entity.SysConfig;
+import com.cyksj.model.manage.dto.ChannelBaiDuDiscountDto;
 import com.cyksj.model.views.ChannelPopularizeFrontView;
 import com.cyksj.model.views.CouponTfPopularizeView;
 import com.cyksj.service.corp.CorpCustomerAcquistionService;
@@ -50,10 +56,12 @@ public class ChannelController {
 
     private final CorpCustomerAcquistionService corpCustomerAcquistionService;
 
+    private final SysConfigMapper sysConfigMapper;
+
 
 
     @GetMapping("/get/{id}")
-    public Result<ChannelPopularizeFrontView> getById(@PathVariable Long id, Boolean isLogin) {
+    public Result<ChannelPopularizeFrontView> getById(@PathVariable Long id) {
         ChannelPopularizeFrontView channelPopularize = beanSearcher.searchFirst(ChannelPopularizeFrontView.class, MapUtils.builder()
                 .put("id", String.format("id = %s", id))
                 .build());
@@ -79,6 +87,29 @@ public class ChannelController {
                 System.out.println(e.getMessage());
             }
         }
+        if (Constant.NO_SIGN_CHANNEL_NAMES.contains(channelPopularize.getChannelName())) {
+            String key;
+            if (StrUtil.equals(Constant.NO_SIGN_CHANNEL_NAMES.get(0), channelPopularize.getChannelName())) {
+                key = Constant.CHANNEL_BAIDU_DISCOUNT_KEY;
+            } else {
+                key = Constant.CHANNEL_DY_DISCOUNT_KEY;
+            }
+            SysConfig baiduConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
+                    .eq(SysConfig::getSysKey, key).last("limit 1"));
+            if (baiduConfig != null) {
+                String sysValue = baiduConfig.getSysValue();
+                if (StrUtil.isNotBlank(sysValue)) {
+                    try {
+                        ChannelBaiDuDiscountDto baiDuDiscountDto = Jsons.parseObject(sysValue, ChannelBaiDuDiscountDto.class);
+                        if (baiDuDiscountDto != null && CollUtil.isNotEmpty(baiDuDiscountDto.getPopularizeIds()) && baiDuDiscountDto.getPopularizeIds().contains(id)) {
+                            channelPopularize.setIsSign(true);
+                            channelPopularize.setDiscount(baiDuDiscountDto.getDiscount());
+                        }
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        }
         ChannelPopularizeVisit channelPopularizeVisit = new ChannelPopularizeVisit();
         channelPopularizeVisit.setPopularizeId(id);
         channelPopularizeVisitMapper.insert(channelPopularizeVisit);