Compare commits

..

No commits in common. "7a274cf736bf53f1b000a3892e99b319656bf371" and "069daab4f10c329a9a272ea9f2692d75c61ab1e1" have entirely different histories.

23 changed files with 215 additions and 396 deletions

View File

@ -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,23 +292,6 @@ 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则有血缘关系
* *

View File

@ -1,5 +1,6 @@
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;
@ -11,6 +12,12 @@ 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

View File

@ -351,26 +351,6 @@ 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);

View File

@ -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,23 +176,6 @@ 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);
/** /**
* 查询会员的安置位置 * 查询会员的安置位置
* *

View File

@ -4,7 +4,6 @@ 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;
@ -62,7 +61,9 @@ 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;
@ -91,6 +92,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
@DubboReference @DubboReference
ISaOrderServiceApi iSaOrderServiceApi; ISaOrderServiceApi iSaOrderServiceApi;
@DubboReference @DubboReference
IGradeServiceApi iGradeServiceApi;
@DubboReference
IMemberSettleBonusApi iMemberSettleBonusApi; IMemberSettleBonusApi iMemberSettleBonusApi;
@Autowired @Autowired
@ -1198,38 +1201,13 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
return null; return null;
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
@Transactional(rollbackFor = Exception.class)
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();

View File

@ -1,9 +1,11 @@
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;
@ -79,7 +81,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(recommendUpgradeDTO)); return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class)));
} catch (Exception e) { } catch (Exception e) {
return R.fail(); return R.fail();
} }

View File

@ -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(AcRecommendUpgradeDTO.builder() iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.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(AcRecommendUpgradeDTO.builder() iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder()
.saOrderExt(saOrderExt) .saOrderExt(saOrderExt)
.orderOperateStatus(EOrderOperateStatus.NORMAL) .orderOperateStatus(EOrderOperateStatus.NORMAL)
.build()); .build());

View File

@ -3,10 +3,8 @@ 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.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;
@ -17,7 +15,6 @@ 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;
@ -39,8 +36,6 @@ public class AcRecommendConfigController extends BaseController {
IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService; IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
@Autowired @Autowired
private UserTokenService userTokenService; private UserTokenService userTokenService;
@Autowired
private IAcRecomUpgradeRecordService iAcRecomUpgradeRecordService;
/** /**
@ -79,17 +74,6 @@ public class AcRecommendConfigController extends BaseController {
} }
return AjaxResult.success(); 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));
}
/** /**

View File

@ -0,0 +1,32 @@
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;
}

View File

@ -1,8 +1,6 @@
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;
@ -35,11 +33,10 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper<AcRecomUpgradeRec
/** /**
* 判断会员是否达标并且查询对应订单 * 判断会员是否达标并且查询对应订单
*/ */
List<SaOrder> listRecomOrder(@Param("pkMember") Long pkMember, SaOrder getRecomOrder(@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);
} }

View File

@ -1,44 +0,0 @@
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;
}

View File

@ -1,9 +1,6 @@
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;
@ -53,7 +50,6 @@ public interface IAcRecomUpgradeRecordService extends IService<AcRecomUpgradeRec
/** /**
* 判断会员是否达标并且查询对应订单 * 判断会员是否达标并且查询对应订单
*/ */
List<SaOrder> listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime); SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime);
List<AcDirectPushUpgradeListVO> queryList(AcDirectPushUpgradeListParam param);
} }

View File

