From b90204ae4fc53bf4bdc1c232aa4079e5d3e434f7 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 09 Jul 2024 21:47:16 +0800
Subject: [PATCH] 逻辑

---
 src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java                      |   25 ++++++++++--
 src/main/resources/mapper/dapp/DappMemberDao.xml                          |   11 +++++
 src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java               |    3 +
 src/main/java/cc/mrbird/febs/dapp/mapper/DappStorageMapper.java           |    3 +
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   27 ++++++++++++-
 src/main/resources/mapper/dapp/DappStorageMapper.xml                      |   16 ++++++++
 6 files changed, 78 insertions(+), 7 deletions(-)

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 77f79c3..156a7dd 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.dapp.mapper;
 
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -46,4 +47,6 @@
     List<DappMemberEntity> selectMemberListNeedProfit();
 
     List<DappMemberEntity> selectListByDate(@Param("date") Date date);
+
+    List<DappMemberEntity> selectListByDateFiveToFiver(@Param("startTime")DateTime startTime);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappStorageMapper.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappStorageMapper.java
index ed49a79..91abcc1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappStorageMapper.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappStorageMapper.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.dapp.mapper;
 
 import cc.mrbird.febs.dapp.entity.DappStorage;
+import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -30,4 +31,6 @@
     IPage<DappStorage> selectListInPage(@Param("record")DappStorage dappStorage, Page<DappStorage> page);
 
     List<DappStorage> selectListGroupByMemberId();
