From 4f1ee115be474ff9b6621fa24a23c0fc2be8c963 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 27 Aug 2022 23:23:43 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java   |   69 ++++++-------
 src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java             |   24 ----
 src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java      |    2 
 src/main/java/cc/mrbird/febs/job/MatrixResetJob.java                        |   38 +++++++
 src/main/resources/application-prod.yml                                     |    2 
 src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java             |   25 -----
 src/main/resources/application-test.yml                                     |    2 
 /dev/null                                                                   |   71 --------------
 src/main/resources/mapper/dapp/DappAchieveTreeDao.xml                       |   23 ++++
 src/main/resources/mapper/dapp/DappMemberDao.xml                            |    6 +
 src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java                 |    2 
 src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java            |    2 
 src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml                 |    5 +
 src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java |   12 --
 src/main/resources/application-dev.yml                                      |    2 
 src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveTreeDao.java            |    6 +
 16 files changed, 116 insertions(+), 175 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
index 60e8ffc..5d085b1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
@@ -38,18 +38,6 @@
         return new FebsResponse().success().data(getDataTable(dappWalletService.fundFlowInPage(dappFundFlowEntity, request)));
     }
 
-    @PostMapping(value = "/withdrawAgree/{id}")
-    public FebsResponse withdrawAgree(@PathVariable("id") Long id) {
-        dappWalletService.withdrawAgreeOrNot(id, 1);
-        return new FebsResponse().success();
-    }
-
-    @PostMapping(value = "/withdrawDisAgree/{id}")
-    public FebsResponse withdrawDisAgree(@PathVariable("id") Long id) {
-        dappWalletService.withdrawAgreeOrNot(id, 2);
-        return new FebsResponse().success();
-    }
-
     @RequestMapping(value = "accountMoneyChangeFlow")
     public FebsResponse accountMoneyChangeFlow(DappAccountMoneyChangeEntity record, QueryRequest request) {
         return new FebsResponse().success().data(getDataTable(dappWalletService.accountMoneyChangeInPage(record, request)));
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 62ec4f1..1c05270 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveMemberTreeDao.java
@@ -19,4 +19,6 @@
     int resetMatrixTree(@Param("memberId") Long memberId);
 
     int reentryMoney(@Param("memberId") Long memberId);
+
+    int emptyTable();
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveTreeDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveTreeDao.java
index 301d67b..5939be1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveTreeDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAchieveTreeDao.java
@@ -11,4 +11,10 @@
     DappAchieveTreeEntity selectByMidNode(@Param("memberId") Long memberId);
 
     List<DappAchieveTreeEntity> selectTreeList();
+
+    DappAchieveTreeEntity selectNewestTreeNode();
+
+    List<DappAchieveTreeEntity> selectLastCountTreeNode(@Param("count") int count);
+
+    int updateNodeValidState();
 }
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 15107c2..a6b328d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -38,4 +38,6 @@
     BigDecimal selectChildHoldAmount(@Param("inviteId") String inviteId);
 
     List<DappMemberEntity> selectMakerAddress();
+
+    int updateMemberActive();
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
index ef9c4ef..b3c6361 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -20,4 +20,6 @@
     void putIntoProfit(Long memberId, int isReIn);
 
     void tfcNewPrice(String data);
+
+    void resetMatrix();
 }
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 1d60942..bb18c7b 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
@@ -3,45 +3,22 @@
 import cc.mrbird.febs.common.contants.AppContants;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.dapp.chain.ChainEnum;
-import cc.mrbird.febs.dapp.chain.ChainService;
-import cc.mrbird.febs.dapp.chain.ContractChainService;
 import cc.mrbird.febs.dapp.dto.SystemDto;
 import cc.mrbird.febs.dapp.entity.*;
-import cc.mrbird.febs.dapp.enumerate.CardPeriod;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappSystemService;
 import cc.mrbird.febs.dapp.service.DappWalletService;
