From cdc27a7a63b4ff81125ec594eb23deb22bd76e21 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 04 Nov 2022 21:57:22 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java |   69 ++++++++--------------------------
 1 files changed, 17 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 b5af876..84c4b05 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -282,66 +282,31 @@
     @Resource
     private UsdtUpdateProducer usdtUpdateProducer;
 
+    /**
+     * 挂机结束时间一到,所有挂机停止开始计算收益
+     * 根据设置的会员等级对应的(收益率*挂机本金)/(挂机时长*60分钟)=每分钟的收益
+     * 计算每个挂机的挂机时长*每分钟的收益
+     */
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    public void endOnHookPlan(){
+        Log.info("挂机结束时间到了");
+        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.END_TIME.getType(), DataDictionaryEnum.END_TIME.getCode());
+        DateTime date = DateUtil.date();
+        DateTime endTime = DateUtil.parseDate(endTimeDic.getValue());
+        if(DateUtil.compare(endTime,date)>=0){
+            //
+            igtOnHookPlanOrderDao.updatePlanOrder();
+        }
+    }
+
 //    @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);
             for(IgtOnHookPlanOrder igtOnHookPlanOrder : igtOnHookPlanOrders){
                 usdtUpdateProducer.sendOnHookEnd(igtOnHookPlanOrder.getId());
-
-//                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