## 提货赠送修改结构
This commit is contained in:
parent
1010be4ded
commit
7c417b98cd
|
@ -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))
|
||||
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