From c84de2a02892d1a4d9af628b226ee0960011fd41 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 29 Oct 2022 21:55:14 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java                       |   10 ++++++----
 src/main/resources/mapper/dapp/IgtOnHookPlanOrderItemDao.xml              |   21 ++++++++++++++++++---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |    7 +++++++
 src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderItemDao.java   |    2 ++
 src/test/java/cc/mrbird/febs/JunitTest.java                               |    8 ++++++--
 5 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderItemDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderItemDao.java
index cc997b6..2e94e0f 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderItemDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderItemDao.java
@@ -28,4 +28,6 @@
     BigDecimal selectTotalAmountByCreateTimeAndOrderId(@Param("startTime")Date startTime, @Param("endTime")Date endTime, @Param("orderId")Long id);
 
     Long selectByIsgoalAndOrderId(@Param("isGoal")int i, @Param("orderId")Long orderId);
+
+    IgtOnHookPlanOrderItem selectByCreateTimeAndIsgoaAndOrderId(@Param("endTime")Date endTime, @Param("isGoal")int i, @Param("orderId")Long orderId);
 }
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 550810f..582475d 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
@@ -1112,6 +1112,7 @@
     @Override
     public Integer isGoal(String num) {
         Set set = new HashSet();
+        num = StrUtil.subSuf(num,1);
         char[] chars = num.toCharArray();
         for(char c:chars) {
             set.add(c);
@@ -1123,6 +1124,12 @@
         }
     }
 
+    public static void main(String[] args) {
+
+        String num = StrUtil.subSuf("01234",1);
+        System.out.print(num);
+    }
+
     private String isIdentity(List<String> refererIds,String levelCode){
         String flag = levelCode;
         for(String str : refererIds){
diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 45a3f81..075389a 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -238,14 +238,16 @@
                         igtOnHookPlanOrderItemDao.insert(igtOnHookPlanOrderItem);
 
                         if(2 == igtOnHookPlanOrderItem.getIsGoal()){
-
                             //返还两次中奖之间的本金
-                            Date startTime = igtOnHookPlanOrderItemsOld.get(0).getCreateTime();
                             Date endTime = igtOnHookPlanOrderItem.getCreateTime();
+                            Date startTime = null;
+                            //返回上次中奖的记录
+                            IgtOnHookPlanOrderItem igtOld = igtOnHookPlanOrderItemDao.selectByCreateTimeAndIsgoaAndOrderId(endTime,1,igtOnHookPlanOrder.getId());
+                            if(ObjectUtil.isNotEmpty(igtOld)){
+                                startTime = igtOld.getCreateTime();
+                            }
                             BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByCreateTimeAndOrderId(startTime,endTime,igtOnHookPlanOrder.getId());
                             //如果中奖,增加挂机主表的挂机总收益,返还两次中奖之间的本金
-                            igtOnHookPlanOrderDao.AddProfitById(igtOnHookPlanOrder.getId()
-                                    ,igtOnHookPlanOrderItem.getProfit());
                             igtOnHookPlanOrderDao.addAvaAmountById(igtOnHookPlanOrder.getId()
                                     ,totalAmount);
                         }else{
diff --git a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderItemDao.xml b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderItemDao.xml
index 1064b1c..e356b72 100644
--- a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderItemDao.xml
+++ b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderItemDao.xml
@@ -65,9 +65,13 @@
         SELECT
             ifnull(sum(a.amount),0)
         FROM igt_on_hook_plan_order_item a
-        where a.order_id = #{orderId}
-          and a.create_time &gt; #{startTime}
-          and a.create_time &lt; #{endTime}
+        <where>
+            a.order_id = #{orderId}
+            and a.create_time &lt; #{endTime}
+            <if test="startTime != null">
+                and a.create_time > #{startTime}
+            </if>
+        </where>
         order by create_time desc
     </select>
 
@@ -80,5 +84,16 @@
         order by create_time desc
     </select>
 
+    <select id="selectByCreateTimeAndIsgoaAndOrderId" resultType="cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrderItem">
+        SELECT
+            a.*
+        FROM igt_on_hook_plan_order_item a
+        where a.order_id = #{orderId}
+          and a.is_goal = #{isGoal}
+          and a.create_time &lt; #{endTime}
+        order by create_time desc
+        limit 1
+    </select>
+
 
 </mapper>
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index a727c4a..f16a205 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -417,10 +417,14 @@
                         igtOnHookPlanOrderItemDao.insert(igtOnHookPlanOrderItem);
 
                         if(2 == igtOnHookPlanOrderItem.getIsGoal()){
-
                             //返还两次中奖之间的本金
-                            Date startTime = igtOnHookPlanOrderItemsOld.get(0).getCreateTime();
                             Date endTime = igtOnHookPlanOrderItem.getCreateTime();
+                            Date startTime = null;
+                                    //返回上次中奖的记录
+                            IgtOnHookPlanOrderItem igtOld = igtOnHookPlanOrderItemDao.selectByCreateTimeAndIsgoaAndOrderId(endTime,1,igtOnHookPlanOrder.getId());
+                            if(ObjectUtil.isNotEmpty(igtOld)){
+                                startTime = igtOld.getCreateTime();
+                            }
                             BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByCreateTimeAndOrderId(startTime,endTime,igtOnHookPlanOrder.getId());
                             //如果中奖,增加挂机主表的挂机总收益,返还两次中奖之间的本金
                             igtOnHookPlanOrderDao.AddProfitById(igtOnHookPlanOrder.getId()

--
Gitblit v1.9.1