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