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

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java       |   13 ++++--
 src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java |   27 ++++++++-----
 src/test/java/cc/mrbird/febs/JunitTest.java                                     |   80 ++++++++++++++++++++++------------------
 3 files changed, 69 insertions(+), 51 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 fc9d5c2..b06f8f7 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
@@ -176,12 +176,17 @@
 
         String refererIds = dappMemberEntity.getRefererIds();
         List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
-        //生成流水佣金和盈利分成和流水记录,返回剩余盈利
-        BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, igtOnHookPlanOrder.getProfit(),igtOnHookPlanOrder.getId());
-        //平台分成,返回剩余盈利
-        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,igtOnHookPlanOrder.getProfit(),igtOnHookPlanOrder.getId());
-        totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
-//        BigDecimal totalMoney = avaAmount.add(totalProfit);
+        //生成流水佣金和盈利分成和流水记录,返回盈利分成和流水佣金总共分成
+        BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit,igtOnHookPlanOrder.getId());
+        //平台分成
+        //平台拿走35%盈利分成和流水佣金剩下的全部
+        BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
+        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
+        //个人固定拿走60%
+        totalProfit = totalProfit.multiply(new BigDecimal(0.6));
+        igtOnHookPlanOrder.setProfit(totalProfit);
+        igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
+
         BigDecimal totalMoney = planAmount.add(totalProfit);
         DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
         dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney);
@@ -529,10 +534,12 @@
         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);
-
+        //平台分成
+        //平台拿走35%盈利分成和流水佣金剩下的全部
+        BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
+        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
+        //个人固定拿走60%
+        totalProfit = totalProfit.multiply(new BigDecimal(0.6));
         igtOnHookPlanOrder.setState(2);
         //一次挂机剩余的全部金额
         BigDecimal totalMoney = totalProfit.add(planAmount);
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 f6a7c93..39a60db 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
@@ -1131,11 +1131,10 @@
         if(BigDecimal.ZERO.compareTo(totalProfit)>=0){
             return BigDecimal.ZERO;
         }
-        BigDecimal multiply = totalProfit.multiply(new BigDecimal(0.05));
         DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(65L,
-                multiply.negate(), "系统", 9,id);
+                totalProfit, "系统", 9,id);
         dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-        return multiply;
+        return totalProfit;
     }
 
     @Override
@@ -1155,8 +1154,12 @@
 
     public static void main(String[] args) {
 
-        String num = StrUtil.subSuf("01234",1);
-        System.out.print(num);
+        DateTime date = DateUtil.date();
+        DateTime endTime = DateUtil.parseTimeToday("09:08:03");
+        if(DateUtil.compare(date,endTime)>=0){
+            //
+            System.out.print(endTime);
+        }
     }
 
     private String isIdentity(List<String> refererIds,String levelCode){
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index de7846c..3b21715 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -50,9 +50,9 @@
 
 //    @Autowired
 //    private MineProfitJob mineProfitJob;
-//    @Autowired
-//    private DappMemberDao dappMemberDao;
-//
+    @Autowired
+    private DappMemberDao dappMemberDao;
+
 //    @Test
 //    public void incomeTest() {
 //        mineProfitJob.start();
@@ -89,32 +89,40 @@
 //        String s = rsa.decryptStr(ss, KeyType.PrivateKey);
 //        System.out.println(s);
 //    }
-//
-//    @Autowired
-//    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
-//    @Autowired
-//    private RedisUtils redisUtils;
-//    @Autowired
-//    private DappOnHookAwardDao dappOnHookAwardDao;
-//    @Test
-//    public void getmember(){//获取下一个开奖
-//        String redisKey = "on_hook_award_id";
-//        String onHookAwardRedisId = redisUtils.getString(redisKey);
-//        DappOnHookAward dappOnHookAward = dappOnHookAwardDao.selectById(Long.parseLong(onHookAwardRedisId));
-//        if(ObjectUtil.isEmpty(dappOnHookAward)){
-//            throw new FebsException(MessageSourceUtils.getString("login_err_003"));
-//        }
-//        Date awardTime = dappOnHookAward.getAwardTime();
-//        System.out.println(awardTime);
-//        DateTime dateTime = DateUtil.offsetMinute(awardTime, 5);
-//        for(int i =1; i < 100;i++){
-//            String yyyyMMddHHMM = DateUtil.format(dateTime, "yyyy-MM-dd HH:mm");
-////            DappOnHookAward dappOnHookAwardNext = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
-//            System.out.println(yyyyMMddHHMM);
-//            dateTime = DateUtil.offsetMinute(dateTime, 5);
-//        }
-//    }
-//
+
+    @Autowired
+    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    @Autowired
+    private RedisUtils redisUtils;
+    @Autowired
+    private DappOnHookAwardDao dappOnHookAwardDao;
+    @Test
+    public void getmember(){//获取下一个开奖
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(64L);
+        IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(824L);
+        BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
+        //获取收益
+        //获取收益率
+        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 multiply = hangingRevenueLevel.multiply(planAmount);
+        DataDictionaryCustom maxHoursDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MAX_HOURS.getType(), DataDictionaryEnum.MAX_HOURS.getCode());
+        //挂机总时长(分钟)
+        BigDecimal maxHours = new BigDecimal(maxHoursDic.getValue()).multiply(new BigDecimal(60));
+        //得到每分钟的收益
+        BigDecimal minuteProfit = multiply.divide(maxHours, 4, BigDecimal.ROUND_DOWN);
+        //获取挂机开始时间到现在的总时长(分钟数)
+        Date startTime = igtOnHookPlanOrder.getStartTime();
+        long between = DateUtil.between(startTime, DateUtil.date(), DateUnit.MINUTE);
+        //获得总收益
+        BigDecimal totalProfit = minuteProfit.multiply(new BigDecimal(between)).setScale(4,BigDecimal.ROUND_DOWN);
+        System.out.println(totalProfit);
+    }
+
 //    @Autowired
 //    private DappMemberDao dappMemberDao;
 //    @Test
@@ -214,11 +222,11 @@
 
 
 
-//    @Autowired
-//    private IgtOnHookPlanOrderItemDao igtOnHookPlanOrderItemDao;
-//
-//    @Autowired
-//    private IgtOnHookPlanOrderDao igtOnHookPlanOrderDao;
+    @Autowired
+    private IgtOnHookPlanOrderItemDao igtOnHookPlanOrderItemDao;
+
+    @Autowired
+    private IgtOnHookPlanOrderDao igtOnHookPlanOrderDao;
 //
     @Autowired
     private DappWalletCoinDao dappWalletCoinDao;
@@ -226,8 +234,8 @@
 //    @Autowired
 //    private DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
 //
-    @Autowired
-    private DappMemberDao dappMemberDao;
+//    @Autowired
+//    private DappMemberDao dappMemberDao;
 //
 //    @Autowired
 //    private DappOnHookAwardDao dappOnHookAwardDao;

--
Gitblit v1.9.1