## 架构修改,阶段配置修改,子节点排序,会员子节点添加未完成数量

This commit is contained in:
zhangheng 2025-09-28 17:23:54 +08:00
parent 0378dd3d50
commit 6ded77fea8
10 changed files with 86 additions and 58 deletions

View File

@ -458,18 +458,15 @@ public class ApiMemberController extends BaseController {
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday); CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday);
log.info("会员结算表信息{}",csPeriod); log.info("会员结算表信息{}",csPeriod);
String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + csPeriod.getPkId(); String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + csPeriod.getPkId();
log.info("会员结算表名称{}",settleTableName); String settleDetailTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId();
log.info("会员结算表名称{}{}",settleTableName,settleDetailTableName);
// 校验当前日结表是否存在 // 校验当前日结表是否存在
Integer isFind = iCuMemberRetailService.getFindCuMemberRetailDetail(settleTableName); Integer isFind = iCuMemberRetailService.getFindCuMemberRetailDetail(settleTableName);
if (isFind == null || isFind != 1) { if (isFind == null || isFind != 1) {
log.error("当前表名不存在{}",settleTableName); log.error("当前表名不存在{}",settleTableName);
return AjaxResult.error("数据查询错误,请联系客服处理"); return AjaxResult.error("数据查询错误,请联系客服处理");
} }
List<MemberPointVO> list = iCuMemberRetailService.getMemberPointByUserId(settleTableName,userId); MemberPointVO memberPointVO = iCuMemberRetailService.getMemberPointByUserId(settleDetailTableName,settleTableName,userId);
if (CollectionUtil.isEmpty(list)) {
return AjaxResult.success();
}
MemberPointVO memberPointVO = list.get(0);
memberPointVO.setMemberSettlePeriod(csPeriod.getSettleDate()); memberPointVO.setMemberSettlePeriod(csPeriod.getSettleDate());
startPage(); startPage();
return AjaxResult.success(memberPointVO); return AjaxResult.success(memberPointVO);

View File

@ -805,14 +805,15 @@ public class CuMemberController extends BaseController {
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getById(memberSettlePeriodId); CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getById(memberSettlePeriodId);
log.info("会员结算表信息{}",csPeriod); log.info("会员结算表信息{}",csPeriod);
String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + csPeriod.getPkId(); String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + csPeriod.getPkId();
log.info("会员结算表名称{}",settleTableName); String settleDetailTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId();
log.info("会员结算表名称{}{}",settleTableName,settleDetailTableName);
// 校验当前日结表是否存在 // 校验当前日结表是否存在
Integer isFind = iCuMemberRetailService.getFindCuMemberRetailDetail(settleTableName); Integer isFind = iCuMemberRetailService.getFindCuMemberRetailDetail(settleTableName);
if (isFind == null || isFind != 1) { if (isFind == null || isFind != 1) {
log.error("当前表名不存在{}",settleTableName); log.error("当前表名不存在{}",settleTableName);
return AjaxResult.error("当前会员日结表信息不存在"); return AjaxResult.error("当前会员日结表信息不存在");
} }
List<MemberPointVO> list = iCuMemberRetailService.getMemberPointByMemberCode(settleTableName,memberCode,sort,sortColumn); List<MemberPointVO> list = iCuMemberRetailService.getMemberPointByMemberCode(settleDetailTableName,settleTableName,memberCode,sort,sortColumn);
list.forEach(item -> { list.forEach(item -> {
item.setMemberSettlePeriod(csPeriod.getSettleDate()); item.setMemberSettlePeriod(csPeriod.getSettleDate());
}); });
@ -830,8 +831,9 @@ public class CuMemberController extends BaseController {
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getById(param.getMemberSettlePeriodId()); CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getById(param.getMemberSettlePeriodId());
log.info("会员结算表信息{}",csPeriod); log.info("会员结算表信息{}",csPeriod);
String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + csPeriod.getPkId(); String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + csPeriod.getPkId();
log.info("会员结算表名称{}",settleTableName); String settleDetailTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId();
List<MemberPointVO> list = iCuMemberRetailService.getMemberPointByMemberCode(settleTableName,param.getMemberCode(),param.getSort(),param.getSortColumn()); log.info("会员结算表名称{}{}",settleTableName,settleDetailTableName);
List<MemberPointVO> list = iCuMemberRetailService.getMemberPointByMemberCode(settleDetailTableName, settleTableName, param.getMemberCode(), param.getSort(), param.getSortColumn());
list.forEach(item -> { list.forEach(item -> {
item.setMemberSettlePeriod(csPeriod.getSettleDate()); item.setMemberSettlePeriod(csPeriod.getSettleDate());
}); });

View File

@ -20,7 +20,7 @@ public interface CuMemberRetailMapper extends BaseMapper<CuMemberRetail> {
Integer getFindCumemberRetailDetail(@Param("settleTableName") String settleTableName); Integer getFindCumemberRetailDetail(@Param("settleTableName") String settleTableName);
List<MemberPointVO> getMemberPointByMemberCode(@Param("settleTableName") String settleTableName, @Param("memberCode") String memberCode, @Param("sort") String sort, @Param("sortColumn") String sortColumn); List<MemberPointVO> getMemberPointByMemberCode(@Param("settleDetailTableName") String settleDetailTableName,@Param("settleTableName") String settleTableName, @Param("memberCode") String memberCode, @Param("sort") String sort, @Param("sortColumn") String sortColumn);
List<MemberPointVO> getMemberPointByUserId(@Param("settleTableName") String settleTableName, @Param("userId") Long userId); MemberPointVO getMemberPointByUserId(@Param("settleDetailTableName") String settleDetailTableName,@Param("settleTableName") String settleTableName, @Param("userId") Long userId);
} }

View File

@ -17,7 +17,7 @@ public interface ICuMemberRetailService{
Integer getFindCuMemberRetailDetail(String settleTableName); Integer getFindCuMemberRetailDetail(String settleTableName);
List<MemberPointVO> getMemberPointByMemberCode(String settleTableName, String memberCode, String sort, String sortColumn); List<MemberPointVO> getMemberPointByMemberCode(String settleDetailTableName,String settleTableName, String memberCode, String sort, String sortColumn);
List<MemberPointVO> getMemberPointByUserId(String settleTableName, Long userId); MemberPointVO getMemberPointByUserId(String settleDetailTableName,String settleTableName, Long userId);
} }