+
+    List<DappStorage> selectSumByAmountDescFiveToFive(@Param("startTime")DateTime startTime, @Param("offset")int offset,@Param("count")int count);
 }
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 d5fe847..57f17fd 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
@@ -713,7 +713,19 @@
     @Override
     public List<ApiStorageInfoVo> storageIndex() {
         List<ApiStorageInfoVo> apiStorageInfoVos = new ArrayList<>();
-        List<DappStorage> dappStorages = dappStorageMapper.selectSumByAmountDesc(DateUtil.offsetHour(new Date(), -1), 0, 10);
+
+        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(new Date()));
+        DateTime perkTime = DateUtil.parseTime("17:00:00");
+        String startTimeStr = null;
+        if(DateUtil.compare(nowTime,perkTime) >= 0){
+            startTimeStr = DateUtil.formatDate(DateUtil.offsetDay(new Date(), 0)) + " 17:00:00";
+        }else{
+            startTimeStr = DateUtil.formatDate(DateUtil.offsetDay(new Date(), -1)) + " 17:00:00";
+        }
+        DateTime startTime = DateUtil.parseDateTime(startTimeStr);
+
+        List<DappStorage> dappStorages = dappStorageMapper.selectSumByAmountDescFiveToFive(startTime, 0, 10);
+//        List<DappStorage> dappStorages = dappStorageMapper.selectSumByAmountDesc(DateUtil.offsetHour(new Date(), -1), 0, 10);
         if(CollUtil.isNotEmpty(dappStorages)){
             for(DappStorage dappStorage : dappStorages){
                 ApiStorageInfoVo apiStorageInfoVo = new ApiStorageInfoVo();
@@ -787,7 +799,18 @@
          */
         HashMap<Long, BigDecimal> map = new HashMap<>();
 
-        List<DappMemberEntity> dappMemberEntityList = dappMemberDao.selectListByDate(new Date());
+        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(new Date()));
+        DateTime perkTime = DateUtil.parseTime("17:00:00");
+        String startTimeStr = null;
+        if(DateUtil.compare(nowTime,perkTime) >= 0){
+            startTimeStr = DateUtil.formatDate(DateUtil.offsetDay(new Date(), 0)) + " 17:00:00";
+        }else{
+            startTimeStr = DateUtil.formatDate(DateUtil.offsetDay(new Date(), -1)) + " 17:00:00";
+        }
+        DateTime startTime = DateUtil.parseDateTime(startTimeStr);
+        List<DappMemberEntity> dappMemberEntityList = dappMemberDao.selectListByDateFiveToFiver(startTime);
+
+//        List<DappMemberEntity> dappMemberEntityList = dappMemberDao.selectListByDate(new Date());
         if(CollUtil.isNotEmpty(dappMemberEntityList)){
             for(DappMemberEntity member : dappMemberEntityList){
 
diff --git a/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java b/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
index 6161e8c..86c0686 100644
--- a/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
+++ b/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
@@ -173,7 +173,7 @@
             BigDecimal everyAmount = daDanTotal.divide(new BigDecimal(count));
 
             if(everyAmount.compareTo(BigDecimal.ZERO) > 0){
-                List<DappStorage> dappStorageOne = dappStorageMapper.selectSumByAmountDesc(new Date(),0,1);
+                List<DappStorage> dappStorageOne = dappStorageMapper.selectSumByAmountDescFiveToFive(DateUtil.offsetHour(new Date(),-24),0,1);
                 if(CollUtil.isNotEmpty(dappStorageOne)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(oneCount));
                     dappSystemService.updateBalanceInsertFlow(
@@ -184,7 +184,7 @@
 
                     realAmount = realAmount.add(multiply);
                 }
-                List<DappStorage> dappStorageTwo = dappStorageMapper.selectSumByAmountDesc(new Date(),1,1);
+                List<DappStorage> dappStorageTwo = dappStorageMapper.selectSumByAmountDescFiveToFive(DateUtil.offsetHour(new Date(),-24),1,1);
                 if(CollUtil.isNotEmpty(dappStorageTwo)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(twoCount));
                     dappSystemService.updateBalanceInsertFlow(
@@ -195,7 +195,7 @@
 
                     realAmount = realAmount.add(multiply);
                 }
-                List<DappStorage> dappStorageThree = dappStorageMapper.selectSumByAmountDesc(new Date(),2,1);
+                List<DappStorage> dappStorageThree = dappStorageMapper.selectSumByAmountDescFiveToFive(DateUtil.offsetHour(new Date(),-24),2,1);
                 if(CollUtil.isNotEmpty(dappStorageThree)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(threeCount));
                     dappSystemService.updateBalanceInsertFlow(
@@ -206,7 +206,7 @@
 
                     realAmount = realAmount.add(multiply);
                 }
-                List<DappStorage> dappStorageFour = dappStorageMapper.selectSumByAmountDesc(new Date(),3,1);
+                List<DappStorage> dappStorageFour = dappStorageMapper.selectSumByAmountDescFiveToFive(DateUtil.offsetHour(new Date(),-24),3,1);
                 if(CollUtil.isNotEmpty(dappStorageFour)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(fourCount));
                     dappSystemService.updateBalanceInsertFlow(
@@ -256,7 +256,9 @@
          */
         HashMap<Long, BigDecimal> map = new HashMap<>();
 
-        List<DappMemberEntity> dappMemberEntityList = dappMemberDao.selectListByDate(new Date());
+        DateTime startTime = DateUtil.offsetHour(new Date(), -24);
+        List<DappMemberEntity> dappMemberEntityList = dappMemberDao.selectListByDateFiveToFiver(startTime);
+
         if(CollUtil.isNotEmpty(dappMemberEntityList)){
             for(DappMemberEntity member : dappMemberEntityList){
                 if(StrUtil.isEmpty(member.getRefererId())){
@@ -337,8 +339,21 @@
     }
 
     public static void main(String[] args) {
+
         DateTime dateTime = DateUtil.offsetHour(new Date(), -24);
         System.out.println(dateTime);
+        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(new Date()));
+        DateTime perkTime = DateUtil.parseTime("17:00:00");
+
+        String startTimeStr = null;
+        if(DateUtil.compare(nowTime,perkTime) >= 0){
+            startTimeStr = DateUtil.formatDate(DateUtil.offsetDay(new Date(), 0)) + " 17:00:00";
+        }else{
+            startTimeStr = DateUtil.formatDate(DateUtil.offsetDay(new Date(), -1)) + " 17:00:00";
+        }
+
+        DateTime startTime = DateUtil.parseDateTime(startTimeStr);
+
 
 
         // 创建一个HashMap示例
diff --git a/src/main/resources/mapper/dapp/DappMemberDao.xml b/src/main/resources/mapper/dapp/DappMemberDao.xml
index d922d25..d3174b6 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -161,4 +161,15 @@
                 date_format(create_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
         order by create_time desc
     </select>
+
+
+    <select id="selectListByDateFiveToFiver" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity">
+        select
+            *
+        from
+            dapp_member
+        where
+            create_time &gt;= #{startTime}
+        order by create_time desc
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/DappStorageMapper.xml b/src/main/resources/mapper/dapp/DappStorageMapper.xml
index 3849c09..d34d01a 100644
--- a/src/main/resources/mapper/dapp/DappStorageMapper.xml
+++ b/src/main/resources/mapper/dapp/DappStorageMapper.xml
@@ -130,4 +130,20 @@
     </select>
 
 
+    <select id="selectSumByAmountDescFiveToFive" resultType="cc.mrbird.febs.dapp.entity.DappStorage">
+        SELECT
+            member_id memberId,
+            sum(amount) amount
+        FROM
+            dapp_storage
+        where
+            create_time &gt;= #{startTime}
+        GROUP BY
+            member_id
+        ORDER BY
+            amount DESC
+            limit #{offset},#{count}
+    </select>
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1