From 5519fb3a19df1bb839d29d23abc3f320c5c77baa Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 21 Jun 2024 14:30:29 +0800
Subject: [PATCH] 限制每日参与矩阵的人数

---
 src/main/resources/mapper/dapp/DbMemberNodeMapper.xml                     |    8 ++++++++
 src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java       |    2 ++
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   13 +++++++++++++
 src/main/java/cc/mrbird/febs/dapp/mapper/DbMemberNodeMapper.java          |    5 +++++
 4 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
index a8a5bfb..23b1aa6 100644
--- a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
@@ -4,6 +4,8 @@
 
 @Getter
 public enum DataDictionaryEnum {
+    //每日节点购买最大值
+    BUY_NODE_NUM("BUY_NODE_NUM","BUY_NODE_NUM"),
     //提现手续费率
     CHARGE_FEE_PERCENT("CHARGE_FEE_PERCENT","CHARGE_FEE_PERCENT"),
     //直邀人数
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DbMemberNodeMapper.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DbMemberNodeMapper.java
index 8ad9903..0301ff2 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DbMemberNodeMapper.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DbMemberNodeMapper.java
@@ -4,8 +4,13 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
+import java.util.List;
+
 public interface DbMemberNodeMapper extends BaseMapper<DbMemberNode> {
 
     DbMemberNode selectOneByWorkStateAndLeftNodeNullOrRightNodeNull(@Param("workState")int stateOne,@Param("type")int type);
 
+    List<DbMemberNode> selectListByDate(@Param("date") Date date);
+
 }
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 506e990..3b6c926 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
@@ -28,6 +28,7 @@
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -491,6 +492,18 @@
         }
 
         if (ObjectUtil.isEmpty(buyStarDto.getId())) {//第一次
+            List<DbMemberNode> dbMemberNodesDone = dbMemberNodeMapper.selectListByDate(new Date());
+            if(CollUtil.isNotEmpty(dbMemberNodesDone)){
+                DataDictionaryCustom buyNodeNumDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                        DataDictionaryEnum.BUY_NODE_NUM.getType(),
+                        DataDictionaryEnum.BUY_NODE_NUM.getCode()
+                );
+                int buyNodeNum = Integer.parseInt(buyNodeNumDic.getValue());
+                if(buyNodeNum < dbMemberNodesDone.size()){
+                    throw new FebsException("今日已满,请明日再来");
+                }
+            };
+
             DappFundFlowEntity fundFlow = new DappFundFlowEntity(
                     member.getId(),
                     buyStarDto.getAmount().negate(),
diff --git a/src/main/resources/mapper/dapp/DbMemberNodeMapper.xml b/src/main/resources/mapper/dapp/DbMemberNodeMapper.xml
index c2df97d..2baf905 100644
--- a/src/main/resources/mapper/dapp/DbMemberNodeMapper.xml
+++ b/src/main/resources/mapper/dapp/DbMemberNodeMapper.xml
@@ -14,5 +14,13 @@
             limit 1
     </select>
 
+    <select id="selectListByDate" resultType="cc.mrbird.febs.dapp.entity.DbMemberNode">
+        select
+               *
+        from
+             db_member_node
+        where date_format(create_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+    </select>
+
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1