diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/controller/manage/AcDeclarationGiftDetailController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/controller/manage/AcDeclarationGiftDetailController.java
new file mode 100644
index 00000000..af89e959
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/controller/manage/AcDeclarationGiftDetailController.java
@@ -0,0 +1,20 @@
+package com.hzs.activity.declaration.controller.manage;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author bd
+ * @since 2025-10-16
+ */
+@RestController
+@RequestMapping("/com.hzs.common.domain/ac-declaration-gift-detail")
+public class AcDeclarationGiftDetailController {
+
+}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftDetailMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftDetailMapper.java
new file mode 100644
index 00000000..08d85971
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftDetailMapper.java
@@ -0,0 +1,16 @@
+package com.hzs.activity.declaration.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.hzs.activity.declaration.vo.AcDeclarationGiftDetail;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author bd
+ * @since 2025-10-16
+ */
+public interface AcDeclarationGiftDetailMapper extends BaseMapper {
+
+}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationConfigParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationConfigParam.java
index 6d1c5644..0151182b 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationConfigParam.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationConfigParam.java
@@ -8,6 +8,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.List;
+
@Data
@AllArgsConstructor
@NoArgsConstructor
@@ -20,30 +22,13 @@ public class AcDeclarationConfigParam {
private Integer registerAuthority;
/**
- * 产品主键
+ * 产品信息
*/
- private Integer pkProduct;
-
- /**
- * 产品规格(逗号分隔)
- */
- private String specsName;
-
- /**
- * 产品规格id(逗号分隔)
- */
- private String specsNameId;
-
- /**
- * 数量
- */
- private Long quantity;
+ private List acDeclarationProductParamList;
/**
* 指定等级
*/
private Integer specifyLevel;
-
-
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationParam.java
index 17fe8734..c6fab2af 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationParam.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationParam.java
@@ -45,5 +45,4 @@ public class AcDeclarationParam {
*/
private List acDeclarationConfigParams;
-
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationProductParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationProductParam.java
new file mode 100644
index 00000000..61dc32a4
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationProductParam.java
@@ -0,0 +1,31 @@
+package com.hzs.activity.declaration.param;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AcDeclarationProductParam {
+ /**
+ * 产品主键
+ */
+ private Integer pkProduct;
+
+ /**
+ * 产品规格(逗号分隔)
+ */
+ private String specsName;
+
+ /**
+ * 产品规格id(逗号分隔)
+ */
+ private String specsNameId;
+
+ /**
+ * 数量
+ */
+ private Long quantity;
+}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftDetailService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftDetailService.java
new file mode 100644
index 00000000..4d22d7fa
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftDetailService.java
@@ -0,0 +1,16 @@
+package com.hzs.activity.declaration.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hzs.activity.declaration.vo.AcDeclarationGiftDetail;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author bd
+ * @since 2025-10-16
+ */
+public interface IAcDeclarationGiftDetailService extends IService {
+
+}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftConfigServiceImpl.java
index fdfc568d..277e7df0 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftConfigServiceImpl.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftConfigServiceImpl.java
@@ -15,13 +15,17 @@ import com.hzs.activity.declaration.mapper.AcDeclarationGiftConfigMapper;
import com.hzs.activity.declaration.param.AcDeclarationConfigParam;
import com.hzs.activity.declaration.param.AcDeclarationDetailParam;
import com.hzs.activity.declaration.param.AcDeclarationParam;
+import com.hzs.activity.declaration.param.AcDeclarationProductParam;
import com.hzs.activity.declaration.service.IAcDeclarationGiftConfigService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hzs.activity.declaration.service.IAcDeclarationGiftDetailService;
import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig;
+import com.hzs.activity.declaration.vo.AcDeclarationGiftDetail;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.enums.EActType;
import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.common.core.enums.EControlType;
+import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.activity.base.AcBaseConfig;
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
@@ -35,7 +39,10 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -57,7 +64,7 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl list = baseMapper.selectList(new LambdaQueryWrapper()
.eq(AcDeclarationGiftConfig::getPkBaseId,pkId)
.eq(AcDeclarationGiftConfig::getDelFlag,0));
- List collect = list.stream()
- .map(i -> BeanUtil.copyProperties(i, AcDeclarationConfigParam.class))
- .collect(Collectors.toList());
+ ArrayList acDeclarationConfigParams = new ArrayList<>();
+ list.forEach(item->{
+ AcDeclarationConfigParam acDeclarationConfigParam = BeanUtil.copyProperties(item, AcDeclarationConfigParam.class);
+ List declarationGiftDetails = iAcDeclarationGiftDetailService.list(new LambdaQueryWrapper()
+ .eq(AcDeclarationGiftDetail::getPkRuleId, item.getPkId())
+ .eq(AcDeclarationGiftDetail::getDelFlag, 0));
+ List declarationConfigParams = declarationGiftDetails.stream()
+ .map(i -> BeanUtil.copyProperties(i, AcDeclarationProductParam.class))
+ .collect(Collectors.toList());
+ acDeclarationConfigParam.setAcDeclarationProductParamList(declarationConfigParams);
+ acDeclarationConfigParams.add(acDeclarationConfigParam);
+ });
- List goalMemberConfigList = iAcGoalMemberConfigService.list(new LambdaQueryWrapper()
- .eq(AcGoalMemberConfig::getPkBaseId, baseConfig.getPkId()));
- activityParam.setAcDeclarationConfigParams(collect);
- activityParam.setGoalMemberConfigList(goalMemberConfigList);
+ activityParam.setAcDeclarationConfigParams(acDeclarationConfigParams);
activityParam.setPkBaseId(baseConfig.getPkId());
return AjaxResult.success(activityParam);
}
@@ -135,9 +148,12 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl()
.eq(AcDeclarationGiftConfig::getPkBaseId, pkId));
+ // 删除报单赠送详情配置
+ iAcDeclarationGiftDetailService.remove(new LambdaQueryWrapper()
+ .eq(AcDeclarationGiftDetail::getPkBaseId, pkId));
}
private void updateDeclarationConfig(ActivityParam activityParam, List acDeclarationConfigParams) {
@@ -151,6 +167,9 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl()
.eq(AcDeclarationGiftConfig::getPkBaseId, pkId));
+ // 删除活动详情配置
+ iAcDeclarationGiftDetailService.remove(new LambdaQueryWrapper()
+ .eq(AcDeclarationGiftDetail::getPkBaseId, pkId));
// 添加加购活动配置
saveDeclarationConfig(acDeclarationConfigParams,baseConfig);
}
@@ -162,10 +181,6 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl {
+ if (item1 != null) {
+ AcDeclarationGiftDetail acDeclarationGiftDetail = AcDeclarationGiftDetail.builder()
+ .pkBaseId(acBaseConfig.getPkId())
+ .pkRuleId(build.getPkId())
+ .pkProduct(item1.getPkProduct())
+ .specsName(item1.getSpecsName())
+ .specsNameId(item1.getSpecsNameId())
+ .quantity(item1.getQuantity())
+ .build();
+ acDeclarationGiftDetail.setPkCountry(acBaseConfig.getPkCountry());
+ acDeclarationGiftDetail.setCreationTime(acBaseConfig.getCreationTime());
+ acDeclarationGiftDetail.setPkCreator(acBaseConfig.getPkCreator());
+ acDeclarationGiftDetail.setDelFlag(0);
+ iAcDeclarationGiftDetailService.save(acDeclarationGiftDetail);
+ }
+ });
+
}
});
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftDetailServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftDetailServiceImpl.java
new file mode 100644
index 00000000..cc05eade
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftDetailServiceImpl.java
@@ -0,0 +1,20 @@
+package com.hzs.activity.declaration.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hzs.activity.declaration.mapper.AcDeclarationGiftDetailMapper;
+import com.hzs.activity.declaration.service.IAcDeclarationGiftDetailService;
+import com.hzs.activity.declaration.vo.AcDeclarationGiftDetail;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author bd
+ * @since 2025-10-16
+ */
+@Service
+public class AcDeclarationGiftDetailServiceImpl extends ServiceImpl implements IAcDeclarationGiftDetailService {
+
+}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftConfig.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftConfig.java
index 373005bd..4179be57 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftConfig.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftConfig.java
@@ -44,30 +44,6 @@ public class AcDeclarationGiftConfig extends BaseEntity {
@TableField("REGISTER_AUTHORITY")
private Integer registerAuthority;
- /**
- * 产品主键
- */
- @TableField("PK_PRODUCT")
- private Integer pkProduct;
-
- /**
- * 产品规格(逗号分隔)
- */
- @TableField("SPECS_NAME")
- private String specsName;
-
- /**
- * 产品规格id(逗号分隔)
- */
- @TableField("SPECS_NAME_ID")
- private String specsNameId;
-
- /**
- * 数量
- */
- @TableField("QUANTITY")
- private Long quantity;
-
/**
* 指定等级
*/
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftDetail.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftDetail.java
new file mode 100644
index 00000000..70bb7fa8
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftDetail.java
@@ -0,0 +1,74 @@
+package com.hzs.activity.declaration.vo;
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.hzs.common.core.web.domain.BaseEntity;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author bd
+ * @since 2025-10-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("AC_DECLARATION_GIFT_DETAIL")
+@KeySequence("AC_DECLARATION_GIFT_DETAIL_SEQ")
+@Builder
+public class AcDeclarationGiftDetail extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ @TableId("PK_ID")
+ private Long pkId;
+
+ /**
+ * 活动规则主键
+ */
+ @TableField("PK_RULE_ID")
+ private Long pkRuleId;
+
+ /**
+ * 活动基本规则主键
+ */
+ @TableField("PK_BASE_ID")
+ private Long pkBaseId;
+
+ /**
+ * 产品主键
+ */
+ @TableField("PK_PRODUCT")
+ private Integer pkProduct;
+
+ /**
+ * 产品规格(逗号分隔)
+ */
+ @TableField("SPECS_NAME")
+ private String specsName;
+
+ /**
+ * 产品规格id(逗号分隔)
+ */
+ @TableField("SPECS_NAME_ID")
+ private String specsNameId;
+
+ /**
+ * 数量
+ */
+ @TableField("QUANTITY")
+ private Long quantity;
+
+
+}
diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftDetailMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftDetailMapper.xml
new file mode 100644
index 00000000..4fb54a46
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftDetailMapper.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEL_FLAG,
+ CREATION_TIME,
+ PK_CREATOR,
+ MODIFIED_TIME,
+ PK_MODIFIED,
+ PK_COUNTRY,
+ PK_ID, PK_RULE_ID, PK_PRODUCT, SPECS_NAME, SPECS_NAME_ID, QUANTITY
+
+
+