## 加购升级功能,报单赠送功能

This commit is contained in:
zhangheng 2025-10-13 16:41:01 +08:00
parent 110f14a4cf
commit e47bcf3233
19 changed files with 551 additions and 145 deletions

View File

@ -1,15 +1,13 @@
package com.hzs.activity.add.controller.manage; package com.hzs.activity.add.controller.manage;
import com.hzs.activity.add.controller.param.AcAddUpgradeListParam; import com.hzs.activity.add.param.AcAddUpgradeListParam;
import com.hzs.activity.add.controller.param.AcAddUpgradeParam; import com.hzs.activity.add.param.AcAddUpgradeParam;
import com.hzs.activity.add.service.IAcAddUpgradeConfigService; import com.hzs.activity.add.service.IAcAddUpgradeConfigService;
import com.hzs.activity.add.vo.AcAddUpgradeListVO; import com.hzs.activity.add.vo.AcAddUpgradeListVO;
import com.hzs.activity.base.param.QueryActivityParam; import com.hzs.activity.base.param.QueryActivityParam;
import com.hzs.activity.base.service.IActivityService; import com.hzs.activity.base.service.IActivityService;
import com.hzs.activity.base.vo.BaseConfigVo; import com.hzs.activity.base.vo.BaseConfigVo;
import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam;
import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO;
import com.hzs.common.core.annotation.Log; import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.enums.EActType; import com.hzs.common.core.enums.EActType;
import com.hzs.common.core.enums.EOperationBusiness; import com.hzs.common.core.enums.EOperationBusiness;

View File

@ -1,8 +1,8 @@
package com.hzs.activity.add.mapper; package com.hzs.activity.add.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.activity.add.controller.param.AcAddUpgradeListParam; import com.hzs.activity.add.param.AcAddUpgradeListParam;
import com.hzs.activity.add.controller.param.AcAddUpgradeRuleConfigParam; import com.hzs.activity.add.param.AcAddUpgradeRuleConfigParam;
import com.hzs.activity.add.vo.AcAddUpgradeConfig; import com.hzs.activity.add.vo.AcAddUpgradeConfig;
import com.hzs.activity.add.vo.AcAddUpgradeListVO; import com.hzs.activity.add.vo.AcAddUpgradeListVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;

View File

@ -1,6 +1,5 @@
package com.hzs.activity.add.controller.param; package com.hzs.activity.add.param;
import com.hzs.activity.base.param.WaresRuleConfigParam;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,20 +1,12 @@
package com.hzs.activity.add.controller.param; package com.hzs.activity.add.param;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.activity.base.param.AcDrawRuleConfigParam;
import com.hzs.activity.base.param.ConsumeRuleConfigParam;
import com.hzs.activity.base.param.WaresConfigParam;
import com.hzs.activity.draw.vo.AcDrawGiftRuleConfigVo;
import com.hzs.common.domain.activity.base.AcGoalMemberConfig; import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
import com.hzs.common.domain.activity.base.AcPickUpConfig;
import com.hzs.common.domain.activity.consume.ext.AcConsumeShieldConfigExt;
import com.hzs.common.domain.activity.consume.ext.AcMemberConsumeRuleExt;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package com.hzs.activity.add.controller.param; package com.hzs.activity.add.param;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;

View File

@ -1,16 +1,11 @@
package com.hzs.activity.add.controller.param; package com.hzs.activity.add.param;
import com.hzs.activity.base.param.ActivityParam; import com.hzs.activity.base.param.ActivityParam;
import com.hzs.activity.recommend.vo.AcRecommendSharVO;
import com.hzs.activity.recommend.vo.AcRecommendUpgradeVO;
import com.hzs.activity.recommend.vo.AcRepurchaseCouponsShowVO;
import com.hzs.common.core.web.domain.BaseApprovalEntity;
import com.hzs.common.domain.activity.base.AcBaseAuthority; import com.hzs.common.domain.activity.base.AcBaseAuthority;
import com.hzs.system.sys.dto.LoginUser; import com.hzs.system.sys.dto.LoginUser;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;

View File

@ -1,4 +1,4 @@
package com.hzs.activity.add.controller.param; package com.hzs.activity.add.param;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;

View File

@ -1,8 +1,8 @@
package com.hzs.activity.add.service; package com.hzs.activity.add.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.add.controller.param.AcAddUpgradeListParam; import com.hzs.activity.add.param.AcAddUpgradeListParam;
import com.hzs.activity.add.controller.param.AcAddUpgradeParam; import com.hzs.activity.add.param.AcAddUpgradeParam;
import com.hzs.activity.add.vo.AcAddUpgradeConfig; import com.hzs.activity.add.vo.AcAddUpgradeConfig;
import com.hzs.activity.add.vo.AcAddUpgradeListVO; import com.hzs.activity.add.vo.AcAddUpgradeListVO;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;

View File

@ -3,8 +3,8 @@ package com.hzs.activity.add.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.activity.add.controller.param.*;
import com.hzs.activity.add.mapper.AcAddUpgradeConfigMapper; import com.hzs.activity.add.mapper.AcAddUpgradeConfigMapper;
import com.hzs.activity.add.param.*;
import com.hzs.activity.add.service.IAcAddUpgradeConfigService; import com.hzs.activity.add.service.IAcAddUpgradeConfigService;
import com.hzs.activity.add.vo.AcAddUpgradeConfig; import com.hzs.activity.add.vo.AcAddUpgradeConfig;
import com.hzs.activity.add.vo.AcAddUpgradeListVO; import com.hzs.activity.add.vo.AcAddUpgradeListVO;
@ -12,27 +12,20 @@ import com.hzs.activity.base.param.ActivityParam;
import com.hzs.activity.base.service.IAcBaseConfigService; import com.hzs.activity.base.service.IAcBaseConfigService;
import com.hzs.activity.base.service.IAcGoalMemberConfigService; import com.hzs.activity.base.service.IAcGoalMemberConfigService;
import com.hzs.activity.base.service.IActivityService; import com.hzs.activity.base.service.IActivityService;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.enums.EActType; import com.hzs.common.core.enums.EActType;
import com.hzs.common.core.enums.EApprovalBusiness; import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.common.core.enums.EAwardsLevel;
import com.hzs.common.core.enums.EControlType; import com.hzs.common.core.enums.EControlType;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.activity.base.AcBaseConfig; import com.hzs.common.domain.activity.base.AcBaseConfig;
import com.hzs.common.domain.activity.base.AcGoalMemberConfig; import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
import com.hzs.common.domain.activity.wares.AcWaresRuleConfig;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.sale.wares.service.IBdWaresAwardsService;
import com.hzs.system.sys.dto.LoginUser; import com.hzs.system.sys.dto.LoginUser;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.security.auth.callback.Callback;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>

View File

