From 9dcd553d07b852f9c37a3da259825c898906ddac Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 23 Sep 2025 16:35:08 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E6=8E=A83=E5=8D=87=E4=B8=80=E7=BA=A7?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=AD=A3=E5=90=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/IMemberServiceApi.java | 21 +- .../activity/base/IActivityServiceApi.java | 2 +- .../base/provider/MemberServiceProvider.java | 24 +- .../service/ICuMemberBusinessService.java | 2 +- .../impl/CuMemberBusinessServiceImpl.java | 20 +- .../base/mapper/AcBaseConfigMapper.java | 1 - .../provider/ActivityServiceProvider.java | 16 +- .../base/service/IAcBaseConfigService.java | 1 - .../service/impl/ActivityServiceImpl.java | 44 +- .../pick/service/impl/AcPickServiceImpl.java | 4 +- .../recommend/dto/AcRecommendUpgrade.java | 7 - .../mapper/AcRecomUpgradeRecordMapper.java | 15 +- .../AcRecomUpgradeRuleConfigMapper.java | 8 +- .../service/IAcRecomUpgradeRecordService.java | 11 +- .../IAcRecomUpgradeRuleConfigService.java | 9 +- .../IAcRepurCouponsRuleConfigService.java | 4 +- .../impl/AcRecomUpgradeRecordServiceImpl.java | 9 +- .../AcRecomUpgradeRuleConfigServiceImpl.java | 7 +- .../AcRepurCouponsRuleConfigServiceImpl.java | 379 +++++++++--------- .../service/impl/SaOrderServiceImpl.java | 35 +- .../activity/base/AcBaseConfigMapper.xml | 4 +- .../recommend/AcRecomUpgradeRecordMapper.xml | 20 + .../AcRecomUpgradeRuleConfigMapper.xml | 17 +- .../CuMemberTransferWhiteController.java | 2 +- .../core/enums/EOrderOperateStatus.java | 7 - .../recommend/AcRecomUpgradeRecord.java | 6 + .../mqcall/listener/ActivityListener.java | 8 +- 27 files changed, 318 insertions(+), 365 deletions(-) diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java index 9f873983..33fa4a2b 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java @@ -154,19 +154,6 @@ public interface IMemberServiceApi { */ R getMember(Long pkMember); - /** - * 获取会员缓存 - * - * @param memberCode 会员编号 - * @return CuMember - */ - R queryMember(String memberCode); - - /** - * 查询会员 - */ - R queryMember(Long pkMember); - /** * 保存新会员信息,待支付订单 * @@ -302,9 +289,8 @@ public interface IMemberServiceApi { * @param cuMember 用户信息 * @param saOrder 订单信息 * @param pkOldLevel 原等级 - * @return R */ - R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); + R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); /** * 校验是否血缘关系(返回true则有血缘关系) @@ -322,11 +308,6 @@ public interface IMemberServiceApi { */ R checkMemberByParentList(List topCodeList, Long userId); - /** - * 获取奖衔的翻译KEY值 - **/ - Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId); - /** * 查询全部 * diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java index be207177..ddfa9451 100644 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java +++ b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java @@ -10,7 +10,7 @@ import java.util.Date; import java.util.List; /** - * 所有活动的生效,获得赠品入口 + * 所有活动的生效 */ public interface IActivityServiceApi { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java index 708ba28e..39efa409 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java @@ -208,16 +208,6 @@ public class MemberServiceProvider implements IMemberServiceApi { return R.ok(iCuMemberService.getMember(pkMember)); } - @Override - public R queryMember(String memberCode) { - return R.ok(iCuMemberService.queryMember(memberCode)); - } - - @Override - public R queryMember(Long pkMember) { - return R.ok(iCuMemberService.queryMember(pkMember)); - } - @Override public R saveMember(CuMember cuMember) { try { @@ -352,8 +342,13 @@ public class MemberServiceProvider implements IMemberServiceApi { } @Override - public R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) { - return R.ok(iCuMemberBusinessService.updateMemberLevel(cuMember, saOrder, pkOldLevel)); + public R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) { + try { + iCuMemberBusinessService.updateMemberLevel(cuMember, saOrder, pkOldLevel); + return R.ok(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } } @Override @@ -366,11 +361,6 @@ public class MemberServiceProvider implements IMemberServiceApi { return R.ok(iCuMemberService.checkMemberByParentList(topCodeList, userId)); } - @Override - public Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId) { - return iCuMemberService.getAwardsTranslateValue(pkCountry, pkId); - } - @Override public R> findAll() { return R.ok(iCuMemberService.findAll()); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java index 23fe3375..165cc5a3 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java @@ -174,7 +174,7 @@ public interface ICuMemberBusinessService { * @param saOrder 订单信息 * @param pkOldLevel 原等级 */ - Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); + void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); /** * 查询会员的安置位置 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 2001f4de..1be5568b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -195,19 +195,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { * @param saOrder 订单 * @param pkOldLevel 原等级 */ - private Boolean saveLevelUpgrade(CuMember cuMember, Integer levelType, SaOrder saOrder, Integer pkOldLevel) { - // V3可以买一单升V4,这个位置需要添加校验,如果是购买升级 并且 原等级大于新等级,不添加升级记录 - if (EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrder.getOrderType() - && EUpgradeType.BUY_UPGRADE.getValue() == levelType) { - // 购买升级 - GradeDTO oldGrade = iGradeServiceApi.getGrade(pkOldLevel).getData(); - GradeDTO newGrade = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); - if (oldGrade.getGradeValue() >= newGrade.getGradeValue()) { - // 旧等级大于等于新等级,则不需要添加升级记录 - return true; - } - } - + private void saveLevelUpgrade(CuMember cuMember, Integer levelType, SaOrder saOrder, Integer pkOldLevel) { // 记录升级历史 CuMemberLevel cuMemberLevel = CuMemberLevel.builder() .pkMember(cuMember.getPkId()) @@ -219,7 +207,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { .build(); cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry()); cuMemberLevel.setPkCreator(cuMember.getPkId()); - return iCuMemberLevelService.save(cuMemberLevel); + iCuMemberLevelService.save(cuMemberLevel); } /** @@ -1215,9 +1203,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) { + public void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) { updateCuMember(cuMember); - return saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel); + saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel); } @Override diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java index 9ef8390b..83d223ab 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java @@ -17,7 +17,6 @@ public interface AcBaseConfigMapper extends BaseMapper { * 根据活动类型查询基本配置 * * @param baseConfigVO 基本活动配置 - * @return List */ List selectBaseConfigByType(AcBaseConfigVO baseConfigVO); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java index eb66d5f6..bda2b989 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java @@ -19,22 +19,22 @@ import java.util.Date; import java.util.List; /** - * 所有活动的生效,获得赠品入口 + * 所有活动的生效 */ @Slf4j @DubboService public class ActivityServiceProvider implements IActivityServiceApi { @Autowired - private IAcDrawRewardNumService acDrawRewardNumService; + private IAcDrawRewardNumService iAcDrawRewardNumService; @Autowired - private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService; + private IAcRepurCouponsRuleConfigService iAcRepurCouponsRuleConfigService; @Autowired private IActivityService iActivityService; @Override public R queryDrawRewardPayNumMoney(Long pkMember, String orderCode) { - BigDecimal payMoney = acDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode); + BigDecimal payMoney = iAcDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode); if (payMoney == null) { return R.fail(); } @@ -53,7 +53,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R callBackOnlinePay(Long pkMember, String orderCode) { try { - return R.ok(acDrawRewardNumService.callBackOnlinePay(pkMember, orderCode)); + return R.ok(iAcDrawRewardNumService.callBackOnlinePay(pkMember, orderCode)); } catch (Exception e) { return R.fail(); } @@ -62,7 +62,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R backGiveMemberDrawNum(SaOrderExt saOrderExt) { try { - return R.ok(acDrawRewardNumService.backGiveMemberDrawNum(saOrderExt)); + return R.ok(iAcDrawRewardNumService.backGiveMemberDrawNum(saOrderExt)); } catch (Exception e) { return R.fail(); } @@ -70,7 +70,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R> queryAcRepurchaseCouponsRule(Date settleDate) { - List acRepurCouponsRuleConfigList = acRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate); + List acRepurCouponsRuleConfigList = iAcRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate); if (acRepurCouponsRuleConfigList != null && acRepurCouponsRuleConfigList.size() > 0) { return R.ok(acRepurCouponsRuleConfigList); } else { @@ -81,7 +81,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) { try { - return R.ok(acRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class))); + return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class))); } catch (Exception e) { return R.fail(); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java index cb872256..5b64eaa2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java @@ -16,7 +16,6 @@ public interface IAcBaseConfigService extends IService { * 根据活动类型查询基本配置 * * @param baseConfigVO 基本活动配置 - * @return List */ List selectBaseConfigByType(AcBaseConfigVO baseConfigVO); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java index 011078e8..0da80568 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java @@ -105,9 +105,9 @@ public class ActivityServiceImpl implements IActivityService { @Autowired private IAcMemberConsumeRuleService iAcMemberConsumeRuleService; @Autowired - private IAcDrawRewardNumService acDrawRewardNumService; + private IAcDrawRewardNumService iAcDrawRewardNumService; @Autowired - private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService; + private IAcRepurCouponsRuleConfigService iAcRepurCouponsRuleConfigService; @Autowired private IAcPickUpConfigService pickUpConfigService; @Autowired @@ -118,13 +118,13 @@ public class ActivityServiceImpl implements IActivityService { private IBdWaresService waresService; @DubboReference - IGradeServiceApi gradeServiceApi; + IGradeServiceApi iGradeServiceApi; @DubboReference - IAwardsServiceApi awardsServiceApi; + IAwardsServiceApi iAwardsServiceApi; @DubboReference IMemberServiceApi iMemberServiceApi; @DubboReference - IApprovalServiceApi approvalServiceApi; + IApprovalServiceApi iApprovalServiceApi; /** @@ -400,7 +400,7 @@ public class ActivityServiceImpl implements IActivityService { for (Map.Entry> item : memberConfigList.entrySet()) { if (item.getKey().equals(1)) { // 等级 - R> gradeDTO = gradeServiceApi.selectGradeAll(activityParam.getPkCountry()); + R> gradeDTO = iGradeServiceApi.selectGradeAll(activityParam.getPkCountry()); List gradeList = gradeDTO.getData(); str.append("注册等级:"); for (AcGoalMemberConfig acGoalMemberConfig : item.getValue()) { @@ -414,7 +414,7 @@ public class ActivityServiceImpl implements IActivityService { str.append(";\t\t"); } else if (item.getKey().equals(2)) { // 奖衔 - R> awardsDTO = awardsServiceApi.queryAwards(activityParam.getPkCountry()); + R> awardsDTO = iAwardsServiceApi.queryAwards(activityParam.getPkCountry()); List awardsList = awardsDTO.getData(); str.append("真实奖衔:"); for (AcGoalMemberConfig acGoalMemberConfig : item.getValue()) { @@ -632,7 +632,7 @@ public class ActivityServiceImpl implements IActivityService { */ @Override public String onLinePetition(AcRecommendParam recommendParam) { - log.info("旅游活动新增参数{}",JSONUtil.toJsonStr(recommendParam)); + log.info("旅游活动新增参数{}", JSONUtil.toJsonStr(recommendParam)); //业务单号 String code = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue()); EApprovalBusiness approvalBusiness = null; @@ -763,7 +763,7 @@ public class ActivityServiceImpl implements IActivityService { .signType(ESignType.getEnumByValue(recommendParam.getSignType())).userIdList(recommendParam.getUserIdList()) .fileList(recommendParam.getFileList()) .sendIdList(recommendParam.getSendIdList()).remark(recommendParam.getRemark()).build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser()); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser()); if (!submit.isSuccess()) { throw new RuntimeException("旅游活动参数提交审批失败!"); } @@ -804,21 +804,21 @@ public class ActivityServiceImpl implements IActivityService { @Transactional(rollbackFor = Exception.class) public Boolean handleActivity(SaOrderExt saOrderExt) { if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { - if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { - // 抽奖 - acDrawRewardNumService.giveMemberDrawNum(saOrderExt); - } +// // 抽奖 +// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt); // 直推升级 - acRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.NORMAL).build()); + iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder() + .saOrderExt(saOrderExt) + .orderOperateStatus(EOrderOperateStatus.NORMAL) + .build()); } else if (EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { - // 抽奖 - acDrawRewardNumService.giveMemberDrawNum(saOrderExt); +// // 抽奖 +// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt); // 直推升级 - acRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.NORMAL).build()); - } else if (EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType() - || EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { - // 直推升级 - acRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.NORMAL).build()); + iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder() + .saOrderExt(saOrderExt) + .orderOperateStatus(EOrderOperateStatus.NORMAL) + .build()); } return true; } @@ -1050,7 +1050,7 @@ public class ActivityServiceImpl implements IActivityService { && StringUtils.isNotEmpty(cuMember.getMemberName()) && StringUtils.isNotEmpty(cuMember.getPhone())) { // 根据订单业绩匹配对应等级 - BdGrade bdGrade = gradeServiceApi.getLastGrade(giftConfigParam.getOrderAchieve(), pkCountry).getData(); + BdGrade bdGrade = iGradeServiceApi.getLastGrade(giftConfigParam.getOrderAchieve(), pkCountry).getData(); if (null != bdGrade) { // 查询会员该等级点位数量(因为当前订单的数据还没有更新入库,此处计算数量时,需要加 1 ) Integer memberPoint = iMemberServiceApi.countGradeMemberPoint(cuMember.getMemberName(), cuMember.getPhone(), bdGrade.getPkId(), pkCountry).getData() + 1; diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java index 557f991b..52e366ee 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java @@ -183,7 +183,7 @@ public class AcPickServiceImpl extends ServiceImpl impleme // approvalLogList.add(acApprovalLog); // 会员信息 - CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData(); + CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData(); // 提货ID Long pickId = null; // 提货类型 @@ -357,7 +357,7 @@ public class AcPickServiceImpl extends ServiceImpl impleme // approvalLogList.add(acApprovalLog); // 被操作会员 - CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData(); + CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData(); // 提货ID Long pickId = null; if (null == detailParam.getPkId()) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java index 4179cd33..384bf615 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java @@ -1,6 +1,5 @@ package com.hzs.activity.recommend.dto; - import com.hzs.common.core.enums.EOrderOperateStatus; import com.hzs.common.domain.sale.ext.SaOrderExt; import lombok.AllArgsConstructor; @@ -12,12 +11,6 @@ import java.io.Serializable; /** * 直推-升级DTO - * - * @Description: - * @Author: ljc - * @Time: 2023/4/26 10:27 - * @Classname: AcRepurchaseCouponsDTO - * @Package_name: com.hzs.activity.recommend.dto */ @Data @Builder diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java index 1f9d953c..35b630d1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java @@ -3,14 +3,14 @@ package com.hzs.activity.recommend.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; +import com.hzs.common.domain.sale.order.SaOrder; +import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** * 推荐升级业务表 Mapper 接口 - * - * @author hzs - * @since 2023-04-27 */ public interface AcRecomUpgradeRecordMapper extends BaseMapper { @@ -30,4 +30,13 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper selectRecommendNumber(AcRecomUpgradeRecordExt upgradeRecord); + /** + * 判断会员是否达标并且查询对应订单 + */ + SaOrder getRecomOrder(@Param("pkMember") Long pkMember, + @Param("pkGrade") Integer pkGrade, + @Param("num") Integer num, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java index 292ccd7c..615b6f3f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java @@ -8,18 +8,12 @@ import java.util.List; /** * 直推-推荐升级 Mapper 接口 - * - * @author hzs - * @since 2023-04-22 */ public interface AcRecomUpgradeRuleConfigMapper extends BaseMapper { /** * 查询配置规则 - * - * @param recommendUpgradeVO 推荐升级参数 - * @return List */ - List selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); + List listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java index 5d8f9631..1c4ad2dc 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java @@ -3,14 +3,13 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; +import com.hzs.common.domain.sale.order.SaOrder; +import java.util.Date; import java.util.List; /** * 推荐升级业务表 服务类 - * - * @author hzs - * @since 2023-04-27 */ public interface IAcRecomUpgradeRecordService extends IService { @@ -31,7 +30,6 @@ public interface IAcRecomUpgradeRecordService extends IService pkIds, Long pkModified, Integer upGradeStatus); + /** + * 判断会员是否达标并且查询对应订单 + */ + SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java index a1231268..c5572305 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java @@ -8,11 +8,9 @@ import java.util.List; /** * 直推-推荐升级 服务类 - * - * @author hzs - * @since 2023-04-22 */ public interface IAcRecomUpgradeRuleConfigService extends IService { + /** * 根据活动ID查询直推升级 * @@ -23,11 +21,8 @@ public interface IAcRecomUpgradeRuleConfigService extends IService */ - List selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); + List listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); /** * 根据活动配置主键删除推荐升级配置 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index f453a781..dd5bca66 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -56,9 +56,9 @@ public interface IAcRepurCouponsRuleConfigService extends IService implements IAcRecomUpgradeRecordService { @@ -50,4 +48,9 @@ public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl implements IAcRecomUpgradeRuleConfigService { @@ -30,8 +27,8 @@ public class AcRecomUpgradeRuleConfigServiceImpl extends ServiceImpl selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) { - return baseMapper.selectRuleConfig(recommendUpgradeVO); + public List listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) { + return baseMapper.listRuleConfig(recommendUpgradeVO); } @Override diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java index ee483171..97b43418 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java @@ -22,7 +22,9 @@ import com.hzs.activity.recommend.vo.*; import com.hzs.activity.wares.service.IAcGiftConfigService; import com.hzs.common.core.constant.EnumsPrefixConstants; import com.hzs.common.core.constant.RabbitMqConstants; +import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; +import com.hzs.common.core.exception.ServiceException; import com.hzs.common.core.utils.CommonUtil; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.StringUtils; @@ -45,6 +47,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.lang.reflect.Member; import java.util.*; import java.util.stream.Collectors; @@ -56,32 +59,33 @@ import java.util.stream.Collectors; public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl implements IAcRepurCouponsRuleConfigService { @Autowired - IActivityService iActivityService; + private IActivityService iActivityService; @Autowired - IAcRecomUpgradeRuleConfigService recomUpgradeRuleConfigService; + private IAcBaseConfigService iAcBaseConfigService; @Autowired - IAcGiftConfigService giftConfigService; + private IAcRecomUpgradeRuleConfigService iAcRecomUpgradeRuleConfigService; @Autowired - IAcBaseConfigService baseConfigService; + private IAcRecomUpgradeRecordService iAcRecomUpgradeRecordService; + @Autowired - IAcApprovalLogService acApprovalLogService; + private IAcGiftConfigService giftConfigService; @Autowired - IAcRecomUpgradeRecordService acRecomUpgradeRecordService; + private IAcApprovalLogService acApprovalLogService; @Autowired - IAcPickService acPickService; + private IAcPickService acPickService; @Autowired - IAcGoalMemberConfigService acGoalMemberConfigService; + private IAcGoalMemberConfigService acGoalMemberConfigService; @Autowired - IAcRepurSharOrderTypeService acRepurSharOrderTypeService; + private IAcRepurSharOrderTypeService acRepurSharOrderTypeService; @Autowired - IAcRepurSharRuleConfigService acRepurSharRuleConfigService; + private IAcRepurSharRuleConfigService acRepurSharRuleConfigService; @Autowired - IAcBaseAuthorityService iAcBaseAuthorityService; + private IAcBaseAuthorityService iAcBaseAuthorityService; @DubboReference - IMemberServiceApi memberServiceApi; + IMemberServiceApi iMemberServiceApi; @DubboReference - IProductServiceApi productServiceApi; + IProductServiceApi iProductServiceApi; @Autowired private RabbitTemplate rabbitTemplate; @@ -103,7 +107,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpllambdaUpdate() .eq(AcBaseAuthority::getPkBaseId, pkBaseId) @@ -245,7 +249,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl recommendUpgradeList = recommendParam.getRecommendUpgradeList(); if (CollUtil.isNotEmpty(recommendUpgradeList)) { - recomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId); + iAcRecomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId); } //删除复购均分 AcRecommendSharVO acRecommendSharVO = recommendParam.getAcRecommendSharVO(); @@ -403,7 +407,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId()); giftConfigService.saveBatch(giftConfigs); } @@ -470,7 +474,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl acGoalMemberConfigs = acGoalMemberConfigService.selectMemberConfig(activityId); BaseConfigVo baseConfigVo = BeanUtil.copyProperties(baseConfig, BaseConfigVo.class); @@ -485,7 +489,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl repurCouponsRuleConfigList = selectRuleConfigByActivityId(activityId); recommendVO.setRepurchaseCouponsShowList(conversionAcRepurchaseCouponsShowVO(repurCouponsRuleConfigList)); //查询直推升级规则 - List recomUpgradeRuleConfigList = recomUpgradeRuleConfigService.selectByActivityId(activityId); + List recomUpgradeRuleConfigList = iAcRecomUpgradeRuleConfigService.selectByActivityId(activityId); recommendVO.setRecommendUpgradeList(conversionRecommendUpgradeVO(recomUpgradeRuleConfigList, pkCountry)); //复购券均分 AcRepurSharRuleConfig repurSharRuleConfig = acRepurSharRuleConfigService.selectAcRepurSharRuleConfigByBaseId(activityId); @@ -577,27 +581,189 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl acBaseConfigs = baseConfigService.selectBaseConfigByType(baseConfigVO); + public Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade) { + AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder() + .actType(EActType.RECOMMEND_UPGRADE.getValue()) + .pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry()) + .build(); + // 查询订单时内的直推活动 + List acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO); if (CollUtil.isNotEmpty(acBaseConfigs)) { - EOrderOperateStatus orderOperateStatus = acRepurchaseCouponsDTO.getOrderOperateStatus(); + EOrderOperateStatus orderOperateStatus = acRecommendUpgrade.getOrderOperateStatus(); for (AcBaseConfig baseConfig : acBaseConfigs) { if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) { - result = handleBusiness(acRepurchaseCouponsDTO, baseConfig); + // 正常处理 + handleRecommendUpgrade(acRecommendUpgrade, baseConfig); } else { - result = cancelOrder(acRepurchaseCouponsDTO, baseConfig); + // 撤单处理 + cancelOrder(acRecommendUpgrade, baseConfig); } } } - return result; + return true; } + /** + * 处理业务(正常报单) + */ + private void handleRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) { + Date nowDate = new Date(); + // 订单信息 + SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt(); + // 活动ID + Long pkBaseId = baseConfig.getPkId(); + // 推荐人 + Long pkMember = saOrderExt.getPkReference(); + // 当前时间年月 + String upgradeTime = DateUtils.parseDateToFormat(DateUtils.YYYYMM, nowDate); + // 校验推荐人本月是否已经触发过 + if (iAcRecomUpgradeRecordService.count(Wrappers.lambdaQuery() + .eq(AcRecomUpgradeRecord::getPkBaseId, pkBaseId) + .eq(AcRecomUpgradeRecord::getPkMember, pkMember) + .eq(AcRecomUpgradeRecord::getUpgradeTime, upgradeTime) + ) > 0) { + return; + } + + // 推荐人等级ID + CuMember referenceMember = iMemberServiceApi.getMember(pkMember).getData(); + Integer pkSettleGrade = referenceMember.getPkSettleGrade(); + // 国家 + Integer pkCountry = saOrderExt.getPkCountry(); + AcRecommendUpgradeVO recommendUpgradeVO = AcRecommendUpgradeVO.builder() + .pkBaseId(pkBaseId) + .pkSettleGrade(pkSettleGrade) + .pkCountry(pkCountry) + .memberType(1) + .build(); + //查询规则 + List upgradeRuleConfigList = iAcRecomUpgradeRuleConfigService.listRuleConfig(recommendUpgradeVO); + if (CollUtil.isNotEmpty(upgradeRuleConfigList)) { + // 升级规则 + AcRecomUpgradeRuleConfig upgradeRuleConfig = upgradeRuleConfigList.get(0); +// // 查询活动权限 +// if (!this.checkAuthority(baseConfig, saOrderExt.getPkReference())) { +// return; +// } +// log.info("直推升级权限校验,pkBaseId: {},orderCode: {}", pkBaseId, saOrderExt.getOrderCode()); + + // 查询订单时间范围 + // 默认活动开始时间 + Date startTime = baseConfig.getActStartDate(); + // 默认订单时间 + Date endTime = saOrderExt.getPayTime(); + // 当月第一天 + Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate); + if (monthFirst.compareTo(startTime) > 0) { + startTime = monthFirst; + } + // 校验推荐人是否可以升级 + if (null == iAcRecomUpgradeRecordService.getRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime)) { + return; + } + // 封装规则升级记录 + AcRecomUpgradeRecord recomUpgradeRecord = AcRecomUpgradeRecord.builder() + .pkBaseId(pkBaseId) + .pkRuleId(upgradeRuleConfig.getPkId()) + .pkMember(pkMember) + .pkSettleGrade(pkSettleGrade) + .pkRecommendGrade(upgradeRuleConfig.getPkUpgradeGrade()) + .pkOrderId(saOrderExt.getPkId()) + .upgradeTime(upgradeTime) + .build(); + recomUpgradeRecord.setPkCreator(referenceMember.getPkId()); + recomUpgradeRecord.setPkCountry(referenceMember.getPkSettleCountry()); + iAcRecomUpgradeRecordService.save(recomUpgradeRecord); + // 更新会员等级 + referenceMember.setPkSettleGrade(upgradeRuleConfig.getPkUpgradeGrade()); + + // 更新用户信息 + CuMember cuMember = CuMember.builder() + .pkId(pkMember) + .pkSettleGrade(upgradeRuleConfig.getPkUpgradeGrade()) + .pkSettleCountry(referenceMember.getPkCountry()) + .build(); + cuMember.setPkModified(pkMember); + cuMember.setModifiedTime(nowDate); + SaOrder saOrder = SaOrder.builder() + .pkId(saOrderExt.getPkId()) + .payTime(nowDate) + .build(); + //调用升级接口 + R resultBool = iMemberServiceApi.updateMemberLevel(cuMember, saOrder, pkSettleGrade); + if (!resultBool.isSuccess()) { + log.error("直推活动会员升级升级失败. {}", resultBool.getMsg()); + throw new ServiceException(resultBool.getMsg()); + } + } + } + + + /** + * 撤单 + */ + private Boolean cancelOrder(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) { + SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt(); + Long pkOrderId = saOrderExt.getPkId(); + //修改人 + Long pkModified = saOrderExt.getPkReference(); + AcRecomUpgradeRecordExt upgradeRecordOrder = new AcRecomUpgradeRecordExt(); + upgradeRecordOrder.setPkOrderId(pkOrderId); + upgradeRecordOrder.setStartDate(baseConfig.getActStartDate()); + upgradeRecordOrder.setEndDate(baseConfig.getActEndDate()); + //根据orderId查询 + AcRecomUpgradeRecord recomUpgradeRecord = iAcRecomUpgradeRecordService.selectUpgradeRecordByOrderId(upgradeRecordOrder); + if (null != recomUpgradeRecord) { + Long pkRuleId = recomUpgradeRecord.getPkRuleId(); + //查询规则 + AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(pkRuleId); + //结算等级 + Integer pkSettleGrade = upgradeRuleConfig.getPkSettleGrade(); + //找茬等级 + Integer pkRecommendGrade = upgradeRuleConfig.getPkRecommendGrade(); + if (pkSettleGrade.equals(recomUpgradeRecord.getPkSettleGrade()) && pkRecommendGrade.equals(recomUpgradeRecord.getPkRecommendGrade())) { + //撤单更新状态 + iAcRecomUpgradeRecordService.cancelOrder(pkOrderId, pkModified); + AcRecomUpgradeRecordExt upgradeRecord = BeanUtil.copyProperties(recomUpgradeRecord, AcRecomUpgradeRecordExt.class); + upgradeRecord.setPkSettleGrade(pkSettleGrade); + upgradeRecord.setPkRecommendGrade(pkRecommendGrade); + upgradeRecord.setStartDate(baseConfig.getActStartDate()); + upgradeRecord.setEndDate(baseConfig.getActEndDate()); + upgradeRecord.setUpgradeStatus(1); + //推荐人数 + List recommendNumber = iAcRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord); + //配置的推荐人数 + Integer recommendConfigNumber = upgradeRuleConfig.getRecommendNumber(); + if (CollUtil.isNotEmpty(recommendNumber) && recommendNumber.size() < recommendConfigNumber) { + Long pkMember = recomUpgradeRecord.getPkMember(); + //调用降级处理 + Integer pkUpgradeGrade = upgradeRuleConfig.getPkUpgradeGrade(); + CuMember data = iMemberServiceApi.getMember(pkMember).getData(); + //用户信息 + CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(pkSettleGrade).memberCode(data.getMemberCode()) + .pkSettleCountry(data.getPkSettleCountry()).build(); + cuMember.setPkModified(pkMember); + cuMember.setModifiedTime(new Date()); + SaOrder saOrder = SaOrder.builder().payTime(new Date()).build(); + //修改升级状态 + iAcRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkModified, EYesNo.YES.getIntValue()); + //查询是否配置赠品 + List 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); + } + } + } + return true; + } + + /** * 校验活动权限(true:进行处理,false:不进行处理) * @@ -663,157 +829,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl recomUpgradeRuleConfigList = recomUpgradeRuleConfigService.selectRuleConfig(recommendUpgradeVO); - if (CollUtil.isNotEmpty(recomUpgradeRuleConfigList)) { - AcRecomUpgradeRuleConfig recomUpgradeRuleConfig = recomUpgradeRuleConfigList.get(0); - //正常报单 - Long pkRuleId = recomUpgradeRuleConfig.getPkId(); - //插入业务表 - AcRecomUpgradeRecord recomUpgradeRecord = AcRecomUpgradeRecord.builder().pkBaseId(pkBaseId) - .pkRuleId(pkRuleId).pkMember(pkMember) - .pkSettleGrade(pkSettleGrade).pkRecommendGrade(pkRecommendGrade) - .pkOrderId(saOrderExt.getPkId()).build(); - recomUpgradeRecord.setPkCountry(pkCountry); - recomUpgradeRecord.setPkCreator(pkMember); - acRecomUpgradeRecordService.save(recomUpgradeRecord); - - // 查询活动权限 - if (!this.checkAuthority(baseConfig, saOrderExt.getPkReference())) { - return true; - } - log.info("直推升级权限校验,pkBaseId: {},orderCode: {}", pkBaseId, saOrderExt.getOrderCode()); - - //满足规则时 直推升级 - AcRecomUpgradeRecordExt upgradeRecord = new AcRecomUpgradeRecordExt(); - upgradeRecord.setPkMember(pkMember); - upgradeRecord.setPkBaseId(pkBaseId); - upgradeRecord.setPkRuleId(pkRuleId); - upgradeRecord.setPkSettleGrade(recomUpgradeRuleConfig.getPkSettleGrade()); - upgradeRecord.setPkRecommendGrade(recomUpgradeRuleConfig.getPkRecommendGrade()); - upgradeRecord.setStartDate(baseConfig.getActStartDate()); - upgradeRecord.setEndDate(baseConfig.getActEndDate()); - upgradeRecord.setPkCountry(pkCountry); - upgradeRecord.setUpgradeStatus(0); - //查询推荐人数ID(没有升级过记录) - List recommendNumber = acRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord); - //配置中的人数 - Integer configNumber = recomUpgradeRuleConfig.getRecommendNumber(); - if (CollUtil.isNotEmpty(recommendNumber) && configNumber.equals(recommendNumber.size())) { - //更新为已升级过的推荐状态 - acRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkMember, EYesNo.NO.getIntValue()); - //升级等级 - Integer pkUpgradeGrade = recomUpgradeRuleConfig.getPkUpgradeGrade(); - CuMember data = memberServiceApi.getMember(pkMember).getData(); - //用户信息 - CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(pkUpgradeGrade).memberCode(data.getMemberCode()) - .pkSettleCountry(data.getPkSettleCountry()).build(); - cuMember.setPkModified(pkMember); - cuMember.setModifiedTime(new Date()); - SaOrder saOrder = SaOrder.builder().payTime(new Date()).build(); - //查询是否配置赠品 - List acGiftConfigList = giftConfigService.queryListByRuleIdList(pkRuleId, pkCountry); - //调用提货接口 - if (CollUtil.isNotEmpty(acGiftConfigList)) { - AcGiftConfigExt acGiftConfigExt = acGiftConfigList.get(0); - acPickService.addPickByActivity(pkMember, EActType.DIRECT_PUSH_GIFT.getValue(), - baseConfig.getPkId(), pkRuleId, acGiftConfigExt.getQuantity(), baseConfig.getActCover(), null, - null, pkMember, pkCountry, baseConfig.getPkId(), null, null); - } - //调用升级接口 - return memberServiceApi.updateMemberLevel(cuMember, saOrder, pkSettleGrade).getData(); - } - } - return true; - - } - - - /** - * 撤单 - */ - private Boolean cancelOrder(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) { - SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt(); - Long pkOrderId = saOrderExt.getPkId(); - //修改人 - Long pkModified = saOrderExt.getPkReference(); - AcRecomUpgradeRecordExt upgradeRecordOrder = new AcRecomUpgradeRecordExt(); - upgradeRecordOrder.setPkOrderId(pkOrderId); - upgradeRecordOrder.setStartDate(baseConfig.getActStartDate()); - upgradeRecordOrder.setEndDate(baseConfig.getActEndDate()); - //根据orderId查询 - AcRecomUpgradeRecord recomUpgradeRecord = acRecomUpgradeRecordService.selectUpgradeRecordByOrderId(upgradeRecordOrder); - if (null != recomUpgradeRecord) { - Long pkRuleId = recomUpgradeRecord.getPkRuleId(); - //查询规则 - AcRecomUpgradeRuleConfig upgradeRuleConfig = recomUpgradeRuleConfigService.getById(pkRuleId); - //结算等级 - Integer pkSettleGrade = upgradeRuleConfig.getPkSettleGrade(); - //找茬等级 - Integer pkRecommendGrade = upgradeRuleConfig.getPkRecommendGrade(); - if (pkSettleGrade.equals(recomUpgradeRecord.getPkSettleGrade()) && pkRecommendGrade.equals(recomUpgradeRecord.getPkRecommendGrade())) { - //撤单更新状态 - acRecomUpgradeRecordService.cancelOrder(pkOrderId, pkModified); - AcRecomUpgradeRecordExt upgradeRecord = BeanUtil.copyProperties(recomUpgradeRecord, AcRecomUpgradeRecordExt.class); - upgradeRecord.setPkSettleGrade(pkSettleGrade); - upgradeRecord.setPkRecommendGrade(pkRecommendGrade); - upgradeRecord.setStartDate(baseConfig.getActStartDate()); - upgradeRecord.setEndDate(baseConfig.getActEndDate()); - upgradeRecord.setUpgradeStatus(1); - //推荐人数 - List recommendNumber = acRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord); - //配置的推荐人数 - Integer recommendConfigNumber = upgradeRuleConfig.getRecommendNumber(); - if (CollUtil.isNotEmpty(recommendNumber) && recommendNumber.size() < recommendConfigNumber) { - Long pkMember = recomUpgradeRecord.getPkMember(); - //调用降级处理 - Integer pkUpgradeGrade = upgradeRuleConfig.getPkUpgradeGrade(); - CuMember data = memberServiceApi.getMember(pkMember).getData(); - //用户信息 - CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(pkSettleGrade).memberCode(data.getMemberCode()) - .pkSettleCountry(data.getPkSettleCountry()).build(); - cuMember.setPkModified(pkMember); - cuMember.setModifiedTime(new Date()); - SaOrder saOrder = SaOrder.builder().payTime(new Date()).build(); - //修改升级状态 - acRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkModified, EYesNo.YES.getIntValue()); - //查询是否配置赠品 - List 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); - } - //调用降级处理 - memberServiceApi.updateMemberLevel(cuMember, saOrder, pkUpgradeGrade); - } - } - } - return true; - } - @Override public Boolean deleteCouponsRuleConfigByBaseId(Long pkBaseId, Long pkModifyId) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index fcd3cf0a..149addf1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -459,7 +459,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl CuMember cuMember; if (!EOrderTypeExtend.REG_REP.getValue().equals(orderParam.getOrderTypeExtend())) { // 非0元需要获取会员编号、会员主键 - cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData()); + cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.getMember(orderParam.getCenterCodeId()).getData()); // 获取会员编号、会员主键 if (isToBePay) { cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); @@ -469,7 +469,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl cuMember = iMemberServiceApi.createRegisterMemberCode(cuMember).getData(); } } else { - cuMember = iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData(); + cuMember = iMemberServiceApi.getMember(orderParam.getCenterCodeId()).getData(); } SaOrderExt saOrderExt = packageWholeSaOrder(orderParam, cuMember); @@ -542,7 +542,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl orderParam.setPlaceParentId(placeMember.getPkId()); } } - CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData()); + CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.getMember(orderParam.getCenterCodeId()).getData()); // 获取会员编号、会员主键 cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); return cuMember; @@ -796,7 +796,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 同步全网产品库存 this.allProductSync(saOrderExt); - log.info("生产活动消息,activity.exchange:{}", JSONUtil.toJsonStr(saOrderExt)); + // 注册订单推送MQ处理活动 rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt); // 推送秒结数据处理 -- 注册订单 rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); @@ -868,7 +868,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 同步全网产品库存 this.allProductSync(saOrderExt); - log.info("生产活动消息,activity.exchange:{}", JSONUtil.toJsonStr(saOrderExt)); + // 188注册转复购订单推送MQ处理活动 rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt); // 推送秒结数据处理 -- 注册订单 rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); @@ -981,6 +981,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 同步全网产品库存 this.allProductSync(saOrderExt); + // 升级订单推送MQ处理活动 rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt); // 推送秒结数据处理 -- 升级订单 rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); @@ -1929,30 +1930,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl return baseMapper.queryOrderSelect(param, pkCountry); } - /** - * 封装会员分享会员 - * - * @param orderParam 参数 - * @param cuMemberShare 会员分享 - */ - private CuMember packageCuMemberShare(OrderParam orderParam, CuMemberShare cuMemberShare) { - orderParam.setMemberCode(cuMemberShare.getMemberCode()); - orderParam.setMemberName(cuMemberShare.getMemberName()); - orderParam.setPhone(cuMemberShare.getPhone()); - orderParam.setParentId(cuMemberShare.getPkParent()); - orderParam.setCenterCodeId(cuMemberShare.getPkParent()); - CuMember parentMember = iMemberServiceApi.queryMember(cuMemberShare.getPkParent()).getData(); - if (parentMember == null) { - return null; - } - orderParam.setPkCountry(cuMemberShare.getPkCountry()); - orderParam.setPkSettleCountry(parentMember.getPkSettleCountry()); - CuMember newCuMember = saOrderHandle.packageSaveUser(orderParam, parentMember); - newCuMember.setPkId(cuMemberShare.getPkId()); - newCuMember.setPkCreator(cuMemberShare.getPkId()); - return newCuMember; - } - @Override @Transactional(rollbackFor = Exception.class) public Boolean onlinePaymentCallBack(Long pkMember, String orderCode) { diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml index 8adbdb71..f9f4f7f8 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml @@ -84,14 +84,14 @@ diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml index dddda33f..95d548ca 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml @@ -40,4 +40,24 @@ and r.upgrade_status = #{upgradeStatus} + + + diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml index 669d7837..29e5a09a 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml @@ -18,25 +18,16 @@ - - select * - from AC_RECOM_UPGRADE_RULE_CONFIG u + from ac_recom_upgrade_rule_config u where u.del_flag = 0 - and u.pk_country = #{pkCountry} and u.pk_base_id = #{pkBaseId} and u.pk_settle_grade = #{pkSettleGrade} - and u.pk_recommend_grade <= #{pkRecommendGrade} - and u.pk_settle_grade in (select m.pk_level - from AC_GOAL_MEMBER_CONFIG m - where m.del_flag = 0 - and m.pk_country = #{pkCountry} - - and m.member_type = #{memberType} + + and u.pk_country = #{pkCountry} - and m.pk_base_id = #{pkBaseId}) order by u.creation_time desc - diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java index 97af7b47..593c29db 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java @@ -127,7 +127,7 @@ public class CuMemberTransferWhiteController extends BaseController { @Log(module = EOperationModule.TRADE_CONFIG, business = EOperationBusiness.TRANSFER_ACCOUNT_WHITE, method = EOperationMethod.UPDATE) @PostMapping("/update") public AjaxResult updateTransferConfig(@RequestBody CuMemberTransferWhiteVO transferWhiteVO) { - CuMember cumember = iMemberServiceApi.queryMember(transferWhiteVO.getMemberCode()).getData(); + CuMember cumember = iMemberServiceApi.getMember(transferWhiteVO.getMemberCode()).getData(); AjaxResult ajaxResult = parametersVerify(transferWhiteVO, cumember); if ((Integer) ajaxResult.get(AjaxResult.CODE_TAG) == HttpStatus.ERROR) { return ajaxResult; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java index bfa01198..83ebc997 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java @@ -3,15 +3,8 @@ package com.hzs.common.core.enums; import lombok.AllArgsConstructor; import lombok.Getter; - /** * 订单操作状态 - * - * @Description: - * @Author: ljc - * @Time: 2023/4/27 11:14 - * @Classname: EOrderOperateStatus - * @Package_name: com.hzs.common.core.enums */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java index a6161ff0..bf662431 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java @@ -59,6 +59,12 @@ public class AcRecomUpgradeRecord extends BaseEntity { @TableField("PK_RECOMMEND_GRADE") private Integer pkRecommendGrade; + /** + * 活动年月 + */ + @TableField("UPGRADE_TIME") + private String upgradeTime; + /** * 订单ID -- 已不用 */ diff --git a/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java b/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java index aa865f6d..4ddf2432 100644 --- a/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java +++ b/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java @@ -20,22 +20,22 @@ import org.springframework.stereotype.Component; public class ActivityListener { @DubboReference - IActivityServiceApi activityServiceApi; + IActivityServiceApi iActivityServiceApi; @RabbitListener(bindings = @QueueBinding( exchange = @Exchange(value = RabbitMqConstants.ACTIVITY_EXCHANGE, type = "topic"), value = @Queue(value = RabbitMqConstants.ACTIVITY_QUEUE, durable = "true", autoDelete = "false"), key = RabbitMqConstants.ACTIVITY_KEY)) @RabbitHandler - public void onMessage(Message message, Channel channel) throws Exception { + public void onMessage(Message message, Channel channel) { SaOrderExt saOrderExt = message.getPayload(); log.info("开始活动消费,接收到的参数:{}", JSONUtil.toJsonStr(saOrderExt)); - // 赠送抽奖次数 try { Thread.sleep(1000); Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); channel.basicAck(deliveryTag, false); - activityServiceApi.handleActivity(saOrderExt); + + iActivityServiceApi.handleActivity(saOrderExt); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace();