From 19cb52a5063aed7ac40ac9e6c19d8375eb08bc20 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Thu, 16 Oct 2025 09:31:16 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E6=8F=90=E8=B4=A7=E8=B5=A0=E9=80=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AcDeclarationGiftDetailController.java | 20 +++++ .../mapper/AcDeclarationGiftDetailMapper.java | 16 ++++ .../param/AcDeclarationConfigParam.java | 23 +----- .../declaration/param/AcDeclarationParam.java | 1 - .../param/AcDeclarationProductParam.java | 31 ++++++++ .../IAcDeclarationGiftDetailService.java | 16 ++++ .../AcDeclarationGiftConfigServiceImpl.java | 59 +++++++++++---- .../AcDeclarationGiftDetailServiceImpl.java | 20 +++++ .../vo/AcDeclarationGiftConfig.java | 24 ------ .../vo/AcDeclarationGiftDetail.java | 74 +++++++++++++++++++ .../AcDeclarationGiftDetailMapper.xml | 32 ++++++++ 11 files changed, 259 insertions(+), 57 deletions(-) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/controller/manage/AcDeclarationGiftDetailController.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/mapper/AcDeclarationGiftDetailMapper.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/param/AcDeclarationProductParam.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/IAcDeclarationGiftDetailService.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/service/impl/AcDeclarationGiftDetailServiceImpl.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/declaration/vo/AcDeclarationGiftDetail.java create mode 100644 bd-business/bd-business-sale/src/main/resources/mapper/activity/declaration/AcDeclarationGiftDetailMapper.xml 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 + + +