From 34903b0b003d61cea4bb03dd6adcb9b6245d5565 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 25 Sep 2025 14:31:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?##=20=E4=B8=89=E9=98=B6=E6=AE=B5=E5=A5=96?= =?UTF-8?q?=E9=87=91=E5=8F=91=E6=94=BE=E7=82=B9=E4=BD=8D=E6=95=B0=E5=A4=84?= =?UTF-8?q?=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java index 5497cd05..d7fbc670 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java @@ -427,7 +427,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl Date: Thu, 25 Sep 2025 15:44:07 +0800 Subject: [PATCH 2/3] =?UTF-8?q?##=20=E4=B8=89=E9=98=B6=E6=AE=B5=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E5=88=97=E8=A1=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CuMemberRetailDetailMapper.java | 11 +- .../service/ICumemberRetailDetailService.java | 4 + .../ICumemberRetailDetailServiceImpl.java | 15 +-- .../api/ApiMemberStructureController.java | 52 +++++++ .../manage/MemberStructureController.java | 15 +++ .../controller/vo/CuMemberPointDetailVO.java | 29 ++++ .../vo/CuMemberThreeFrameworkVO.java | 127 +++++++----------- .../member/CuMemberRetailDetailMapper.xml | 119 +++++++++++----- 8 files changed, 255 insertions(+), 117 deletions(-) create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberPointDetailVO.java diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java index 7bfbec2b..a4fa110f 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRetailDetailMapper.java @@ -3,6 +3,7 @@ package com.hzs.member.base.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import org.apache.ibatis.annotations.Param; @@ -33,8 +34,10 @@ public interface CuMemberRetailDetailMapper extends BaseMapper getCuMemberRetailDetailList(@Param("settleTableName") String settleTableName, - @Param("memberCode") String memberCode, - @Param("stage") Integer stage, - @Param("stageStatus") Integer stageStatus); + CuMemberPointDetailVO getPointDetail(@Param("pointMemberCode") Long pointMemberCode); + + List getCuMemberRetailDetailDTOList(@Param("settleTableName") String settleTableName, + @Param("memberCode") String memberCode, + @Param("stage") Integer stage, + @Param("stageStatus") Integer stageStatus); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java index 25cc2df0..c67c74aa 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICumemberRetailDetailService.java @@ -3,6 +3,7 @@ package com.hzs.member.base.service; import cn.hutool.core.lang.tree.Tree; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import java.util.List; @@ -21,4 +22,7 @@ public interface ICumemberRetailDetailService { List getChildListByUserId(Long userId, Integer stage, Integer stageStatus, String settleTableName); List getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus); + + CuMemberPointDetailVO getPointDetail(Long pointMemberCode); + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java index afd62bb6..075e75c0 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/ICumemberRetailDetailServiceImpl.java @@ -10,6 +10,7 @@ import com.hzs.member.base.mapper.CuMemberRetailDetailMapper; import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -106,14 +107,12 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus) { - List cuMemberRetailDetailList = baseMapper.getCuMemberRetailDetailList(settleTableName, memberCode, stage, stageStatus); - if (cuMemberRetailDetailList == null || cuMemberRetailDetailList.isEmpty()) { - return null; - }else { - // 构建map - cuMemberRetailDetailList.forEach(CuMemberThreeFrameworkVO::buildMemberMaps); - } - return cuMemberRetailDetailList; + return baseMapper.getCuMemberRetailDetailDTOList(settleTableName, memberCode, stage, stageStatus); + } + + @Override + public CuMemberPointDetailVO getPointDetail(Long pointMemberCode) { + return baseMapper.getPointDetail(pointMemberCode); } private Map makeNode(String id, String parentId, String label,Integer pointMember, diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java index fa356dbf..06f097b3 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java @@ -9,11 +9,15 @@ import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; +import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.security.service.UserTokenService; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; +import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; +import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import com.hzs.system.sys.dto.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +50,9 @@ public class ApiMemberStructureController extends BaseController { @Autowired ICumemberRetailDetailService iCumemberRetailDetailService; + @Autowired + ICuMemberService iCuMemberService; + @Log(module = EOperationModule.MEMBER_RETAIL_TREE, business = EOperationBusiness.MEMBER_RETAIL_TREE, method = EOperationMethod.SELECT) @GetMapping("/three-framework") public AjaxResult Framework(Integer stage,String childNode,Integer stageStatus) { @@ -116,6 +123,51 @@ public class ApiMemberStructureController extends BaseController { return AjaxResult.success(childCodeList); } + @Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT) + @GetMapping("/three-framework-list") + public AjaxResult threeFrameworkList(Integer stage,Integer stageStatus) { + if (stage == null) { + log.error("参数错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + Long userId = SecurityUtils.getUserId(); + if (userId == null) { + log.error("用户登录信息错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + // 获取当前时间 -1 天 + String yesterday = LocalDate.now().minusDays(1).format((DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + // 查询相关日结表 + CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday); + log.info("日结信息{}",csPeriod); + String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId(); + log.info("日结表名称{}",settleTableName); + // 校验当前日结表是否存在 + Integer isFind = iCumemberRetailDetailService.getFindCumemberRetailDetail(settleTableName); + if (isFind == null || isFind != 1) { + log.error("当前会员日结信息不存在{}",settleTableName); + return AjaxResult.error("数据查询错误,请联系客服处理"); + } + startPage(); + // 查询当前会员所有子点位信息 + CuMember member = iCuMemberService.getMember(userId); + List cuMemberThreeFrameworkVOS = iCumemberRetailDetailService.getCuMemberRetailDetailList(settleTableName,member.getMemberCode(),stage,stageStatus); + return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS)); + } + + @Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT) + @GetMapping("/pointDetail") + public AjaxResult pointDetail(Long pointMemberCode) { + if (pointMemberCode == null) { + log.error("参数错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + CuMemberPointDetailVO cuMemberPointDetailVO = iCumemberRetailDetailService.getPointDetail(pointMemberCode); + if (cuMemberPointDetailVO == null) { + return null; + } + return AjaxResult.success(cuMemberPointDetailVO); + } // @Autowired // private ITransactionCommonService iTransactionCommonService; diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java index 6619206a..447f730c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java @@ -33,6 +33,7 @@ import com.hzs.member.achieve.service.ICuMemberTreeService; import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.structure.controller.vo.ChildCodeVO; +import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO; import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import com.hzs.system.config.IGradeServiceApi; @@ -274,6 +275,20 @@ public class MemberStructureController extends BaseController { return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS)); } + @Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT) + @GetMapping("/pointDetail") + public AjaxResult pointDetail(Long pointMemberCode) { + if (pointMemberCode == null) { + log.error("参数错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + CuMemberPointDetailVO cuMemberPointDetailVO = iCumemberRetailDetailService.getPointDetail(pointMemberCode); + if (cuMemberPointDetailVO == null) { + return null; + } + return AjaxResult.success(cuMemberPointDetailVO); + } + /** * 查询子节点 * @param memberSettlePeriodId diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberPointDetailVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberPointDetailVO.java new file mode 100644 index 00000000..fbc5864b --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberPointDetailVO.java @@ -0,0 +1,29 @@ +package com.hzs.member.structure.controller.vo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@JsonInclude(JsonInclude.Include.ALWAYS) +public class CuMemberPointDetailVO { + /** + * 会员编号 + */ + private String memberCode; + /** + * 会员姓名 + */ + private String memberName; + /** + * 荣誉奖衔 + */ + private String awardsName; + /** + * 隶属体系 + */ + private String vertexName; +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java index 9db2c6de..660fed11 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java @@ -1,182 +1,159 @@ package com.hzs.member.structure.controller.vo; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.Date; -import java.util.HashMap; +import java.io.Serializable; @Data @AllArgsConstructor @NoArgsConstructor -public class CuMemberThreeFrameworkVO { +@JsonInclude(JsonInclude.Include.ALWAYS) +public class CuMemberThreeFrameworkVO implements Serializable { private static final long serialVersionUID = 1L; - /** * 阶段状态(0=已完成,1=未完成) */ private Integer stageStatus; /** - * 阶段完成时间 + * 阶段 */ - private Date stageDate; + private Integer stage; + /** + * 子点位 + */ + private Integer childNode; /** * 点位1-1会员ID */ - private Long pointMember11; + private String pointMemberName11; /** - * 点位1-1会员子节点 + * 点位1-1会员ID */ - private String point11; + private String pointMemberCode11; /** * 点位1-2会员ID */ - private Long pointMember12; + private String pointMemberName12; /** - * 点位1-2会员子节点 + * 点位1-1会员ID */ - private String point12; + private String pointMemberCode12; /** * 点位2-1会员ID */ - private Long pointMember21; + private String pointMemberName21; /** - * 点位2-1会员子节点 + * 点位1-1会员ID */ - private String point21; + private String pointMemberCode21; /** * 点位2-2会员ID */ - private Long pointMember22; + private String pointMemberName22; /** - * 点位2-2会员子节点 + * 点位1-1会员ID */ - private String point22; + private String pointMemberCode22; /** * 点位2-3会员ID */ - private Long pointMember23; + private String pointMemberName23; /** - * 点位2-3会员子节点 + * 点位1-1会员ID */ - private String point23; + private String pointMemberCode23; /** * 点位2-4会员ID */ - private Long pointMember24; + private String pointMemberName24; /** - * 点位2-4会员子节点 + * 点位1-1会员ID */ - private String point24; + private String pointMemberCode24; /** * 点位3-1会员ID */ - private Long pointMember31; + private String pointMemberName31; /** - * 点位3-1会员子节点 + * 点位1-1会员ID */ - private String point31; + private String pointMemberCode31; /** * 点位3-2会员ID */ - private Long pointMember32; + private String pointMemberName32; /** - * 点位3-2会员子节点 + * 点位1-1会员ID */ - private String point32; + private String pointMemberCode32; /** * 点位3-3会员ID */ - private Long pointMember33; + private String pointMemberName33; /** - * 点位3-3会员子节点 + * 点位1-1会员ID */ - private String point33; + private String pointMemberCode33; /** * 点位3-4会员ID */ - private Long pointMember34; + private String pointMemberName34; /** - * 点位3-4会员子节点 + * 点位1-1会员ID */ - private String point34; + private String pointMemberCode34; /** * 点位3-5会员ID */ - private Long pointMember35; + private String pointMemberName35; /** - * 点位3-5会员子节点 + * 点位1-1会员ID */ - private String point35; + private String pointMemberCode35; /** * 点位3-6会员ID */ - private Long pointMember36; + private String pointMemberName36; /** - * 点位3-6会员子节点 + * 点位1-1会员ID */ - private String point36; + private String pointMemberCode36; /** * 点位3-7会员ID */ - private Long pointMember37; + private String pointMemberName37; /** - * 点位3-7会员子节点 + * 点位1-1会员ID */ - private String point37; + private String pointMemberCode37; /** * 点位3-8会员ID */ - private Long pointMember38; + private String pointMemberName38; /** - * 点位3-8会员子节点 + * 点位1-1会员ID */ - private String point38; - - @TableField(exist = false) - HashMap memberMaps = new HashMap<>(14); - - public void buildMemberMaps() { - memberMaps.clear(); - - putIntoMap(point11, pointMember11); - putIntoMap(point12, pointMember12); - putIntoMap(point21, pointMember21); - putIntoMap(point22, pointMember22); - putIntoMap(point23, pointMember23); - putIntoMap(point24, pointMember24); - putIntoMap(point31, pointMember31); - putIntoMap(point32, pointMember32); - putIntoMap(point33, pointMember33); - putIntoMap(point34, pointMember34); - putIntoMap(point35, pointMember35); - putIntoMap(point36, pointMember36); - putIntoMap(point37, pointMember37); - putIntoMap(point38, pointMember38); - } - private void putIntoMap(String key, Long value) { - memberMaps.put(key != null ? key : "", value); - } + private String pointMemberCode38; } diff --git a/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml index c3e7441d..3f542e8d 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailDetailMapper.xml @@ -62,41 +62,98 @@ and cud.STAGE_STATUS = #{stageStatus} - + From 02ff3cd355467419dc21bdf1a70b58cf972564c5 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 25 Sep 2025 18:07:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?##=20=E4=BA=8C=E4=B8=89=E9=98=B6=E6=AE=B5?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=A1=A5=E5=85=A8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CuMemberRetailDetailMapper.java | 5 +- .../service/ICuMemberRetailDetailService.java | 13 +- .../impl/CuMemberRetailDetailServiceImpl.java | 17 +- .../hzs/bonus/bonus/dto/BonusStageData.java | 5 + .../service/impl/BonusSettleRangeHandle.java | 183 +++++++++++++----- .../impl/CuMemberBonusStageServiceImpl.java | 22 ++- .../hzs/bonus/constant/BonusConstants.java | 9 + .../achieve/CuMemberRetailDetailMapper.xml | 10 +- .../achieve/CuMemberRetailRangeMapper.xml | 21 +- .../bonus/achieve/CuMemberTreeMapper.xml | 4 +- .../member/achieve/CuMemberRetailRange.java | 11 ++ 11 files changed, 221 insertions(+), 79 deletions(-) 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 aa6dcff6..3758a05c 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 @@ -12,10 +12,11 @@ import java.util.List; public interface CuMemberRetailDetailMapper extends BaseMapper { /** - * 查询明细数据(指定阶段,未完成的) + * 查询明细数据(指定阶段,指定状态) */ List listMemberRetailDetail(@Param("retailDetailTableName") String retailDetailTableName, @Param("tmpIdList") List tmpIdList, - @Param("stage") Integer stage); + @Param("stage") Integer stage, + @Param("stageStatus") Integer stageStatus); } 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 ab48d9c5..81d13adc 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 @@ -2,6 +2,7 @@ package com.hzs.bonus.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.core.enums.EBonusStage; +import com.hzs.common.core.enums.EBonusStageStatus; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; @@ -17,12 +18,18 @@ public interface ICuMemberRetailDetailService extends IService memberRangeExtMap, - EBonusStage eBonusStage, List stageMemberList); + EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List stageMemberList); /** * 指定会员获取对应的点位数据 */ - void listMemberRetailDetail(String retailDetailTableName, Map memberRangeExtMap, - List queryMemberList, EBonusStage eBonusStage); + void listMemberRetailDetailByQuery(String retailDetailTableName, Map memberRangeExtMap, + List queryMemberList, EBonusStage eBonusStage); + + /** + * 会员直推对应的点位数据 + */ + void listChildRetailDetail(String retailDetailTableName, Map memberRangeExtMap, + List queryMemberList, 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 435bcfb9..5602c43d 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 @@ -6,6 +6,7 @@ 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.core.enums.EBonusStageStatus; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +25,7 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl memberRangeExtMap, - EBonusStage eBonusStage, List stageMemberList) { + EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List stageMemberList) { List> pkMemberList; if (CollectionUtil.isNotEmpty(stageMemberList)) { pkMemberList = cuMemberBonusSettle.handleCutList(stageMemberList, MagicNumberConstants.BATCH_QUERY_NUM); @@ -33,7 +34,7 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl { // 查询明细数据(指定阶段,未完成的) - List tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue()); + List tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue(), null != eBonusStageStatus ? eBonusStageStatus.getValue() : null); if (CollectionUtil.isNotEmpty(tmpList)) { // 明细数据放到对应的会员数据中 for (CuMemberRetailDetail cuMemberRetailDetail : tmpList) { @@ -64,10 +65,10 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl memberRangeExtMap, - List queryMemberList, EBonusStage eBonusStage) { + public void listMemberRetailDetailByQuery(String retailDetailTableName, Map memberRangeExtMap, + List queryMemberList, EBonusStage eBonusStage) { // 查询明细数据(指定阶段,未完成的) - List tmpDetailList = baseMapper.listMemberRetailDetail(retailDetailTableName, queryMemberList, eBonusStage.getValue()); + List tmpDetailList = baseMapper.listMemberRetailDetail(retailDetailTableName, queryMemberList, eBonusStage.getValue(), EBonusStageStatus.NO.getValue()); if (CollectionUtil.isNotEmpty(tmpDetailList)) { // 明细数据放到对应的会员数据中 for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailList) { @@ -97,4 +98,10 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl memberRangeExtMap, + List queryMemberList, EBonusStage eBonusStage) { + + } + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java index eb5ff7ea..edf551a3 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java @@ -38,6 +38,11 @@ public class BonusStageData { */ private Integer stageNum; + /** + * 三阶段走完,需要添加的待激活点位数 + */ + private Integer pointGift; + /** * 二阶段点位 */ 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 fb35053c..2f9104bd 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 @@ -7,6 +7,7 @@ import com.hzs.bonus.base.service.ICuMemberService; import com.hzs.bonus.bonus.dto.BonusStageData; import com.hzs.bonus.bonus.service.ICuMemberBonusStageService; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; +import com.hzs.bonus.constant.BonusConstants; import com.hzs.bonus.detail.service.ICuMemberAwardsService; import com.hzs.bonus.order.service.IBonusOrderService; import com.hzs.common.core.constant.MagicNumberConstants; @@ -310,7 +311,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.ONE, null); + iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.ONE, EBonusStageStatus.NO, null); // 奖衔 Map retailAwardsMap = new HashMap<>(); @@ -353,21 +354,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } - // TODO 处理升二阶段点位 + // 处理升二阶段点位 if (CollectionUtil.isNotEmpty(stageList)) { List stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList()); + // 查询升阶段点位血缘上所有会员ID + List findMemberList = this.findParent(memberRangeExtMap, stageMemberList); // 查询血缘会员明细数据(二阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.TWO, stageMemberList); + iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.TWO, EBonusStageStatus.NO, findMemberList); // 二阶段收益 stageList = this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.TWO, stageList); } - // TODO 处理升三阶段点位 + // 处理升三阶段点位 if (CollectionUtil.isNotEmpty(stageList)) { List stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList()); + // 查询升阶段点位血缘上所有会员ID + List findMemberList = this.findParent(memberRangeExtMap, stageMemberList); // 查询血缘会员明细数据(三阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.THREE, stageMemberList); + iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.THREE, EBonusStageStatus.NO, findMemberList); // 三阶段收益 this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.THREE, stageList); @@ -965,12 +970,21 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { return returnRetailDetailList; } + // 订单生成新点位数量 int newPointInt; if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { // 精品专区按订单金额计算 + BigDecimal orderAmount = saOrderExt.getOrderAmount(); // 订单金额除50取整,为新増点位数量 - newPointInt = saOrderExt.getOrderAmount().divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue(); + newPointInt = orderAmount.divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue(); + if (orderAmount.compareTo(BonusConstants.GIFT_TWO_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 2) { + // 首次订单金额大于等于2万,每个点位完成三阶段赠送2个点位 + sourceMember.setGiftPoint(2); + } else if (orderAmount.compareTo(BonusConstants.GIFT_ONE_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 1) { + // 首次订单金额大于等于1万,每个点位完成三阶段赠送1个点位 + sourceMember.setGiftPoint(1); + } } else { // 商城专区按累计业绩处理 BigDecimal repPvBalance = sourceMember.getRepPvBalance().add(saOrderExt.getOrderAchieve()); @@ -981,6 +995,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 当前订单不足生成点位 return returnRetailDetailList; } + // 赠送点位 + int pointGift = sourceMember.getGiftPoint(); // 会员一阶段子点位列表 LinkedHashMap detailList = sourceMember.getOneDetailMap(); @@ -1001,7 +1017,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { .stage(EBonusStage.ONE.getValue()) .stageStatus(EBonusStageStatus.NO.getValue()) .pointType(EBonusStageType.NORMAL.getValue()) - .pointGift(0) + .pointGift(pointGift) .creationTime(settleDate) .thirdBonus1(0) .thirdBonus2(0) @@ -1014,6 +1030,39 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { memberRangeExtMap, saOrderExt, settleDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE, sourceMember, newRetailDetail, returnRetailDetailList); } + // 待激活点位 + int waitPointCount = sourceMember.getWaitPointCount(); + if (waitPointCount != 0) { + for (int i = 1; i <= newPointInt; i++) { + if (waitPointCount > 0) { + // 购买一个点位,激活一个待激活点位 + CuMemberRetailDetail newRetailDetail = CuMemberRetailDetail.builder() + .pkMember(sourceMember.getPkMember()) + .childNode(pointCount + i) + .pkParent(sourceMember.getPkParent()) + .stage(EBonusStage.ONE.getValue()) + .stageStatus(EBonusStageStatus.NO.getValue()) + .pointType(EBonusStageType.GIFT.getValue()) + .pointGift(0) + .creationTime(settleDate) + .thirdBonus1(0) + .thirdBonus2(0) + .thirdBonus3(0) + .updateBool(0) + .build(); + detailList.put(newRetailDetail.getChildNode(), newRetailDetail); + + this.handleStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, + memberRangeExtMap, saOrderExt, settleDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE, + sourceMember, newRetailDetail, returnRetailDetailList); + + waitPointCount = waitPointCount - 1; + } else { + break; + } + } + sourceMember.setWaitPointCount(waitPointCount); + } sourceMember.setPointCount(sourceMember.getPointCount() + newPointInt); return returnRetailDetailList; } @@ -1053,53 +1102,60 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { List returnRetailDetailList) { // 阶段奖金处理列表 List bonusStageDataList = new ArrayList<>(); - // 推荐人 - Long pkParent = sourceMember.getPkParent(); - while (true) { - CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent); - if (null == targetMember) { - // 没有推荐人了,则直接结束 - break; - } - pkParent = targetMember.getPkParent(); - // 推荐人一阶段子点位列表 - LinkedHashMap parentDetailList = null; - if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) { - parentDetailList = targetMember.getOneDetailMap(); - } else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) { - parentDetailList = targetMember.getTwoDetailMap(); - } else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) { - parentDetailList = targetMember.getThreeDetailMap(); - } - if (CollectionUtil.isEmpty(parentDetailList)) { - // 推荐人没有未完成点位,继续往上找 - continue; - } + if (EBonusStageType.NORMAL.getValue() == newRetailDetail.getPointType()) { + // 普通点位处理 + // 推荐人 + Long pkParent = sourceMember.getPkParent(); + while (true) { + CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent); + if (null == targetMember) { + // 没有推荐人了,则直接结束 + break; + } + pkParent = targetMember.getPkParent(); - // 推荐人第一层点位处理 - boolean forBool = iCuMemberBonusStageService.firstLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, - memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); - if (forBool) { - // 在第一层找到并填充点位,就开始下一个点位的处理 - break; - } + // 推荐人一阶段子点位列表 + LinkedHashMap parentDetailList = null; + if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) { + parentDetailList = targetMember.getOneDetailMap(); + } else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) { + parentDetailList = targetMember.getTwoDetailMap(); + } else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) { + parentDetailList = targetMember.getThreeDetailMap(); + } + if (CollectionUtil.isEmpty(parentDetailList)) { + // 推荐人没有未完成点位,继续往上找 + continue; + } - // 推荐人第二层点位处理 - forBool = iCuMemberBonusStageService.secondLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, - memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); - if (forBool) { - // 在第二层找到并填充点位,就开始下一个点位的处理 - break; - } + // 推荐人第一层点位处理 + boolean forBool = iCuMemberBonusStageService.firstLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, + memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); + if (forBool) { + // 在第一层找到并填充点位,就开始下一个点位的处理 + break; + } - // 推荐人第三层点位处理 - forBool = iCuMemberBonusStageService.thirdLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, - memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); - if (forBool) { - // 在第三层找到并填充点位,就开始下一个点位的处理 - break; + // 推荐人第二层点位处理 + forBool = iCuMemberBonusStageService.secondLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, + memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); + if (forBool) { + // 在第二层找到并填充点位,就开始下一个点位的处理 + break; + } + + // 推荐人第三层点位处理 + forBool = iCuMemberBonusStageService.thirdLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, + memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); + if (forBool) { + // 在第三层找到并填充点位,就开始下一个点位的处理 + break; + } } + } else { + // TODO 赠送点位处理,赠送点位给自己直推会员轮流布点 + } if (CollectionUtil.isNotEmpty(bonusStageDataList)) { @@ -1138,11 +1194,36 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { targetMember.getThreeDetailMap().put(threeRetailDetail.getChildNode(), threeRetailDetail); returnRetailDetailList.add(threeRetailDetail); } else if (EBonusStage.THREE.getValue() == bonusStageData.getStage()) { - // TODO 三阶段填充满,判断是否需要赠送点位 - + // 三阶段填充满,判断是否需要赠送点位 + if (bonusStageData.getPointGift() != 0) { + // 需要添加赠送的待激活点位 + targetMember.setWaitPointCount(targetMember.getWaitPointCount() + bonusStageData.getPointGift()); + } } } } } + /** + * 查找血缘上所有会员 + */ + private List findParent(Map memberRangeExtMap, List pkMemberList) { + List resultList = new ArrayList<>(); + for (Long pkMember : pkMemberList) { + CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(pkMember); + resultList.add(sourceMember.getPkMember()); + + Long pkParent = sourceMember.getPkParent(); + while (true) { + CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent); + if (null == targetMember) { + break; + } + resultList.add(targetMember.getPkMember()); + pkParent = targetMember.getPkParent(); + } + } + return resultList; + } + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java index d7fbc670..9fd14cd7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java @@ -361,6 +361,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl { memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail); }); - // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE); + // 查询血缘会员明细数据 + iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage); } } @@ -535,8 +539,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl { memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail); }); - // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE); + // 查询血缘会员明细数据 + iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage); } } @@ -628,8 +632,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl { memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail); }); - // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE); + // 查询血缘会员明细数据 + iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage); } } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java index c8a55bf4..cb393e6f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java @@ -12,6 +12,15 @@ import java.util.Map; public class BonusConstants { + /** + * 赠送2个点位订单金额 + */ + public static final BigDecimal GIFT_TWO_AMOUNT = new BigDecimal("20000"); + /** + * 赠送1个点位订单金额 + */ + public static final BigDecimal GIFT_ONE_AMOUNT = new BigDecimal("10000"); + /** * 一阶段奖金 -- 满14,发35 */ 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 b1efab5b..5cb90a9a 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 @@ -10,9 +10,13 @@ #{items} - and cmrd.stage = #{stage} - and cmrd.stage_status = 1 - order by cmrd.pk_member, cmrd.child_node + + and cmrd.stage = #{stage} + + + and cmrd.stage_status = #{stageStatus} + + order by cmrd.pk_member, cmrd.child_node, cmrd.stage diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml index 80f02a9a..eb220f7b 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml @@ -51,7 +51,9 @@ + + @@ -95,7 +97,9 @@ rep_team_new_amount = 0, rep_team_new_pv = 0, point_count = 0, - rep_pv_balance = 0 + wait_point_count = 0, + rep_pv_balance = 0, + gift_point = 0 @@ -107,7 +111,8 @@ team_consume_pv, team_month_pv, team_consume_amount, team_month_amount, recommend_num, team_num, big_team_pv, small_team_pv, - point_count, rep_pv_balance + point_count, wait_point_count, rep_pv_balance, + gift_point from ${yesterdayRangeTableName} ) b on (a.pk_member = b.pk_member) @@ -120,7 +125,9 @@ a.team_consume_amount = b.team_consume_amount, a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv, - a.point_count = b.point_count, a.rep_pv_balance = b.rep_pv_balance + a.point_count = b.point_count, a.wait_point_count = b.wait_point_count, + a.rep_pv_balance = b.rep_pv_balance, + a.gift_point = b.gift_point ,a.month_consume_pv = b.month_consume_pv ,a.month_consume_amount = b.month_consume_amount @@ -339,7 +346,8 @@ #{item.regTeamNewAmount} reg_team_new_amount, #{item.regTeamNewPv} reg_team_new_pv, #{item.repConsumeNewAmount} rep_consume_new_amount, #{item.repConsumeNewPv} rep_consume_new_pv, #{item.repTeamNewAmount} rep_team_new_amount, #{item.repTeamNewPv} rep_team_new_pv, - #{item.pointCount} point_count, #{item.repPvBalance} rep_pv_balance + #{item.pointCount} point_count, #{item.waitPointCount} wait_point_count, #{item.repPvBalance} rep_pv_balance, + #{item.giftPoint} gift_point from dual ) b @@ -355,7 +363,8 @@ a.reg_team_new_amount = b.reg_team_new_amount, a.reg_team_new_pv = b.reg_team_new_pv, a.rep_consume_new_amount = b.rep_consume_new_amount, a.rep_consume_new_pv = b.rep_consume_new_pv, a.rep_team_new_amount = b.rep_team_new_amount, a.rep_team_new_pv = b.rep_team_new_pv, - a.point_count = b.point_count, a.rep_pv_balance = b.rep_pv_balance + a.point_count = b.point_count, a.wait_point_count = b.wait_point_count, a.rep_pv_balance = b.rep_pv_balance, + a.gift_point = b.gift_point @@ -671,7 +680,9 @@ rep_team_new_amount, rep_team_new_pv, point_count, + wait_point_count, rep_pv_balance, + gift_point, bw.awards_value, bw.awards_name from ( 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 ecced1a8..e61a1a6c 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 @@ -576,7 +576,9 @@ rep_team_new_amount number(17,6) default 0 not null, rep_team_new_pv number(17,6) default 0 not null, point_count number(8) default 0 not null, - rep_pv_balance number(17,6) default 0 not null + wait_point_count number(8) default 0 not null, + rep_pv_balance number(17,6) default 0 not null, + gift_point number(2) default 1 not null ) 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 f5f6ea4a..6b996bf6 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 @@ -194,6 +194,11 @@ public class CuMemberRetailRange extends BaseEntity { */ @TableField("point_count") private Integer pointCount; + /** + * 待激活子点位数 + */ + @TableField("WAIT_POINT_COUNT") + private Integer waitPointCount; /** * 复购业绩余额 @@ -201,4 +206,10 @@ public class CuMemberRetailRange extends BaseEntity { @TableField("REP_PV_BALANCE") private BigDecimal repPvBalance; + /** + * 赠送几个点位 + */ + @TableField("GIFT_POINT") + private Integer giftPoint; + }