## 直推升级活动
This commit is contained in:
parent
a23fd0fe07
commit
069daab4f1
|
|
@ -3,6 +3,7 @@ package com.hzs.activity.recommend.controller;
|
||||||
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.AcDirectPushUpgradeParam;
|
||||||
import com.hzs.activity.recommend.param.AcRecommendParam;
|
import com.hzs.activity.recommend.param.AcRecommendParam;
|
||||||
import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService;
|
import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService;
|
||||||
import com.hzs.activity.recommend.vo.AcRecommendVO;
|
import com.hzs.activity.recommend.vo.AcRecommendVO;
|
||||||
|
|
@ -56,6 +57,24 @@ public class AcRecommendConfigController extends BaseController {
|
||||||
return AjaxResult.success();
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直推赠送查看详情
|
* 直推赠送查看详情
|
||||||
|
|
|
||||||
|
|
@ -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<AcRecommendUpgradeVO> recommendUpgradeList;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ package com.hzs.activity.recommend.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
|
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.param.AcRecommendParam;
|
||||||
import com.hzs.activity.recommend.vo.AcRecommendVO;
|
import com.hzs.activity.recommend.vo.AcRecommendVO;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
|
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
|
||||||
|
|
@ -74,5 +75,6 @@ public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCoupon
|
||||||
*/
|
*/
|
||||||
Boolean deleteCouponsRuleConfigByBaseId(Long pkBaseId, Long pkModifyId);
|
Boolean deleteCouponsRuleConfigByBaseId(Long pkBaseId, Long pkModifyId);
|
||||||
|
|
||||||
|
String directPushUpgradeSubmit(AcDirectPushUpgradeParam acDirectPushUpgradeParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.hzs.activity.people.vo.AcBaseConfigVO;
|
||||||
import com.hzs.activity.pick.service.IAcPickService;
|
import com.hzs.activity.pick.service.IAcPickService;
|
||||||
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
|
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
|
||||||
import com.hzs.activity.recommend.mapper.AcRepurCouponsRuleConfigMapper;
|
import com.hzs.activity.recommend.mapper.AcRepurCouponsRuleConfigMapper;
|
||||||
|
import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam;
|
||||||
import com.hzs.activity.recommend.param.AcRecommendParam;
|
import com.hzs.activity.recommend.param.AcRecommendParam;
|
||||||
import com.hzs.activity.recommend.service.*;
|
import com.hzs.activity.recommend.service.*;
|
||||||
import com.hzs.activity.recommend.vo.*;
|
import com.hzs.activity.recommend.vo.*;
|
||||||
|
|
@ -839,5 +840,131 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
return update(updateWrapper);
|
return update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public String directPushUpgradeSubmit(AcDirectPushUpgradeParam acDirectPushUpgradeParam) {
|
||||||
|
log.info("直推参数{}", JSONUtil.toJsonStr(acDirectPushUpgradeParam));
|
||||||
|
EApprovalBusiness approvalBusiness = EApprovalBusiness.DIRECT_PUSH_UPGRADE;
|
||||||
|
//根据产品ID查询产品名称
|
||||||
|
List<AcRecommendUpgradeVO> recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList();
|
||||||
|
if (CollUtil.isNotEmpty(recommendUpgradeList)) {
|
||||||
|
for (AcRecommendUpgradeVO recommendUpgradeVO : recommendUpgradeList) {
|
||||||
|
List<AcGiftConfigVO> 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<AcRecommendUpgradeVO> recommendUpgradeList = param.getRecommendUpgradeList();
|
||||||
|
Map<String, String> 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<AcRecommendUpgradeVO> 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<AcRecommendUpgradeVO> 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<AcGiftConfig> giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId());
|
||||||
|
giftConfigService.saveBatch(giftConfigs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private String saveDirectPushUpgradeBaseConfig(AcDirectPushUpgradeParam acDirectPushUpgradeParam) {
|
||||||
|
ActivityParam activityParam = acDirectPushUpgradeParam.getActivityParam();
|
||||||
|
if (null == activityParam) {
|
||||||
|
return "没有活动的基本信息!";
|
||||||
|
}
|
||||||
|
List<AcRecommendUpgradeVO> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -254,6 +254,9 @@ public enum EOperationBusiness {
|
||||||
|
|
||||||
AC_RECOMMEEND_CONFIG("直推赠送"),
|
AC_RECOMMEEND_CONFIG("直推赠送"),
|
||||||
|
|
||||||
|
AC_DIRECT_PUSH_UPGRADE("直推升级"),
|
||||||
|
|
||||||
|
|
||||||
AC_WARES_RULE_CONFIG("商品赠送"),
|
AC_WARES_RULE_CONFIG("商品赠送"),
|
||||||
|
|
||||||
AC_TOURISM_CONFIG("旅游活动"),
|
AC_TOURISM_CONFIG("旅游活动"),
|
||||||
|
|
|
||||||
|
|
@ -353,6 +353,8 @@ public enum EOperationModule {
|
||||||
|
|
||||||
AC_RECOMMEEND_CONFIG("直推赠送"),
|
AC_RECOMMEEND_CONFIG("直推赠送"),
|
||||||
|
|
||||||
|
AC_DIRECT_PUSH_UPGRADE("直推升级"),
|
||||||
|
|
||||||
AC_TOURISM_CONFIG("旅游活动"),
|
AC_TOURISM_CONFIG("旅游活动"),
|
||||||
|
|
||||||
AC_WARES_RULE_CONFIG("商品赠送"),
|
AC_WARES_RULE_CONFIG("商品赠送"),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue