From d0dd32f897c2b6786f4da8b860b7dcb58a71ac62 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 26 Aug 2022 16:11:44 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 2 src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java | 10 ++- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 2 src/main/java/cc/mrbird/febs/dapp/vo/TeamMatrixVo.java | 9 +++ src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 41 ++++++++++--- src/main/java/cc/mrbird/febs/dapp/entity/DappAchieveMemberTreeEntity.java | 7 ++ src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java | 2 src/main/resources/mapper/dapp/DappMemberDao.xml | 13 ---- src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java | 2 src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml | 22 +++++-- src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java | 6 ++ src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java | 2 src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java | 16 ++-- 13 files changed, 86 insertions(+), 48 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java index 4c36764..fb614b1 100644 --- a/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java +++ b/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java @@ -18,6 +18,6 @@ @ApiModelProperty(value = "每页数量") private Integer pageSize = 10; - @ApiModelProperty(value = "类型", example = "1-买入 2-卖出 3-采矿") + @ApiModelProperty(value = "类型", example = "1-认购 2-提现 3-矩阵收益 4-直推收益") private Integer type; } diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappAchieveMemberTreeEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappAchieveMemberTreeEntity.java index 0b6971c..36c58e6 100644 --- a/src/main/java/cc/mrbird/febs/dapp/entity/DappAchieveMemberTreeEntity.java +++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappAchieveMemberTreeEntity.java @@ -1,6 +1,7 @@ package cc.mrbird.febs.dapp.entity; import cc.mrbird.febs.common.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -21,4 +22,10 @@ private Integer hasMoney; private Integer deep; + + @TableField(exist = false) + private String inviteId; + + @TableField(exist = false) + private String address; } diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java index 9554766..62ec4f1 100644 --- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java +++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java @@ -8,13 +8,15 @@ public interface DappAchieveMemberTreeDao extends BaseMapper<DappAchieveMemberTreeEntity> { - List<DappAchieveMemberTreeEntity> selectNotBottomNodeInMatrix(Long memberId); + List<DappAchieveMemberTreeEntity> selectNotBottomNodeInMatrix(@Param("memberId") Long memberId); - List<DappAchieveMemberTreeEntity> selectMatrixTreeByTopNode(Long memberId); + List<DappAchieveMemberTreeEntity> selectMatrixTreeByTopNode(@Param("memberId") Long memberId, @Param("hasMoney") Integer hasMoney); DappAchieveMemberTreeEntity selectNodeByDeep(@Param("memberId") Long memberId, @Param("deep") Integer deep); - int resetMatrixTree(Long memberId); + List<DappAchieveMemberTreeEntity> selectMatrixChildNode(@Param("topNode") Long topNode, @Param("parentNode") Long parentNode); - int reentryMoney(Long memberId); + int resetMatrixTree(@Param("memberId") Long memberId); + + int reentryMoney(@Param("memberId") Long memberId); } diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java index 47e2449..15107c2 100644 --- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java +++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java @@ -37,7 +37,5 @@ BigDecimal selectChildHoldAmount(@Param("inviteId") String inviteId); - IPage<TeamListVo> selectTeamListInPage(@Param("record") TeamListDto teamListDto, Page<TeamListDto> page); - List<DappMemberEntity> selectMakerAddress(); } diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java index 1b64fb5..c33f9e8 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java @@ -42,5 +42,5 @@ DappMemberEntity insertMember(String address, String refererId, String chainType, String accountType); - List<TeamListVo> findTeamList(TeamListDto teamListDto); + TeamListVo findTeamList(TeamListDto teamListDto); } diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java index e48676d..e39ba60 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java @@ -37,7 +37,7 @@ import java.util.Map; /** - * @author + * @author * @date 2022-03-17 **/ @Service @@ -49,7 +49,8 @@ private final DappWalletMineDao dappWalletMineDao; private final DappTransferRecordDao dappTransferRecordDao; private final RedisUtils redisUtils; - private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + + private final DappAchieveMemberTreeDao dappAchieveMemberTreeDao; @Override @Transactional(rollbackFor = Exception.class) @@ -78,7 +79,7 @@ member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); member.setRefererId(approveDto.getRefererId()); - if (StrUtil.isNotBlank(approveDto.getRefererId())){ + if (StrUtil.isNotBlank(approveDto.getRefererId())) { boolean flag = false; String parentId = approveDto.getRefererId(); String ids = ""; @@ -94,7 +95,7 @@ break; } parentId = parentMember.getRefererId(); - if(StringUtils.isBlank(parentId)){ + if (StringUtils.isBlank(parentId)) { break; } if (parentMember.getRefererId().equals(parentMember.getInviteId())) { @@ -258,7 +259,7 @@ @Override public IPage<DappTransferRecordEntity> selectTransferInPage(DappTransferRecordEntity transfer, QueryRequest request) { Page<DappTransferRecordEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); - return dappTransferRecordDao.selectInPage(transfer,page); + return dappTransferRecordDao.selectInPage(transfer, page); } @Override @@ -298,7 +299,7 @@ member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); member.setRefererId(refererId); - if (StrUtil.isNotBlank(refererId)){ + if (StrUtil.isNotBlank(refererId)) { boolean flag = false; String parentId = refererId; String ids = ""; @@ -322,7 +323,7 @@ break; } parentId = parentMember.getRefererId(); - if(StringUtils.isBlank(parentId) || "0".equals(parentId)){ + if (StringUtils.isBlank(parentId) || "0".equals(parentId)) { break; } if (parentMember.getRefererId().equals(parentMember.getInviteId())) { @@ -338,10 +339,28 @@ } @Override - public List<TeamListVo> findTeamList(TeamListDto teamListDto) { + public TeamListVo findTeamList(TeamListDto teamListDto) { DappMemberEntity member = LoginUserUtil.getAppUser(); - Page<TeamListDto> page = new Page<>(teamListDto.getPageNum(), teamListDto.getPageSize()); - teamListDto.setInviteId(member.getInviteId()); - return dappMemberDao.selectTeamListInPage(teamListDto, page).getRecords(); + + DappAchieveMemberTreeEntity topNode = dappAchieveMemberTreeDao.selectNodeByDeep(member.getId(), 1); + return buildTeamMatrix(topNode); + } + + public TeamListVo buildTeamMatrix(DappAchieveMemberTreeEntity node) { + List<DappAchieveMemberTreeEntity> childNodes = dappAchieveMemberTreeDao.selectMatrixChildNode(node.getTopNode(), node.getTreeNode()); + + TeamListVo teamListVo = new TeamListVo(); + teamListVo.setName(node.getInviteId()); + teamListVo.setHasMoney(node.getHasMoney()); + + if (CollUtil.isEmpty(childNodes)) { + return teamListVo; + } + + List<TeamListVo> list = new ArrayList<>(); + for (DappAchieveMemberTreeEntity childNode : childNodes) { + list.add(buildTeamMatrix(childNode)); + } + return teamListVo; } } diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java index 4491e60..9391ffb 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java @@ -721,7 +721,7 @@ // 完成矩阵树,并重置矩阵且重入 public void finishMatrixTree(Long memberId) { - List<DappAchieveMemberTreeEntity> matrixTree = dappAchieveMemberTreeDao.selectMatrixTreeByTopNode(memberId); + List<DappAchieveMemberTreeEntity> matrixTree = dappAchieveMemberTreeDao.selectMatrixTreeByTopNode(memberId, 1); // 如果达到标准,则重置该矩阵树 if (matrixTree.size() == 7) { dappAchieveMemberTreeDao.resetMatrixTree(memberId); diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java index 379f1aa..1fe9315 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java @@ -68,6 +68,8 @@ walletInfo.setInviteId(member.getInviteId()); walletInfo.setBalance(walletCoin.getAvailableAmount()); walletInfo.setHasBuy(memberInfo.getActiveStatus()); + walletInfo.setOutCnt(1); + walletInfo.setProfit(BigDecimal.TEN); return walletInfo; } diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java index 1d2d969..c7829f9 100644 --- a/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java +++ b/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java @@ -1,10 +1,12 @@ package cc.mrbird.febs.dapp.vo; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.List; /** * @author wzy @@ -14,15 +16,13 @@ @ApiModel(value = "TeamLIstVo", description = "团队列表接口返回参数类") public class TeamListVo { - private String address; + @ApiModelProperty(value = "名称") + private String name; - private Integer count; + @ApiModelProperty(value = "是否认购") + private int hasMoney; - private BigDecimal coinCount; + @ApiModelProperty(value = "子节点") + private List<TeamListVo> children; - private BigDecimal selfCoinCount; - - public BigDecimal getCoinCount() { - return coinCount.setScale(2, RoundingMode.HALF_DOWN); - } } diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/TeamMatrixVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/TeamMatrixVo.java new file mode 100644 index 0000000..e927938 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/dapp/vo/TeamMatrixVo.java @@ -0,0 +1,9 @@ +package cc.mrbird.febs.dapp.vo; + +/** + * @author wzy + * @date 2022-08-26 + **/ +public class TeamMatrixVo { + +} diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java index 0b78718..8f5b1d1 100644 --- a/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java +++ b/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java @@ -23,6 +23,12 @@ @ApiModelProperty(value = "余额") private BigDecimal balance; + @ApiModelProperty(value = "出局次数") + private int outCnt; + + @ApiModelProperty(value = "收益") + private BigDecimal profit; + @ApiModelProperty(value = "是否购买") private Integer hasBuy; } diff --git a/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml b/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml index be96535..2f3a29a 100644 --- a/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml +++ b/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml @@ -9,23 +9,31 @@ <select id="selectMatrixTreeByTopNode" resultType="cc.mrbird.febs.dapp.entity.DappAchieveMemberTreeEntity"> select * from dapp_achieve_member_tree - where top_node=#{memberId} and has_money=1 + where top_node=#{memberId} + <if test="hasMoney != null"> + and has_money=#{hasMoney} + </if> </select> <select id="selectNodeByDeep" resultType="cc.mrbird.febs.dapp.entity.DappAchieveMemberTreeEntity"> - select * from dapp_achieve_member_tree - where tree_node=#{memberId} and deep=#{deep} + select a.*, b.invite_id, b.address from dapp_achieve_member_tree a, dapp_member b + where a.tree_node=#{memberId} and a.deep=#{deep} and a.tree_node=b.id </select> - <select id="resetMatrixTree" resultType="java.lang.Integer"> + <select id="selectMatrixChildNode" resultType="cc.mrbird.febs.dapp.entity.DappAchieveMemberTreeEntity"> + select a.*, b.invite_id, b.address from dapp_achieve_member_tree a, , dapp_member b + where a.top_node=#{topNode} and a.parent_node=#{parentNode} and a.tree_node=b.id + </select> + + <update id="resetMatrixTree"> update dapp_achieve_member_tree set has_money=2 where top_node=#{memberId} and deep in (2,3) - </select> + </update> - <select id="reentryMoney" resultType="java.lang.Integer"> + <update id="reentryMoney"> update dapp_achieve_member_tree set has_money=1 where tree_node=#{memberId} - </select> + </update> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/dapp/DappMemberDao.xml b/src/main/resources/mapper/dapp/DappMemberDao.xml index 9238821..8041ce9 100644 --- a/src/main/resources/mapper/dapp/DappMemberDao.xml +++ b/src/main/resources/mapper/dapp/DappMemberDao.xml @@ -110,19 +110,6 @@ where find_in_set(#{inviteId}, fee_profit_ids) </select> -<!-- where find_in_set(#{record.inviteId}, a.fee_profit_ids)--> - <select id="selectTeamListInPage" resultType="cc.mrbird.febs.dapp.vo.TeamListVo"> - select - concat(left(a.address,5), '******', right(a.address,5)) address, - (select count(1) from dapp_member b where find_in_set(a.invite_id, b.fee_profit_ids) - ) count, - (select ifnull(sum(c.balance),0) from dapp_member c where find_in_set(a.invite_id, c.fee_profit_ids) - ) coinCount, - a.balance selfCoinCount - from dapp_member a - where a.referer_id=#{record.inviteId} - </select> - <select id="selectMakerAddress" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity"> select * from dapp_member where maker_type=1 and account_type='normal' -- Gitblit v1.9.1