From f88ccb7cb8f83991c237a069024ec3c25027563d Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 18 Sep 2025 16:56:54 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E9=98=B6=E6=AE=B5=E5=A5=96=E9=87=91?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=A4=84=E7=90=86=EF=BC=88=E6=9C=AA=E5=AE=8C?= =?UTF-8?q?=E6=88=90=EF=BC=89=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/CuMemberSettleController.java | 35 ----- .../mapper/CuMemberRetailDetailMapper.java | 10 ++ .../service/ICuMemberRetailDetailService.java | 10 ++ .../impl/CuMemberRetailDetailServiceImpl.java | 30 ++++ .../service/impl/BonusSettleRangeHandle.java | 135 ++++++++++++++---- .../service/impl/BonusSettleServiceImpl.java | 2 +- .../bonus/order/mapper/BonusOrderMapper.java | 3 +- .../order/service/IBonusOrderService.java | 2 +- .../service/impl/BonusOrderServiceImpl.java | 4 +- .../achieve/CuMemberRetailDetailMapper.xml | 12 ++ .../bonus/achieve/CuMemberTreeMapper.xml | 5 +- .../mapper/bonus/order/BonusOrderMapper.xml | 6 + .../member/detail/CuMemberAssessMapper.xml | 7 +- .../core/constant/MagicNumberConstants.java | 10 -- .../common/core/constant/RetailConstants.java | 7 + .../hzs/common/core/enums/EBonusStage.java | 37 +++++ .../common/core/enums/EBonusStageStatus.java | 33 +++++ .../common/core/enums/EBonusStageType.java | 33 +++++ .../com/hzs/common/core/enums/EDelFlag.java | 2 - .../member/achieve/CuMemberRetailDetail.java | 10 +- .../member/achieve/CuMemberRetailRange.java | 6 + .../achieve/ext/CuMemberRetailRangeExt.java | 7 + .../domain/member/bonus/CuMemberBonus.java | 6 +- 23 files changed, 313 insertions(+), 99 deletions(-) create mode 100644 bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStage.java create mode 100644 bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageStatus.java create mode 100644 bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageType.java diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java index e5fc15aa..0b784727 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java @@ -15,7 +15,6 @@ import com.hzs.common.core.enums.EOperationBusiness; import com.hzs.common.core.enums.EOperationMethod; import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; @@ -37,8 +36,6 @@ public class CuMemberSettleController extends BaseController { @Autowired private ICuMemberBonusService iCuMemberBonusService; @Autowired - private IBonusSettleService iBonusSettleService; - @Autowired private ICuMemberTreeService iCuMemberTreeService; @Autowired private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @@ -48,8 +45,6 @@ public class CuMemberSettleController extends BaseController { /** * 初始化奖金结算表 - * - * @return AjaxResult */ @GetMapping("/init-table") public AjaxResult initTable(String settleDate) { @@ -59,8 +54,6 @@ public class CuMemberSettleController extends BaseController { /** * 初始化奖金结算表 - * - * @return AjaxResult */ @GetMapping("/init-period") public AjaxResult initPeriod(String settleDate) { @@ -70,8 +63,6 @@ public class CuMemberSettleController extends BaseController { /** * 奖金计算 - 重新结算 - * - * @return AjaxResult */ @GetMapping("/settle-bonus") @Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.INSERT) @@ -86,8 +77,6 @@ public class CuMemberSettleController extends BaseController { /** * 公布奖金 - * - * @return AjaxResult */ @GetMapping("/publish-bonus") @Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.PUBLISH) @@ -102,8 +91,6 @@ public class CuMemberSettleController extends BaseController { /** * 不公布奖金 - * - * @return AjaxResult */ @GetMapping("/no-publish-bonus") @Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.NO_PUBLISH) @@ -118,8 +105,6 @@ public class CuMemberSettleController extends BaseController { /** * 发放奖金 - * - * @return AjaxResult */ @GetMapping("/grant-bonus") @Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.GRANT) @@ -134,8 +119,6 @@ public class CuMemberSettleController extends BaseController { /** * 发放奖金 - * - * @return AjaxResult */ @GetMapping("/grant-temp-bonus") public AjaxResult grantTempBonus(Integer pkCountry, String settleDate) { @@ -145,8 +128,6 @@ public class CuMemberSettleController extends BaseController { /** * 发放奖金 - * - * @return AjaxResult */ @GetMapping("/grant-bonus_all") public AjaxResult grantBonusAll() { @@ -156,8 +137,6 @@ public class CuMemberSettleController extends BaseController { /** * 奖金提现 - * - * @return AjaxResult */ @GetMapping("/withdrawal-bonus") @Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.WITHDRAWAL) @@ -170,20 +149,6 @@ public class CuMemberSettleController extends BaseController { return AjaxResult.success(); } - /** - * 秒接结算业绩,仅用于测试 - * - * @return AjaxResult - */ - @GetMapping("/settle-second-bonus") - public AjaxResult settleSecondBonus(String orderCode) { - if (StringUtils.isEmpty(orderCode)) { - return AjaxResult.error(); - } - iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(orderCode); - return AjaxResult.success(); - } - /* * 查询奖金计算期数列表 **/ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java index 7f09bf4d..aa6dcff6 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java @@ -2,10 +2,20 @@ package com.hzs.bonus.achieve.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 日结算阶段表 Mapper 接口 */ public interface CuMemberRetailDetailMapper extends BaseMapper { + /** + * 查询明细数据(指定阶段,未完成的) + */ + List listMemberRetailDetail(@Param("retailDetailTableName") String retailDetailTableName, + @Param("tmpIdList") List tmpIdList, + @Param("stage") Integer stage); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java index d849d643..eb33dead 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java @@ -1,11 +1,21 @@ package com.hzs.bonus.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.hzs.common.core.enums.EBonusStage; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; +import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; + +import java.util.List; +import java.util.Map; /** * 日结算阶段表 服务类 */ public interface ICuMemberRetailDetailService extends IService { + /** + * 根据结算会员获取对应的点位数据 + */ + void listMemberRetailDetail(String retailDetailTableName, Map memberRangeExtMap, EBonusStage eBonusStage); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java index 952b95c0..92494240 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java @@ -3,13 +3,43 @@ package com.hzs.bonus.achieve.service.impl; import com.hzs.bonus.achieve.mapper.CuMemberRetailDetailMapper; import com.hzs.bonus.achieve.service.ICuMemberRetailDetailService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hzs.common.core.constant.MagicNumberConstants; +import com.hzs.common.core.enums.EBonusStage; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; +import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.*; + /** * 日结算阶段表 服务实现类 */ @Service public class CuMemberRetailDetailServiceImpl extends ServiceImpl implements ICuMemberRetailDetailService { + @Autowired + private CuMemberBonusSettle cuMemberBonusSettle; + + @Override + public void listMemberRetailDetail(String retailDetailTableName, Map memberRangeExtMap, EBonusStage eBonusStage) { + List> pkMemberList = cuMemberBonusSettle.handleCutList(memberRangeExtMap.keySet(), MagicNumberConstants.BATCH_QUERY_NUM); + pkMemberList.forEach(tmpIdList -> { + List tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue()); + if (tmpList.size() > 0) { + // 明细数据放到对应的会员数据中 + for (CuMemberRetailDetail cuMemberRetailDetail : tmpList) { + CuMemberRetailRangeExt cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailDetail.getPkMember()); + if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) { + // 阶段一点位列表 + if (null == cuMemberRetailRangeExt.getOneDetailList()) { + cuMemberRetailRangeExt.setOneDetailList(new ArrayList<>()); + } + cuMemberRetailRangeExt.getOneDetailList().add(cuMemberRetailDetail); + } + } + } + }); + } + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index e6ae9523..698c2f34 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -1,6 +1,7 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.collection.CollectionUtil; +import com.hzs.bonus.achieve.service.ICuMemberRetailDetailService; import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService; import com.hzs.bonus.base.service.ICuMemberService; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; @@ -14,6 +15,7 @@ import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.bonus.BdBonusDeduct; +import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import com.hzs.common.domain.member.bonus.*; import com.hzs.common.domain.member.detail.*; @@ -30,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -44,6 +47,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { @Autowired private ICuMemberRetailRangeService iCuMemberRetailRangeService; @Autowired + private ICuMemberRetailDetailService iCuMemberRetailDetailService; + @Autowired private ICuMemberAwardsService iCuMemberAwardsService; @Autowired private ICuMemberService iCuMemberService; @@ -269,8 +274,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 结算期间日期后一天 Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleStartDate); - // 新零售订单 - List orderList = iBonusOrderService.listRetailSaOrder(settleStartDate, settleEndDate, null); + // 新零售订单(注册、复购) + List orderList = iBonusOrderService.listRetailSaOrder(settleStartDate, settleEndDate, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_REPURCHASE.getValue())); // 更新当月会员, 将昨天业绩更到到今天,更新当月会员考核结果,有消费的考核通过 // 结算期间表 @@ -290,16 +295,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (orderList.size() > 0) { // 按照血缘,查询该会员所有伞上会员 List memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, orderList); - // 会员结算map(key:会员ID,value:结算扩展) Map memberRangeExtMap = new HashMap<>(); - // 会员转map for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) { if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); } } + // 查询血缘会员明细数据(一阶段) + iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.ONE); // 奖衔 Map retailAwardsMap = new HashMap<>(); @@ -321,7 +326,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 直推收益 -- 来源订单金额,直推拿金额的10% this.calculateDirectIncome(cuMemberBonusPushList, memberRangeExtMap, saOrderExt, bonusConfigDTO, period, cuMemberBonusMap); + // TODO 阶段收益 -- 来源订单金额 + this.calculateStageIncome(cuMemberBonusPushList, memberRangeExtMap, saOrderExt, + settleStartDate); // TODO 领导级差收益 -- 来源PV @@ -818,32 +826,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberBonusPushList.add(cuMemberBonusPush); } - /** - * 获取直推、见点收益信息 - */ - CuMemberBonusPush getCuMemberBonusPush(SaOrderExt saOrderExt, CuMemberRetailRangeExt cuMemberRetailRange, CuMemberBonus cuMemberBonus, Integer pkBonusItems) { - CuMemberBonusPush cuMemberBonusPush = CuMemberBonusPush.builder() - .pkBonus(cuMemberBonus.getPkId()) - .pkOrder(saOrderExt.getPkId()) - .pkBonusItems(pkBonusItems) - .incomeStatus(cuMemberRetailRange.getIncomeStatus()) - .calType(ECalType.RATIO.getValue()) - .calAchieve(BigDecimal.ZERO) - .calValue(BigDecimal.ZERO) - .pretaxIncome(BigDecimal.ZERO) - .incomeTax(BigDecimal.ZERO) - .realIncome(BigDecimal.ZERO) - .round(-1) - .second(-1) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .build(); - cuMemberBonusPush.setPkCountry(cuMemberRetailRange.getPkSettleCountry()); - cuMemberBonusPush.setPkCreator(MagicNumberConstants.PK_ADMIN); - return cuMemberBonusPush; - } - /** * 计算见点收益 -- 商城专区 */ @@ -908,5 +890,98 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } + /** + * 获取直推、见点收益信息 + */ + CuMemberBonusPush getCuMemberBonusPush(SaOrderExt saOrderExt, CuMemberRetailRangeExt cuMemberRetailRange, CuMemberBonus cuMemberBonus, Integer pkBonusItems) { + CuMemberBonusPush cuMemberBonusPush = CuMemberBonusPush.builder() + .pkBonus(cuMemberBonus.getPkId()) + .pkOrder(saOrderExt.getPkId()) + .pkBonusItems(pkBonusItems) + .incomeStatus(cuMemberRetailRange.getIncomeStatus()) + .calType(ECalType.RATIO.getValue()) + .calAchieve(BigDecimal.ZERO) + .calValue(BigDecimal.ZERO) + .pretaxIncome(BigDecimal.ZERO) + .incomeTax(BigDecimal.ZERO) + .realIncome(BigDecimal.ZERO) + .round(-1) + .second(-1) + .incomeRatio(BigDecimal.ZERO) + .incomeDialRatio(BigDecimal.ZERO) + .orderDialRatio(BigDecimal.ZERO) + .build(); + cuMemberBonusPush.setPkCountry(cuMemberRetailRange.getPkSettleCountry()); + cuMemberBonusPush.setPkCreator(MagicNumberConstants.PK_ADMIN); + return cuMemberBonusPush; + } + + /** + * 计算阶段收益 -- 精品专区 + */ + private void calculateStageIncome(List cuMemberBonusPushList, Map memberRangeExtMap, SaOrderExt saOrderExt, + Date settleDate) { + // 订单金额除50取整,为新増点位数量 + int newPointInt = saOrderExt.getOrderAmount().divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue(); + if (newPointInt == 0) { + // 当前精品专区订单不足生成点位 + return; + } + + // 订单会员 + CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(saOrderExt.getPkMember()); + // 会员一阶段子点位列表 + List detailList = sourceMember.getOneDetailList(); + if (null == detailList) { + detailList = new ArrayList<>(); + sourceMember.setOneDetailList(detailList); + } + // 当前会员子点位总数 + int pointCount = sourceMember.getPointCount(); + for (int i = 1; i <= newPointInt; i++) { + // 订单生成的新点位 + detailList.add(CuMemberRetailDetail.builder() + .pkMember(sourceMember.getPkMember()) + .childNode(pointCount + i) + .pkParent(sourceMember.getPkParent()) + .stage(EBonusStage.ONE.getValue()) + .stage(EBonusStageStatus.NO.getValue()) + .pointType(EBonusStageType.NORMAL.getValue()) + .pointGift(0) + .creationTime(settleDate) + .build()); + } + + // 推荐人 + Long pkParent = sourceMember.getPkParent(); + while (true) { + CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent); + if (null == targetMember) { + break; + } + + // 推荐人一阶段子点位列表 + List parentDetailList = targetMember.getOneDetailList(); + if (CollectionUtil.isEmpty(parentDetailList)) { + continue; + } + for (CuMemberRetailDetail cuMemberRetailDetail : parentDetailList) { + if (EBonusStageStatus.NO.getValue() == cuMemberRetailDetail.getStageStatus()) { + // 推荐人子点位未完成,则进行填充 + this.fillChildNode(cuMemberRetailDetail); + } + } + + + } + } + + /** + * 填充子点位 + */ + private void fillChildNode(CuMemberRetailDetail cuMemberRetailDetail) { + cuMemberRetailDetail.getPointMember11(); + + } } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index efd75032..9daf6b84 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -110,7 +110,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 查询奖金参数 BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); // 需要处理的订单 - List retailOrderList = iBonusOrderService.listRetailSaOrder(DateUtils.beforeDate(6, ChronoUnit.DAYS), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode); + List retailOrderList = iBonusOrderService.listRetailSaOrder(DateUtils.beforeDate(6, ChronoUnit.DAYS), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode, null); if (CollectionUtil.isNotEmpty(retailOrderList)) { // 会员奖金map diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java index dd16fc8c..d464aecf 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java @@ -16,6 +16,7 @@ public interface BonusOrderMapper { */ List listRetailSaOrder(@Param("startDate") Date startDate, @Param("endDate") Date endDate, - @Param("orderCode") String orderCode); + @Param("orderCode") String orderCode, + @Param("orderTypeList") List orderTypeList); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java index d0b6d013..ff4d8481 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java @@ -13,6 +13,6 @@ public interface IBonusOrderService { * @param startDate 开始日期 * @param endDate 结束日期 */ - List listRetailSaOrder(Date startDate, Date endDate, String orderCode); + List listRetailSaOrder(Date startDate, Date endDate, String orderCode, List orderTypeList); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java index 7e0fb9a8..e7c0f546 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java @@ -15,8 +15,8 @@ public class BonusOrderServiceImpl implements IBonusOrderService { private BonusOrderMapper bonusOrderMapper; @Override - public List listRetailSaOrder(Date startDate, Date endDate, String orderCode) { - return bonusOrderMapper.listRetailSaOrder(startDate, endDate, orderCode); + public List listRetailSaOrder(Date startDate, Date endDate, String orderCode, List orderTypeList) { + return bonusOrderMapper.listRetailSaOrder(startDate, endDate, orderCode, orderTypeList); } } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml index 330b4b37..b1efab5b 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml @@ -2,5 +2,17 @@ + + diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index 9c164376..99c8eadd 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -292,7 +292,6 @@ create table ${tableName} ( - pk_id NUMBER(20) primary key, pk_member NUMBER(20) not null, child_node NUMBER(8) not null, pk_parent NUMBER(20) not null, @@ -335,10 +334,10 @@ - create index ${tableName}_MEMBER + create unique index PK_${tableName} on ${tableName} ( - PK_MEMBER + PK_MEMBER, CHILD_NODE ) diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml index e38404e8..808f4e14 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml @@ -82,6 +82,12 @@ and so.order_code=#{orderCode} + + and so.order_type in + + #{items} + + and so.pay_time >= #{startDate} and so.pay_time < #{endDate} order by pay_time desc diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml index 5798b973..81b68588 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml @@ -129,11 +129,8 @@ ) - create - unique index - ${tableName} - _ - PK_M + create unique index + ${tableName}_PK_M on ${tableName} ( diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java index f7897c21..ccf25238 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java @@ -47,16 +47,6 @@ public class MagicNumberConstants { */ public static final Long PK_ADMIN = 100000000L; - /** - * 开始血缘代 - */ - public static final Integer BLOOD_GENERATION_START = 1; - - /** - * 结束血缘代 - */ - public static final Integer BLOOD_GENERATION_END = 10; - /** * 老会员编号位数 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java index 02c723ee..bd812a63 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java @@ -7,6 +7,13 @@ import java.math.BigDecimal; */ public class RetailConstants { + /** + * 精品专区50金额为一个子点位,商城专区50PV为一个子点位 + * 精品专区计算点位:金额 / 50,余不做处理 + * 商城专区计算点位:累计业绩 / 50, 剩下的继续累计 + */ + public static final BigDecimal POINT_VAL = new BigDecimal("50"); + /** * 精品专区直推收益订单金额 10%,商城专区见点收益20代订单PV 10% */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStage.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStage.java new file mode 100644 index 00000000..ae52b1a0 --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStage.java @@ -0,0 +1,37 @@ +package com.hzs.common.core.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 阶段奖项枚举 + */ +@AllArgsConstructor +@Getter +public enum EBonusStage { + + /** + * 一阶段 + */ + ONE(1, "一阶段"), + /** + * 二阶段 + */ + TWO(2, "二阶段"), + /** + * 三阶段 + */ + THREE(3, "三阶段"), + + ; + + /** + * 实际值 + */ + private final int value; + /** + * 显示标签 + */ + private final String label; + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageStatus.java new file mode 100644 index 00000000..2e3d4406 --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageStatus.java @@ -0,0 +1,33 @@ +package com.hzs.common.core.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 阶段状态枚举 + */ +@AllArgsConstructor +@Getter +public enum EBonusStageStatus { + + /** + * 已完成 + */ + YES(0, "已完成"), + /** + * 未完成 + */ + NO(1, "未完成"), + + ; + + /** + * 实际值 + */ + private final int value; + /** + * 显示标签 + */ + private final String label; + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageType.java new file mode 100644 index 00000000..9497814c --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusStageType.java @@ -0,0 +1,33 @@ +package com.hzs.common.core.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 阶段点位类型枚举 + */ +@AllArgsConstructor +@Getter +public enum EBonusStageType { + + /** + * 普通点位 + */ + NORMAL(0, "普通点位"), + /** + * 赠送点位 + */ + GIFT(1, "赠送点位"), + + ; + + /** + * 实际值 + */ + private final int value; + /** + * 显示标签 + */ + private final String label; + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EDelFlag.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EDelFlag.java index c5e155d0..57c02ad0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EDelFlag.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EDelFlag.java @@ -6,8 +6,6 @@ import lombok.Getter; /** * 删除标记枚举类 - * - * @author hzs */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailDetail.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailDetail.java index 57431fa7..493e8955 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailDetail.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailDetail.java @@ -10,24 +10,22 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.hzs.common.core.annotation.Excel; import com.hzs.common.core.web.domain.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.*; import lombok.experimental.Accessors; /** * 日结算阶段表 */ +@Builder +@AllArgsConstructor +@NoArgsConstructor @Data @Accessors(chain = true) -@KeySequence("CU_MEMBER_RETAIL_DETAIL_SEQ") @TableName("CU_MEMBER_RETAIL_DETAIL") public class CuMemberRetailDetail { private static final long serialVersionUID = 1L; - @TableId("PK_ID") - private Long pkId; - /** * 会员ID */ diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java index c6a189ce..2e5c09ca 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java @@ -189,4 +189,10 @@ public class CuMemberRetailRange extends BaseEntity { @TableField("small_team_pv") private BigDecimal smallTeamPv; + /** + * 子点位总数 + */ + @TableField("point_count") + private Integer pointCount; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java index 8dc07708..4d90ae3e 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java @@ -1,10 +1,12 @@ package com.hzs.common.domain.member.achieve.ext; +import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.CuMemberRetailRange; import lombok.Data; import lombok.EqualsAndHashCode; import java.math.BigDecimal; +import java.util.List; /** * 新零售极差实体 @@ -134,4 +136,9 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange { private BigDecimal repTeamNewPv; // 秒结 end + /** + * 阶段一点位列表 + */ + private List oneDetailList; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java index 61e11ec7..c1f52db2 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java @@ -50,7 +50,7 @@ public class CuMemberBonus extends BaseEntity { private Integer pkRate; /** - * 注册直推收益 + * 注册直推收益-康健 */ @TableField("DIRECT_INCOME") private BigDecimal directIncome; @@ -176,7 +176,7 @@ public class CuMemberBonus extends BaseEntity { private BigDecimal repurCouponSubtotal; /** - * 复购见点收益 + * 复购见点收益-康健 */ @TableField("GLOBAL_POINTS") private BigDecimal globalPoints; @@ -188,7 +188,7 @@ public class CuMemberBonus extends BaseEntity { private BigDecimal carAwardPoints; /** - * 店铺收益 + * 注册阶段收益-康健 */ @TableField("STORE_INCOME") private BigDecimal storeIncome;