## 直推升级撤单降级;
This commit is contained in:
parent
74d8af7669
commit
ff2f6f30c1
|
@ -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());
|
||||||
|
|
|
@ -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;
|
|
||||||
|
|
||||||
}
|
|
|
@ -33,10 +33,10 @@ 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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,6 @@ 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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
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.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;
|
||||||
|
@ -59,7 +59,7 @@ public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCoupon
|
||||||
*
|
*
|
||||||
* @param acRecommendUpgrade 直推升级信息
|
* @param acRecommendUpgrade 直推升级信息
|
||||||
*/
|
*/
|
||||||
Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade);
|
Boolean invokeRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询目前所有启用的复购券规则
|
* 查询目前所有启用的复购券规则
|
||||||
|
|
|
@ -49,8 +49,8 @@ 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,9 +12,8 @@ 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.AcDirectPushUpgradeParam;
|
||||||
import com.hzs.activity.recommend.param.AcRecommendParam;
|
import com.hzs.activity.recommend.param.AcRecommendParam;
|
||||||
|
@ -48,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;
|
||||||
|
|
||||||
|
@ -73,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;
|
||||||
|
@ -582,32 +578,31 @@ 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) {
|
||||||
AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder()
|
if (EOrderOperateStatus.NORMAL.equals(acRecommendUpgrade.getOrderOperateStatus())) {
|
||||||
.actType(EActType.RECOMMEND_UPGRADE.getValue())
|
// 正向处理
|
||||||
.pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry())
|
AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder()
|
||||||
.build();
|
.actType(EActType.RECOMMEND_UPGRADE.getValue())
|
||||||
// 查询订单时内的直推活动
|
.pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry())
|
||||||
List<AcBaseConfig> acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO);
|
.build();
|
||||||
if (CollUtil.isNotEmpty(acBaseConfigs)) {
|
// 查询订单时内的直推活动
|
||||||
EOrderOperateStatus orderOperateStatus = acRecommendUpgrade.getOrderOperateStatus();
|
List<AcBaseConfig> acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO);
|
||||||
for (AcBaseConfig baseConfig : acBaseConfigs) {
|
if (CollUtil.isNotEmpty(acBaseConfigs)) {
|
||||||
if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) {
|
for (AcBaseConfig baseConfig : acBaseConfigs) {
|
||||||
// 正常处理
|
|
||||||
handleRecommendUpgrade(acRecommendUpgrade, baseConfig);
|
handleRecommendUpgrade(acRecommendUpgrade, baseConfig);
|
||||||
} else {
|
|
||||||
// 撤单处理
|
|
||||||
cancelOrder(acRecommendUpgrade, baseConfig);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 撤单处理
|
||||||
|
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();
|
||||||
|
@ -658,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;
|
||||||
}
|
}
|
||||||
// 封装规则升级记录
|
// 封装规则升级记录
|
||||||
|
@ -699,69 +696,80 @@ 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -792,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:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -862,14 +854,14 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
}
|
}
|
||||||
Integer controlType = acDirectPushUpgradeParam.getControlType();
|
Integer controlType = acDirectPushUpgradeParam.getControlType();
|
||||||
if (controlType.equals(EControlType.SAVE.getValue())) {
|
if (controlType.equals(EControlType.SAVE.getValue())) {
|
||||||
log.info("直推升级新增{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam));
|
log.info("直推升级新增{}", JSONUtil.toJsonStr(acDirectPushUpgradeParam));
|
||||||
return saveDirectPushUpgradeData(acDirectPushUpgradeParam);
|
return saveDirectPushUpgradeData(acDirectPushUpgradeParam);
|
||||||
} else if (controlType.equals(EControlType.MODIFY.getValue())) {
|
} else if (controlType.equals(EControlType.MODIFY.getValue())) {
|
||||||
log.info("直推升级修改{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam));
|
log.info("直推升级修改{}", JSONUtil.toJsonStr(acDirectPushUpgradeParam));
|
||||||
deleteDirectPushUpgradeData(acDirectPushUpgradeParam);
|
deleteDirectPushUpgradeData(acDirectPushUpgradeParam);
|
||||||
return saveDirectPushUpgradeData(acDirectPushUpgradeParam);
|
return saveDirectPushUpgradeData(acDirectPushUpgradeParam);
|
||||||
} else {
|
} else {
|
||||||
log.info("直推升级刪除{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam));
|
log.info("直推升级刪除{}", JSONUtil.toJsonStr(acDirectPushUpgradeParam));
|
||||||
deleteDirectPushUpgradeData(acDirectPushUpgradeParam);
|
deleteDirectPushUpgradeData(acDirectPushUpgradeParam);
|
||||||
}
|
}
|
||||||
//业务单号
|
//业务单号
|
||||||
|
@ -945,7 +937,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String saveDirectPushUpgradeBaseConfig(AcDirectPushUpgradeParam acDirectPushUpgradeParam) {
|
private String saveDirectPushUpgradeBaseConfig(AcDirectPushUpgradeParam acDirectPushUpgradeParam) {
|
||||||
ActivityParam activityParam = acDirectPushUpgradeParam.getActivityParam();
|
ActivityParam activityParam = acDirectPushUpgradeParam.getActivityParam();
|
||||||
if (null == activityParam) {
|
if (null == activityParam) {
|
||||||
|
|
|
@ -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,23 +41,25 @@
|
||||||
</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
|
||||||
and cml.pk_order = so.pk_id
|
and cml.pk_order = so.pk_id
|
||||||
left join bd_grade bg
|
left join bd_grade bg
|
||||||
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>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -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