-import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
-import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
-import cc.mrbird.febs.dapp.vo.SlipSettingVo;
-import cc.mrbird.febs.job.SystemTradeJob;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cc.mrbird.febs.tree.MatrixTree;
 import cc.mrbird.febs.tree.MemberNode;
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.RandomUtil;
-import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
-import org.jsoup.nodes.Element;
-import org.jsoup.select.Elements;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.IOException;
 import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.math.RoundingMode;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.*;
 
 /**
@@ -54,16 +31,9 @@
 public class DappSystemServiceImpl implements DappSystemService {
 
     private final DappSystemDao dappSystemDao;
-    private final DappReturnRatioDao dappReturnRatioDao;
     private final RedisUtils redisUtils;
     private final DappFundFlowDao dappFundFlowDao;
     private final DappMemberDao dappMemberDao;
-    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
-    private final DappOnlineTransferDao dappOnlineTransferDao;
-    private final ChainProducer chainProducer;
-    private final DappSymbolDailyPriceMapper dappSymbolDailyPriceMapper;
-    private final DappMemberBoxRecordMapper dappMemberBoxRecordMapper;
-    private final DappWalletCoinDao dappWalletCoinDao;
 
     private final DappAchieveTreeDao dappAchieveTreeDao;
     private final DappAchieveMemberTreeDao dappAchieveMemberTreeDao;
@@ -79,20 +49,26 @@
         return system;
     }
 
-    // 最低容量(百分比)
-    private final BigDecimal volProp = new BigDecimal("2");
-    // 每日增/减百分比
-    private final BigDecimal changeProp = new BigDecimal("1");
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public synchronized void achieveTree(Long memberId) {
         DappMemberEntity member = dappMemberDao.selectById(memberId);
 
+        int batchNo = 0;
+        DappAchieveTreeEntity newestTreeNode = dappAchieveTreeDao.selectNewestTreeNode();
+        if (newestTreeNode != null) {
+            if (newestTreeNode.getValidState() == 2) {
+                batchNo = newestTreeNode.getBatchNo() + 1;
+            } else {
+                batchNo = newestTreeNode.getBatchNo();
+            }
+        }
+
         // 在大树中,插入当前节点
         DappAchieveTreeEntity achieveTree = new DappAchieveTreeEntity();
         achieveTree.setMidNode(memberId);
         achieveTree.setValidState(1);
+        achieveTree.setBatchNo(batchNo);
         dappAchieveTreeDao.insert(achieveTree);
 
         // 在内存树(大树)中插入当前节点,并返回父节点
@@ -177,9 +153,6 @@
         DappMemberEntity member = dappMemberDao.selectById(memberId);
         DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId());
 
-        member.setOutCnt(member.getOutCnt() + 1);
-        dappMemberDao.updateById(member);
-
         if (parent != null) {
             BigDecimal directProfit = new BigDecimal("100").multiply(new BigDecimal("0.15"));
             dappWalletService.updateWalletCoinWithLock(directProfit, parent.getId());
@@ -190,6 +163,9 @@
 
         // 如果是复投的,则需奖励
         if (isReIn == 1) {
+            member.setOutCnt(member.getOutCnt() + 1);
+            dappMemberDao.updateById(member);
+
             dappWalletService.updateWalletCoinWithLock(new BigDecimal(190), member.getId());
 
             DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, new BigDecimal("190"), 2, 2, null, null);
@@ -211,4 +187,21 @@
     public void tfcNewPrice(String data) {
         redisUtils.set(AppContants.REDIS_KEY_TFC_NEW_PRICE, new BigDecimal(data));
     }
+
+    @Override
+    public void resetMatrix() {
+        DappAchieveTreeEntity node = dappAchieveTreeDao.selectNewestTreeNode();
+        if (node.getValidState() == 2) {
+            return;
+        }
+
+        long days = DateUtil.between(node.getCreateTime(), new Date(), DateUnit.DAY);
+        if (days < 7) {
+            return;
+        }
+
+        dappAchieveTreeDao.updateNodeValidState();
+        dappAchieveMemberTreeDao.emptyTable();
+        dappMemberDao.updateMemberActive();
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/job/MatrixResetJob.java b/src/main/java/cc/mrbird/febs/job/MatrixResetJob.java
new file mode 100644
index 0000000..e67f084
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/job/MatrixResetJob.java
@@ -0,0 +1,38 @@
+package cc.mrbird.febs.job;
+
+import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.dapp.chain.ChainEnum;
+import cc.mrbird.febs.dapp.chain.ChainService;
+import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
+import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.dapp.service.DappSystemService;
+import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+/**
+ * @author wzy
+ * @date 2022-05-30
+ **/
+@Slf4j
+@Component
+@ConditionalOnProperty(prefix = "system", name = "reset-job", havingValue = "true")
+public class MatrixResetJob {
+
+    @Autowired
+    private DappSystemService systemService;
+
+    @Scheduled(cron = "0 0 0 * * ?")
+    public void resetMatrix() {
+        log.info("重置");
+        systemService.resetMatrix();
+    }
+}
diff --git a/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java b/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
deleted file mode 100644
index 92c36d2..0000000
--- a/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package cc.mrbird.febs.job;
-
-import cc.mrbird.febs.common.contants.AppContants;
-import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.dapp.chain.ChainEnum;
-import cc.mrbird.febs.dapp.chain.ChainService;
-import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
-import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
-import cc.mrbird.febs.dapp.service.DappSystemService;
-import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-
-/**
- * @author wzy
- * @date 2022-05-30
- **/
-@Slf4j
-@Component
-@ConditionalOnProperty(prefix = "system", name = "trade-job", havingValue = "true")
-public class SystemTradeJob {
-
-//    @Autowired
-//    private DappSystemService systemService;
-//
-//    /**
-//     * 中转池容量计算
-//     *
-//     * 源池出币量最低为0.5%每天基础量,作为可s交易量
-//     * 按当天交易完成量的百分比,第二天出币补齐已成交部分
-//     * 按每天的基础量,同一阶段累计完成5次100%交易量后增加0.5%基础出币量比例出币,无上限……
-//     * 当一个阶段的当日量72小时未100%交易完成,中转池回到上一阶段阶容量。
-//     * 例:当进入一个新阶段为每天出币量为3%时,此笔出量累计72小时未完全成交,源池出币量回到上一阶段每天出币2.5%,需重计5倍量,……以此类推增加或递减
-//     */
-//    @Scheduled(cron = "0 0 0 * * ?")
-//    public void transferPoolVol() {
-//        log.info("中转池容量");
-//        systemService.transferPoolSetting();
-//    }
-//
-//    /**
-//     * 源池每日出U限制
-//     *
-//     * 源池每天可交易量为源池总USDT数量的10%,以上一天00:00时读取源池实时USDT数量为参考,作为当天可交易USDT数量。
-//     */
-//    @Scheduled(cron = "0 0 0 * * ?")
-//    public void sourcePoolUsdtOutLimit() {
-//        log.info("源池每日出U限制");
-//        systemService.sourcePoolUsdtOutLimitSetting();
-//    }
-//
-//    /**
-//     * 挖矿
-//     *
-//     * 以中转池成交数1:0.2出矿(中转池卖出多少,矿池则1:0.2出币),每个地址所得=出币量*(单个地址持币量/全网持币量)
-//     * source限矿算法:
-//     * 按前一天价格,有跌幅则按实际产矿量减半。
-//     */
-//    @Scheduled(cron = "0 0 1 * * ?")
-//    public void mineJob() {
-//        log.info("挖矿");
-//        systemService.mining();
-//    }
-}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
index 8c1ff81..36b35d8 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
@@ -22,30 +22,6 @@
     @Autowired
     private DappSystemService dappSystemService;
 
