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("报单赠送更新提货列表 结束执行");
+ }
+
}