فهرست منبع

feat:同步转化归因

pudongliang 4 ماه پیش
والد
کامیت
11cd666299

+ 3 - 0
src/main/java/com/moka/gdtauto/mapper/TencentConversionMapper.java

@@ -3,6 +3,7 @@ package com.moka.gdtauto.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.moka.gdtauto.entity.TencentConversion;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -48,4 +49,6 @@ public interface TencentConversionMapper extends BaseMapper<TencentConversion> {
      * @return 时间段内数量
      */
     long selectPeriodCount(String startTime, String endTime);
+
+    void batchInsertOrUpdate(@Param("conversions") List<TencentConversion> conversions);
 }

+ 2 - 1
src/main/java/com/moka/gdtauto/service/impl/TencentConversionServiceImpl.java

@@ -27,6 +27,7 @@ import java.util.List;
 public class TencentConversionServiceImpl extends ServiceImpl<TencentConversionMapper, TencentConversion> implements TencentConversionService {
 
     private final TencentAdsApiClientFactory clientFactory;
+    private final TencentConversionMapper tencentConversionMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -72,7 +73,7 @@ public class TencentConversionServiceImpl extends ServiceImpl<TencentConversionM
                         }
                         
                         // 使用 saveOrUpdateBatch 批量保存或更新
-                        this.saveOrUpdateBatch(conversions);
+                        tencentConversionMapper.batchInsertOrUpdate(conversions);
                         syncCount += conversions.size();
                         
                         // 判断是否还有下一页

+ 11 - 0
src/main/resources/mapper/TencentConversionMapper.xml

@@ -60,4 +60,15 @@
         WHERE created_time BETWEEN #{startTime} AND #{endTime}
     </select>
 
+    <!-- 批量插入或更新转化归因 -->
+    <insert id="batchInsertOrUpdate">
+        INSERT INTO tencent_conversion (conversion_id, conversion_name)
+        VALUES
+        <foreach collection="conversions" item="c" separator=",">
+            (#{c.conversionId}, #{c.conversionName})
+        </foreach>
+        ON DUPLICATE KEY UPDATE
+            conversion_name = VALUES(conversion_name),
+            update_time = NOW()
+    </insert>
 </mapper>