|
|
|
@ -17,6 +17,7 @@ import com.hzs.member.structure.controller.dto.CuMemberPointDTO;
|
|
|
|
|
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 lombok.var;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
@ -37,10 +38,6 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
|
|
|
|
return baseMapper.getChildList(memberCode,stage,stageStatus,settleTableName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public CuMemberRetailDetail getCuMemberRetailDetail(String memberCode, Integer stage, Integer stageStatus,String childNode,String settleTableName) {
|
|
|
|
|
return baseMapper.getCuMemberRetailDetailExt(memberCode,stage,stageStatus,childNode,settleTableName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Integer getFindCumemberRetailDetail(String settleTableName) {
|
|
|
|
@ -48,7 +45,7 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Tree<String>> convertToNodeList(CuMemberRetailDetail cuMemberRetailDetail) {
|
|
|
|
|
public List<Tree<String>> convertToNodeList(CuMemberRetailDetail cuMemberRetailDetail,String settleTableName) {
|
|
|
|
|
// 所有会员id
|
|
|
|
|
Set<Long> ids = new LinkedHashSet<>();
|
|
|
|
|
ids.add(cuMemberRetailDetail.getPkMember());
|
|
|
|
@ -59,7 +56,6 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
|
|
|
|
cuMemberRetailDetail.getPointMember31(), cuMemberRetailDetail.getPointMember32(), cuMemberRetailDetail.getPointMember33(), cuMemberRetailDetail.getPointMember34(),
|
|
|
|
|
cuMemberRetailDetail.getPointMember35(), cuMemberRetailDetail.getPointMember36(), cuMemberRetailDetail.getPointMember37(), cuMemberRetailDetail.getPointMember38()
|
|
|
|
|
).filter(Objects::nonNull).forEach(ids::add);
|
|
|
|
|
|
|
|
|
|
// 查找对应会员信息
|
|
|
|
|
List<CuMember> members;
|
|
|
|
|
if (ids.isEmpty()) {
|
|
|
|
@ -70,28 +66,45 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
|
|
|
|
|
|
|
|
|
Map<Long, CuMember> memberMap = members.stream()
|
|
|
|
|
.collect(Collectors.toMap(CuMember::getPkId, Function.identity(), (a, b) -> a));
|
|
|
|
|
// 所有点位信息
|
|
|
|
|
Set<Integer> points = new LinkedHashSet<>();
|
|
|
|
|
// 过滤所有空的点位信息
|
|
|
|
|
Stream.of(
|
|
|
|
|
cuMemberRetailDetail.getPoint11(), cuMemberRetailDetail.getPoint12(),
|
|
|
|
|
cuMemberRetailDetail.getPoint21(), cuMemberRetailDetail.getPoint22(), cuMemberRetailDetail.getPoint23(), cuMemberRetailDetail.getPoint24(),
|
|
|
|
|
cuMemberRetailDetail.getPoint31(), cuMemberRetailDetail.getPoint32(), cuMemberRetailDetail.getPoint33(), cuMemberRetailDetail.getPoint34(),
|
|
|
|
|
cuMemberRetailDetail.getPoint35(), cuMemberRetailDetail.getPoint36(), cuMemberRetailDetail.getPoint37(), cuMemberRetailDetail.getPoint38()
|
|
|
|
|
).filter(Objects::nonNull).forEach(points::add);
|
|
|
|
|
// 查询所有点位信息创建时间
|
|
|
|
|
List<CuMemberPointDTO> cuMemberPointDTOList;
|
|
|
|
|
if (points.isEmpty()) {
|
|
|
|
|
cuMemberPointDTOList = Collections.emptyList();
|
|
|
|
|
}else {
|
|
|
|
|
cuMemberPointDTOList = iCumemberRetailDetailService.getPointDetailListByPoints(cuMemberRetailDetail.getPkMember(),points,cuMemberRetailDetail.getStage(),settleTableName);
|
|
|
|
|
}
|
|
|
|
|
Map<Integer, CuMemberPointDTO> collect = cuMemberPointDTOList.stream()
|
|
|
|
|
.collect(Collectors.toMap(CuMemberPointDTO::getChildNode, Function.identity(), (a, b) -> a));
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
String formattedTime = sdf.format(cuMemberRetailDetail.getCreationTime());
|
|
|
|
|
// 构建node
|
|
|
|
|
List<Map<String, Object>> nodeList = new ArrayList<>();
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), formattedTime,cuMemberRetailDetail.getChildNode(),cuMemberRetailDetail.getPkMember(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), sdf.format(cuMemberRetailDetail.getCreationTime()),cuMemberRetailDetail.getChildNode(),cuMemberRetailDetail.getPkMember(), memberMap));
|
|
|
|
|
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE1.getId(), EMemberChildNodeType.NODE1.getParentId(), EMemberChildNodeType.NODE1.getLabel(), formattedTime,cuMemberRetailDetail.getPoint11(), cuMemberRetailDetail.getPointMember11(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE2.getId(), EMemberChildNodeType.NODE2.getParentId(), EMemberChildNodeType.NODE2.getLabel(), formattedTime,cuMemberRetailDetail.getPoint12(),cuMemberRetailDetail.getPointMember12(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE1.getId(), EMemberChildNodeType.NODE1.getParentId(), EMemberChildNodeType.NODE1.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint11(),sdf),cuMemberRetailDetail.getPoint11(), cuMemberRetailDetail.getPointMember11(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE2.getId(), EMemberChildNodeType.NODE2.getParentId(), EMemberChildNodeType.NODE2.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint12(),sdf),cuMemberRetailDetail.getPoint12(),cuMemberRetailDetail.getPointMember12(), memberMap));
|
|
|
|
|
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE3.getId(), EMemberChildNodeType.NODE3.getParentId(), EMemberChildNodeType.NODE3.getLabel(), formattedTime,cuMemberRetailDetail.getPoint21(),cuMemberRetailDetail.getPointMember21(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE4.getId(), EMemberChildNodeType.NODE4.getParentId(), EMemberChildNodeType.NODE4.getLabel(), formattedTime,cuMemberRetailDetail.getPoint22(),cuMemberRetailDetail.getPointMember22(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE5.getId(), EMemberChildNodeType.NODE5.getParentId(), EMemberChildNodeType.NODE5.getLabel(), formattedTime,cuMemberRetailDetail.getPoint23(),cuMemberRetailDetail.getPointMember23(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE6.getId(), EMemberChildNodeType.NODE6.getParentId(), EMemberChildNodeType.NODE6.getLabel(), formattedTime,cuMemberRetailDetail.getPoint24(),cuMemberRetailDetail.getPointMember24(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE3.getId(), EMemberChildNodeType.NODE3.getParentId(), EMemberChildNodeType.NODE3.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint21(),sdf),cuMemberRetailDetail.getPoint21(),cuMemberRetailDetail.getPointMember21(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE4.getId(), EMemberChildNodeType.NODE4.getParentId(), EMemberChildNodeType.NODE4.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint22(),sdf),cuMemberRetailDetail.getPoint22(),cuMemberRetailDetail.getPointMember22(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE5.getId(), EMemberChildNodeType.NODE5.getParentId(), EMemberChildNodeType.NODE5.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint23(),sdf),cuMemberRetailDetail.getPoint23(),cuMemberRetailDetail.getPointMember23(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE6.getId(), EMemberChildNodeType.NODE6.getParentId(), EMemberChildNodeType.NODE6.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint24(),sdf),cuMemberRetailDetail.getPoint24(),cuMemberRetailDetail.getPointMember24(), memberMap));
|
|
|
|
|
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE7.getId(), EMemberChildNodeType.NODE7.getParentId(), EMemberChildNodeType.NODE7.getLabel(), formattedTime,cuMemberRetailDetail.getPoint31(),cuMemberRetailDetail.getPointMember31(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE8.getId(), EMemberChildNodeType.NODE8.getParentId(), EMemberChildNodeType.NODE8.getLabel(), formattedTime,cuMemberRetailDetail.getPoint32(),cuMemberRetailDetail.getPointMember32(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE9.getId(), EMemberChildNodeType.NODE9.getParentId(), EMemberChildNodeType.NODE9.getLabel(), formattedTime,cuMemberRetailDetail.getPoint33(),cuMemberRetailDetail.getPointMember33(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE10.getId(), EMemberChildNodeType.NODE10.getParentId(), EMemberChildNodeType.NODE10.getLabel(), formattedTime,cuMemberRetailDetail.getPoint34(),cuMemberRetailDetail.getPointMember34(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE11.getId(), EMemberChildNodeType.NODE11.getParentId(), EMemberChildNodeType.NODE11.getLabel(), formattedTime,cuMemberRetailDetail.getPoint35(),cuMemberRetailDetail.getPointMember35(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE12.getId(), EMemberChildNodeType.NODE12.getParentId(), EMemberChildNodeType.NODE12.getLabel(), formattedTime,cuMemberRetailDetail.getPoint36(),cuMemberRetailDetail.getPointMember36(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE13.getId(), EMemberChildNodeType.NODE13.getParentId(), EMemberChildNodeType.NODE13.getLabel(), formattedTime,cuMemberRetailDetail.getPoint37(),cuMemberRetailDetail.getPointMember37(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE14.getId(), EMemberChildNodeType.NODE14.getParentId(), EMemberChildNodeType.NODE14.getLabel(), formattedTime,cuMemberRetailDetail.getPoint38(),cuMemberRetailDetail.getPointMember38(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE7.getId(), EMemberChildNodeType.NODE7.getParentId(), EMemberChildNodeType.NODE7.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint31(),sdf),cuMemberRetailDetail.getPoint31(),cuMemberRetailDetail.getPointMember31(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE8.getId(), EMemberChildNodeType.NODE8.getParentId(), EMemberChildNodeType.NODE8.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint32(),sdf),cuMemberRetailDetail.getPoint32(),cuMemberRetailDetail.getPointMember32(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE9.getId(), EMemberChildNodeType.NODE9.getParentId(), EMemberChildNodeType.NODE9.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint33(),sdf),cuMemberRetailDetail.getPoint33(),cuMemberRetailDetail.getPointMember33(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE10.getId(), EMemberChildNodeType.NODE10.getParentId(), EMemberChildNodeType.NODE10.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint34(),sdf),cuMemberRetailDetail.getPoint34(),cuMemberRetailDetail.getPointMember34(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE11.getId(), EMemberChildNodeType.NODE11.getParentId(), EMemberChildNodeType.NODE11.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint35(),sdf),cuMemberRetailDetail.getPoint35(),cuMemberRetailDetail.getPointMember35(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE12.getId(), EMemberChildNodeType.NODE12.getParentId(), EMemberChildNodeType.NODE12.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint36(),sdf),cuMemberRetailDetail.getPoint36(),cuMemberRetailDetail.getPointMember36(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE13.getId(), EMemberChildNodeType.NODE13.getParentId(), EMemberChildNodeType.NODE13.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint37(),sdf),cuMemberRetailDetail.getPoint37(),cuMemberRetailDetail.getPointMember37(), memberMap));
|
|
|
|
|
nodeList.add(makeNode(EMemberChildNodeType.NODE14.getId(), EMemberChildNodeType.NODE14.getParentId(), EMemberChildNodeType.NODE14.getLabel(), safeFormatTime(collect,cuMemberRetailDetail.getPoint38(),sdf),cuMemberRetailDetail.getPoint38(),cuMemberRetailDetail.getPointMember38(), memberMap));
|
|
|
|
|
|
|
|
|
|
// 构造树结构
|
|
|
|
|
return TreeUtil.build(nodeList, EMemberChildNodeType.ROOT.getParentId(), (node, tree) -> {
|
|
|
|
@ -103,8 +116,16 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
|
|
|
|
tree.putExtra("nodeCode", node.get("nodeCode"));
|
|
|
|
|
tree.putExtra("pointMember", node.get("pointMember"));
|
|
|
|
|
tree.putExtra("creationTime", node.get("creationTime"));
|
|
|
|
|
tree.putExtra("position", node.get("position"));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
private String safeFormatTime(Map<Integer, CuMemberPointDTO> collect, Integer pointKey, SimpleDateFormat sdf) {
|
|
|
|
|
var detail = collect.get(pointKey);
|
|
|
|
|
if (detail == null || detail.getCreationTime() == null) {
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
return sdf.format(detail.getCreationTime());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public CuMemberRetailDetail getCuMemberRetailDetailByUserId(Long userId, Integer stage, Integer stageStatus, String childNode, String settleTableName) {
|
|
|
|
@ -137,6 +158,11 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
|
|
|
|
return makeCuMemberPointDetailVO(cuMemberDetailDTO,cuMemberPointDTO,point);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<CuMemberPointDTO> getPointDetailListByPoints(Long pkMember, Set<Integer> points, Integer stage, String settleTableName) {
|
|
|
|
|
return baseMapper.getPointDetailListByPoints(pkMember,points,stage,settleTableName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private CuMemberPointDetailVO makeCuMemberPointDetailVO(CuMemberDetailDTO cuMemberDetailDTO, CuMemberPointDTO cuMemberPointDTO,Integer point) {
|
|
|
|
|
return CuMemberPointDetailVO.builder()
|
|
|
|
|
.memberCode(cuMemberDetailDTO.getMemberCode())
|
|
|
|
@ -155,18 +181,21 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
|
|
|
|
map.put("parentId", parentId);
|
|
|
|
|
map.put("label", label);
|
|
|
|
|
map.put("nodeCode", label);
|
|
|
|
|
map.put("creationTime", creationTime);
|
|
|
|
|
|
|
|
|
|
if (memberId != null && memberMap.containsKey(memberId)) {
|
|
|
|
|
CuMember member = memberMap.get(memberId);
|
|
|
|
|
map.put("memberCode", member.getMemberCode());
|
|
|
|
|
map.put("memberName", member.getMemberName());
|
|
|
|
|
map.put("pointMember", pointMember);
|
|
|
|
|
map.put("position",member.getMemberName() + "-" + pointMember);
|
|
|
|
|
map.put("creationTime", creationTime);
|
|
|
|
|
} else {
|
|
|
|
|
// 没有信息置空
|
|
|
|
|
map.put("memberCode", "");
|
|
|
|
|
map.put("memberName", "");
|
|
|
|
|
map.put("pointMember", "");
|
|
|
|
|
map.put("position", "");
|
|
|
|
|
map.put("creationTime", "");
|
|
|
|
|
}
|
|
|
|
|
return map;
|
|
|
|
|
}
|
|
|
|
|