Merge remote-tracking branch 'origin/bd_test' into bd_test
This commit is contained in:
commit
3d9a2c5be6
|
@ -284,7 +284,7 @@ public interface IMemberServiceApi {
|
||||||
R<Boolean> updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
|
R<Boolean> updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新用户等级
|
* 更新用户等级 -- 来源于活动
|
||||||
*
|
*
|
||||||
* @param cuMember 用户信息
|
* @param cuMember 用户信息
|
||||||
* @param saOrder 订单信息
|
* @param saOrder 订单信息
|
||||||
|
@ -292,6 +292,23 @@ public interface IMemberServiceApi {
|
||||||
*/
|
*/
|
||||||
R<?> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
R<?> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户降级 -- 来源于活动
|
||||||
|
*
|
||||||
|
* @param cuMember 用户信息
|
||||||
|
* @param saOrder 订单信息
|
||||||
|
*/
|
||||||
|
R<?> reduceMemberLevel(CuMember cuMember, SaOrder saOrder);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新升级记录 -- 来源于活动
|
||||||
|
*
|
||||||
|
* @param saOrder 原订单
|
||||||
|
* @param newOrder 新订单
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
R<?> changeMemberLevel(SaOrder saOrder, SaOrder newOrder);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验是否血缘关系(返回true则有血缘关系)
|
* 校验是否血缘关系(返回true则有血缘关系)
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.hzs.activity.dto;
|
package com.hzs.activity.dto;
|
||||||
|
|
||||||
|
|
||||||
import com.hzs.common.core.enums.EOrderOperateStatus;
|
import com.hzs.common.core.enums.EOrderOperateStatus;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
@ -12,12 +11,6 @@ import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直推-升级DTO
|
* 直推-升级DTO
|
||||||
*
|
|
||||||
* @Description:
|
|
||||||
* @Author: ljc
|
|
||||||
* @Time: 2023/4/26 10:27
|
|
||||||
* @Classname: AcRepurchaseCouponsDTO
|
|
||||||
* @Package_name: com.hzs.activity.recommend.dto
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|
|
@ -351,6 +351,26 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<?> reduceMemberLevel(CuMember cuMember, SaOrder saOrder) {
|
||||||
|
try {
|
||||||
|
iCuMemberBusinessService.reduceMemberLevel(cuMember, saOrder);
|
||||||
|
return R.ok();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return R.fail(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<?> changeMemberLevel(SaOrder saOrder, SaOrder newOrder) {
|
||||||
|
try {
|
||||||
|
iCuMemberBusinessService.changeMemberLevel(saOrder, newOrder);
|
||||||
|
return R.ok();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return R.fail(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<Boolean> checkParent(String topCode, Long userId) {
|
public R<Boolean> checkParent(String topCode, Long userId) {
|
||||||
return R.ok(iCuMemberService.checkParent(topCode, userId) > 0);
|
return R.ok(iCuMemberService.checkParent(topCode, userId) > 0);
|
||||||
|
|
|
@ -168,7 +168,7 @@ public interface ICuMemberBusinessService {
|
||||||
Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
|
Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新用户等级
|
* 更新用户等级 -- 来源于活动
|
||||||
*
|
*
|
||||||
* @param cuMember 用户信息
|
* @param cuMember 用户信息
|
||||||
* @param saOrder 订单信息
|
* @param saOrder 订单信息
|
||||||
|
@ -176,6 +176,23 @@ public interface ICuMemberBusinessService {
|
||||||
*/
|
*/
|
||||||
void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户降级 -- 来源于活动
|
||||||
|
*
|
||||||
|
* @param cuMember 用户信息
|
||||||
|
* @param saOrder 订单信息
|
||||||
|
*/
|
||||||
|
void reduceMemberLevel(CuMember cuMember, SaOrder saOrder);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新升级记录 -- 来源于活动
|
||||||
|
*
|
||||||
|
* @param saOrder 原订单
|
||||||
|
* @param newOrder 新订单
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void changeMemberLevel(SaOrder saOrder, SaOrder newOrder);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员的安置位置
|
* 查询会员的安置位置
|
||||||
*
|
*
|
||||||
|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.hzs.activity.pick.IAcPickServiceApi;
|
import com.hzs.activity.pick.IAcPickServiceApi;
|
||||||
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
||||||
import com.hzs.common.core.constant.CacheConstants;
|
import com.hzs.common.core.constant.CacheConstants;
|
||||||
|
@ -61,9 +62,7 @@ import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
import com.hzs.system.config.IAccountServiceApi;
|
import com.hzs.system.config.IAccountServiceApi;
|
||||||
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
||||||
import com.hzs.system.config.IAwardsServiceApi;
|
import com.hzs.system.config.IAwardsServiceApi;
|
||||||
import com.hzs.system.config.IGradeServiceApi;
|
|
||||||
import com.hzs.system.config.dto.AreaCurrencyDTO;
|
import com.hzs.system.config.dto.AreaCurrencyDTO;
|
||||||
import com.hzs.system.config.dto.GradeDTO;
|
|
||||||
import com.hzs.third.pay.ITOnlinePaymentServiceApi;
|
import com.hzs.third.pay.ITOnlinePaymentServiceApi;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
@ -92,8 +91,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ISaOrderServiceApi iSaOrderServiceApi;
|
ISaOrderServiceApi iSaOrderServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IGradeServiceApi iGradeServiceApi;
|
|
||||||
@DubboReference
|
|
||||||
IMemberSettleBonusApi iMemberSettleBonusApi;
|
IMemberSettleBonusApi iMemberSettleBonusApi;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -1201,13 +1198,38 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
public void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
|
public void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
|
||||||
updateCuMember(cuMember);
|
updateCuMember(cuMember);
|
||||||
saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel);
|
saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
|
public void reduceMemberLevel(CuMember cuMember, SaOrder saOrder) {
|
||||||
|
updateCuMember(cuMember);
|
||||||
|
iCuMemberLevelService.update(Wrappers.<CuMemberLevel>lambdaUpdate()
|
||||||
|
.eq(CuMemberLevel::getPkMember, cuMember.getPkId())
|
||||||
|
.eq(CuMemberLevel::getUpType, EUpgradeType.ACTIVITY_UPGRADE.getValue())
|
||||||
|
.eq(CuMemberLevel::getPkOrder, saOrder.getPkId())
|
||||||
|
.set(CuMemberLevel::getDelFlag, EDelFlag.DELETE.getValue())
|
||||||
|
.set(CuMemberLevel::getUpgradeTime, new Date())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
|
public void changeMemberLevel(SaOrder saOrder, SaOrder newOrder) {
|
||||||
|
iCuMemberLevelService.update(Wrappers.<CuMemberLevel>lambdaUpdate()
|
||||||
|
.eq(CuMemberLevel::getPkMember, saOrder.getPkReference())
|
||||||
|
.eq(CuMemberLevel::getUpType, EUpgradeType.ACTIVITY_UPGRADE.getValue())
|
||||||
|
.eq(CuMemberLevel::getPkOrder, saOrder.getPkId())
|
||||||
|
.set(CuMemberLevel::getPkOrder, newOrder.getPkId())
|
||||||
|
.set(CuMemberLevel::getUpgradeTime, newOrder.getPayTime())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve) {
|
public CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve) {
|
||||||
Long pkMember = cuMember.getPkParent();
|
Long pkMember = cuMember.getPkParent();
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
package com.hzs.activity.base.provider;
|
package com.hzs.activity.base.provider;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import com.hzs.activity.base.IActivityServiceApi;
|
import com.hzs.activity.base.IActivityServiceApi;
|
||||||
import com.hzs.activity.base.service.IActivityService;
|
import com.hzs.activity.base.service.IActivityService;
|
||||||
import com.hzs.activity.draw.service.IAcDrawRewardNumService;
|
import com.hzs.activity.draw.service.IAcDrawRewardNumService;
|
||||||
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
|
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
|
||||||
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
|
|
||||||
import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService;
|
import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
|
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
|
||||||
|
@ -81,7 +79,7 @@ public class ActivityServiceProvider implements IActivityServiceApi {
|
||||||
@Override
|
@Override
|
||||||
public R<Boolean> invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) {
|
public R<Boolean> invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) {
|
||||||
try {
|
try {
|
||||||
return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class)));
|
return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(recommendUpgradeDTO));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return R.fail();
|
return R.fail();
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,8 @@ import com.hzs.activity.draw.service.IAcDrawGiftRuleConfigService;
|
||||||
import com.hzs.activity.draw.service.IAcDrawRewardNumService;
|
import com.hzs.activity.draw.service.IAcDrawRewardNumService;
|
||||||
import com.hzs.activity.draw.service.IAcDrawRuleConfigService;
|
import com.hzs.activity.draw.service.IAcDrawRuleConfigService;
|
||||||
import com.hzs.activity.draw.vo.AcDrawGiftRuleConfigVo;
|
import com.hzs.activity.draw.vo.AcDrawGiftRuleConfigVo;
|
||||||
|
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
|
||||||
import com.hzs.activity.pick.service.IAcPickUpConfigService;
|
import com.hzs.activity.pick.service.IAcPickUpConfigService;
|
||||||
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
|
|
||||||
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.wares.service.IAcGiftConfigService;
|
import com.hzs.activity.wares.service.IAcGiftConfigService;
|
||||||
|
@ -807,7 +807,7 @@ public class ActivityServiceImpl implements IActivityService {
|
||||||
// // 抽奖
|
// // 抽奖
|
||||||
// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
||||||
// 直推升级
|
// 直推升级
|
||||||
iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder()
|
iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder()
|
||||||
.saOrderExt(saOrderExt)
|
.saOrderExt(saOrderExt)
|
||||||
.orderOperateStatus(EOrderOperateStatus.NORMAL)
|
.orderOperateStatus(EOrderOperateStatus.NORMAL)
|
||||||
.build());
|
.build());
|
||||||
|
@ -815,7 +815,7 @@ public class ActivityServiceImpl implements IActivityService {
|
||||||
// // 抽奖
|
// // 抽奖
|
||||||
// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
||||||
// 直推升级
|
// 直推升级
|
||||||
iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder()
|
iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder()
|
||||||
.saOrderExt(saOrderExt)
|
.saOrderExt(saOrderExt)
|
||||||
.orderOperateStatus(EOrderOperateStatus.NORMAL)
|
.orderOperateStatus(EOrderOperateStatus.NORMAL)
|
||||||
.build());
|
.build());
|
||||||
|
|
|
@ -3,7 +3,10 @@ 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.AcDirectPushUpgradeListParam;
|
||||||
|
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.IAcRecomUpgradeRecordService;
|
||||||
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;
|
||||||
import com.hzs.common.core.annotation.Log;
|
import com.hzs.common.core.annotation.Log;
|
||||||
|
@ -14,6 +17,7 @@ import com.hzs.common.core.enums.EOperationModule;
|
||||||
import com.hzs.common.core.utils.poi.ExcelUtil;
|
import com.hzs.common.core.utils.poi.ExcelUtil;
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
import com.hzs.common.core.web.controller.BaseController;
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.security.service.UserTokenService;
|
import com.hzs.common.security.service.UserTokenService;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -35,6 +39,8 @@ public class AcRecommendConfigController extends BaseController {
|
||||||
IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
|
IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserTokenService userTokenService;
|
private UserTokenService userTokenService;
|
||||||
|
@Autowired
|
||||||
|
private IAcRecomUpgradeRecordService iAcRecomUpgradeRecordService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -56,6 +62,35 @@ 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();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Log(module = EOperationModule.AC_DIRECT_PUSH_UPGRADE, business = EOperationBusiness.AC_DIRECT_PUSH_UPGRADE, method = EOperationMethod.SELECT, remark = "在线签呈")
|
||||||
|
@GetMapping("/directPushUpgradeList")
|
||||||
|
public TableDataInfo directPushUpgradeList(AcDirectPushUpgradeListParam param) {
|
||||||
|
startPage();
|
||||||
|
return getDataTable(iAcRecomUpgradeRecordService.queryList(param));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直推赠送查看详情
|
* 直推赠送查看详情
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
package com.hzs.activity.recommend.dto;
|
|
||||||
|
|
||||||
import com.hzs.common.core.enums.EOrderOperateStatus;
|
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 直推-升级DTO
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class AcRecommendUpgrade implements Serializable {
|
|
||||||
private static final long serialVersionUID = 9005728656479475728L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 订单信息
|
|
||||||
*/
|
|
||||||
private SaOrderExt saOrderExt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 订单操作状态
|
|
||||||
*/
|
|
||||||
private EOrderOperateStatus orderOperateStatus;
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.hzs.activity.recommend.mapper;
|
package com.hzs.activity.recommend.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam;
|
||||||
|
import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
|
@ -33,10 +35,11 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper<AcRecomUpgradeRec
|
||||||
/**
|
/**
|
||||||
* 判断会员是否达标并且查询对应订单
|
* 判断会员是否达标并且查询对应订单
|
||||||
*/
|
*/
|
||||||
SaOrder getRecomOrder(@Param("pkMember") Long pkMember,
|
List<SaOrder> listRecomOrder(@Param("pkMember") Long pkMember,
|
||||||
@Param("pkGrade") Integer pkGrade,
|
@Param("pkGrade") Integer pkGrade,
|
||||||
@Param("num") Integer num,
|
@Param("num") Integer num,
|
||||||
@Param("startTime") Date startTime,
|
@Param("startTime") Date startTime,
|
||||||
@Param("endTime") Date endTime);
|
@Param("endTime") Date endTime);
|
||||||
|
|
||||||
|
List<AcDirectPushUpgradeListVO> queryList(AcDirectPushUpgradeListParam param);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.hzs.activity.recommend.param;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class AcDirectPushUpgradeListParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动名称
|
||||||
|
*/
|
||||||
|
private String actName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员编号
|
||||||
|
*/
|
||||||
|
private String memberCode;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开始活动开始时间
|
||||||
|
*/
|
||||||
|
private Date startActStartDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开始活动结束时间
|
||||||
|
*/
|
||||||
|
private Date startActEndDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束活动开始时间
|
||||||
|
*/
|
||||||
|
private Date endActStartDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束活动结束时间
|
||||||
|
*/
|
||||||
|
private Date endActEndDate;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
|
||||||
|
}
|
|
@ -1,6 +1,9 @@
|
||||||
package com.hzs.activity.recommend.service;
|
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.param.AcDirectPushUpgradeListParam;
|
||||||
|
import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO;
|
||||||
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
|
@ -50,6 +53,7 @@ public interface IAcRecomUpgradeRecordService extends IService<AcRecomUpgradeRec
|
||||||
/**
|
/**
|
||||||
* 判断会员是否达标并且查询对应订单
|
* 判断会员是否达标并且查询对应订单
|
||||||
*/
|
*/
|
||||||
SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime);
|
List<SaOrder> listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime);
|
||||||
|
|
||||||
|
List<AcDirectPushUpgradeListVO> queryList(AcDirectPushUpgradeListParam param);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package com.hzs.activity.recommend.service;
|
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.dto.AcRecommendUpgradeDTO;
|
||||||
|
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;
|
||||||
|
@ -58,7 +59,7 @@ public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCoupon
|
||||||
*
|
*
|
||||||
* @param acRecommendUpgrade 直推升级信息
|
* @param acRecommendUpgrade 直推升级信息
|
||||||
*/
|
*/
|
||||||
Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade);
|
Boolean invokeRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询目前所有启用的复购券规则
|
* 查询目前所有启用的复购券规则
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,11 @@ package com.hzs.activity.recommend.service.impl;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.activity.recommend.mapper.AcRecomUpgradeRecordMapper;
|
import com.hzs.activity.recommend.mapper.AcRecomUpgradeRecordMapper;
|
||||||
|
import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam;
|
||||||
import com.hzs.activity.recommend.service.IAcRecomUpgradeRecordService;
|
import com.hzs.activity.recommend.service.IAcRecomUpgradeRecordService;
|
||||||
|
import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO;
|
||||||
import com.hzs.common.core.enums.EDelFlag;
|
import com.hzs.common.core.enums.EDelFlag;
|
||||||
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
||||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
|
@ -49,8 +52,13 @@ public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl<AcRecomUpgradeR
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime) {
|
public List<SaOrder> listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime) {
|
||||||
return baseMapper.getRecomOrder(pkMember, pkGrade, num, startTime, endTime);
|
return baseMapper.listRecomOrder(pkMember, pkGrade, num, startTime, endTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AcDirectPushUpgradeListVO> queryList(AcDirectPushUpgradeListParam param) {
|
||||||
|
return baseMapper.queryList(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,10 +12,10 @@ import com.hzs.activity.base.param.ActivityParam;
|
||||||
import com.hzs.activity.base.service.*;
|
import com.hzs.activity.base.service.*;
|
||||||
import com.hzs.activity.base.vo.AcGiftConfigVO;
|
import com.hzs.activity.base.vo.AcGiftConfigVO;
|
||||||
import com.hzs.activity.base.vo.BaseConfigVo;
|
import com.hzs.activity.base.vo.BaseConfigVo;
|
||||||
|
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
|
||||||
import com.hzs.activity.people.vo.AcBaseConfigVO;
|
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.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.*;
|
||||||
|
@ -47,7 +47,6 @@ 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 java.lang.reflect.Member;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -72,8 +71,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAcApprovalLogService acApprovalLogService;
|
private IAcApprovalLogService acApprovalLogService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAcPickService acPickService;
|
|
||||||
@Autowired
|
|
||||||
private IAcGoalMemberConfigService acGoalMemberConfigService;
|
private IAcGoalMemberConfigService acGoalMemberConfigService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAcRepurSharOrderTypeService acRepurSharOrderTypeService;
|
private IAcRepurSharOrderTypeService acRepurSharOrderTypeService;
|
||||||
|
@ -581,7 +578,9 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade) {
|
public Boolean invokeRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade) {
|
||||||
|
if (EOrderOperateStatus.NORMAL.equals(acRecommendUpgrade.getOrderOperateStatus())) {
|
||||||
|
// 正向处理
|
||||||
AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder()
|
AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder()
|
||||||
.actType(EActType.RECOMMEND_UPGRADE.getValue())
|
.actType(EActType.RECOMMEND_UPGRADE.getValue())
|
||||||
.pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry())
|
.pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry())
|
||||||
|
@ -589,24 +588,21 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
// 查询订单时内的直推活动
|
// 查询订单时内的直推活动
|
||||||
List<AcBaseConfig> acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO);
|
List<AcBaseConfig> acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO);
|
||||||
if (CollUtil.isNotEmpty(acBaseConfigs)) {
|
if (CollUtil.isNotEmpty(acBaseConfigs)) {
|
||||||
EOrderOperateStatus orderOperateStatus = acRecommendUpgrade.getOrderOperateStatus();
|
|
||||||
for (AcBaseConfig baseConfig : acBaseConfigs) {
|
for (AcBaseConfig baseConfig : acBaseConfigs) {
|
||||||
if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) {
|
|
||||||
// 正常处理
|
|
||||||
handleRecommendUpgrade(acRecommendUpgrade, baseConfig);
|
handleRecommendUpgrade(acRecommendUpgrade, baseConfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 撤单处理
|
// 撤单处理
|
||||||
cancelOrder(acRecommendUpgrade, baseConfig);
|
handleCancelRecommendUpgrade(acRecommendUpgrade);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理业务(正常报单)
|
* 下单处理
|
||||||
*/
|
*/
|
||||||
private void handleRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
|
private void handleRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade, AcBaseConfig baseConfig) {
|
||||||
Date nowDate = new Date();
|
Date nowDate = new Date();
|
||||||
// 订单信息
|
// 订单信息
|
||||||
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
||||||
|
@ -657,8 +653,10 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
if (monthFirst.compareTo(startTime) > 0) {
|
if (monthFirst.compareTo(startTime) > 0) {
|
||||||
startTime = monthFirst;
|
startTime = monthFirst;
|
||||||
}
|
}
|
||||||
|
List<SaOrder> recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime);
|
||||||
// 校验推荐人是否可以升级
|
// 校验推荐人是否可以升级
|
||||||
if (null == iAcRecomUpgradeRecordService.getRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime)) {
|
if (CollectionUtil.isEmpty(recomOrderList)
|
||||||
|
|| recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 封装规则升级记录
|
// 封装规则升级记录
|
||||||
|
@ -698,70 +696,81 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 撤单
|
* 撤单处理
|
||||||
*/
|
*/
|
||||||
private Boolean cancelOrder(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
|
private void handleCancelRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade) {
|
||||||
|
Date nowDate = new Date();
|
||||||
|
// 订单信息
|
||||||
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
||||||
|
// 订单ID
|
||||||
Long pkOrderId = saOrderExt.getPkId();
|
Long pkOrderId = saOrderExt.getPkId();
|
||||||
//修改人
|
// 推荐人
|
||||||
Long pkModified = saOrderExt.getPkReference();
|
Long pkMember = saOrderExt.getPkReference();
|
||||||
AcRecomUpgradeRecordExt upgradeRecordOrder = new AcRecomUpgradeRecordExt();
|
|
||||||
upgradeRecordOrder.setPkOrderId(pkOrderId);
|
List<AcRecomUpgradeRecord> upgradeRecordList = iAcRecomUpgradeRecordService.list(Wrappers.<AcRecomUpgradeRecord>lambdaQuery()
|
||||||
upgradeRecordOrder.setStartDate(baseConfig.getActStartDate());
|
.eq(AcRecomUpgradeRecord::getPkMember, pkMember)
|
||||||
upgradeRecordOrder.setEndDate(baseConfig.getActEndDate());
|
.eq(AcRecomUpgradeRecord::getPkOrderId, pkOrderId)
|
||||||
//根据orderId查询
|
.orderByDesc(AcRecomUpgradeRecord::getUpgradeTime)
|
||||||
AcRecomUpgradeRecord recomUpgradeRecord = iAcRecomUpgradeRecordService.selectUpgradeRecordByOrderId(upgradeRecordOrder);
|
);
|
||||||
if (null != recomUpgradeRecord) {
|
if (CollectionUtil.isNotEmpty(upgradeRecordList)) {
|
||||||
Long pkRuleId = recomUpgradeRecord.getPkRuleId();
|
// 会员活动升级记录
|
||||||
//查询规则
|
AcRecomUpgradeRecord recomUpgradeRecord = upgradeRecordList.get(0);
|
||||||
AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(pkRuleId);
|
// 删除活动升级记录
|
||||||
//结算等级
|
iAcRecomUpgradeRecordService.update(Wrappers.<AcRecomUpgradeRecord>lambdaUpdate()
|
||||||
Integer pkSettleGrade = upgradeRuleConfig.getPkSettleGrade();
|
.eq(AcRecomUpgradeRecord::getPkId, recomUpgradeRecord.getPkId())
|
||||||
//找茬等级
|
.set(AcRecomUpgradeRecord::getDelFlag, EDelFlag.DELETE.getValue())
|
||||||
Integer pkRecommendGrade = upgradeRuleConfig.getPkRecommendGrade();
|
.set(AcRecomUpgradeRecord::getModifiedTime, nowDate)
|
||||||
if (pkSettleGrade.equals(recomUpgradeRecord.getPkSettleGrade()) && pkRecommendGrade.equals(recomUpgradeRecord.getPkRecommendGrade())) {
|
.set(AcRecomUpgradeRecord::getPkModified, saOrderExt.getPkMember())
|
||||||
//撤单更新状态
|
);
|
||||||
iAcRecomUpgradeRecordService.cancelOrder(pkOrderId, pkModified);
|
|
||||||
AcRecomUpgradeRecordExt upgradeRecord = BeanUtil.copyProperties(recomUpgradeRecord, AcRecomUpgradeRecordExt.class);
|
// 推荐会员信息
|
||||||
upgradeRecord.setPkSettleGrade(pkSettleGrade);
|
CuMember referenceMember = iMemberServiceApi.getMember(pkMember).getData();
|
||||||
upgradeRecord.setPkRecommendGrade(pkRecommendGrade);
|
if (!referenceMember.getPkSettleGrade().equals(recomUpgradeRecord.getPkRecommendGrade())) {
|
||||||
upgradeRecord.setStartDate(baseConfig.getActStartDate());
|
// 会员目前等于与这次活动升级不一致,只需要删掉升级记录
|
||||||
upgradeRecord.setEndDate(baseConfig.getActEndDate());
|
CuMember cuMember = CuMember.builder()
|
||||||
upgradeRecord.setUpgradeStatus(1);
|
.pkId(pkMember)
|
||||||
//推荐人数
|
.pkSettleGrade(referenceMember.getPkSettleGrade())
|
||||||
List<Long> recommendNumber = iAcRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord);
|
.build();
|
||||||
//配置的推荐人数
|
iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt);
|
||||||
Integer recommendConfigNumber = upgradeRuleConfig.getRecommendNumber();
|
} else {
|
||||||
if (CollUtil.isNotEmpty(recommendNumber) && recommendNumber.size() < recommendConfigNumber) {
|
// 活动基础配置
|
||||||
Long pkMember = recomUpgradeRecord.getPkMember();
|
AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkId());
|
||||||
//调用降级处理
|
// 活动基础配置
|
||||||
Integer pkUpgradeGrade = upgradeRuleConfig.getPkUpgradeGrade();
|
AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(recomUpgradeRecord.getPkRuleId());
|
||||||
CuMember data = iMemberServiceApi.getMember(pkMember).getData();
|
// 查询订单时间范围
|
||||||
//用户信息
|
// 默认活动开始时间
|
||||||
CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(pkSettleGrade).memberCode(data.getMemberCode())
|
Date startTime = baseConfig.getActStartDate();
|
||||||
.pkSettleCountry(data.getPkSettleCountry()).build();
|
// 默认活动结束时间
|
||||||
cuMember.setPkModified(pkMember);
|
Date endTime = baseConfig.getActEndDate();
|
||||||
cuMember.setModifiedTime(new Date());
|
// 当月第一天
|
||||||
SaOrder saOrder = SaOrder.builder().payTime(new Date()).build();
|
Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate);
|
||||||
//修改升级状态
|
if (monthFirst.compareTo(startTime) > 0) {
|
||||||
iAcRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkModified, EYesNo.YES.getIntValue());
|
startTime = monthFirst;
|
||||||
//查询是否配置赠品
|
|
||||||
List<AcGiftConfigExt> acGiftConfigList = giftConfigService.queryListByRuleIdList(pkRuleId, saOrderExt.getPkCountry());
|
|
||||||
//调用提货接口
|
|
||||||
if (CollUtil.isNotEmpty(acGiftConfigList)) {
|
|
||||||
AcGiftConfigExt acGiftConfigExt = acGiftConfigList.get(0);
|
|
||||||
acPickService.updatePickUsableByMemberAndActivityType(pkMember, EActType.DIRECT_PUSH_GIFT.getValue(), baseConfig.getPkId(), pkRuleId
|
|
||||||
, acGiftConfigExt.getQuantity(), pkModified);
|
|
||||||
}
|
}
|
||||||
//调用降级处理
|
// 当月最后一天
|
||||||
iMemberServiceApi.updateMemberLevel(cuMember, saOrder, pkUpgradeGrade);
|
Date monthLast = DateUtils.getLastDayOfMonth(nowDate);
|
||||||
|
if (monthLast.compareTo(endTime) < 0) {
|
||||||
|
endTime = monthLast;
|
||||||
|
}
|
||||||
|
List<SaOrder> recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime);
|
||||||
|
// 校验推荐人是否可以升级
|
||||||
|
if (CollectionUtil.isEmpty(recomOrderList)
|
||||||
|
|| recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) {
|
||||||
|
// 订单撤单后,目前订单不够升级了,需要降级
|
||||||
|
CuMember cuMember = CuMember.builder()
|
||||||
|
.pkId(pkMember)
|
||||||
|
.pkSettleGrade(recomUpgradeRecord.getPkSettleGrade())
|
||||||
|
.build();
|
||||||
|
iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 足够升级,更新升级记录时间
|
||||||
|
SaOrder newOrder = recomOrderList.get(recomOrderList.size() - 1);
|
||||||
|
iMemberServiceApi.changeMemberLevel(saOrderExt, newOrder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -791,32 +800,16 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
return true;
|
return true;
|
||||||
case PLACE_STOP:
|
case PLACE_STOP:
|
||||||
// 安置禁止
|
// 安置禁止
|
||||||
if (iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0) {
|
return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) <= 0;
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case BLOOD_STOP:
|
case BLOOD_STOP:
|
||||||
// 血缘禁止
|
// 血缘禁止
|
||||||
if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) {
|
return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) <= 0;
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case PLACE_ALLWO:
|
case PLACE_ALLWO:
|
||||||
// 安置可见
|
// 安置可见
|
||||||
if (iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0) {
|
return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0;
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
case BLOOD_ALLOW:
|
case BLOOD_ALLOW:
|
||||||
// 血缘可见
|
// 血缘可见
|
||||||
if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) {
|
return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0;
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -839,5 +832,130 @@ 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,68 @@
|
||||||
|
package com.hzs.activity.recommend.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.hzs.common.core.annotation.Excel;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AcDirectPushUpgradeListVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动名称
|
||||||
|
*/
|
||||||
|
@Excel(name = "活动名称")
|
||||||
|
private String actName;
|
||||||
|
/**
|
||||||
|
* 会员编号
|
||||||
|
*/
|
||||||
|
@Excel(name = "会员编号")
|
||||||
|
private String memberCode;
|
||||||
|
/**
|
||||||
|
* 会员名称
|
||||||
|
*/
|
||||||
|
@Excel(name = "会员名称")
|
||||||
|
private String memberName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原等级
|
||||||
|
*/
|
||||||
|
@Excel(name = "原等级")
|
||||||
|
private String pkSettleGrade;
|
||||||
|
/**
|
||||||
|
* 新等级
|
||||||
|
*/
|
||||||
|
@Excel(name = "新等级")
|
||||||
|
private String pkRecommendGrade;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动开始时间
|
||||||
|
*/
|
||||||
|
@Excel(name = "活动开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date actStartDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动结束时间
|
||||||
|
*/
|
||||||
|
@Excel(name = "活动结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date actEndDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date creationTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 升级年月
|
||||||
|
*/
|
||||||
|
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd")
|
||||||
|
private String upgradeTime;
|
||||||
|
|
||||||
|
}
|
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -10,12 +10,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复购券均分VO
|
* 复购券均分VO
|
||||||
*
|
|
||||||
* @Description:
|
|
||||||
* @Author: ljc
|
|
||||||
* @Time: 2023/5/4 15:19
|
|
||||||
* @Classname: AcRecommendSharVO
|
|
||||||
* @Package_name: com.hzs.activity.recommend.vo
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
@ -11,12 +11,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直推升级VO
|
* 直推升级VO
|
||||||
*
|
|
||||||
* @Description:
|
|
||||||
* @Author: ljc
|
|
||||||
* @Time: 2023/4/22 11:06
|
|
||||||
* @Classname: AcRecommendUpgradeVO
|
|
||||||
* @Package_name: com.hzs.activity.recommend.vo
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|
|
@ -17,7 +17,6 @@ import java.util.List;
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class AcRecommendVO implements Serializable {
|
public class AcRecommendVO implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 7140530986849619774L;
|
private static final long serialVersionUID = 7140530986849619774L;
|
||||||
/**
|
/**
|
||||||
* 活动基本配置主键
|
* 活动基本配置主键
|
||||||
|
|
|
@ -8,13 +8,6 @@ import lombok.NoArgsConstructor;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description:
|
|
||||||
* @Author: ljc
|
|
||||||
* @Time: 2023/4/22 11:40
|
|
||||||
* @Classname: AcRepurchaseCouponsShowVO
|
|
||||||
* @Package_name: com.hzs.activity.recommend.vo
|
|
||||||
*/
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.hzs.activity.recommend.vo;
|
package com.hzs.activity.recommend.vo;
|
||||||
|
|
||||||
|
|
||||||
import com.hzs.common.core.annotation.Transaction;
|
import com.hzs.common.core.annotation.Transaction;
|
||||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
@ -12,12 +11,6 @@ import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直推复购券 VO
|
* 直推复购券 VO
|
||||||
*
|
|
||||||
* @Description:
|
|
||||||
* @Author: ljc
|
|
||||||
* @Time: 2023/4/22 11:00
|
|
||||||
* @Classname: AcRepurchaseCouponsVO
|
|
||||||
* @Package_name: com.hzs.activity.recommend.vo
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
@ -41,8 +41,9 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 判断会员是否达标并且查询对应订单 -->
|
<!-- 判断会员是否达标并且查询对应订单 -->
|
||||||
<select id="getRecomOrder" resultType="com.hzs.common.domain.sale.order.SaOrder">
|
<select id="listRecomOrder" resultType="com.hzs.common.domain.sale.order.SaOrder">
|
||||||
select so.pk_reference, max(so.pk_id) pk_id, max(so.pay_time) pay_time
|
select t.* from (
|
||||||
|
select so.*
|
||||||
from sa_order so
|
from sa_order so
|
||||||
left join cu_member_level cml
|
left join cu_member_level cml
|
||||||
on cml.pk_member = so.pk_member
|
on cml.pk_member = so.pk_member
|
||||||
|
@ -51,13 +52,49 @@
|
||||||
on bg.pk_id = cml.new_level
|
on bg.pk_id = cml.new_level
|
||||||
where so.del_flag = 0
|
where so.del_flag = 0
|
||||||
and so.order_status = 1
|
and so.order_status = 1
|
||||||
and (so.order_type in (1, 2) or so.order_type_extend = 1)
|
and so.order_type in (1, 2)
|
||||||
and so.pay_time >= #{startTime}
|
and so.pay_time >= #{startTime}
|
||||||
and #{endTime} >= so.pay_time
|
and #{endTime} >= so.pay_time
|
||||||
and so.pk_reference = #{pkMember}
|
and so.pk_reference = #{pkMember}
|
||||||
and bg.grade_value >= (select grade_value from bd_grade where pk_id = #{pkGrade})
|
and bg.grade_value >= (select grade_value from bd_grade where pk_id = #{pkGrade})
|
||||||
group by so.pk_reference
|
order by so.pay_time
|
||||||
having count(so.pk_reference) >= #{num}
|
) t
|
||||||
|
where #{num} >= rownum
|
||||||
|
</select>
|
||||||
|
<select id="queryList" resultType="com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO">
|
||||||
|
SELECT
|
||||||
|
abc.ACT_NAME,
|
||||||
|
cm.member_code,
|
||||||
|
cm.member_name,
|
||||||
|
arur.PK_SETTLE_GRADE,
|
||||||
|
arur.PK_RECOMMEND_GRADE,
|
||||||
|
abc.ACT_START_DATE,
|
||||||
|
abc.ACT_END_DATE,
|
||||||
|
arur.CREATION_TIME,
|
||||||
|
arur.UPGRADE_TIME
|
||||||
|
FROM
|
||||||
|
AC_RECOM_UPGRADE_RECORD arur
|
||||||
|
LEFT JOIN AC_BASE_CONFIG abc ON arur.PK_BASE_ID = abc.PK_ID
|
||||||
|
LEFT JOIN CU_MEMBER cm ON arur.pk_member = cm.pk_id
|
||||||
|
WHERE arur.DEL_FLAG = 0
|
||||||
|
<if test="actName != null">
|
||||||
|
AND abc.ACT_NAME = #{actName}
|
||||||
|
</if>
|
||||||
|
<if test="memberCode != null">
|
||||||
|
AND cm.member_code = #{memberCode}
|
||||||
|
</if>
|
||||||
|
<if test="startActStartDate != null">
|
||||||
|
AND abc.ACT_START_DATE >= #{startActStartDate}
|
||||||
|
</if>
|
||||||
|
<if test="startActEndDate != null">
|
||||||
|
AND abc.ACT_START_DATE <= #{startActEndDate}
|
||||||
|
</if>
|
||||||
|
<if test="startActEndDate != null">
|
||||||
|
AND abc.ACT_END_DATE >= #{endActStartDate}
|
||||||
|
</if>
|
||||||
|
<if test="endActStartDate != null">
|
||||||
|
AND abc.ACT_END_DATE <= #{endActEndDate}
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -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("商品赠送"),
|
||||||
|
|
|
@ -25,15 +25,16 @@ import java.util.List;
|
||||||
public class ActivityBackListener {
|
public class ActivityBackListener {
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IActivityServiceApi activityServiceApi;
|
IActivityServiceApi iActivityServiceApi;
|
||||||
|
|
||||||
@RabbitListener(bindings = @QueueBinding(
|
@RabbitListener(bindings = @QueueBinding(
|
||||||
exchange = @Exchange(value = RabbitMqConstants.ORDER_CANCEL_EXCHANGE, type = "topic"),
|
exchange = @Exchange(value = RabbitMqConstants.ORDER_CANCEL_EXCHANGE, type = "topic"),
|
||||||
value = @Queue(value = RabbitMqConstants.ORDER_CANCEL_ACTIVITY_BACK_QUEUE, durable = "true", autoDelete = "false"),
|
value = @Queue(value = RabbitMqConstants.ORDER_CANCEL_ACTIVITY_BACK_QUEUE, durable = "true", autoDelete = "false"),
|
||||||
key = RabbitMqConstants.ORDER_CANCEL_KEY))
|
key = RabbitMqConstants.ORDER_CANCEL_KEY))
|
||||||
@RabbitHandler
|
@RabbitHandler
|
||||||
public void onMessage(Message<List<SaOrderExt>> message, Channel channel) throws Exception {
|
public void onMessage(Message<List<SaOrderExt>> message, Channel channel) {
|
||||||
try {
|
try {
|
||||||
|
Thread.sleep(500);
|
||||||
Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||||
channel.basicAck(deliveryTag, false);
|
channel.basicAck(deliveryTag, false);
|
||||||
|
|
||||||
|
@ -44,15 +45,16 @@ public class ActivityBackListener {
|
||||||
if (CollectionUtil.isNotEmpty(saOrderExtList)) {
|
if (CollectionUtil.isNotEmpty(saOrderExtList)) {
|
||||||
SaOrderExt saOrderExt = saOrderExtList.get(0);
|
SaOrderExt saOrderExt = saOrderExtList.get(0);
|
||||||
|
|
||||||
// 处理抽奖
|
// // 处理抽奖
|
||||||
activityServiceApi.backGiveMemberDrawNum(saOrderExt);
|
// iActivityServiceApi.backGiveMemberDrawNum(saOrderExt);
|
||||||
|
|
||||||
if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()
|
if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()
|
||||||
|| EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()
|
|| EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||||
|| EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType()
|
|
||||||
|| EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
|
||||||
// 处理直推升级
|
// 处理直推升级
|
||||||
activityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.CANCEL).build());
|
iActivityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder().
|
||||||
|
saOrderExt(saOrderExt).
|
||||||
|
orderOperateStatus(EOrderOperateStatus.CANCEL)
|
||||||
|
.build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
Loading…
Reference in New Issue