## 营销管理抽奖配置,直推赠送,旅游活动取消签呈流程

This commit is contained in:
zhangheng 2025-09-17 11:59:24 +08:00 committed by cabbage
parent ee489b6368
commit f88a929997
9 changed files with 101 additions and 18 deletions

View File

@ -109,7 +109,7 @@ public interface IActivityService {
* @param recommendParam
* @return
*/
Boolean onLinePetition(AcRecommendParam recommendParam);
String onLinePetition(AcRecommendParam recommendParam);
/**
* 活动签呈审核通过

View File

@ -631,7 +631,8 @@ public class ActivityServiceImpl implements IActivityService {
* @return
*/
@Override
public Boolean onLinePetition(AcRecommendParam recommendParam) {
public String onLinePetition(AcRecommendParam recommendParam) {
log.info("旅游活动新增参数{}",JSONUtil.toJsonStr(recommendParam));
//业务单号
String code = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue());
EApprovalBusiness approvalBusiness = null;
@ -643,7 +644,40 @@ public class ActivityServiceImpl implements IActivityService {
approvalBusiness = EApprovalBusiness.TOURISM_DELETE;
}
recommendParam.getActivityParam().setBusinessCode(code);
Boolean b = submitApproval(recommendParam, approvalBusiness);
Integer controlType = recommendParam.getControlType();
if (controlType.equals(EControlType.SAVE.getValue())) {
ActivityParam activityParam = recommendParam.getActivityParam();
activityParam.setPkCountry(recommendParam.getPkCountry());
activityParam.setPkCreator(recommendParam.getPkMember());
activityParam.setActType(EActType.TOURISM.getValue());
// 增加基础配置
AcBaseConfig baseConfig = saveBaseConfig(activityParam);
// 目标群体配置
saveGoalMemberConfig(activityParam, baseConfig);
} else if (controlType.equals(EControlType.MODIFY.getValue())) {
ActivityParam activityParam = recommendParam.getActivityParam();
activityParam.setActType(EActType.TOURISM.getValue());
activityParam.setPkCountry(recommendParam.getPkCountry());
activityParam.setPkCreator(recommendParam.getPkMember());
//目标用户群删除
LambdaQueryWrapper<AcGoalMemberConfig> qe = new LambdaQueryWrapper<>();
qe.eq(AcGoalMemberConfig::getPkBaseId, activityParam.getPkId());
goalMemberConfigService.remove(qe);
// 增加基础配置
AcBaseConfig baseConfig = BeanUtil.copyProperties(activityParam, AcBaseConfig.class);
baseConfigService.updateById(baseConfig);
// 目标群体配置
saveGoalMemberConfig(activityParam, baseConfig);
} else if (controlType.equals(EControlType.DELETE.getValue())) {
ActivityParam activityParam = recommendParam.getActivityParam();
//目标用户群删除
LambdaQueryWrapper<AcGoalMemberConfig> qe = new LambdaQueryWrapper<>();
qe.eq(AcGoalMemberConfig::getPkBaseId, activityParam.getPkId());
goalMemberConfigService.remove(qe);
baseConfigService.removeById(activityParam.getPkId());
drawGiftConfigService.removeDrawGiftConfig(activityParam.getPkId().intValue());
}
//日志
ActivityParam activityParam = recommendParam.getActivityParam();
activityParam.setPkCountry(SecurityUtils.getPkCountry());
@ -651,7 +685,7 @@ public class ActivityServiceImpl implements IActivityService {
activityParam.setActType(EActType.TOURISM.getValue());
activityParam.setBusinessCode(recommendParam.getActivityParam().getBusinessCode());
this.createBaseConfigLog(activityParam, new StringBuffer(), null, approvalBusiness.getValue(), false);
return b;
return null;
}
/**

View File

@ -86,7 +86,7 @@ public class AcDrawGiftRuleConfigController extends BaseController {
* @return AjaxResult
*/
@Log(module = EOperationModule.AC_RECOMMEEND_CONFIG, method = EOperationMethod.INSERT, remark = "抽奖在线配置")
@PostMapping("/online-petition")
@PostMapping("/submit")
public AjaxResult onLinePetition(@RequestBody AcRecommendParam recommendParam) {
if (recommendParam.getActivityParam().getDrawGiftConfigList() != null) {
for (AcDrawGiftRuleConfigVo acDrawGiftRuleConfigVo : recommendParam.getActivityParam().getDrawGiftConfigList()) {
@ -99,7 +99,11 @@ public class AcDrawGiftRuleConfigController extends BaseController {
recommendParam.setPkCountry(SecurityUtils.getPkCountry());
recommendParam.setPkMember(SecurityUtils.getUserId());
recommendParam.setLoginUser(userTokenService.getLoginUser());
return toAjax(drawGiftConfigService.onLinePetition(recommendParam));
String str = drawGiftConfigService.onLinePetition(recommendParam);
if (str != null) {
return AjaxResult.error(str);
}
return AjaxResult.success();
}
/**

View File

@ -62,5 +62,5 @@ public interface IAcDrawGiftRuleConfigService extends IService<AcDrawGiftRuleCon
* @param recommendParam
* @return
*/
Boolean onLinePetition(AcRecommendParam recommendParam);
String onLinePetition(AcRecommendParam recommendParam);
}

View File

@ -29,10 +29,12 @@ import com.hzs.common.domain.activity.base.AcPickUpConfig;
import com.hzs.common.domain.activity.draw.AcDrawGiftRuleConfig;
import com.hzs.common.domain.activity.draw.AcDrawRuleConfig;
import com.hzs.common.domain.activity.draw.ext.AcDrawGiftRuleConfigExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.sys.IApprovalServiceApi;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import com.hzs.system.sys.dto.ApprovalSubmitDTO;
import com.hzs.system.sys.dto.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -47,6 +49,7 @@ import java.util.List;
* @since 2023-04-21
*/
@Service
@Slf4j
public class AcDrawGiftRuleConfigServiceImpl extends ServiceImpl<AcDrawGiftRuleConfigMapper, AcDrawGiftRuleConfig> implements IAcDrawGiftRuleConfigService {
@Autowired
@ -181,7 +184,9 @@ public class AcDrawGiftRuleConfigServiceImpl extends ServiceImpl<AcDrawGiftRuleC
}
@Override
public Boolean onLinePetition(AcRecommendParam recommendParam) {
@Transactional(rollbackFor = Exception.class)
public String onLinePetition(AcRecommendParam recommendParam) {
log.info("抽奖配置入参{}",JSONUtil.toJsonStr(recommendParam));
EApprovalBusiness approvalBusiness = null;
if (recommendParam.getControlType().equals(EControlType.SAVE.getValue())) {
approvalBusiness = EApprovalBusiness.LOTTERY_DRAW_ADD;
@ -190,8 +195,31 @@ public class AcDrawGiftRuleConfigServiceImpl extends ServiceImpl<AcDrawGiftRuleC
} else if (recommendParam.getControlType().equals(EControlType.DELETE.getValue())) {
approvalBusiness = EApprovalBusiness.LOTTERY_DRAW_REMOVE;
}
Integer controlType = recommendParam.getControlType();
if (controlType.equals(EControlType.SAVE.getValue())) {
ActivityParam activityParam = recommendParam.getActivityParam();
activityParam.setPkCountry(recommendParam.getPkCountry());
activityParam.setPkCreator(recommendParam.getPkMember());
activityParam.setActType(EActType.LOTTERY_DRAW.getValue());
iActivityService.saveRaffleActivity(activityParam);
} else if (controlType.equals(EControlType.MODIFY.getValue())) {
ActivityParam activityParam = recommendParam.getActivityParam();
activityParam.setActType(EActType.LOTTERY_DRAW.getValue());
activityParam.setPkCountry(recommendParam.getPkCountry());
activityParam.setPkCreator(recommendParam.getPkMember());
drawGiftConfigService.updateDrawGiftConfig(activityParam);
} else if (controlType.equals(EControlType.DELETE.getValue())) {
drawGiftConfigService.removeDrawGiftConfig(recommendParam.getActivityParam().getPkBaseId().intValue());
}
// 日志
ActivityParam activityParam = recommendParam.getActivityParam();
activityParam.setPkCountry(SecurityUtils.getPkCountry());
activityParam.setPkCreator(SecurityUtils.getUserId());
activityParam.setActType(EActType.CONSUMPTION_GIFT.getValue());
return submitApproval(recommendParam, approvalBusiness);
//日志
iActivityService.createBaseConfigLog(activityParam, new StringBuffer(), null, approvalBusiness.getValue(), false);
return null;
}
/**

View File

@ -44,12 +44,16 @@ public class AcRecommendConfigController extends BaseController {
* @return AjaxResult
*/
@Log(module = EOperationModule.AC_RECOMMEEND_CONFIG, business = EOperationBusiness.AC_RECOMMEEND_CONFIG, method = EOperationMethod.INSERT, remark = "在线签呈")
@PostMapping("/online-petition")
@PostMapping("/submit")
public AjaxResult onLinePetition(@RequestBody AcRecommendParam recommendParam) {
recommendParam.setPkCountry(SecurityUtils.getPkCountry());
recommendParam.setPkMember(SecurityUtils.getUserId());
recommendParam.setLoginUser(userTokenService.getLoginUser());
return toAjax(acRepurCouponsRuleConfigService.onLinePetition(recommendParam));
String str = acRepurCouponsRuleConfigService.onLinePetition(recommendParam);
if (str != null) {
return AjaxResult.error(str);
}
return AjaxResult.success();
}

View File

@ -21,7 +21,7 @@ public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCoupon
* @param recommendParam
* @return
*/
Boolean onLinePetition(AcRecommendParam recommendParam);
String onLinePetition(AcRecommendParam recommendParam);
/**
* 查看详情

View File

@ -96,7 +96,8 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean onLinePetition(AcRecommendParam recommendParam) {
public String onLinePetition(AcRecommendParam recommendParam) {
log.info("直推参数{}",JSONUtil.toJsonStr(recommendParam));
EApprovalBusiness approvalBusiness = EApprovalBusiness.DIRECT_PUSH_GIFT;
//根据产品ID查询产品名称
List<AcRecommendUpgradeVO> recommendUpgradeList = recommendParam.getRecommendUpgradeList();
@ -113,12 +114,20 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
}
}
}
Integer controlType = recommendParam.getControlType();
if (controlType.equals(EControlType.SAVE.getValue())) {
return saveRecommendData(recommendParam);
} else if (controlType.equals(EControlType.MODIFY.getValue())) {
deleteRecommendData(recommendParam);
return saveRecommendData(recommendParam);
} else {
deleteRecommendData(recommendParam);
}
//业务单号
String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue());
//提交审批
Boolean result = submitApproval(recommendParam, approvalBusiness, businessCode);
//日志
packageRecommendOperationLog(recommendParam, approvalBusiness, businessCode);
return result;
return null;
}

View File

@ -60,12 +60,16 @@ public class AcTourismController extends BaseController {
* @return AjaxResult
*/
@Log(module = EOperationModule.AC_TOURISM_CONFIG, business = EOperationBusiness.AC_TOURISM_CONFIG, method = EOperationMethod.INSERT, remark = "在线签呈")
@PostMapping("/online-petition")
@PostMapping("/submit")
public AjaxResult onLinePetition(@RequestBody AcRecommendParam recommendParam) {
recommendParam.setPkCountry(SecurityUtils.getPkCountry());
recommendParam.setPkMember(SecurityUtils.getUserId());
recommendParam.setLoginUser(userTokenService.getLoginUser());
return toAjax(activityService.onLinePetition(recommendParam));
String str = activityService.onLinePetition(recommendParam);
if (str != null) {
return AjaxResult.error(str);
}
return AjaxResult.success();
}