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

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);
log.info("会员结算表信息{}",csPeriod);
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);
if (isFind == null || isFind != 1) {
log.error("当前表名不存在{}",settleTableName);
return AjaxResult.error("数据查询错误,请联系客服处理");
}
List<MemberPointVO> list = iCuMemberRetailService.getMemberPointByUserId(settleTableName,userId);
if (CollectionUtil.isEmpty(list)) {
return AjaxResult.success();
}
MemberPointVO memberPointVO = list.get(0);
MemberPointVO memberPointVO = iCuMemberRetailService.getMemberPointByUserId(settleDetailTableName,settleTableName,userId);
memberPointVO.setMemberSettlePeriod(csPeriod.getSettleDate());
startPage();
return AjaxResult.success(memberPointVO);

View File

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

View File

@ -20,7 +20,7 @@ public interface CuMemberRetailMapper extends BaseMapper<CuMemberRetail> {
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);
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
public List<MemberPointVO> getMemberPointByMemberCode(String settleTableName, String memberCode, String sort, String sortColumn) {
return baseMapper.getMemberPointByMemberCode(settleTableName,memberCode,sort,sortColumn);
public List<MemberPointVO> getMemberPointByMemberCode(String settleDetailTableName, String settleTableName, String memberCode, String sort, String sortColumn) {
return baseMapper.getMemberPointByMemberCode(settleDetailTableName,settleTableName,memberCode,sort,sortColumn);
}
@Override
public List<MemberPointVO> getMemberPointByUserId(String settleTableName, Long userId) {
return baseMapper.getMemberPointByUserId(settleTableName,userId);
public MemberPointVO getMemberPointByUserId(String settleDetailTableName,String settleTableName, Long 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("memberName", node.get("memberName"));
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)) {
CuMember member = memberMap.get(memberId);
map.put("memberCode", member.getMemberCode());
map.put("memberName", member.getMemberName() + "-" +pointMember);
map.put("memberName", member.getMemberName());
map.put("pointMember", pointMember);
} else {
// 没有信息置空
map.put("memberCode", "");
map.put("memberName", "");
map.put("pointMember", "");
}
return map;
}

View File

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

View File

@ -71,36 +71,54 @@
</select>
<select id="getMemberPointByMemberCode" resultType="com.hzs.member.base.vo.MemberPointVO">
SELECT
cmr.MEMBER_CODE,
cmr.MEMBER_NAME,
cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT,
cmr.REP_PV_BALANCE
cmr.MEMBER_CODE,
cmr.MEMBER_NAME,
cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT,
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
${settleTableName} cmr
LEFT JOIN CU_MEMBER cu ON cmr.PK_MEMBER = cu.PK_ID
WHERE 1 = 1
${settleTableName} cmr
LEFT JOIN CU_MEMBER cu ON cmr.PK_MEMBER = cu.PK_ID
LEFT JOIN ${settleDetailTableName} curd ON cmr.PK_MEMBER = curd.PK_MEMBER
WHERE 1=1
<if test="memberCode != null and memberCode != ''">
AND cmr.MEMBER_CODE = #{memberCode}
</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 != ''">
ORDER BY cmr.${sortColumn} ${sort}
</if>
</select>
<select id="getMemberPointByUserId" resultType="com.hzs.member.base.vo.MemberPointVO">
SELECT
cmr.MEMBER_CODE,
cmr.MEMBER_NAME,
cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT,
cmr.REP_PV_BALANCE
cmr.MEMBER_CODE,
cmr.MEMBER_NAME,
cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT,
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
${settleTableName} cmr
LEFT JOIN CU_MEMBER cu ON cmr.PK_MEMBER = cu.PK_ID
CU_MEMBER_RETAIL2084 cmr
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
cmr.PK_MEMBER = #{userId}
ORDER BY
cu.CREATION_TIME
GROUP BY
cmr.MEMBER_CODE,
cmr.MEMBER_NAME,
cmr.POINT_COUNT,
cmr.WAIT_POINT_COUNT,
cmr.REP_PV_BALANCE
</select>
</mapper>

View File

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

View File

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