View File

@ -26,12 +26,12 @@ public class CuMemberRetailServiceImpl extends ServiceImpl<CuMemberRetailMapper,
} }
@Override @Override
public List<MemberPointVO> getMemberPointByMemberCode(String settleTableName, String memberCode, String sort, String sortColumn) { public List<MemberPointVO> getMemberPointByMemberCode(String settleDetailTableName, String settleTableName, String memberCode, String sort, String sortColumn) {
return baseMapper.getMemberPointByMemberCode(settleTableName,memberCode,sort,sortColumn); return baseMapper.getMemberPointByMemberCode(settleDetailTableName,settleTableName,memberCode,sort,sortColumn);
} }
@Override @Override
public List<MemberPointVO> getMemberPointByUserId(String settleTableName, Long userId) { public MemberPointVO getMemberPointByUserId(String settleDetailTableName,String settleTableName, Long userId) {
return baseMapper.getMemberPointByUserId(settleTableName,userId); return baseMapper.getMemberPointByUserId(settleDetailTableName,settleTableName,userId);
} }
} }

View File

@ -99,6 +99,7 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
tree.putExtra("memberCode", node.get("memberCode")); tree.putExtra("memberCode", node.get("memberCode"));
tree.putExtra("memberName", node.get("memberName")); tree.putExtra("memberName", node.get("memberName"));
tree.putExtra("nodeCode", node.get("nodeCode")); tree.putExtra("nodeCode", node.get("nodeCode"));
tree.putExtra("pointMember", node.get("pointMember"));
}); });
} }
@ -155,11 +156,13 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
if (memberId != null && memberMap.containsKey(memberId)) { if (memberId != null && memberMap.containsKey(memberId)) {
CuMember member = memberMap.get(memberId); CuMember member = memberMap.get(memberId);
map.put("memberCode", member.getMemberCode()); map.put("memberCode", member.getMemberCode());
map.put("memberName", member.getMemberName() + "-" +pointMember); map.put("memberName", member.getMemberName());
map.put("pointMember", pointMember);
} else { } else {
// 没有信息置空 // 没有信息置空
map.put("memberCode", ""); map.put("memberCode", "");
map.put("memberName", ""); map.put("memberName", "");
map.put("pointMember", "");
} }
return map; return map;
} }

View File

@ -1,6 +1,8 @@
package com.hzs.member.base.vo; package com.hzs.member.base.vo;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzs.common.core.annotation.Excel; import com.hzs.common.core.annotation.Excel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -11,6 +13,7 @@ import java.util.Date;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@JsonInclude(JsonInclude.Include.ALWAYS)
public class MemberPointVO { public class MemberPointVO {
/** /**
* 会员编号 * 会员编号
@ -43,4 +46,14 @@ public class MemberPointVO {
@Excel(name = "期数",dateFormat = "yyyy-MM-dd") @Excel(name = "期数",dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private Date memberSettlePeriod; private Date memberSettlePeriod;
@Excel(name = "一阶未完成数量")
private Integer firstOrderQuantity;
@Excel(name = "二阶未完成数量")
private Integer secondOrderQuantity;
@Excel(name = "三阶未完成数量")
private Integer threeOrderQuantity;
} }

View File

@ -75,14 +75,24 @@
cmr.MEMBER_NAME, cmr.MEMBER_NAME,
cmr.POINT_COUNT, cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT, cmr.WAIT_POINT_COUNT,
cmr.REP_PV_BALANCE cmr.REP_PV_BALANCE,
COUNT(CASE WHEN curd.STAGE = 1 AND curd.STAGE_STATUS = 1 THEN 1 END) AS firstOrderQuantity,
COUNT(CASE WHEN curd.STAGE = 2 AND curd.STAGE_STATUS = 1 THEN 1 END) AS secondOrderQuantity,
COUNT(CASE WHEN curd.STAGE = 3 AND curd.STAGE_STATUS = 1 THEN 1 END) AS threeOrderQuantity
FROM FROM
${settleTableName} cmr ${settleTableName} cmr
LEFT JOIN CU_MEMBER cu ON cmr.PK_MEMBER = cu.PK_ID LEFT JOIN CU_MEMBER cu ON cmr.PK_MEMBER = cu.PK_ID
WHERE 1 = 1 LEFT JOIN ${settleDetailTableName} curd ON cmr.PK_MEMBER = curd.PK_MEMBER
WHERE 1=1
<if test="memberCode != null and memberCode != ''"> <if test="memberCode != null and memberCode != ''">
AND cmr.MEMBER_CODE = #{memberCode} AND cmr.MEMBER_CODE = #{memberCode}
</if> </if>
GROUP BY
cmr.MEMBER_CODE,
cmr.MEMBER_NAME,
cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT,
cmr.REP_PV_BALANCE
<if test="sort != null and sort != '' and sortColumn != null and sortColumn != ''"> <if test="sort != null and sort != '' and sortColumn != null and sortColumn != ''">
ORDER BY cmr.${sortColumn} ${sort} ORDER BY cmr.${sortColumn} ${sort}
</if> </if>
@ -93,14 +103,22 @@
cmr.MEMBER_NAME, cmr.MEMBER_NAME,
cmr.POINT_COUNT, cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT, cmr.WAIT_POINT_COUNT,
cmr.REP_PV_BALANCE cmr.REP_PV_BALANCE,
COUNT(CASE WHEN curd.STAGE = 1 AND curd.STAGE_STATUS = 1 THEN 1 END) AS firstOrderQuantity,
COUNT(CASE WHEN curd.STAGE = 2 AND curd.STAGE_STATUS = 1 THEN 1 END) AS secondOrderQuantity,
COUNT(CASE WHEN curd.STAGE = 3 AND curd.STAGE_STATUS = 1 THEN 1 END) AS threeOrderQuantity
FROM FROM
${settleTableName} cmr CU_MEMBER_RETAIL2084 cmr
LEFT JOIN CU_MEMBER cu ON cmr.PK_MEMBER = cu.PK_ID LEFT JOIN CU_MEMBER cu ON cmr.PK_MEMBER = cu.PK_ID
LEFT JOIN CU_MEMBER_RETAIL_DETAIL2084 curd ON cmr.PK_MEMBER = curd.PK_MEMBER
WHERE WHERE
cmr.PK_MEMBER = #{userId} cmr.PK_MEMBER = #{userId}
ORDER BY GROUP BY
cu.CREATION_TIME cmr.MEMBER_CODE,
cmr.MEMBER_NAME,
cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT,
cmr.REP_PV_BALANCE
</select> </select>
</mapper> </mapper>

View File

@ -14,6 +14,7 @@
<if test="stageStatus != null"> <if test="stageStatus != null">
and cud.STAGE_STATUS = #{stageStatus} and cud.STAGE_STATUS = #{stageStatus}
</if> </if>
ORDER BY CHILD_NODE ASC
</select> </select>
<select id="getFindCumemberRetailDetail" resultType="java.lang.Integer"> <select id="getFindCumemberRetailDetail" resultType="java.lang.Integer">
@ -61,6 +62,7 @@
<if test="stageStatus != null"> <if test="stageStatus != null">
and cud.STAGE_STATUS = #{stageStatus} and cud.STAGE_STATUS = #{stageStatus}
</if> </if>
ORDER BY CHILD_NODE ASC
</select> </select>
<select id="getCuMemberRetailDetailDTOList" <select id="getCuMemberRetailDetailDTOList"
resultType="com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO"> resultType="com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO">

View File

@ -27,15 +27,10 @@ public class BdAwards extends BaseEntity {
private Integer pkId; private Integer pkId;
/** /**
* 奖衔名称 * 奖衔等级
*/ */
@TableField("AWARDS_NAME") @TableField("AWARDS_NAME")
private String awardsName; private String awardsName;
/**
* 奖衔名称显示
*/
@TableField(exist = false)
private String awardsNameVal;
/** /**
* 翻译key * 翻译key
@ -50,7 +45,7 @@ public class BdAwards extends BaseEntity {
private Integer awardsValue; private Integer awardsValue;
/** /**
* 小区考核PV * 小区考核
*/ */
@TableField("COMMUNITY_CHECK") @TableField("COMMUNITY_CHECK")
private BigDecimal communityCheck; private BigDecimal communityCheck;
@ -67,12 +62,6 @@ public class BdAwards extends BaseEntity {
@TableField("PURCHASE_CHECK") @TableField("PURCHASE_CHECK")
private BigDecimal purchaseCheck; private BigDecimal purchaseCheck;
/**
* 小区考核结束PV
*/
@TableField("COMMUNITY_CHECK_END")
private BigDecimal communityCheckEnd;
/** /**
* 分红考核 * 分红考核
*/ */
@ -80,34 +69,34 @@ public class BdAwards extends BaseEntity {
private BigDecimal shareCheck; private BigDecimal shareCheck;
/** /**
* 环球积分环球比例 * 环球积分
*/ */
@TableField("GLOBAL_INTEGRAL") @TableField("GLOBAL_INTEGRAL")
private BigDecimal globalIntegral; private BigDecimal globalIntegral;
/** /**
* 车奖积分车奖比例 * 车奖积分
*/ */
@TableField(value = "CAR_AWARD_POINTS", updateStrategy = FieldStrategy.IGNORED) @TableField("CAR_AWARD_POINTS")
private BigDecimal carAwardPoints; private BigDecimal carAwardPoints;
/** /**
* 考核奖衔 * 考核奖衔
*/ */
@TableField(value = "PK_CHECK_AWARDS_LEFT", jdbcType = JdbcType.NUMERIC, updateStrategy = FieldStrategy.IGNORED) @TableField("PK_CHECK_AWARDS_LEFT")
private Integer pkCheckAwardsLeft; private Integer pkCheckAwardsLeft;
/** /**
* 右区奖衔 * 右区奖衔
*/ */
@TableField(value = "PK_CHECK_AWARDS_RIGHT", jdbcType = JdbcType.NUMERIC, updateStrategy = FieldStrategy.IGNORED) @TableField("PK_CHECK_AWARDS_RIGHT")
private Integer pkCheckAwardsRight; private Integer pkCheckAwardsRight;
/** /**
* 考核类型 来源于枚举 * 考核类型: 1=血缘考核 2=安置考核
*/ */
@TableField(value = "RELATION_TYPE", jdbcType = JdbcType.NUMERIC, updateStrategy = FieldStrategy.IGNORED) @TableField("RELATION_TYPE")
private Integer relationType; private String relationType;
/** /**
* 辅导代数 * 辅导代数
@ -126,6 +115,7 @@ public class BdAwards extends BaseEntity {
*/ */
@TableField("ABONUS_RATIO") @TableField("ABONUS_RATIO")
private BigDecimal abonusRatio; private BigDecimal abonusRatio;
/** /**
* 图片 * 图片
*/ */
@ -139,7 +129,7 @@ public class BdAwards extends BaseEntity {
private String color; private String color;
/** /**
* 启用状态 EnableStatus * 启用状态 0启用1禁用
*/ */
@TableField("ENABLE_STATE") @TableField("ENABLE_STATE")
private Integer enableState; private Integer enableState;
@ -150,6 +140,9 @@ public class BdAwards extends BaseEntity {
@TableField("TEXT_CONTENT") @TableField("TEXT_CONTENT")
private String textContent; private String textContent;
@TableField("COMMUNITY_CHECK_END")
private BigDecimal communityCheckEnd;
/** /**
* 系统类型2=新零售 * 系统类型2=新零售
*/ */