@ -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.dto.AcRecommendUpgradeDTO; import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
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(AcRecommendUpgradeDTO acRecommendUpgrade); Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade);
/** /**
* 查询目前所有启用的复购券规则 * 查询目前所有启用的复购券规则

View File

@ -3,11 +3,8 @@ 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;
@ -52,13 +49,8 @@ public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl<AcRecomUpgradeR
} }
@Override @Override
public List<SaOrder> listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime) { public SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime) {
return baseMapper.listRecomOrder(pkMember, pkGrade, num, startTime, endTime); return baseMapper.getRecomOrder(pkMember, pkGrade, num, startTime, endTime);
}
@Override
public List<AcDirectPushUpgradeListVO> queryList(AcDirectPushUpgradeListParam param) {
return baseMapper.queryList(param);
} }
} }

View File

@ -12,8 +12,9 @@ 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;
@ -47,6 +48,7 @@ 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;
@ -71,6 +73,8 @@ 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;
@ -578,9 +582,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public Boolean invokeRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade) { public Boolean invokeRecommendUpgrade(AcRecommendUpgrade 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())
@ -588,21 +590,24 @@ 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 {
// 撤单处理 // 撤单处理
handleCancelRecommendUpgrade(acRecommendUpgrade); cancelOrder(acRecommendUpgrade, baseConfig);
}
}
} }
return true; return true;
} }
/** /**
* 下单处理 * 处理业务(正常报单)
*/ */
private void handleRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade, AcBaseConfig baseConfig) { private void handleRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
Date nowDate = new Date(); Date nowDate = new Date();
// 订单信息 // 订单信息
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt(); SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
@ -653,10 +658,8 @@ 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 (CollectionUtil.isEmpty(recomOrderList) if (null == iAcRecomUpgradeRecordService.getRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime)) {
|| recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) {
return; return;
} }
// 封装规则升级记录 // 封装规则升级记录
@ -696,81 +699,70 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
} }
} }
/** /**
* 撤单处理 * 撤单
*/ */
private void handleCancelRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade) { private Boolean cancelOrder(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
Date nowDate = new Date();
// 订单信息
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt(); SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
// 订单ID
Long pkOrderId = saOrderExt.getPkId(); Long pkOrderId = saOrderExt.getPkId();
// 推荐人 //修改人
Long pkMember = saOrderExt.getPkReference(); Long pkModified = saOrderExt.getPkReference();
AcRecomUpgradeRecordExt upgradeRecordOrder = new AcRecomUpgradeRecordExt();
List<AcRecomUpgradeRecord> upgradeRecordList = iAcRecomUpgradeRecordService.list(Wrappers.<AcRecomUpgradeRecord>lambdaQuery() upgradeRecordOrder.setPkOrderId(pkOrderId);
.eq(AcRecomUpgradeRecord::getPkMember, pkMember) upgradeRecordOrder.setStartDate(baseConfig.getActStartDate());
.eq(AcRecomUpgradeRecord::getPkOrderId, pkOrderId) upgradeRecordOrder.setEndDate(baseConfig.getActEndDate());
.orderByDesc(AcRecomUpgradeRecord::getUpgradeTime) //根据orderId查询
); AcRecomUpgradeRecord recomUpgradeRecord = iAcRecomUpgradeRecordService.selectUpgradeRecordByOrderId(upgradeRecordOrder);
if (CollectionUtil.isNotEmpty(upgradeRecordList)) { if (null != recomUpgradeRecord) {
// 会员活动升级记录 Long pkRuleId = recomUpgradeRecord.getPkRuleId();
AcRecomUpgradeRecord recomUpgradeRecord = upgradeRecordList.get(0); //查询规则
// 删除活动升级记录 AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(pkRuleId);
iAcRecomUpgradeRecordService.update(Wrappers.<AcRecomUpgradeRecord>lambdaUpdate() //结算等级
.eq(AcRecomUpgradeRecord::getPkId, recomUpgradeRecord.getPkId()) Integer pkSettleGrade = upgradeRuleConfig.getPkSettleGrade();
.set(AcRecomUpgradeRecord::getDelFlag, EDelFlag.DELETE.getValue()) //找茬等级
.set(AcRecomUpgradeRecord::getModifiedTime, nowDate) Integer pkRecommendGrade = upgradeRuleConfig.getPkRecommendGrade();
.set(AcRecomUpgradeRecord::getPkModified, saOrderExt.getPkMember()) if (pkSettleGrade.equals(recomUpgradeRecord.getPkSettleGrade()) && pkRecommendGrade.equals(recomUpgradeRecord.getPkRecommendGrade())) {
); //撤单更新状态
iAcRecomUpgradeRecordService.cancelOrder(pkOrderId, pkModified);
// 推荐会员信息 AcRecomUpgradeRecordExt upgradeRecord = BeanUtil.copyProperties(recomUpgradeRecord, AcRecomUpgradeRecordExt.class);
CuMember referenceMember = iMemberServiceApi.getMember(pkMember).getData(); upgradeRecord.setPkSettleGrade(pkSettleGrade);
if (!referenceMember.getPkSettleGrade().equals(recomUpgradeRecord.getPkRecommendGrade())) { upgradeRecord.setPkRecommendGrade(pkRecommendGrade);
// 会员目前等于与这次活动升级不一致只需要删掉升级记录 upgradeRecord.setStartDate(baseConfig.getActStartDate());
CuMember cuMember = CuMember.builder() upgradeRecord.setEndDate(baseConfig.getActEndDate());
.pkId(pkMember) upgradeRecord.setUpgradeStatus(1);
.pkSettleGrade(referenceMember.getPkSettleGrade()) //推荐人数
.build(); List<Long> recommendNumber = iAcRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord);
iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt); //配置的推荐人数
} else { Integer recommendConfigNumber = upgradeRuleConfig.getRecommendNumber();
// 活动基础配置 if (CollUtil.isNotEmpty(recommendNumber) && recommendNumber.size() < recommendConfigNumber) {
AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkId()); Long pkMember = recomUpgradeRecord.getPkMember();
// 活动基础配置 //调用降级处理
AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(recomUpgradeRecord.getPkRuleId()); Integer pkUpgradeGrade = upgradeRuleConfig.getPkUpgradeGrade();
// 查询订单时间范围 CuMember data = iMemberServiceApi.getMember(pkMember).getData();
// 默认活动开始时间 //用户信息
Date startTime = baseConfig.getActStartDate(); CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(pkSettleGrade).memberCode(data.getMemberCode())
// 默认活动结束时间 .pkSettleCountry(data.getPkSettleCountry()).build();
Date endTime = baseConfig.getActEndDate(); cuMember.setPkModified(pkMember);
// 当月第一天 cuMember.setModifiedTime(new Date());
Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate); SaOrder saOrder = SaOrder.builder().payTime(new Date()).build();
if (monthFirst.compareTo(startTime) > 0) { //修改升级状态
startTime = monthFirst; iAcRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkModified, EYesNo.YES.getIntValue());
//查询是否配置赠品
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);
} }
// 当月最后一天 //调用降级处理
Date monthLast = DateUtils.getLastDayOfMonth(nowDate); iMemberServiceApi.updateMemberLevel(cuMember, saOrder, pkUpgradeGrade);
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;
}
/** /**
@ -800,16 +792,32 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
return true; return true;
case PLACE_STOP: case PLACE_STOP:
// 安置禁止 // 安置禁止
return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) <= 0; if (iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0) {
return false;
} else {
return true;
}
case BLOOD_STOP: case BLOOD_STOP:
// 血缘禁止 // 血缘禁止
return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) <= 0; if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) {
return false;
} else {
return true;
}
case PLACE_ALLWO: case PLACE_ALLWO:
// 安置可见 // 安置可见
return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0; if (iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0) {
return true;
} else {
return false;
}
case BLOOD_ALLOW: case BLOOD_ALLOW:
// 血缘可见 // 血缘可见
return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0; if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) {
return true;
} else {
return false;
}
default: default:
} }
} }
@ -854,14 +862,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);
} }
//业务单号 //业务单号
@ -937,6 +945,7 @@ 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) {

View File

@ -1,68 +0,0 @@
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;
}

View File

@ -10,6 +10,12 @@ 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

View File

@ -11,6 +11,12 @@ 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

View File

@ -17,6 +17,7 @@ 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;
/** /**
* 活动基本配置主键 * 活动基本配置主键

View File

@ -8,6 +8,13 @@ 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

View File

@ -1,5 +1,6 @@
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;
@ -11,6 +12,12 @@ 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

View File

@ -41,9 +41,8 @@
</select> </select>
<!-- 判断会员是否达标并且查询对应订单 --> <!-- 判断会员是否达标并且查询对应订单 -->
<select id="listRecomOrder" resultType="com.hzs.common.domain.sale.order.SaOrder"> <select id="getRecomOrder" resultType="com.hzs.common.domain.sale.order.SaOrder">
select t.* from ( select so.pk_reference, max(so.pk_id) pk_id, max(so.pay_time) pay_time
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
@ -52,49 +51,13 @@
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) and (so.order_type in (1, 2) or so.order_type_extend = 1)
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})
order by so.pay_time group by so.pk_reference
) t having count(so.pk_reference) >= #{num}
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 &lt;= #{startActEndDate}
</if>
<if test="startActEndDate != null">
AND abc.ACT_END_DATE >= #{endActStartDate}
</if>
<if test="endActStartDate != null">
AND abc.ACT_END_DATE &lt;= #{endActEndDate}
</if>
</select> </select>
</mapper> </mapper>

View File

@ -25,16 +25,15 @@ import java.util.List;
public class ActivityBackListener { public class ActivityBackListener {
@DubboReference @DubboReference
IActivityServiceApi iActivityServiceApi; IActivityServiceApi activityServiceApi;
@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) { public void onMessage(Message<List<SaOrderExt>> message, Channel channel) throws Exception {
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);
@ -45,16 +44,15 @@ public class ActivityBackListener {
if (CollectionUtil.isNotEmpty(saOrderExtList)) { if (CollectionUtil.isNotEmpty(saOrderExtList)) {
SaOrderExt saOrderExt = saOrderExtList.get(0); SaOrderExt saOrderExt = saOrderExtList.get(0);
// // 处理抽奖 // 处理抽奖
// iActivityServiceApi.backGiveMemberDrawNum(saOrderExt); activityServiceApi.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()) {
// 处理直推升级 // 处理直推升级
iActivityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder(). activityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.CANCEL).build());
saOrderExt(saOrderExt).
orderOperateStatus(EOrderOperateStatus.CANCEL)
.build());
} }
} }
} catch (Exception e) { } catch (Exception e) {