From 7a2433d29f4fcf9b1fc94e143d7597fa3a0e5080 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 03 Nov 2022 17:34:41 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java |  113 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 61 insertions(+), 52 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 1e681d1..b5af876 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -6,6 +6,7 @@
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.ApiIgtOnHookPlanService;
 import cc.mrbird.febs.dapp.service.DappWalletService;
+import cc.mrbird.febs.rabbit.producer.UsdtUpdateProducer;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
@@ -23,6 +24,7 @@
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.Format;
@@ -62,6 +64,9 @@
 
     @Autowired
     private ApiIgtOnHookPlanService apiIgtOnHookPlanService;
+
+    @Autowired
+    private DappOnHookDoneDao dappOnHookDoneDao;
 
     /**
      * 五分钟更新一次数据
@@ -274,68 +279,72 @@
     }
 
 
+    @Resource
+    private UsdtUpdateProducer usdtUpdateProducer;
+
 //    @Scheduled(cron = "0/5 * * * * ? ")
     @Scheduled(cron = "0 0/1 * * * ? ")
     public void updatePlanOrder(){
         Log.info("开始更新挂机主表状态");
         List<IgtOnHookPlanOrder> igtOnHookPlanOrders = igtOnHookPlanOrderDao.selectByState(3);
         if(CollUtil.isNotEmpty(igtOnHookPlanOrders)){
-            List<Long> ids = igtOnHookPlanOrderDao.selectIdsByState(3);
-            //更新状态避免重复查询
-            igtOnHookPlanOrderDao.updateByIds(ids);
+//            List<Long> ids = igtOnHookPlanOrderDao.selectIdsByState(3);
+//            //更新状态避免重复查询
+//            igtOnHookPlanOrderDao.updateByIds(ids);
             for(IgtOnHookPlanOrder igtOnHookPlanOrder : igtOnHookPlanOrders){
-                Long memberId = igtOnHookPlanOrder.getMemberId();
-                BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
+                usdtUpdateProducer.sendOnHookEnd(igtOnHookPlanOrder.getId());
 
-                DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
-                //是否设置了亏损
-                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(),planAmount.negate());
-                    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);
-
-                    igtOnHookPlanOrder.setState(2);
-                    //一次挂机剩余的全部金额
-                    BigDecimal totalMoney = totalProfit.add(planAmount);
-
-                    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);
-
-                    BigDecimal add = availableAmount.add(totalMoney);
-                    BigDecimal subtract = add.subtract(totalProfit);
-                    DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
-                    dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-                }
+//                Long memberId = igtOnHookPlanOrder.getMemberId();
+//                BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
+//
+//                DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+//                //避免重复
+//                QueryWrapper<DappOnHookDone> objectQueryWrapper = new QueryWrapper<>();
+//                objectQueryWrapper.eq("order_id",igtOnHookPlanOrder.getId());
+//                List<DappOnHookDone> dappOnHookDones = dappOnHookDoneDao.selectList(objectQueryWrapper);
+//                if(CollUtil.isNotEmpty(dappOnHookDones)){
+//                    continue;
+//                }
+//                //生成记录
+//                DappOnHookDone dappOnHookDone = new DappOnHookDone(dappMemberEntity.getId(), igtOnHookPlanOrder.getId());
+//                dappOnHookDoneDao.insert(dappOnHookDone);
+//                //获取收益率
+//                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,igtOnHookPlanOrder.getId());
+//                //平台分成,返回剩余盈利
+//                BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit,igtOnHookPlanOrder.getId());
+//                totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
+//
+//                igtOnHookPlanOrder.setState(2);
+//                //一次挂机剩余的全部金额
+//                BigDecimal totalMoney = totalProfit.add(planAmount);
+//
+//                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);
+//
+//                BigDecimal add = availableAmount.add(totalMoney);
+//                BigDecimal subtract = add.subtract(totalProfit);
+//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5,igtOnHookPlanOrder.getId());
+//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
             }
         }
+
     }
 
 

--
Gitblit v1.9.1