From 74d8af766956378014da9dd4a330817316e54d75 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Tue, 23 Sep 2025 16:57:29 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AcRecommendConfigController.java | 19 +++ .../param/AcDirectPushUpgradeParam.java | 55 ++++++++ .../IAcRepurCouponsRuleConfigService.java | 2 + .../AcRepurCouponsRuleConfigServiceImpl.java | 127 ++++++++++++++++++ .../recommend/vo/AcDirectPushUpgradeVO.java | 63 +++++++++ .../common/core/enums/EOperationBusiness.java | 3 + .../common/core/enums/EOperationModule.java | 2 + 7 files changed, 271 insertions(+) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java index 311ff9b9..e89fbd50 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java @@ -3,6 +3,7 @@ package com.hzs.activity.recommend.controller; import com.hzs.activity.base.param.QueryActivityParam; import com.hzs.activity.base.service.IActivityService; import com.hzs.activity.base.vo.BaseConfigVo; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; import com.hzs.activity.recommend.vo.AcRecommendVO; @@ -56,6 +57,24 @@ public class AcRecommendConfigController extends BaseController { return AjaxResult.success(); } + /** + * + * @param acDirectPushUpgradeParam + * @return + */ + @Log(module = EOperationModule.AC_DIRECT_PUSH_UPGRADE, business = EOperationBusiness.AC_DIRECT_PUSH_UPGRADE, method = EOperationMethod.INSERT, remark = "在线签呈") + @PostMapping("/directPushUpgrade") + public AjaxResult directPushUpgradeSubmit(@RequestBody AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + acDirectPushUpgradeParam.setPkCountry(SecurityUtils.getPkCountry()); + acDirectPushUpgradeParam.setPkMember(SecurityUtils.getUserId()); + acDirectPushUpgradeParam.setLoginUser(userTokenService.getLoginUser()); + String str = acRepurCouponsRuleConfigService.directPushUpgradeSubmit(acDirectPushUpgradeParam); + if (str != null) { + return AjaxResult.error(str); + } + return AjaxResult.success(); + } + /** * 直推赠送查看详情 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java new file mode 100644 index 00000000..e90a725f --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java @@ -0,0 +1,55 @@ +package com.hzs.activity.recommend.param; + +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.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 AcDirectPushUpgradeParam { + /** + * 活动基本配置主键 + */ + private Long pkBaseId; + + /** + * 操作类型(1=新增,2=修改,3=删除) + */ + private Integer controlType; + + /** + * 国家 + */ + private Integer pkCountry; + + /** + * 会员ID + */ + private Long pkMember; + + + /** + * 登录用户信息 + */ + private LoginUser loginUser; + + /** + * 基本信息 + */ + private ActivityParam activityParam; + + /** + * 直推升级 + */ + private List recommendUpgradeList; + +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index dd5bca66..e02cb887 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -2,6 +2,7 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.activity.recommend.dto.AcRecommendUpgrade; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.vo.AcRecommendVO; import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig; @@ -74,5 +75,6 @@ public interface IAcRepurCouponsRuleConfigService extends IService recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + for (AcRecommendUpgradeVO recommendUpgradeVO : recommendUpgradeList) { + List giftConfigList = recommendUpgradeVO.getGiftConfigList(); + if (CollUtil.isNotEmpty(giftConfigList)) { + for (AcGiftConfigVO giftConfigVO : giftConfigList) { + Integer pkProduct = giftConfigVO.getPkProduct(); + if (null != pkProduct) { + giftConfigVO.setProductName(iProductServiceApi.getProduct(pkProduct).getData().getProductName()); + } + } + } + } + } + Integer controlType = acDirectPushUpgradeParam.getControlType(); + if (controlType.equals(EControlType.SAVE.getValue())) { + log.info("直推升级新增{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + return saveDirectPushUpgradeData(acDirectPushUpgradeParam); + } else if (controlType.equals(EControlType.MODIFY.getValue())) { + log.info("直推升级修改{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + deleteDirectPushUpgradeData(acDirectPushUpgradeParam); + return saveDirectPushUpgradeData(acDirectPushUpgradeParam); + } else { + log.info("直推升级刪除{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + deleteDirectPushUpgradeData(acDirectPushUpgradeParam); + } + //业务单号 + String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue()); + //日志 + packageDirectPushOperationLog(acDirectPushUpgradeParam, approvalBusiness, businessCode); + return null; + } + + private void packageDirectPushOperationLog(AcDirectPushUpgradeParam param, EApprovalBusiness approvalBusiness, String businessCode) { + //活动的基本信息 + ActivityParam activityParam = param.getActivityParam(); + //推荐升级 + List recommendUpgradeList = param.getRecommendUpgradeList(); + Map transactionMap = iTransactionCommonService.exportEnumTransaction(EControlType.values()); + Integer controlType = param.getControlType(); + controlType = null == controlType ? EControlType.SAVE.getValue() : controlType; + StringBuilder sb = new StringBuilder(); + sb.append("活动名称:").append(activityParam.getActName()) + .append(" 活动说明:").append(activityParam.getActExplain()) + .append(" 活动时间:").append(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, activityParam.getActStartDate())).append(" 至 ") + .append(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, activityParam.getActEndDate())) + .append(" 业务类型:"); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + sb.append(EApprovalBusiness.DIRECT_PUSH_UPGRADE.getLabel()).append(" "); + } + sb.append(" 操作类型:").append(transactionMap.get(EnumsPrefixConstants.CONTROL_TYPE + controlType)); + BusinessLogDTO businessLog = BusinessLogDTO.builder() + .businessType(approvalBusiness.getValue()) + .businessCode(businessCode) + .content(sb.toString()).pkCreator(param.getPkMember()) + .pkCountry(param.getPkCountry()) + .freeSignFlag(false).build(); + rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, Collections.singleton(businessLog)); + } + + private void deleteDirectPushUpgradeData(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + Long pkBaseId = acDirectPushUpgradeParam.getActivityParam().getPkId(); + Long pkModifyId = acDirectPushUpgradeParam.getPkMember(); + //删除活动基本信息 + iAcBaseConfigService.deleteBaseConfigById(pkBaseId, pkModifyId); + //删除直推升级配置信息 + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + iAcRecomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId); + } + } + + + private String saveDirectPushUpgradeData(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + //保存活动基本信息 + String message = saveDirectPushUpgradeBaseConfig(acDirectPushUpgradeParam); + //保存直推升级配置信息 + saveDirectPushUpgradeRuleInfo(acDirectPushUpgradeParam); + return message; + } + + private void saveDirectPushUpgradeRuleInfo(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + AcRecomUpgradeRuleConfig recomUpgradeRuleConfig; + //直推升级规则配置 + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + for (AcRecommendUpgradeVO recommendUpgradeVO : recommendUpgradeList) { + recommendUpgradeVO.setPkCreator(acDirectPushUpgradeParam.getPkMember()); + recommendUpgradeVO.setPkCountry(acDirectPushUpgradeParam.getPkCountry()); + recomUpgradeRuleConfig = BeanUtil.copyProperties(recommendUpgradeVO, AcRecomUpgradeRuleConfig.class); + recomUpgradeRuleConfig.setPkBaseId(acDirectPushUpgradeParam.getPkBaseId()); + iAcRecomUpgradeRuleConfigService.save(recomUpgradeRuleConfig); + List giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId()); + giftConfigService.saveBatch(giftConfigs); + } + } + } + + + + private String saveDirectPushUpgradeBaseConfig(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + ActivityParam activityParam = acDirectPushUpgradeParam.getActivityParam(); + if (null == activityParam) { + return "没有活动的基本信息!"; + } + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + activityParam.setAtcModule(EActModule.DIRECT_PUSH_UPGRADE.getValue()); + } + activityParam.setActType(EActType.RECOMMEND_UPGRADE.getValue()); + //保存基础配置 + activityParam.setPkCreator(acDirectPushUpgradeParam.getPkMember()); + activityParam.setPkCountry(acDirectPushUpgradeParam.getPkCountry()); + AcBaseConfig acBaseConfig = iActivityService.saveBaseConfig(activityParam); + acDirectPushUpgradeParam.setPkBaseId(acBaseConfig.getPkId()); + iActivityService.saveGoalMemberConfig(activityParam, acBaseConfig); + + return null; + } + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java new file mode 100644 index 00000000..c67bebed --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java @@ -0,0 +1,63 @@ +package com.hzs.activity.recommend.vo; + +import com.hzs.activity.base.vo.AcGiftConfigVO; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AcDirectPushUpgradeVO { + private static final long serialVersionUID = 7140530986849619774L; + + /** + * 主键 + */ + private Long pkId; + + /** + * 活动基本配置主键 + */ + private Long pkBaseId; + + /** + * 结算等级 + */ + private Integer pkSettleGrade; + + /** + * 推荐等级 + */ + private Integer pkRecommendGrade; + + /** + * 推荐数量 + */ + private Integer recommendNumber; + + /** + * 升级等级 + */ + private Integer pkUpgradeGrade; + + /** + * 创建人ID + */ + private Long pkCreator; + + /** + * 国家 + */ + private Integer pkCountry; + + + /** + * 会员类型 (1=等级 2=奖衔 3=权限) + */ + private Integer memberType; + + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java index a5bb49d7..f0952f1d 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java @@ -254,6 +254,9 @@ public enum EOperationBusiness { AC_RECOMMEEND_CONFIG("直推赠送"), + AC_DIRECT_PUSH_UPGRADE("直推升级"), + + AC_WARES_RULE_CONFIG("商品赠送"), AC_TOURISM_CONFIG("旅游活动"), diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java index 68ac3a01..60a4ed28 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java @@ -353,6 +353,8 @@ public enum EOperationModule { AC_RECOMMEEND_CONFIG("直推赠送"), + AC_DIRECT_PUSH_UPGRADE("直推升级"), + AC_TOURISM_CONFIG("旅游活动"), AC_WARES_RULE_CONFIG("商品赠送"),