## 直推升级活动
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.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();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 直推赠送查看详情
|
||||
|
|
|
@ -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.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<AcRepurCoupon
|
|||
*/
|
||||
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.recommend.dto.AcRecommendUpgrade;
|
||||
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.service.*;
|
||||
import com.hzs.activity.recommend.vo.*;
|
||||
|
@ -839,5 +840,131 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
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_DIRECT_PUSH_UPGRADE("直推升级"),
|
||||
|
||||
|
||||
AC_WARES_RULE_CONFIG("商品赠送"),
|
||||
|
||||
AC_TOURISM_CONFIG("旅游活动"),
|
||||
|
|
|
@ -353,6 +353,8 @@ public enum EOperationModule {
|
|||
|
||||
AC_RECOMMEEND_CONFIG("直推赠送"),
|
||||
|
||||
AC_DIRECT_PUSH_UPGRADE("直推升级"),
|
||||
|
||||
AC_TOURISM_CONFIG("旅游活动"),
|
||||
|
||||
AC_WARES_RULE_CONFIG("商品赠送"),
|
||||
|
|
Loading…
Reference in New Issue