From 1f133fde6ccd28700a45c1a11efccf6badaa02ac Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 02 Nov 2022 16:09:49 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java |   71 ++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 30 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 33b0684..789db53 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -288,43 +288,54 @@
                 BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
 
                 DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
-                //获取收益率
-                DataDictionaryCustom identityDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMemberEntity.getIdentity());
-                String identityDicValue = identityDic.getValue();
-                JSONObject identityDicValueParse = JSONUtil.parseObj(identityDicValue);
-                BigDecimal hangingRevenueLevel = new BigDecimal(identityDicValueParse.get("hangingRevenue").toString())
-                        .multiply(new BigDecimal(0.01)).setScale(4,BigDecimal.ROUND_DOWN);
-                //获取收益
-                BigDecimal totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN);
+                //是否设置了亏损
+                Integer isProfit = dappMemberEntity.getIsProfit() == null ? 1 : dappMemberEntity.getIsProfit();
+                if(2 == isProfit){
+                    BigDecimal bigDecimal = planAmount.divide(new BigDecimal(2)).setScale(4, BigDecimal.ROUND_DOWN);
+                    DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
+                    BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
+                    dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),bigDecimal);
+                    BigDecimal add = availableAmount.add(bigDecimal).setScale(4, BigDecimal.ROUND_DOWN);
+                    DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, bigDecimal, add, "系统", 9);
+                    dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+                }else{
+                    //获取收益率
+                    DataDictionaryCustom identityDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMemberEntity.getIdentity());
+                    String identityDicValue = identityDic.getValue();
+                    JSONObject identityDicValueParse = JSONUtil.parseObj(identityDicValue);
+                    BigDecimal hangingRevenueLevel = new BigDecimal(identityDicValueParse.get("hangingRevenue").toString())
+                            .multiply(new BigDecimal(0.01)).setScale(4,BigDecimal.ROUND_DOWN);
+                    //获取收益
+                    BigDecimal totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN);
 
-                String refererIds = dappMemberEntity.getRefererIds();
-                List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
-                //生成流水佣金和盈利分成和流水记录,返回剩余盈利
-                BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
-                //平台分成,返回剩余盈利
-                BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
-                totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
+                    String refererIds = dappMemberEntity.getRefererIds();
+                    List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
+                    //生成流水佣金和盈利分成和流水记录,返回剩余盈利
+                    BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
+                    //平台分成,返回剩余盈利
+                    BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
+                    totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
 
-                igtOnHookPlanOrder.setState(2);
-                //一次挂机剩余的全部金额
-                BigDecimal totalMoney = totalProfit.add(planAmount);
+                    igtOnHookPlanOrder.setState(2);
+                    //一次挂机剩余的全部金额
+                    BigDecimal totalMoney = totalProfit.add(planAmount);
 
-                igtOnHookPlanOrder.setProfit(totalProfit);
-                igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
-                dappMemberEntity.setIsOnHook(3);
-                dappMemberDao.updateById(dappMemberEntity);
+                    igtOnHookPlanOrder.setProfit(totalProfit);
+                    igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
+                    dappMemberEntity.setIsOnHook(3);
+                    dappMemberDao.updateById(dappMemberEntity);
 
-                DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
-                BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney);
+                    DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
+                    BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
+                    dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney);
 
-                BigDecimal add = availableAmount.add(totalMoney);
-                BigDecimal subtract = add.subtract(totalProfit);
-                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
-                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+                    BigDecimal add = availableAmount.add(totalMoney);
+                    BigDecimal subtract = add.subtract(totalProfit);
+                    DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
+                    dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+                }
             }
         }
-
     }
 
 

--
Gitblit v1.9.1