-//    @RabbitListener(queues = QueueConstants.ONLINE_TRANSFER)
-//    public void onlineTransfer(String batchNo) {
-//        log.info("收到链上转账消息:{}", batchNo);
-//        dappSystemService.onlineTransfer(batchNo);
-//    }
-//
-//    @RabbitListener(queues = QueueConstants.DISTRIB_PROFIT)
-//    public void distrbProfit(String id) {
-//        log.info("收到滑点分配消息:{}", id);
-//        dappSystemService.tradeNftProfitDistribute(Long.parseLong(id));
-//    }
-//
-//    @RabbitListener(queues = QueueConstants.USER_BUY_REWARD)
-//    public void userBuyReward(String id) {
-//        log.info("收到用户购买奖励消息:{}", id);
-//        dappSystemService.userBuyReward(Long.parseLong(id));
-//    }
-//
-//    @RabbitListener(queues = QueueConstants.NFT_BOX)
-//    public void nftBox(String id) {
-//        log.info("收到nft盲盒消息:{}", id);
-//        dappSystemService.boxCnt(Long.parseLong(id));
-//    }
-
     @RabbitListener(queues = QueueConstants.ACHIEVE_TREE)
     public void achieveTree(String id) {
         log.info("收到业绩树消息");
diff --git a/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java b/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java
index 031dad6..fcae1bf 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java
@@ -33,31 +33,6 @@
 
     }
 
