diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/tourism/IAcTourismServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/tourism/IAcTourismServiceApi.java
index 10f9e7a8..fc695caa 100644
--- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/tourism/IAcTourismServiceApi.java
+++ b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/tourism/IAcTourismServiceApi.java
@@ -16,4 +16,11 @@ public interface IAcTourismServiceApi {
      */
     R> handleTourismData();
 
+
+    /**
+     * 报单赠送更新提货列表
+     * @return
+     */
+    R> handleDeclarationData();
+
 }
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftConfigMapper.java
index f86dcff4..89568ce5 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftConfigMapper.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftConfigMapper.java
@@ -2,6 +2,10 @@ package com.hzs.activity.declaration.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig;
+import com.hzs.common.domain.activity.pick.AcPick;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 
@@ -13,4 +17,7 @@ import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig;
  */
 public interface AcDeclarationGiftConfigMapper extends BaseMapper {
 
+    List selectAcPickSevenDay();
+
+    void updateOrInsertPick(@Param("pkCountry") Integer pkCountry);
 }
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftConfigService.java
index d5453662..03b76c4c 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftConfigService.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftConfigService.java
@@ -24,4 +24,7 @@ public interface IAcDeclarationGiftConfigService extends IService handleTourismData() {
         try {
@@ -32,4 +36,15 @@ public class AcTourismServiceProvider implements IAcTourismServiceApi {
         return R.fail();
     }
 
+    @Override
+    public R> handleDeclarationData() {
+        try {
+            iAcDeclarationGiftConfigService.handleDeclarationData();
+            return R.ok();
+        } catch (Exception e) {
+            log.error("旅游活动更新积分异常", e);
+        }
+        return R.fail();
+    }
+
 }
diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftConfigMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftConfigMapper.xml
index b1538475..1de3fced 100644
--- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftConfigMapper.xml
+++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftConfigMapper.xml
@@ -4,25 +4,26 @@
 
     
     
-        
-    
-    
-    
-    
-    
-    
-        
-        
-        
-        
-        
-        
-        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
     
 
     
     
-        DEL_FLAG,
+        DEL_FLAG
+        ,
         CREATION_TIME,
         PK_CREATOR,
         MODIFIED_TIME,
@@ -30,5 +31,120 @@
         PK_COUNTRY,
         PK_ID, PK_BASE_ID, REGISTER_AUTHORITY, PK_PRODUCT, SPECS_NAME, SPECS_NAME_ID, QUANTITY, LEVEL
     
+    
+        DECLARE
+        v_error_count NUMBER := 0;
+        BEGIN
+        BEGIN
+        MERGE INTO AC_PICK tgt USING (SELECT adgr.PK_ID         AS SRC_ID,
+                                             adgr.PK_MEMBER,
+                                             32                 AS PICK_TYPE,
+                                             adgc.PK_ID         AS PK_BASE_CONFIG,
+                                             adgr.PK_PRODUCT    AS PK_DATA_ID,
+                                             adgc.SPECS_NAME    AS SPECS_NAME,
+                                             adgc.SPECS_NAME_ID AS SPECS_NAME_ID,
+                                             adgr.QUANTITY      AS USABLE_QUANTITY,
+                                             bp.COVER           AS PICK_COVER,
+                                             0                  AS IS_FREE_MAIL,
+                                             0                  AS DEL_FLAG,
+                                             adgr.QUANTITY      AS BASE_QUANTITY,
+                                             adgr.PK_BASE_ID    AS PK_BASE_ID,
+                                             SYSDATE            AS CREATION_TIME,
+                                             adgr.PK_MEMBER     AS PK_CREATOR,
+                                             #{pkCountry}       AS PK_COUNTRY
+                                      FROM AC_DECLARATION_GIFT_RECORD adgr
+                                               LEFT JOIN AC_DECLARATION_GIFT_CONFIG adgc ON adgr.PK_RULE_ID = adgc.PK_ID
+                                               LEFT JOIN BD_PRODUCT bp ON adgr.PK_PRODUCT = bp.PK_ID
+                                               LEFT JOIN BD_PRODUCT_EXTEND bpe ON bp.PK_ID = bpe.PK_PRODUCT
+                                      WHERE TRUNC(adgr.CREATION_TIME) = TRUNC(SYSDATE) - 7
+                                         OR adgr.SYNC_STATUS = 2) src ON (
+            tgt.PICK_TYPE = src.PICK_TYPE
+                AND tgt.PK_BASE_CONFIG = src.PK_BASE_CONFIG
+                AND tgt.PK_DATA_ID = src.PK_DATA_ID
+                AND tgt.SPECS_NAME = src.SPECS_NAME
+                AND tgt.SPECS_NAME_ID = src.SPECS_NAME_ID
+                AND tgt.PK_BASE_ID = src.PK_BASE_ID
+            )
+            WHEN MATCHED THEN
+                UPDATE
+                    SET tgt.USABLE_QUANTITY = tgt.USABLE_QUANTITY + src.USABLE_QUANTITY,
+                        tgt.MODIFIED_TIME = SYSDATE,
+                        tgt.PK_MODIFIED = src.PK_CREATOR
+            WHEN NOT MATCHED THEN
+                INSERT (
+                        PK_ID,
+                        PK_MEMBER,
+                        PICK_TYPE,
+                        PK_BASE_CONFIG,
+                        PK_DATA_ID,
+                        SPECS_NAME,
+                        SPECS_NAME_ID,
+                        USABLE_QUANTITY,
+                        PICK_COVER,
+                        IS_FREE_MAIL,
+                        DEL_FLAG,
+                        BASE_QUANTITY,
+                        PK_BASE_ID,
+                        CREATION_TIME,
+                        PK_CREATOR,
+                        PK_COUNTRY
+                    )
+                    VALUES (AC_PICK_SEQ.NEXTVAL,
+                            src.PK_MEMBER,
+                            src.PICK_TYPE,
+                            src.PK_BASE_CONFIG,
+                            src.PK_DATA_ID,
+                            src.SPECS_NAME,
+                            src.SPECS_NAME_ID,
+                            src.USABLE_QUANTITY,
+                            src.PICK_COVER,
+                            src.IS_FREE_MAIL,
+                            src.DEL_FLAG,
+                            src.BASE_QUANTITY,
+                            src.PK_BASE_ID,
+                            src.CREATION_TIME,
+                            src.PK_CREATOR,
+                            src.PK_COUNTRY);
+        UPDATE AC_DECLARATION_GIFT_RECORD
+        SET SYNC_STATUS = 1
+        WHERE (TRUNC(CREATION_TIME) = TRUNC(SYSDATE) - 7 OR SYNC_STATUS = 2);
+        EXCEPTION
+    WHEN OTHERS THEN
+      v_error_count := SQL % ROWCOUNT;
+        UPDATE AC_DECLARATION_GIFT_RECORD
+        SET SYNC_STATUS = 2
+        WHERE (TRUNC(CREATION_TIME) = TRUNC(SYSDATE) - 7 OR SYNC_STATUS = 2);
+        END;
+        INSERT INTO AC_PICK_LOG (PK_ID, PK_PICK, PK_USER, QUANTITY, PK_COUNTRY)
+        SELECT AC_PICK_LOG_SEQ.NEXTVAL,
+               p.PK_ID,
+               p.PK_CREATOR,
+               p.USABLE_QUANTITY,
+               p.PK_COUNTRY
+        FROM AC_PICK p
+        WHERE TRUNC(p.CREATION_TIME) = TRUNC(SYSDATE)
+           OR TRUNC(p.MODIFIED_TIME) = TRUNC(SYSDATE);
+        COMMIT;
+        END;
+    
+    
 
 
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java
index 4c79f653..30ff2460 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java
@@ -35,6 +35,11 @@ public enum EPickType {
      */
     LOTTERY_DRAW(17, "抽奖"),
 
+    /**
+     * 关联 AC_DECLARATION_GIFT_CONFIG 表
+     */
+    DELCARATION_GIFT(32,"报单赠送")
+
     ;
 
     /**
diff --git a/bd-third/src/main/java/com/hzs/third/job/ActivityJob.java b/bd-third/src/main/java/com/hzs/third/job/ActivityJob.java
index 6662e880..a0699136 100644
--- a/bd-third/src/main/java/com/hzs/third/job/ActivityJob.java
+++ b/bd-third/src/main/java/com/hzs/third/job/ActivityJob.java
@@ -34,4 +34,19 @@ public class ActivityJob {
         log.info("旅游活动更新积分 结束执行");
     }
 
+    /**
+     * 报单赠送更新提货列表
+     */
+    @XxlJob("handleDeclarationData")
+    public void handleDeclarationData() {
+        log.info("报单赠送更新提货列表 开始执行");
+        R> resultR = iAcTourismServiceApi.handleDeclarationData();
+        if (resultR.isSuccess()) {
+            log.info("报单赠送更新提货列表 执行成功");
+        } else {
+            log.error("报单赠送更新提货列表 执行失败");
+        }
+        log.info("报单赠送更新提货列表 结束执行");
+    }
+
 }