@ -48,27 +48,27 @@ public class BaseConfigVo implements Serializable {
/** /**
* 活动开始时间 * 活动开始时间
*/ */
@Excel(name = "开始日期", dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "开始日期", dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
private Date actStartDate; private Date actStartDate;
/** /**
* 活动结束时间 * 活动结束时间
*/ */
@Excel(name = "结束日期", dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "结束日期", dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
private Date actEndDate; private Date actEndDate;
/** /**
* 显示开始时间 * 显示开始时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
private Date disStartDate; private Date disStartDate;
/** /**
* 显示结束时间 * 显示结束时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
private Date disEndDate; private Date disEndDate;
/** /**
@ -93,8 +93,8 @@ public class BaseConfigVo implements Serializable {
/** /**
* 创建时间 * 创建时间
*/ */
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
private Date creationTime; private Date creationTime;
/** /**
* 目标群体配置列表 * 目标群体配置列表

View File

@ -1,100 +1,96 @@
//package com.hzs.activity.declaration.controller.manage; package com.hzs.activity.declaration.controller.manage;
//
//
//import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; import com.hzs.activity.base.param.QueryActivityParam;
//import com.hzs.activity.add.controller.param.AcAddUpgradeListParam; import com.hzs.activity.base.service.IActivityService;
//import com.hzs.activity.add.controller.param.AcAddUpgradeParam; import com.hzs.activity.base.vo.BaseConfigVo;
//import com.hzs.activity.add.vo.AcAddUpgradeListVO; import com.hzs.activity.declaration.param.AcDeclarationParam;
//import com.hzs.activity.base.param.QueryActivityParam; import com.hzs.activity.declaration.service.IAcDeclarationGiftConfigService;
//import com.hzs.activity.base.service.IActivityService; import com.hzs.common.core.annotation.Log;
//import com.hzs.activity.base.vo.BaseConfigVo; import com.hzs.common.core.enums.EActType;
//import com.hzs.activity.declaration.service.IAcDeclarationGiftConfigService; import com.hzs.common.core.enums.EOperationBusiness;
//import com.hzs.common.core.annotation.Log; import com.hzs.common.core.enums.EOperationMethod;
//import com.hzs.common.core.enums.EActType; import com.hzs.common.core.enums.EOperationModule;
//import com.hzs.common.core.enums.EOperationBusiness; import com.hzs.common.core.utils.poi.ExcelUtil;
//import com.hzs.common.core.enums.EOperationMethod; import com.hzs.common.core.web.controller.BaseController;
//import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.web.domain.AjaxResult;
//import com.hzs.common.core.utils.poi.ExcelUtil; import com.hzs.common.security.service.UserTokenService;
//import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.security.utils.SecurityUtils;
//import com.hzs.common.core.web.domain.AjaxResult; import org.springframework.beans.factory.annotation.Autowired;
//import com.hzs.common.core.web.page.TableDataInfo; import org.springframework.web.bind.annotation.*;
//import com.hzs.common.security.service.UserTokenService;
//import com.hzs.common.security.utils.SecurityUtils; import javax.servlet.http.HttpServletResponse;
//import org.springframework.beans.factory.annotation.Autowired; import java.util.List;
//import org.springframework.web.bind.annotation.*;
// /**
//import javax.servlet.http.HttpServletResponse; * <p>
//import java.util.List; * 前端控制器
// * </p>
///** *
// * <p> * @author bd
// * 前端控制器 * @since 2025-10-13
// * </p> */
// * @RestController
// * @author bd @RequestMapping("/manage/acDeclarationConfig")
// * @since 2025-10-13 public class AcDeclarationGiftConfigController extends BaseController {
// */
//@RestController @Autowired
//@RequestMapping("/manage/acDeclarationConfig") private UserTokenService userTokenService;
//public class AcDeclarationGiftConfigController extends BaseController {
// @Autowired
// @Autowired private IActivityService iActivityService;
// private UserTokenService userTokenService;
// @Autowired
// @Autowired private IAcDeclarationGiftConfigService iAcDeclarationGiftConfigService;
// private IActivityService iActivityService; /**
// *
// @Autowired * 报单赠送活动操作
// private IAcDeclarationGiftConfigService iAcDeclarationGiftConfigService; * @param acDeclarationParam 报单赠送活动
// /** * @return AjaxResult
// * */
// * 报单赠送活动操作 @Log(module = EOperationModule.AC_DECLARATION_GIFT_SUBMIT, business = EOperationBusiness.AC_DECLARATION_GIFT_SUBMIT, method = EOperationMethod.INSERT, remark = "加购活动")
// * @param acAddUpgradeParam 报单赠送活动 @PostMapping("/submit")
// * @return AjaxResult public AjaxResult onLinePetition(@RequestBody AcDeclarationParam acDeclarationParam) {
// */ acDeclarationParam.setPkCountry(SecurityUtils.getPkCountry());
// @Log(module = EOperationModule.AC_DECLARATION_GIFT_SUBMIT, business = EOperationBusiness.AC_DECLARATION_GIFT_SUBMIT, method = EOperationMethod.INSERT, remark = "加购活动") acDeclarationParam.setPkMember(SecurityUtils.getUserId());
// @PostMapping("/submit") acDeclarationParam.setLoginUser(userTokenService.getLoginUser());
// public AjaxResult onLinePetition(@RequestBody AcAddUpgradeParam acAddUpgradeParam) { String str = iAcDeclarationGiftConfigService.onLinePetition(acDeclarationParam);
// acAddUpgradeParam.setPkCountry(SecurityUtils.getPkCountry()); if (str != null) {
// acAddUpgradeParam.setPkMember(SecurityUtils.getUserId()); return AjaxResult.error(str);
// acAddUpgradeParam.setLoginUser(userTokenService.getLoginUser()); }
// String str = iAcDeclarationGiftConfigService.onLinePetition(acAddUpgradeParam); return AjaxResult.success();
// if (str != null) { }
// return AjaxResult.error(str);
// } /**
// return AjaxResult.success(); * 报单赠送活动详情
// } *
// * @param pkId 报单赠送活动详情
// /** * @return AjaxResult
// * 报单赠送活动详情 */
// * @Log(module = EOperationModule.AC_DECLARATION_GIFT_DETAIL, business = EOperationBusiness.AC_DECLARATION_GIFT_DETAIL, method = EOperationMethod.SELECT, remark = "加购升级详情")
// * @param pkId 报单赠送活动详情 @GetMapping("/get-detail")
// * @return AjaxResult public AjaxResult getDetail(Integer pkId) {
// */ return iAcDeclarationGiftConfigService.getDetail(pkId);
// @Log(module = EOperationModule.AC_DECLARATION_GIFT_DETAIL, business = EOperationBusiness.AC_DECLARATION_GIFT_DETAIL, method = EOperationMethod.SELECT, remark = "加购升级详情") }
// @GetMapping("/get-detail")
// public AjaxResult getDetail(Integer pkId) { /**
// return iAcDeclarationGiftConfigService.getDetail(pkId); * 报单赠送导出
// } */
// @Log(module = EOperationModule.AC_DECLARATION_GIFT_EXPORT, business = EOperationBusiness.AC_DECLARATION_GIFT_DETAIL, method = EOperationMethod.EXPORT, remark = "加购升级导出")
// /** @PostMapping("/export")
// * 报单赠送导出 public void export(QueryActivityParam queryActivityParam, HttpServletResponse response) {
// */ queryActivityParam.setActType(EActType.DECLARATION_GIFT.getValue());
// @Log(module = EOperationModule.AC_DECLARATION_GIFT_EXPORT, business = EOperationBusiness.AC_DECLARATION_GIFT_DETAIL, method = EOperationMethod.EXPORT, remark = "加购升级导出") queryActivityParam.setPkCountry(SecurityUtils.getPkCountry());
// @PostMapping("/export") List<BaseConfigVo> resultList = iActivityService.activityList(queryActivityParam);
// public void export(QueryActivityParam queryActivityParam, HttpServletResponse response) { ExcelUtil<BaseConfigVo> util = new ExcelUtil<>(BaseConfigVo.class);
// queryActivityParam.setActType(EActType.DECLARATION_GIFT.getValue()); util.exportExcel(response, resultList, "报单赠送导出");
// queryActivityParam.setPkCountry(SecurityUtils.getPkCountry()); }
// List<BaseConfigVo> resultList = iActivityService.activityList(queryActivityParam);
// ExcelUtil<BaseConfigVo> util = new ExcelUtil<>(BaseConfigVo.class); /**
// util.exportExcel(response, resultList, "报单赠送导出"); *
// } * @param param
// * @return
// /** */
// *
// * @param param
// * @return
// */
// @Log(module = EOperationModule.AC_DECLARATION_GIFT_LIST, business = EOperationBusiness.AC_DECLARATION_GIFT_LIST, method = EOperationMethod.SELECT) // @Log(module = EOperationModule.AC_DECLARATION_GIFT_LIST, business = EOperationBusiness.AC_DECLARATION_GIFT_LIST, method = EOperationMethod.SELECT)
// @GetMapping("/list") // @GetMapping("/list")
// public TableDataInfo directPushUpgradeList(AcAddUpgradeListParam param) { // public TableDataInfo directPushUpgradeList(AcAddUpgradeListParam param) {
@ -110,4 +106,4 @@
// ExcelUtil<AcAddUpgradeListVO> util = new ExcelUtil<>(AcAddUpgradeListVO.class); // ExcelUtil<AcAddUpgradeListVO> util = new ExcelUtil<>(AcAddUpgradeListVO.class);
// util.exportExcel(response, list, "加购升级数据导出"); // util.exportExcel(response, list, "加购升级数据导出");
// } // }
//} }

View File

@ -0,0 +1,49 @@
package com.hzs.activity.declaration.param;
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AcDeclarationConfigParam {
/**
* 报单等级
*/
private Integer registerAuthority;
/**
* 产品主键
*/
private Integer pkProduct;
/**
* 产品规格逗号分隔
*/
private String specsName;
/**
* 产品规格id逗号分隔
*/
private String specsNameId;
/**
* 数量
*/
private Long quantity;
/**
* 指定等级
*/
private Integer level;
}

View File

@ -0,0 +1,125 @@
package com.hzs.activity.declaration.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.activity.add.param.AcAddUpgradeConfigParam;
import com.hzs.common.domain.activity.base.AcBaseConfig;
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AcDeclarationDetailParam implements Serializable {
private static final long serialVersionUID = 5874438017657659289L;
/**
* 活动主键
*/
private Long pkId;
/**
* 基础主键
*/
private Long pkBaseId;
/**
* 业务单号
*/
private String businessCode;
/**
* 活动名称
*/
private String actName;
/**
* 活动类型
*/
private Integer actType;
/**
* 活动说明
*/
private String actExplain;
/**
* 活动开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date actStartDate;
/**
* 活动结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date actEndDate;
/**
* 显示开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date disStartDate;
/**
* 显示结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date disEndDate;
/**
* 活动封面图
*/
private String actCover;
/**
* 国家
*/
private Integer pkCountry;
/**
* 会员ID
*/
private Long pkCreator;
/**
* 活动模块
*/
private List<Integer> atcModuleList;
/**
* 活动模块
*/
private Integer atcModule;
/**
* 报单赠送参数
*/
private List<AcDeclarationConfigParam> acDeclarationConfigParams;
/**
* 目标群体配置列表
*/
private List<AcGoalMemberConfig> goalMemberConfigList;
/**
* 是否强制弹框 0 1
*/
private Integer isStrongAlert;
/**
* 提货天数
*/
private Integer deliveryDays;
/**
* 时间参数
*/
private String startDate;
}

View File

@ -0,0 +1,58 @@
package com.hzs.activity.declaration.param;
import com.hzs.activity.base.param.ActivityParam;
import com.hzs.common.domain.activity.base.AcBaseAuthority;
import com.hzs.system.sys.dto.LoginUser;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AcDeclarationParam {
/**
* 活动基本配置主键
*/
private Long pkBaseId;
/**
* 操作类型1=新增,2=修改,3=删除
*/
private Integer controlType;
/**
* 国家
*/
private Integer pkCountry;
/**
* 会员ID
*/
private Long pkMember;
/**
* 登录用户信息
*/
private LoginUser loginUser;
/**
* 基本信息
*/
private ActivityParam activityParam;
/**
* 加购升级信息
*/
private List<AcDeclarationConfigParam> acDeclarationConfigParams;
/**
* 权限配置列表
*/
private List<AcBaseAuthority> authorityList;
}

View File

@ -1,7 +1,10 @@
package com.hzs.activity.declaration.service; package com.hzs.activity.declaration.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.add.param.AcAddUpgradeParam;
import com.hzs.activity.declaration.param.AcDeclarationParam;
import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig; import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig;
import com.hzs.common.core.web.domain.AjaxResult;
/** /**
* <p> * <p>
@ -13,4 +16,8 @@ import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig;
*/ */
public interface IAcDeclarationGiftConfigService extends IService<AcDeclarationGiftConfig> { public interface IAcDeclarationGiftConfigService extends IService<AcDeclarationGiftConfig> {
String onLinePetition(AcDeclarationParam acDeclarationParam);
AjaxResult getDetail(Integer pkId);
} }

View File

@ -1,10 +1,40 @@
package com.hzs.activity.declaration.service.impl; package com.hzs.activity.declaration.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.hzs.activity.add.param.AcAddUpgradeConfigParam;
import com.hzs.activity.add.param.AcAddUpgradeDetailParam;
import com.hzs.activity.add.param.AcAddUpgradeRuleConfigParam;
import com.hzs.activity.add.vo.AcAddUpgradeConfig;
import com.hzs.activity.base.param.ActivityParam;
import com.hzs.activity.base.service.IAcBaseConfigService;
import com.hzs.activity.base.service.IAcGoalMemberConfigService;
import com.hzs.activity.base.service.IActivityService;
import com.hzs.activity.declaration.mapper.AcDeclarationGiftConfigMapper; 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.service.IAcDeclarationGiftConfigService; import com.hzs.activity.declaration.service.IAcDeclarationGiftConfigService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig; import com.hzs.activity.declaration.vo.AcDeclarationGiftConfig;
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.web.domain.AjaxResult;
import com.hzs.common.domain.activity.base.AcBaseConfig;
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.sys.dto.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
@ -15,6 +45,138 @@ import org.springframework.stereotype.Service;
* @since 2025-10-13 * @since 2025-10-13
*/ */
@Service @Service
@Slf4j
public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclarationGiftConfigMapper, AcDeclarationGiftConfig> implements IAcDeclarationGiftConfigService { public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclarationGiftConfigMapper, AcDeclarationGiftConfig> implements IAcDeclarationGiftConfigService {
@Autowired
private IActivityService iActivityService;
@Autowired
private IAcBaseConfigService baseConfigService;
@Autowired
private IAcGoalMemberConfigService iAcGoalMemberConfigService;
@Override
@Transactional(rollbackFor = Exception.class)
public String onLinePetition(AcDeclarationParam acDeclarationParam) {
log.info("加购升级入参{}", acDeclarationParam);
EApprovalBusiness approvalBusiness = null;
if (acDeclarationParam.getControlType() == EControlType.SAVE.getValue()) {
approvalBusiness = EApprovalBusiness.AC_DECLARATION_GIFT_ADD;
} else if (acDeclarationParam.getControlType() == EControlType.MODIFY.getValue()) {
approvalBusiness = EApprovalBusiness.AC_DECLARATION_GIFT_UPDATE;
} else if (acDeclarationParam.getControlType() == EControlType.DELETE.getValue()) {
approvalBusiness = EApprovalBusiness.AC_DECLARATION_GIFT_REMOVE;
}
LoginUser loginUser = acDeclarationParam.getLoginUser();
if (loginUser == null) {
log.error("登录用户信息为空");
return "登录用户信息为空";
}
if (acDeclarationParam.getControlType().equals(EControlType.SAVE.getValue())) {
ActivityParam activityParam = acDeclarationParam.getActivityParam();
activityParam.setPkCountry(loginUser.getDataCountry());
activityParam.setPkCreator(loginUser.getUserId());
activityParam.setActType(EActType.DECLARATION_GIFT.getValue());
// 新增活动基本配置
AcBaseConfig acBaseConfig = iActivityService.saveBaseConfig(activityParam);
// 新增活动目标权限
iActivityService.saveGoalMemberConfig(activityParam, acBaseConfig);
// 新增加购活动配置
saveDeclarationConfig(acDeclarationParam.getAcDeclarationConfigParams(), acBaseConfig);
} else if (acDeclarationParam.getControlType().equals(EControlType.MODIFY.getValue())) {
ActivityParam activityParam = acDeclarationParam.getActivityParam();
activityParam.setPkCountry(loginUser.getDataCountry());
activityParam.setPkCreator(loginUser.getUserId());
activityParam.setActType(EActType.DECLARATION_GIFT.getValue());
updateDeclarationConfig(activityParam, acDeclarationParam.getAcDeclarationConfigParams());
} else if (acDeclarationParam.getControlType().equals(EControlType.DELETE.getValue())) {
ActivityParam activityParam = acDeclarationParam.getActivityParam();
Long pkId = activityParam.getPkId();
removeDeclarationConfig(pkId);
}
//日志
ActivityParam activityParam = acDeclarationParam.getActivityParam();
activityParam.setPkCountry(SecurityUtils.getPkCountry());
activityParam.setPkCreator(SecurityUtils.getUserId());
activityParam.setActType(EActType.PRODUCT_GIFT.getValue());
activityParam.setBusinessCode(acDeclarationParam.getActivityParam().getBusinessCode());
iActivityService.createBaseConfigLog(activityParam, new StringBuffer(), null, approvalBusiness.getValue(), false);
return null;
}
@Override
public AjaxResult getDetail(Integer pkId) {
AcBaseConfig baseConfig = baseConfigService.getById(pkId);
AcDeclarationDetailParam activityParam = BeanUtil.copyProperties(baseConfig, AcDeclarationDetailParam.class);
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());
List<AcGoalMemberConfig> goalMemberConfigList = iAcGoalMemberConfigService.list(new LambdaQueryWrapper<AcGoalMemberConfig>()
.eq(AcGoalMemberConfig::getPkBaseId, baseConfig.getPkId()));
activityParam.setAcDeclarationConfigParams(collect);
activityParam.setGoalMemberConfigList(goalMemberConfigList);
activityParam.setPkBaseId(baseConfig.getPkId());
return AjaxResult.success(activityParam);
}
private void removeDeclarationConfig(Long pkId) {
// 删除活动基本配置
baseConfigService.removeById(pkId);
// 删除加购活动配置
baseMapper.delete(new LambdaQueryWrapper<AcDeclarationGiftConfig>()
.eq(AcDeclarationGiftConfig::getPkBaseId, pkId));
// 删除用户权限配置
iAcGoalMemberConfigService.remove(new LambdaQueryWrapper<AcGoalMemberConfig>()
.eq(AcGoalMemberConfig::getPkBaseId, pkId));
}
private void updateDeclarationConfig(ActivityParam activityParam, List<AcDeclarationConfigParam> acDeclarationConfigParams) {
{
Long pkId = activityParam.getPkId();
// 查询基础信息
AcBaseConfig baseConfig = BeanUtil.copyProperties(activityParam, AcBaseConfig.class);
baseConfig.setPkId(activityParam.getPkId());
baseConfigService.updateById(baseConfig);
// 删除活动配置
baseMapper.delete(new LambdaQueryWrapper<AcDeclarationGiftConfig>()
.eq(AcDeclarationGiftConfig::getPkBaseId, pkId));
// 删除用户权限配置
iAcGoalMemberConfigService.remove(new LambdaQueryWrapper<AcGoalMemberConfig>()
.eq(AcGoalMemberConfig::getPkBaseId, pkId));
// 添加加购活动配置
saveDeclarationConfig(acDeclarationConfigParams,baseConfig);
// 添加用户权限配置
iActivityService.saveGoalMemberConfig(activityParam, baseConfig);
}
}
private void saveDeclarationConfig(List<AcDeclarationConfigParam> acDeclarationConfigParams, AcBaseConfig acBaseConfig) {
acDeclarationConfigParams.forEach(item -> {
if (item != null) {
AcDeclarationGiftConfig build = AcDeclarationGiftConfig.builder()
.pkBaseId(acBaseConfig.getPkId())
.registerAuthority(item.getRegisterAuthority())
.pkProduct(item.getPkProduct())
.specsName(item.getSpecsName())
.specsNameId(item.getSpecsNameId())
.quantity(item.getQuantity())
.level(item.getLevel())
.build();
build.setPkCountry(acBaseConfig.getPkCountry());
build.setCreationTime(acBaseConfig.getCreationTime());
build.setPkCreator(acBaseConfig.getPkCreator());
build.setDelFlag(0);
baseMapper.insert(build);
}
});
}
} }

View File

@ -1,11 +1,11 @@
package com.hzs.activity.declaration.vo; package com.hzs.activity.declaration.vo;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity; import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data; import lombok.*;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
@ -20,6 +20,8 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("AC_DECLARATION_GIFT_CONFIG") @TableName("AC_DECLARATION_GIFT_CONFIG")
@KeySequence("AC_DECLARATION_GIFT_CONFIG_SEQ")
@Builder
public class AcDeclarationGiftConfig extends BaseEntity { public class AcDeclarationGiftConfig extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -31,10 +31,12 @@
PK_ID, PK_BASE_ID, ORDER_TYPE, PK_WARES, QUANTITY, ORIGINAL_LEVEL, UPGRADE_LEVEL PK_ID, PK_BASE_ID, ORDER_TYPE, PK_WARES, QUANTITY, ORIGINAL_LEVEL, UPGRADE_LEVEL
</sql> </sql>
<select id="selectListByOrderType" <select id="selectListByOrderType"
resultType="com.hzs.activity.add.controller.param.AcAddUpgradeRuleConfigParam"> resultType="com.hzs.activity.add.param.AcAddUpgradeRuleConfigParam">
SELECT aauc.ORDER_TYPE, SELECT aauc.ORDER_TYPE,
aauc.PK_WARES, aauc.PK_WARES,
aauc.QUANTITY, aauc.QUANTITY,
aauc.ORIGINAL_LEVEL,
aauc.UPGRADE_LEVEL,
bg.GRADE_NAME AS originalLevelVal, bg.GRADE_NAME AS originalLevelVal,
bgg.GRADE_NAME AS upgradeLevelVal bgg.GRADE_NAME AS upgradeLevelVal
FROM AC_ADD_UPGRADE_CONFIG aauc FROM AC_ADD_UPGRADE_CONFIG aauc

View File

@ -408,6 +408,34 @@ public enum EApprovalBusiness {
*/ */
MEMBER_CONSUME_GIFT_REMOVE(751, "会员消费赠送删除", EnumsPrefixConstants.APPROVAL_BUSINESS + "751"), MEMBER_CONSUME_GIFT_REMOVE(751, "会员消费赠送删除", EnumsPrefixConstants.APPROVAL_BUSINESS + "751"),
/**
* 会员消费赠送添加
*/
AC_ADD_UPGRADE_CONFIG_ADD(752, "加购升级活动添加", EnumsPrefixConstants.APPROVAL_BUSINESS + "752"),
/**
* 会员消费赠送修改
*/
AC_ADD_UPGRADE_CONFIG_UPDATE(753, "加购升级活动修改", EnumsPrefixConstants.APPROVAL_BUSINESS + "753"),
/**
* 会员消费赠送删除
*/
AC_ADD_UPGRADE_CONFIG_REMOVE(754, "加购升级活动删除", EnumsPrefixConstants.APPROVAL_BUSINESS + "754"),
/**
* 报单赠送添加
*/
AC_DECLARATION_GIFT_ADD(755, "报单赠送添加", EnumsPrefixConstants.APPROVAL_BUSINESS + "755"),
/**
* 报单赠送修改
*/
AC_DECLARATION_GIFT_UPDATE(756, "报单赠送修改", EnumsPrefixConstants.APPROVAL_BUSINESS + "756"),
/**
* 报单赠送删除
*/
AC_DECLARATION_GIFT_REMOVE(757, "报单赠送删除", EnumsPrefixConstants.APPROVAL_BUSINESS + "757"),
; ;
/** /**