-    public void sendOnlineTransfer(String batchNo) {
-        log.info("发送链上转账消息:{}", batchNo);
-        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
-        rabbitTemplate.convertAndSend(QueueEnum.ONLINE_TRANSFER.getExchange(), QueueEnum.ONLINE_TRANSFER.getRoute(), batchNo, correlationData);
-    }
-
-    public void sendDitribProfit(Long id) {
-        log.info("发送滑点分配消息:{}", id);
-        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
-        rabbitTemplate.convertAndSend(QueueEnum.DISTRIB_PROFIT.getExchange(), QueueEnum.DISTRIB_PROFIT.getRoute(), id, correlationData);
-    }
-
-    public void sendUserBuyReward(Long id) {
-        log.info("发送用户购买奖励消息:{}", id);
-        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
-        rabbitTemplate.convertAndSend(QueueEnum.USER_BUY_REWARD.getExchange(), QueueEnum.USER_BUY_REWARD.getRoute(), id, correlationData);
-    }
-
-    public void sendNftBoxMsg(Long id) {
-        log.info("发送NFT盲盒消息:{}", id);
-        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
-        rabbitTemplate.convertAndSend(QueueEnum.NFT_BOX.getExchange(), QueueEnum.NFT_BOX.getRoute(), id, correlationData);
-    }
-
-
     public void sendAchieveTreeMsg(Long id) {
         log.info("发送业绩树消息:{}", id);
         CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 14b02a1..60d3c52 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -50,5 +50,5 @@
 system:
   online-transfer: true
   chain-listener: false
-  trade-job: false
+  reset-job: false
   debug: false
\ No newline at end of file
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 54a6926..fc138eb 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -55,5 +55,5 @@
 system:
   online-transfer: true
   chain-listener: true
-  trade-job: true
+  reset-job: true
   debug: false
\ No newline at end of file
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index c3e6b75..56975be 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -51,5 +51,5 @@
 system:
   online-transfer: false
   chain-listener: false
-  trade-job: false
+  reset-job: false
   debug: false
diff --git a/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml b/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml
index eed99ef..552bdc3 100644
--- a/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml
+++ b/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml
@@ -36,4 +36,9 @@
         set has_money=1
         where tree_node=#{memberId}
     </update>
+
+    <delete id="emptyTable">
+        delete from dapp_achieve_member_tree
+        where 1=1
+    </delete>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/DappAchieveTreeDao.xml b/src/main/resources/mapper/dapp/DappAchieveTreeDao.xml
index 65653a0..7cde4a1 100644
--- a/src/main/resources/mapper/dapp/DappAchieveTreeDao.xml
+++ b/src/main/resources/mapper/dapp/DappAchieveTreeDao.xml
@@ -3,12 +3,31 @@
 <mapper namespace="cc.mrbird.febs.dapp.mapper.DappAchieveTreeDao">
 
     <select id="selectByMidNode" resultType="cc.mrbird.febs.dapp.entity.DappAchieveTreeEntity">
-        select * from dapp_achieve_tree where mid_node=#{memberId}
+        select * from dapp_achieve_tree where mid_node=#{memberId} and valid_state=1
     </select>
 
     <select id="selectTreeList" resultType="cc.mrbird.febs.dapp.entity.DappAchieveTreeEntity">
         select a.*, b.address, b.invite_id, b.referer_id from dapp_achieve_tree a
-        inner join dapp_member b on a.mid_node=b.id
+        inner join dapp_member b on a.mid_node=b.id and valid_state=1
         order by a.id
     </select>
+
+    <select id="selectNewestTreeNode" resultType="cc.mrbird.febs.dapp.entity.DappAchieveTreeEntity">
+        select * from dapp_achieve_tree a
+        order by a.id desc
+        limit 1
+    </select>
+
+    <select id="selectLastCountTreeNode" resultType="cc.mrbird.febs.dapp.entity.DappAchieveTreeEntity">
+        select * from dapp_achieve_tree a
+        where valid_state=1
+        order by a.id desc
+        limit #{count}
+    </select>
+
+    <update id="updateNodeValidState">
+        update dapp_achieve_tree
+            set valid_state=2
+        where valid_state=1
+    </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 8041ce9..02b9685 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -114,4 +114,10 @@
         select * from dapp_member
         where maker_type=1 and account_type='normal'
     </select>
+
+    <update id="updateMemberActive">
+        update dapp_member
+            set active_status = 2
+        where active_status = 1
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1