## 三阶段架构会员名称添加点位信息

This commit is contained in:
zhangheng 2025-09-25 11:13:28 +08:00
parent aea3f9fe9b
commit 021d43282d
6 changed files with 119 additions and 177 deletions

View File

@ -3,7 +3,6 @@ package com.hzs.member.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
import com.hzs.member.structure.controller.vo.ChildCodeVO; 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.member.structure.controller.vo.CuMemberThreeFrameworkVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -34,9 +33,7 @@ public interface CuMemberRetailDetailMapper extends BaseMapper<CuMemberRetailDet
@Param("stageStatus")Integer stageStatus, @Param("stageStatus")Integer stageStatus,
@Param("settleTableName")String settleTableName); @Param("settleTableName")String settleTableName);
CuMemberPointDetailVO getPointDetail(@Param("pointMemberCode") Long pointMemberCode); List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(@Param("settleTableName") String settleTableName,
List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailDTOList(@Param("settleTableName") String settleTableName,
@Param("memberCode") String memberCode, @Param("memberCode") String memberCode,
@Param("stage") Integer stage, @Param("stage") Integer stage,
@Param("stageStatus") Integer stageStatus); @Param("stageStatus") Integer stageStatus);

View File

@ -3,7 +3,6 @@ package com.hzs.member.base.service;
import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.Tree;
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
import com.hzs.member.structure.controller.vo.ChildCodeVO; 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.member.structure.controller.vo.CuMemberThreeFrameworkVO;
import java.util.List; import java.util.List;
@ -22,7 +21,4 @@ public interface ICumemberRetailDetailService {
List<ChildCodeVO> getChildListByUserId(Long userId, Integer stage, Integer stageStatus, String settleTableName); List<ChildCodeVO> getChildListByUserId(Long userId, Integer stage, Integer stageStatus, String settleTableName);
List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus); List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus);
CuMemberPointDetailVO getPointDetail(Long pointMemberCode);
} }

View File

@ -10,7 +10,6 @@ import com.hzs.member.base.mapper.CuMemberRetailDetailMapper;
import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.base.service.ICumemberRetailDetailService;
import com.hzs.member.structure.controller.vo.ChildCodeVO; 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.member.structure.controller.vo.CuMemberThreeFrameworkVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -65,7 +64,7 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
// 构建node // 构建node
List<Map<String, Object>> nodeList = new ArrayList<>(); List<Map<String, Object>> nodeList = new ArrayList<>();
nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), cuMemberRetailDetail.getChildNode(),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.getPoint11(), cuMemberRetailDetail.getPointMember11(), 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.NODE2.getId(), EMemberChildNodeType.NODE2.getParentId(), EMemberChildNodeType.NODE2.getLabel(), cuMemberRetailDetail.getPoint12(),cuMemberRetailDetail.getPointMember12(), memberMap));
@ -107,12 +106,14 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
@Override @Override
public List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus) { public List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus) {
return baseMapper.getCuMemberRetailDetailDTOList(settleTableName, memberCode, stage, stageStatus); List<CuMemberThreeFrameworkVO> cuMemberRetailDetailList = baseMapper.getCuMemberRetailDetailList(settleTableName, memberCode, stage, stageStatus);
if (cuMemberRetailDetailList == null || cuMemberRetailDetailList.isEmpty()) {
return null;
}else {
// 构建map
cuMemberRetailDetailList.forEach(CuMemberThreeFrameworkVO::buildMemberMaps);
} }
return cuMemberRetailDetailList;
@Override
public CuMemberPointDetailVO getPointDetail(Long pointMemberCode) {
return baseMapper.getPointDetail(pointMemberCode);
} }
private Map<String, Object> makeNode(String id, String parentId, String label,Integer pointMember, private Map<String, Object> makeNode(String id, String parentId, String label,Integer pointMember,

View File

@ -33,7 +33,6 @@ import com.hzs.member.achieve.service.ICuMemberTreeService;
import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.base.service.ICumemberRetailDetailService; import com.hzs.member.base.service.ICumemberRetailDetailService;
import com.hzs.member.structure.controller.vo.ChildCodeVO; 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.CuMemberSettlePeriodVo;
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO; import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.IGradeServiceApi;
@ -269,24 +268,9 @@ public class MemberStructureController extends BaseController {
log.error("当前表名不存在{}",settleTableName); log.error("当前表名不存在{}",settleTableName);
return AjaxResult.error("当前日结信息表不存在",settleTableName); return AjaxResult.error("当前日结信息表不存在",settleTableName);
} }
startPage();
// 查询当前会员所有子点位信息 // 查询当前会员所有子点位信息
List<CuMemberThreeFrameworkVO> cuMemberThreeFrameworkVOS = iCumemberRetailDetailService.getCuMemberRetailDetailList(settleTableName,memberCode,stage,stageStatus); List<CuMemberThreeFrameworkVO> cuMemberThreeFrameworkVOS = iCumemberRetailDetailService.getCuMemberRetailDetailList(settleTableName,memberCode,stage,stageStatus);
return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS)); return AjaxResult.success(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);
} }
/** /**

View File

@ -1,159 +1,182 @@
package com.hzs.member.structure.controller.vo; package com.hzs.member.structure.controller.vo;
import com.fasterxml.jackson.annotation.JsonInclude; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.util.Date;
import java.util.HashMap;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@JsonInclude(JsonInclude.Include.ALWAYS) public class CuMemberThreeFrameworkVO {
public class CuMemberThreeFrameworkVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 阶段状态0=已完成1=未完成 * 阶段状态0=已完成1=未完成
*/ */
private Integer stageStatus; private Integer stageStatus;
/** /**
* 阶段 * 阶段完成时间
*/ */
private Integer stage; private Date stageDate;
/**
* 子点位
*/
private Integer childNode;
/** /**
* 点位1-1会员ID * 点位1-1会员ID
*/ */
private String pointMemberName11; private Long pointMember11;
/** /**
* 点位1-1会员ID * 点位1-1会员子节点
*/ */
private String pointMemberCode11; private String point11;
/** /**
* 点位1-2会员ID * 点位1-2会员ID
*/ */
private String pointMemberName12; private Long pointMember12;
/** /**
* 点位1-1会员ID * 点位1-2会员子节点
*/ */
private String pointMemberCode12; private String point12;
/** /**
* 点位2-1会员ID * 点位2-1会员ID
*/ */
private String pointMemberName21; private Long pointMember21;
/** /**
* 点位1-1会员ID * 点位2-1会员子节点
*/ */
private String pointMemberCode21; private String point21;
/** /**
* 点位2-2会员ID * 点位2-2会员ID
*/ */
private String pointMemberName22; private Long pointMember22;
/** /**
* 点位1-1会员ID * 点位2-2会员子节点
*/ */
private String pointMemberCode22; private String point22;
/** /**
* 点位2-3会员ID * 点位2-3会员ID
*/ */
private String pointMemberName23; private Long pointMember23;
/** /**
* 点位1-1会员ID * 点位2-3会员子节点
*/ */
private String pointMemberCode23; private String point23;
/** /**
* 点位2-4会员ID * 点位2-4会员ID
*/ */
private String pointMemberName24; private Long pointMember24;
/** /**
* 点位1-1会员ID * 点位2-4会员子节点
*/ */
private String pointMemberCode24; private String point24;
/** /**
* 点位3-1会员ID * 点位3-1会员ID
*/ */
private String pointMemberName31; private Long pointMember31;
/** /**
* 点位1-1会员ID * 点位3-1会员子节点
*/ */
private String pointMemberCode31; private String point31;
/** /**
* 点位3-2会员ID * 点位3-2会员ID
*/ */
private String pointMemberName32; private Long pointMember32;
/** /**
* 点位1-1会员ID * 点位3-2会员子节点
*/ */
private String pointMemberCode32; private String point32;
/** /**
* 点位3-3会员ID * 点位3-3会员ID
*/ */
private String pointMemberName33; private Long pointMember33;
/** /**
* 点位1-1会员ID * 点位3-3会员子节点
*/ */
private String pointMemberCode33; private String point33;
/** /**
* 点位3-4会员ID * 点位3-4会员ID
*/ */
private String pointMemberName34; private Long pointMember34;
/** /**
* 点位1-1会员ID * 点位3-4会员子节点
*/ */
private String pointMemberCode34; private String point34;
/** /**
* 点位3-5会员ID * 点位3-5会员ID
*/ */
private String pointMemberName35; private Long pointMember35;
/** /**
* 点位1-1会员ID * 点位3-5会员子节点
*/ */
private String pointMemberCode35; private String point35;
/** /**
* 点位3-6会员ID * 点位3-6会员ID
*/ */
private String pointMemberName36; private Long pointMember36;
/** /**
* 点位1-1会员ID * 点位3-6会员子节点
*/ */
private String pointMemberCode36; private String point36;
/** /**
* 点位3-7会员ID * 点位3-7会员ID
*/ */
private String pointMemberName37; private Long pointMember37;
/** /**
* 点位1-1会员ID * 点位3-7会员子节点
*/ */
private String pointMemberCode37; private String point37;
/** /**
* 点位3-8会员ID * 点位3-8会员ID
*/ */
private String pointMemberName38; private Long pointMember38;
/** /**
* 点位1-1会员ID * 点位3-8会员子节点
*/ */
private String pointMemberCode38; private String point38;
@TableField(exist = false)
HashMap<String,Long> 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);
}
} }

View File

@ -62,98 +62,41 @@
and cud.STAGE_STATUS = #{stageStatus} and cud.STAGE_STATUS = #{stageStatus}
</if> </if>
</select> </select>
<select id="getPointDetail" resultType="com.hzs.member.structure.controller.vo.CuMemberPointDetailVO"> <select id="getCuMemberRetailDetailList"
SELECT
cu.MEMBER_CODE,
cu.MEMBER_NAME,
ba.AWARDS_NAME AS awardsName,
bv.VERTEX_NAME AS vertexName
FROM
CU_MEMBER cu
LEFT JOIN BD_AWARDS ba ON cu.PK_AWARDS = ba.PK_ID
LEFT JOIN BD_VERTEX bv ON cu.PK_VERTEX = bv.PK_ID
WHERE
cu.PK_ID = #{pointMemberCode}
</select>
<select id="getCuMemberRetailDetailDTOList"
resultType="com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO"> resultType="com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO">
SELECT SELECT
curd.STAGE_STATUS, curd.STAGE_STATUS,
curd.STAGE_DATE, curd.STAGE_DATE,
curd.CHILD_NODE, '1-1' AS point11,
curd.STAGE, curd.POINT_MEMBER_11 AS pointMember11,
curd.POINT_MEMBER_11 as pointMemberCode11, '1-2' AS point12,
curd.POINT_MEMBER_12 as pointMemberCode12, curd.POINT_MEMBER_12 AS pointMember12,
curd.POINT_MEMBER_21 as pointMemberCode21, '2-1' AS point21,
curd.POINT_MEMBER_22 as pointMemberCode22, curd.POINT_MEMBER_21 AS pointMember21,
curd.POINT_MEMBER_23 as pointMemberCode23, '2-2' AS point22,
curd.POINT_MEMBER_24 as pointMemberCode24, curd.POINT_MEMBER_22 AS pointMember22,
curd.POINT_MEMBER_31 as pointMemberCode31, '2-3' AS point23,
curd.POINT_MEMBER_32 as pointMemberCode32, curd.POINT_MEMBER_23 AS pointMember23,
curd.POINT_MEMBER_33 as pointMemberCode33, '2-4' AS point24,
curd.POINT_MEMBER_34 as pointMemberCode34, curd.POINT_MEMBER_24 AS pointMember24,
curd.POINT_MEMBER_35 as pointMemberCode35, '3-1' AS point31,
curd.POINT_MEMBER_36 as pointMemberCode36, curd.POINT_MEMBER_31 AS pointMember31,
curd.POINT_MEMBER_37 as pointMemberCode37, '3-2' AS point32,
curd.POINT_MEMBER_38 as pointMemberCode38, curd.POINT_MEMBER_32 AS pointMember32,
CASE '3-3' AS point33,
WHEN curd.POINT_11 IS NULL THEN NULL curd.POINT_MEMBER_33 AS pointMember33,
ELSE cu.MEMBER_NAME || '-' || curd.POINT_11 '3-4' AS point34,
END AS pointMemberName11, curd.POINT_MEMBER_34 AS pointMember34,
CASE '3-5' AS point35,
WHEN curd.POINT_12 IS NULL THEN NULL curd.POINT_MEMBER_35 AS pointMember35,
ELSE cu.MEMBER_NAME || '-' || curd.POINT_12 '3-6' AS point36,
END AS pointMemberName12, curd.POINT_MEMBER_36 AS pointMember36,
CASE '3-7' AS point37,
WHEN curd.POINT_21 IS NULL THEN NULL curd.POINT_MEMBER_37 AS pointMember37,
ELSE cu.MEMBER_NAME || '-' || curd.POINT_21 '3-8' AS point38,
END AS pointMemberName21, curd.POINT_MEMBER_38 AS pointMember38
CASE
WHEN curd.POINT_22 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_22
END AS pointMemberName22,
CASE
WHEN curd.POINT_23 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_23
END AS pointMemberName23,
CASE
WHEN curd.POINT_24 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_24
END AS pointMemberName24,
CASE
WHEN curd.POINT_31 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_31
END AS pointMemberName31,
CASE
WHEN curd.POINT_32 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_32
END AS pointMemberName32,
CASE
WHEN curd.POINT_33 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_33
END AS pointMemberName33,
CASE
WHEN curd.POINT_34 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_34
END AS pointMemberName34,
CASE
WHEN curd.POINT_35 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_35
END AS pointMemberName35,
CASE
WHEN curd.POINT_36 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_36
END AS pointMemberName36,
CASE
WHEN curd.POINT_37 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_37
END AS pointMemberName37,
CASE
WHEN curd.POINT_38 IS NULL THEN NULL
ELSE cu.MEMBER_NAME || '-' || curd.POINT_38
END AS pointMemberName38
FROM FROM
${settleTableName} curd #{settleTableName} curd
LEFT JOIN CU_MEMBER cu ON curd.PK_MEMBER = cu.PK_ID LEFT JOIN CU_MEMBER cu ON curd.PK_MEMBER = cu.PK_ID
WHERE WHERE
cu.MEMBER_CODE = #{memberCode} cu.MEMBER_CODE = #{memberCode}
@ -161,7 +104,5 @@
<if test="stageStatus != null"> <if test="stageStatus != null">
and curd.STAGE_STATUS = #{stageStatus} and curd.STAGE_STATUS = #{stageStatus}
</if> </if>
ORDER BY
curd.CHILD_NODE
</select> </select>
</mapper> </mapper>