From e7ca8ba2b3c3b446e39d4c3a3ea5e238adb2fc7c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 21 Oct 2022 19:07:34 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java                             |   13 +++++++------
 src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml                    |    4 +++-
 src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java |    9 ++++++---
 src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java       |    3 +++
 4 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
index ec83cb7..6711f13 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -210,16 +210,19 @@
         objectQueryWrapper.eq("state",2);
         igtOnHookPlanOrderItemDao.delete(objectQueryWrapper);
         //计算总收益和总挂机剩余金额,操作用户资金账户信息
+        //所有中奖的收益
         BigDecimal totalProfit = igtOnHookPlanOrderItemDao.selectTotalProfitByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
-        BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
+        //所有未中奖的本金
+        BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
         DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
         BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
-        //如果中奖,返回本金加收益加剩余总挂机金额
+        //如果中奖,返回收益,如果没中奖,则返回本金,最后加上剩余总挂机金额
         BigDecimal total = totalProfit.add(totalAmount).add(igtOnHookPlanOrder.getAvaAmount()).setScale(4, BigDecimal.ROUND_DOWN);
         dappWalletCoinDao.addTotalAndaddAvailableById(memberId,total);
         //生成流水记录
         BigDecimal add = availableAmount.add(total);
-        DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, total, add, "投注盈利", 5);
+        BigDecimal subtract = add.subtract(totalAmount).subtract(igtOnHookPlanOrder.getAvaAmount());
+        DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
         dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
         //更新用户表是否正在挂机状态字段为否
         DappMemberEntity dappMember= dappMemberDao.selectById(memberId);
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java
index 7c80b0f..47ea8bc 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java
@@ -19,6 +19,9 @@
     @ApiModelProperty(value = "金额")
     private BigDecimal amount;
 
+    @ApiModelProperty(value = "用户名")
+    private String username;
+
     @ApiModelProperty(value = "类型",example = "类型  2-提现 4-内部转账 5-挂机收益 6-挂机")
     private Integer type;
 }
diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 93d4470..84d6339 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -71,11 +71,11 @@
                 igtOnHookPlanOrderItem.setState(1);
                 igtOnHookPlanOrderItemDao.updateById(igtOnHookPlanOrderItem);
                 if(2 == igtOnHookPlanOrderItem.getIsGoal()){
-                    //增加挂机主表的挂机总收益
+                    //如果中奖,增加挂机主表的挂机总收益
                     Integer updateCount = igtOnHookPlanOrderDao.AddProfitById(igtOnHookPlanOrder.getId()
                             ,igtOnHookPlanOrderItem.getProfit());
                 }else{
-                    //减少挂机剩余金额
+                    //如果不中奖,减少挂机剩余金额即减少本金
                     Integer updateCount = igtOnHookPlanOrderDao.updateAvaAmountById(igtOnHookPlanOrder.getId()
                             ,igtOnHookPlanOrderItem.getAmount());
                 }
@@ -115,7 +115,7 @@
             IgtOnHookPlanOrderItem igtOnHookPlanOrderItem = igtOnHookPlanOrderItemDao.selectByOrderIdAndMemberIdAndState(orderId,memberId,2);
             if(ObjectUtil.isEmpty(igtOnHookPlanOrderItem)){
                 BigDecimal totalProfit = igtOnHookPlanOrderItemDao.selectTotalProfitByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
-                BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
+                BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
                 igtOnHookPlanOrder.setState(2);
                 //一次挂机剩余的全部金额
                 BigDecimal totalMoney = totalAmount.add(totalProfit).add(avaAmount);
@@ -132,13 +132,14 @@
 
                 DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
                 BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
-                //如果中奖,返回本金加收益加剩余投注金额
+
+                //如果中奖,返回收益,如果没中奖,则返回本金,最后加上剩余总挂机金额
                 BigDecimal total = totalProfit.add(totalAmount).add(igtOnHookPlanOrder.getAvaAmount()).setScale(4, BigDecimal.ROUND_DOWN);
                 dappWalletCoinDao.addTotalAndaddAvailableById(memberId,total);
 
                 BigDecimal add = availableAmount.add(total);
-
-                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, total, add, "投注盈利", 5);
+                BigDecimal subtract = add.subtract(totalAmount).subtract(igtOnHookPlanOrder.getAvaAmount());
+                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
             }
 
diff --git a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
index 7c92302..8441ecf 100644
--- a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
+++ b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
@@ -41,8 +41,10 @@
         select
         a.create_time createTime,
         a.amount amount,
-        a.type type
+        a.type type,
+        ifnull(b.username,'-') username
         from dapp_account_money_change a
+        inner join dapp_member b on a.member_id = b.id
         <where>
             a.member_id in (select b.id from dapp_member b where find_in_set(#{record.inviteId}, b.referer_ids))
             <if test="record.type != null">

--
Gitblit v1.9.1