From d2a4c012c74a37c49475dc204799780d6b6d1b48 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Thu, 25 Sep 2025 11:13:28 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E4=B8=89=E9=98=B6=E6=AE=B5=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E4=BC=9A=E5=91=98=E5=90=8D=E7=A7=B0=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=82=B9=E4=BD=8D=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CuMemberRetailDetailMapper.java | 6 + .../service/ICumemberRetailDetailService.java | 3 + .../ICumemberRetailDetailServiceImpl.java | 47 +++-- .../manage/MemberStructureController.java | 30 +++ .../vo/CuMemberThreeFrameworkVO.java | 182 ++++++++++++++++++ .../member/CuMemberRetailDetailMapper.xml | 43 +++++ .../common/core/enums/EOperationBusiness.java | 3 +- .../common/core/enums/EOperationModule.java | 3 +- 8 files changed, 298 insertions(+), 19 deletions(-) create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.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 86852ae1..7bfbec2b 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.CuMemberThreeFrameworkVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -31,4 +32,9 @@ public interface CuMemberRetailDetailMapper extends BaseMapper getCuMemberRetailDetailList(@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 ac6bc6ff..25cc2df0 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.CuMemberThreeFrameworkVO; import java.util.List; @@ -18,4 +19,6 @@ public interface ICumemberRetailDetailService { CuMemberRetailDetail getCuMemberRetailDetailByUserId(Long userId, Integer stage, Integer stageStatus, String childNode, String settleTableName); List getChildListByUserId(Long userId, Integer stage, Integer stageStatus, String settleTableName); + + List getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus); } 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 fa3486b0..801f80e4 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.CuMemberThreeFrameworkVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -63,24 +64,24 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl> nodeList = new ArrayList<>(); - nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), cuMemberRetailDetail.getPkMember(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), null,cuMemberRetailDetail.getPkMember(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE1.getId(), EMemberChildNodeType.NODE1.getParentId(), EMemberChildNodeType.NODE1.getLabel(), cuMemberRetailDetail.getPointMember11(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE2.getId(), EMemberChildNodeType.NODE2.getParentId(), EMemberChildNodeType.NODE2.getLabel(), cuMemberRetailDetail.getPointMember12(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE1.getId(), EMemberChildNodeType.NODE1.getParentId(), EMemberChildNodeType.NODE1.getLabel(), cuMemberRetailDetail.getPoint11(), cuMemberRetailDetail.getPointMember11(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE2.getId(), EMemberChildNodeType.NODE2.getParentId(), EMemberChildNodeType.NODE2.getLabel(), cuMemberRetailDetail.getPoint12(),cuMemberRetailDetail.getPointMember12(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE3.getId(), EMemberChildNodeType.NODE3.getParentId(), EMemberChildNodeType.NODE3.getLabel(), cuMemberRetailDetail.getPointMember21(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE4.getId(), EMemberChildNodeType.NODE4.getParentId(), EMemberChildNodeType.NODE4.getLabel(), cuMemberRetailDetail.getPointMember22(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE5.getId(), EMemberChildNodeType.NODE5.getParentId(), EMemberChildNodeType.NODE5.getLabel(), cuMemberRetailDetail.getPointMember23(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE6.getId(), EMemberChildNodeType.NODE6.getParentId(), EMemberChildNodeType.NODE6.getLabel(), cuMemberRetailDetail.getPointMember24(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE3.getId(), EMemberChildNodeType.NODE3.getParentId(), EMemberChildNodeType.NODE3.getLabel(), cuMemberRetailDetail.getPoint21(),cuMemberRetailDetail.getPointMember21(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE4.getId(), EMemberChildNodeType.NODE4.getParentId(), EMemberChildNodeType.NODE4.getLabel(), cuMemberRetailDetail.getPoint22(),cuMemberRetailDetail.getPointMember22(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE5.getId(), EMemberChildNodeType.NODE5.getParentId(), EMemberChildNodeType.NODE5.getLabel(), cuMemberRetailDetail.getPoint23(),cuMemberRetailDetail.getPointMember23(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE6.getId(), EMemberChildNodeType.NODE6.getParentId(), EMemberChildNodeType.NODE6.getLabel(), cuMemberRetailDetail.getPoint24(),cuMemberRetailDetail.getPointMember24(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE7.getId(), EMemberChildNodeType.NODE7.getParentId(), EMemberChildNodeType.NODE7.getLabel(), cuMemberRetailDetail.getPointMember31(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE8.getId(), EMemberChildNodeType.NODE8.getParentId(), EMemberChildNodeType.NODE8.getLabel(), cuMemberRetailDetail.getPointMember32(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE9.getId(), EMemberChildNodeType.NODE9.getParentId(), EMemberChildNodeType.NODE9.getLabel(), cuMemberRetailDetail.getPointMember33(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE10.getId(), EMemberChildNodeType.NODE10.getParentId(), EMemberChildNodeType.NODE10.getLabel(), cuMemberRetailDetail.getPointMember34(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE11.getId(), EMemberChildNodeType.NODE11.getParentId(), EMemberChildNodeType.NODE11.getLabel(), cuMemberRetailDetail.getPointMember35(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE12.getId(), EMemberChildNodeType.NODE12.getParentId(), EMemberChildNodeType.NODE12.getLabel(), cuMemberRetailDetail.getPointMember36(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE13.getId(), EMemberChildNodeType.NODE13.getParentId(), EMemberChildNodeType.NODE13.getLabel(), cuMemberRetailDetail.getPointMember37(), memberMap)); - nodeList.add(makeNode(EMemberChildNodeType.NODE14.getId(), EMemberChildNodeType.NODE14.getParentId(), EMemberChildNodeType.NODE14.getLabel(), cuMemberRetailDetail.getPointMember38(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE7.getId(), EMemberChildNodeType.NODE7.getParentId(), EMemberChildNodeType.NODE7.getLabel(), cuMemberRetailDetail.getPoint31(),cuMemberRetailDetail.getPointMember31(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE8.getId(), EMemberChildNodeType.NODE8.getParentId(), EMemberChildNodeType.NODE8.getLabel(), cuMemberRetailDetail.getPoint32(),cuMemberRetailDetail.getPointMember32(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE9.getId(), EMemberChildNodeType.NODE9.getParentId(), EMemberChildNodeType.NODE9.getLabel(), cuMemberRetailDetail.getPoint33(),cuMemberRetailDetail.getPointMember33(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE10.getId(), EMemberChildNodeType.NODE10.getParentId(), EMemberChildNodeType.NODE10.getLabel(), cuMemberRetailDetail.getPoint34(),cuMemberRetailDetail.getPointMember34(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE11.getId(), EMemberChildNodeType.NODE11.getParentId(), EMemberChildNodeType.NODE11.getLabel(), cuMemberRetailDetail.getPoint35(),cuMemberRetailDetail.getPointMember35(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE12.getId(), EMemberChildNodeType.NODE12.getParentId(), EMemberChildNodeType.NODE12.getLabel(), cuMemberRetailDetail.getPoint36(),cuMemberRetailDetail.getPointMember36(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE13.getId(), EMemberChildNodeType.NODE13.getParentId(), EMemberChildNodeType.NODE13.getLabel(), cuMemberRetailDetail.getPoint37(),cuMemberRetailDetail.getPointMember37(), memberMap)); + nodeList.add(makeNode(EMemberChildNodeType.NODE14.getId(), EMemberChildNodeType.NODE14.getParentId(), EMemberChildNodeType.NODE14.getLabel(), cuMemberRetailDetail.getPoint38(),cuMemberRetailDetail.getPointMember38(), memberMap)); // 构造树结构 return TreeUtil.build(nodeList, EMemberChildNodeType.ROOT.getParentId(), (node, tree) -> { @@ -103,7 +104,19 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl makeNode(String id, String parentId, String label, + @Override + public List 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; + } + + private Map makeNode(String id, String parentId, String label,Integer pointMember, Long memberId, Map memberMap) { Map map = new HashMap<>(); map.put("id", id); @@ -114,7 +127,7 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl> cuMemberRetailTree = iCumemberRetailDetailService.convertToNodeList(cuMemberRetailDetail); return AjaxResult.success(cuMemberRetailTree); } + /** + * 三阶段列表数据 + * @param memberSettlePeriodId + * @param memberCode + * @param stage + * @param stageStatus + * @return + */ + @Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT) + @GetMapping("/three-framework-list") + public AjaxResult threeFrameworkList(Long memberSettlePeriodId, String memberCode,Integer stage,Integer stageStatus) { + if (memberSettlePeriodId == null || memberCode == null || stage == null) { + log.error("参数错误"); + return AjaxResult.error(CommonMsgConstants.MISSING_PARAM); + } + CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getById(memberSettlePeriodId); + 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("当前日结信息表不存在",settleTableName); + } + // 查询当前会员所有子点位信息 + List cuMemberThreeFrameworkVOS = iCumemberRetailDetailService.getCuMemberRetailDetailList(settleTableName,memberCode,stage,stageStatus); + return AjaxResult.success(cuMemberThreeFrameworkVOS); + } /** * 查询子节点 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 new file mode 100644 index 00000000..9db2c6de --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/vo/CuMemberThreeFrameworkVO.java @@ -0,0 +1,182 @@ +package com.hzs.member.structure.controller.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.HashMap; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CuMemberThreeFrameworkVO { + + private static final long serialVersionUID = 1L; + + /** + * 阶段状态(0=已完成,1=未完成) + */ + private Integer stageStatus; + + /** + * 阶段完成时间 + */ + private Date stageDate; + + + /** + * 点位1-1会员ID + */ + private Long pointMember11; + /** + * 点位1-1会员子节点 + */ + private String point11; + + /** + * 点位1-2会员ID + */ + private Long pointMember12; + /** + * 点位1-2会员子节点 + */ + private String point12; + + /** + * 点位2-1会员ID + */ + private Long pointMember21; + /** + * 点位2-1会员子节点 + */ + private String point21; + + /** + * 点位2-2会员ID + */ + private Long pointMember22; + /** + * 点位2-2会员子节点 + */ + private String point22; + + /** + * 点位2-3会员ID + */ + private Long pointMember23; + /** + * 点位2-3会员子节点 + */ + private String point23; + + /** + * 点位2-4会员ID + */ + private Long pointMember24; + /** + * 点位2-4会员子节点 + */ + private String point24; + + /** + * 点位3-1会员ID + */ + private Long pointMember31; + /** + * 点位3-1会员子节点 + */ + private String point31; + + /** + * 点位3-2会员ID + */ + private Long pointMember32; + /** + * 点位3-2会员子节点 + */ + private String point32; + + /** + * 点位3-3会员ID + */ + private Long pointMember33; + /** + * 点位3-3会员子节点 + */ + private String point33; + + /** + * 点位3-4会员ID + */ + private Long pointMember34; + /** + * 点位3-4会员子节点 + */ + private String point34; + + /** + * 点位3-5会员ID + */ + private Long pointMember35; + /** + * 点位3-5会员子节点 + */ + private String point35; + + /** + * 点位3-6会员ID + */ + private Long pointMember36; + /** + * 点位3-6会员子节点 + */ + private String point36; + + /** + * 点位3-7会员ID + */ + private Long pointMember37; + /** + * 点位3-7会员子节点 + */ + private String point37; + + /** + * 点位3-8会员ID + */ + private Long pointMember38; + /** + * 点位3-8会员子节点 + */ + 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); + } + + +} 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 47caad8f..c3e7441d 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,4 +62,47 @@ and cud.STAGE_STATUS = #{stageStatus} + diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java index f9f3e67b..2ea8ab27 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java @@ -403,7 +403,8 @@ public enum EOperationBusiness { MEMBER_RISK_CONTROL("K值风控设置"), MEMBER_RETAIL_STAT("收益区域数据"), MEMBER_RETAIL_CHILDNODE("会员子节点查询"), - MEMBER_RETAIL_TREE("三阶段结构") + MEMBER_RETAIL_TREE("三阶段结构"), + MEMBER_RETAIL_TREE_LIST("三阶段数据") ; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java index e4cd274c..8bac1e44 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java @@ -402,7 +402,8 @@ public enum EOperationModule { MEMBER_RISK_CONTROL("K值风控设置"), ORDER_SYNC("同步失败订单"), MEMBER_RETAIL_CHILDNODE("会员子节点查询"), - MEMBER_RETAIL_TREE("三阶段结构") + MEMBER_RETAIL_TREE("三阶段结构"), + MEMBER_RETAIL_TREE_LIST("三阶段数据") ; /**