Ver Fonte

fix 百度回传过滤平台

zoujiajian há 2 anos atrás
pai
commit
ab3efbb4b8

+ 5 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -222,4 +222,9 @@ public interface Constant {
 	 * AI 车票额外座位数
 	 */
 	Integer AI_EXTRACT_NUM = 5;
+
+	/**
+	 * 百度回传 过滤平台
+	 */
+	String BAIDU_POST_FILTER_GOODS_KEY = "baidu_post_filter_goods_key";
 }

+ 30 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonPostServiceImpl.java

@@ -1,25 +1,40 @@
 package com.cyksj.service.order.impl;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.common.constant.Constant;
+import com.cyksj.common.util.Jsons;
+import com.cyksj.mapper.OrderDonMapper;
+import com.cyksj.mapper.SysConfigMapper;
 import com.cyksj.mapper.order.OrderDonPostMapper;
+import com.cyksj.model.entity.OrderDon;
 import com.cyksj.model.entity.OrderDonPost;
+import com.cyksj.model.entity.SysConfig;
 import com.cyksj.service.order.OrderDonPostService;
 import com.cyksj.service.order.post.AbstractPostDataService;
 import com.cyksj.service.order.post.PostDataFactory;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
+import java.util.List;
+
 /**
  * @author chan
  * @date 2023/5/16 11:05 AM
  */
 @Service
 @Slf4j
+@RequiredArgsConstructor
 public class OrderDonPostServiceImpl extends ServiceImpl<OrderDonPostMapper, OrderDonPost> implements OrderDonPostService {
 
+    private final OrderDonMapper orderDonMapper;
+
+    private final SysConfigMapper sysConfigMapper;
+
     @Override
     public void postData(Long orderId) throws Exception {
         OrderDonPost orderPost = this.getOne(Wrappers.lambdaQuery(OrderDonPost.class).eq(OrderDonPost::getOrderId, orderId).eq(OrderDonPost::getStatus, Boolean.FALSE));
@@ -27,6 +42,21 @@ public class OrderDonPostServiceImpl extends ServiceImpl<OrderDonPostMapper, Ord
             log.info("post 数据 不了存在 id:{}", orderId);
             return;
         }
+        if (orderPost.getType() == OrderDonPost.Type.BaiDu) {
+            SysConfig baiduFilterConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
+                    .eq(SysConfig::getSysKey, Constant.BAIDU_POST_FILTER_GOODS_KEY).last("limit 1"));
+            if (baiduFilterConfig != null) {
+                String sysValue = baiduFilterConfig.getSysValue();
+                if (StrUtil.isNotBlank(sysValue)) {
+                    List<Long> baiduFilterGoods = Jsons.parseList(sysValue, Long.class);
+                    OrderDon orderDon = orderDonMapper.selectById(orderId);
+                    if (baiduFilterGoods.contains(orderDon.getGoodsId())) {
+                        log.info("baidu 不回传该商品. 该订单商品id:{}", orderDon.getGoodsId());
+                        return;
+                    }
+                }
+            }
+        }
         post(orderId, orderPost);
     }