## 提货赠送修改结构
This commit is contained in:
		
							parent
							
								
									bf140267ee
								
							
						
					
					
						commit
						cf0fb3caa5
					
				|  | @ -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; | ||||
| 
 | ||||
| /** | ||||
|  * <p> | ||||
|  *  前端控制器 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author bd | ||||
|  * @since 2025-10-16 | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/com.hzs.common.domain/ac-declaration-gift-detail") | ||||
| public class AcDeclarationGiftDetailController { | ||||
| 
 | ||||
| } | ||||
|  | @ -0,0 +1,16 @@ | |||
| package com.hzs.activity.declaration.mapper; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
| import com.hzs.activity.declaration.vo.AcDeclarationGiftDetail; | ||||
| 
 | ||||
| /** | ||||
|  * <p> | ||||
|  *  Mapper 接口 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author bd | ||||
|  * @since 2025-10-16 | ||||
|  */ | ||||
| public interface AcDeclarationGiftDetailMapper extends BaseMapper<AcDeclarationGiftDetail> { | ||||
| 
 | ||||
| } | ||||
|  | @ -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<AcDeclarationProductParam> acDeclarationProductParamList; | ||||
| 
 | ||||
|     /** | ||||
|      * 指定等级 | ||||
|      */ | ||||
|     private Integer specifyLevel; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -45,5 +45,4 @@ public class AcDeclarationParam { | |||
|      */ | ||||
|     private List<AcDeclarationConfigParam> acDeclarationConfigParams; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
|  | @ -0,0 +1,16 @@ | |||
| package com.hzs.activity.declaration.service; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.extension.service.IService; | ||||
| import com.hzs.activity.declaration.vo.AcDeclarationGiftDetail; | ||||
| 
 | ||||
| /** | ||||
|  * <p> | ||||
|  *  服务类 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author bd | ||||
|  * @since 2025-10-16 | ||||
|  */ | ||||
| public interface IAcDeclarationGiftDetailService extends IService<AcDeclarationGiftDetail> { | ||||
| 
 | ||||
| } | ||||
|  | @ -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<AcDeclaratio | |||
|     private IAcBaseConfigService baseConfigService; | ||||
| 
 | ||||
|     @Autowired | ||||
|     private IAcGoalMemberConfigService iAcGoalMemberConfigService; | ||||
|     private IAcDeclarationGiftDetailService iAcDeclarationGiftDetailService; | ||||
| 
 | ||||
|     @Override | ||||
|     public AjaxResult getDetail(Integer pkId) { | ||||
|  | @ -67,14 +74,20 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio | |||
|         List<AcDeclarationGiftConfig> list = baseMapper.selectList(new LambdaQueryWrapper<AcDeclarationGiftConfig>() | ||||
|                 .eq(AcDeclarationGiftConfig::getPkBaseId,pkId) | ||||
|                 .eq(AcDeclarationGiftConfig::getDelFlag,0)); | ||||
|         List<AcDeclarationConfigParam> collect = list.stream() | ||||
|                 .map(i -> BeanUtil.copyProperties(i, AcDeclarationConfigParam.class)) | ||||
|                 .collect(Collectors.toList()); | ||||
|         ArrayList<AcDeclarationConfigParam> acDeclarationConfigParams = new ArrayList<>(); | ||||
|         list.forEach(item->{ | ||||
|             AcDeclarationConfigParam acDeclarationConfigParam = BeanUtil.copyProperties(item, AcDeclarationConfigParam.class); | ||||
|             List<AcDeclarationGiftDetail> declarationGiftDetails = iAcDeclarationGiftDetailService.list(new LambdaQueryWrapper<AcDeclarationGiftDetail>() | ||||
|                     .eq(AcDeclarationGiftDetail::getPkRuleId, item.getPkId()) | ||||
|                     .eq(AcDeclarationGiftDetail::getDelFlag, 0)); | ||||
|             List<AcDeclarationProductParam> declarationConfigParams = declarationGiftDetails.stream() | ||||
|                     .map(i -> BeanUtil.copyProperties(i, AcDeclarationProductParam.class)) | ||||
|                     .collect(Collectors.toList()); | ||||
|             acDeclarationConfigParam.setAcDeclarationProductParamList(declarationConfigParams); | ||||
|             acDeclarationConfigParams.add(acDeclarationConfigParam); | ||||
|         }); | ||||
| 
 | ||||
|         List<AcGoalMemberConfig> goalMemberConfigList = iAcGoalMemberConfigService.list(new LambdaQueryWrapper<AcGoalMemberConfig>() | ||||
|                 .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<AcDeclaratio | |||
|     private void removeDeclarationConfig(Long pkId) { | ||||
|         // 删除活动基本配置 | ||||
|         baseConfigService.removeById(pkId); | ||||
|         // 删除加购活动配置 | ||||
|         // 删除报单赠送 | ||||
|         baseMapper.delete(new LambdaQueryWrapper<AcDeclarationGiftConfig>() | ||||
|                 .eq(AcDeclarationGiftConfig::getPkBaseId, pkId)); | ||||
|         // 删除报单赠送详情配置 | ||||
|         iAcDeclarationGiftDetailService.remove(new LambdaQueryWrapper<AcDeclarationGiftDetail>() | ||||
|                 .eq(AcDeclarationGiftDetail::getPkBaseId, pkId)); | ||||
|     } | ||||
| 
 | ||||
|     private void updateDeclarationConfig(ActivityParam activityParam, List<AcDeclarationConfigParam> acDeclarationConfigParams) { | ||||
|  | @ -151,6 +167,9 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio | |||
|             // 删除活动配置 | ||||
|             baseMapper.delete(new LambdaQueryWrapper<AcDeclarationGiftConfig>() | ||||
|                     .eq(AcDeclarationGiftConfig::getPkBaseId, pkId)); | ||||
|             // 删除活动详情配置 | ||||
|             iAcDeclarationGiftDetailService.remove(new LambdaQueryWrapper<AcDeclarationGiftDetail>() | ||||
|                     .eq(AcDeclarationGiftDetail::getPkBaseId, pkId)); | ||||
|             // 添加加购活动配置 | ||||
|             saveDeclarationConfig(acDeclarationConfigParams,baseConfig); | ||||
|         } | ||||
|  | @ -162,10 +181,6 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio | |||
|                 AcDeclarationGiftConfig build = AcDeclarationGiftConfig.builder() | ||||
|                         .pkBaseId(acBaseConfig.getPkId()) | ||||
|                         .registerAuthority(item.getRegisterAuthority()) | ||||
|                         .pkProduct(item.getPkProduct()) | ||||
|                         .specsName(item.getSpecsName()) | ||||
|                         .specsNameId(item.getSpecsNameId()) | ||||
|                         .quantity(item.getQuantity()) | ||||
|                         .specifyLevel(item.getSpecifyLevel()) | ||||
|                         .build(); | ||||
|                 build.setPkCountry(acBaseConfig.getPkCountry()); | ||||
|  | @ -173,6 +188,24 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio | |||
|                 build.setPkCreator(acBaseConfig.getPkCreator()); | ||||
|                 build.setDelFlag(0); | ||||
|                 baseMapper.insert(build); | ||||
|                 item.getAcDeclarationProductParamList().forEach(item1 -> { | ||||
|                     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); | ||||
|                     } | ||||
|                 }); | ||||
| 
 | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
| /** | ||||
|  * <p> | ||||
|  *  服务实现类 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author bd | ||||
|  * @since 2025-10-16 | ||||
|  */ | ||||
| @Service | ||||
| public class AcDeclarationGiftDetailServiceImpl extends ServiceImpl<AcDeclarationGiftDetailMapper, AcDeclarationGiftDetail> implements IAcDeclarationGiftDetailService { | ||||
| 
 | ||||
| } | ||||
|  | @ -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; | ||||
| 
 | ||||
|     /** | ||||
|      * 指定等级 | ||||
|      */ | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
| /** | ||||
|  * <p> | ||||
|  *  | ||||
|  * </p> | ||||
|  * | ||||
|  * @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; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
|  | @ -0,0 +1,32 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||||
| <mapper namespace="com.hzs.activity.declaration.mapper.AcDeclarationGiftDetailMapper"> | ||||
| 
 | ||||
|     <!-- 通用查询映射结果 --> | ||||
|     <resultMap id="BaseResultMap" type="com.hzs.activity.declaration.vo.AcDeclarationGiftDetail"> | ||||
|         <id column="PK_ID" property="pkId" /> | ||||
|     <result column="DEL_FLAG" property="delFlag" /> | ||||
|     <result column="CREATION_TIME" property="creationTime" /> | ||||
|     <result column="PK_CREATOR" property="pkCreator" /> | ||||
|     <result column="MODIFIED_TIME" property="modifiedTime" /> | ||||
|     <result column="PK_MODIFIED" property="pkModified" /> | ||||
|     <result column="PK_COUNTRY" property="pkCountry" /> | ||||
|         <result column="PK_RULE_ID" property="pkRuleId" /> | ||||
|         <result column="PK_PRODUCT" property="pkProduct" /> | ||||
|         <result column="SPECS_NAME" property="specsName" /> | ||||
|         <result column="SPECS_NAME_ID" property="specsNameId" /> | ||||
|         <result column="QUANTITY" property="quantity" /> | ||||
|     </resultMap> | ||||
| 
 | ||||
|     <!-- 通用查询结果列 --> | ||||
|     <sql id="Base_Column_List"> | ||||
|         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 | ||||
|     </sql> | ||||
| 
 | ||||
| </mapper> | ||||
		Loading…
	
		Reference in New Issue