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 +++----------
 src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java             |    2 
 src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml                        |    8 +
 src/main/resources/application-prod.yml                                         |    2 
 src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java |   79 ++++++++++++---
 src/test/java/cc/mrbird/febs/JunitTest.java                                     |   88 ++++++++--------
 6 files changed, 136 insertions(+), 112 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
index 57c6f20..cd3ecd4 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
@@ -34,4 +34,6 @@
     void updateByIds(List<Long> ids);
 
     IPage<DappAccountMoneyChangeEntity> findFlowListInPage(Page<DappAccountMoneyChangeEntity> page, @Param("orderId")Long id);
+
+    void updatePlanOrder();
 }
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 8ebb07e..fc9d5c2 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
@@ -17,6 +17,7 @@
 import cc.mrbird.febs.dapp.vo.ApiPlanInfoVo;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -137,6 +138,7 @@
     public FebsResponse endPlan(Long orderId) {
         DappMemberEntity dappMemberEntity = LoginUserUtil.getAppUser();
         Long memberId = dappMemberEntity.getId();
+        //判断系统是否已经结算过了
         QueryWrapper<DappOnHookDone> objectQueryWrapper = new QueryWrapper<>();
         objectQueryWrapper.eq("order_id",orderId);
         List<DappOnHookDone> dappOnHookDones = dappOnHookDoneDao.selectList(objectQueryWrapper);
@@ -148,14 +150,29 @@
         igtOnHookPlanOrder.setState(2);
         igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
 
-        BigDecimal totalProfit = igtOnHookPlanOrder.getProfit();
+//        BigDecimal totalProfit = igtOnHookPlanOrder.getProfit();
         BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
-        BigDecimal avaAmount = igtOnHookPlanOrder.getAvaAmount();
+//        BigDecimal avaAmount = igtOnHookPlanOrder.getAvaAmount();
         //更新用户表是否正在挂机状态字段为否
         DappMemberEntity dappMember = dappMemberDao.selectById(memberId);
-
         dappMember.setIsOnHook(3);
         dappMemberDao.updateById(dappMember);
+
+        //获取当前用户每分钟应该获取的收益
+        String identity = dappMember.getIdentity();
+        //当前用户的挂机收益率
+        BigDecimal hangingRevenue = getHangingRevenue(identity);
+        BigDecimal multiply = hangingRevenue.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));
 
         String refererIds = dappMemberEntity.getRefererIds();
         List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
@@ -164,7 +181,8 @@
         //平台分成,返回剩余盈利
         BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,igtOnHookPlanOrder.getProfit(),igtOnHookPlanOrder.getId());
         totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
-        BigDecimal totalMoney = avaAmount.add(totalProfit);
+//        BigDecimal totalMoney = avaAmount.add(totalProfit);
+        BigDecimal totalMoney = planAmount.add(totalProfit);
         DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
         dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney);
 
@@ -172,6 +190,25 @@
         dappOnHookDoneDao.insert(dappOnHookDone);
 
         return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001"));
+    }
+
+    public static void main(String[] args) {
+        DateTime startTime = DateUtil.offsetMinute(DateUtil.date(), 10);
+
+        System.out.println(startTime);
+        System.out.println(DateUtil.date());
+
+        long between = DateUtil.between(startTime, DateUtil.date(), DateUnit.MINUTE);
+        System.out.println(between);
+    }
+    
+
+    private BigDecimal getHangingRevenue(String identity){
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), identity);
+        String dataDictionaryCustomValue = dataDictionaryCustom.getValue();
+        cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(dataDictionaryCustomValue);
+        String runningCommission = jsonObject.get("hangingRevenue").toString();
+        return new BigDecimal(runningCommission).multiply(new BigDecimal(0.01));
     }
 
     @Override
@@ -474,7 +511,19 @@
         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);
+        //获取当前用户每分钟应该获取的收益
+        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);
+//        BigDecimal totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN);
 
         String refererIds = dappMemberEntity.getRefererIds();
         List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
@@ -522,14 +571,14 @@
         return null;
     }
 
-    public static void main(String[] args) {
-
-        DateTime nowTime = DateUtil.parseTimeToday(DateUtil.format(DateUtil.date(),"HH:mm:ss"));
-        System.out.println(nowTime);
-        int maxTimes = 10;
-        for(int i =1;i<maxTimes;){
-            maxTimes --;
-            System.out.println(maxTimes);
-        }
-    }
+//    public static void main(String[] args) {
+//
+//        DateTime nowTime = DateUtil.parseTimeToday(DateUtil.format(DateUtil.date(),"HH:mm:ss"));
+//        System.out.println(nowTime);
+//        int maxTimes = 10;
+//        for(int i =1;i<maxTimes;){
+//            maxTimes --;
+//            System.out.println(maxTimes);
+//        }
+//    }
 }
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);
             }
         }
 
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 9de4699..700b3a8 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -2,7 +2,7 @@
   datasource:
     dynamic:
       # 是否开启 SQL日志输出,生产环境建议关闭,有性能损耗
-      p6spy: true
+      p6spy: false
       hikari:
         connection-timeout: 30000
         max-lifetime: 1800000
diff --git a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
index cb9047a..04a1865 100644
--- a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
+++ b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
@@ -109,4 +109,12 @@
         order by a.create_time asc
     </select>
 
+    <update id="updatePlanOrder">
+        update igt_on_hook_plan_order
+        set
+            state = 3
+        where
+            state = 1
+    </update>
+
 </mapper>
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index 0778b42..de7846c 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -220,14 +220,14 @@
 //    @Autowired
 //    private IgtOnHookPlanOrderDao igtOnHookPlanOrderDao;
 //
-//    @Autowired
-//    private DappWalletCoinDao dappWalletCoinDao;
+    @Autowired
+    private DappWalletCoinDao dappWalletCoinDao;
 //
 //    @Autowired
 //    private DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
 //
-//    @Autowired
-//    private DappMemberDao dappMemberDao;
+    @Autowired
+    private DappMemberDao dappMemberDao;
 //
 //    @Autowired
 //    private DappOnHookAwardDao dappOnHookAwardDao;
@@ -253,46 +253,46 @@
 //        System.out.println(active);
 //    }
 //
-//    @Test
-//    public void testUpdateIgt(){Log.info("更新用户代理等级");
-//        DateTime date = DateUtil.date();
-//        //查询账户总金额大于51的有效用户
-//        List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectTotalAmount();
-//        if(CollUtil.isEmpty(dappMemberEntities)){
-//            //没有账户金额大于51,则全部为会员
-//            dappMemberDao.updateIdentity();
-//        }else{
-//            List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode());
-//            List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(LEVEL_IB, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
-//            List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(LEVEL_FIB, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
-//            List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(LEVEL_CIB, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
-//            List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(LEVEL_AIB, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
-//            List<DappMemberEntity> LEVEL_BP = getMemberLevelList(LEVEL_GIB, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
-//            List<DappMemberEntity> LEVEL_SP = getMemberLevelList(LEVEL_BP, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
-//            List<DappMemberEntity> LEVEL_GP = getMemberLevelList(LEVEL_SP, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
-//        }
-//    }
-//
-//    private List<DappMemberEntity> getMemberLevelList(List<DappMemberEntity> dappMemberEntities,String identity,String identityNext){
-//        List<DappMemberEntity> dappMemberEntitiesNext = new ArrayList<>();
-//        if(CollUtil.isNotEmpty(dappMemberEntities)){
-//            for(DappMemberEntity dappMemberEntity : dappMemberEntities){
-//                Long memberEntityId = dappMemberEntity.getId();
-//                String refererId = dappMemberEntity.getRefererId();
-//                String inviteId = dappMemberEntity.getInviteId();
-//                //下级是否存在三个账户总金额大于51的会员,并且代理等级为identity
-//                List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(inviteId,identity);
-//                if(CollUtil.isNotEmpty(levelMbMembers) && 3 <= levelMbMembers.size()){
-//                    //设置identityNext级别
-//                    dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId);
-//                    //获取他的上级会员信息
-//                    DappMemberEntity dappMemberEntityNext = dappMemberDao.selectMemberInfoByInviteId(refererId);
-//                    dappMemberEntitiesNext.add(dappMemberEntityNext);
-//                }
-//            }
-//        }
-//        return dappMemberEntitiesNext;
-//    }
+    @Test
+    public void testUpdateIgt(){Log.info("更新用户代理等级");
+        DateTime date = DateUtil.date();
+        //查询账户总金额大于51的有效用户
+        List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectTotalAmount();
+        if(CollUtil.isEmpty(dappMemberEntities)){
+            //没有账户金额大于51,则全部为会员
+            dappMemberDao.updateIdentity();
+        }else{
+            List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode());
+            List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(LEVEL_IB, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
+            List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(LEVEL_FIB, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
+            List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(LEVEL_CIB, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
+            List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(LEVEL_AIB, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
+            List<DappMemberEntity> LEVEL_BP = getMemberLevelList(LEVEL_GIB, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
+            List<DappMemberEntity> LEVEL_SP = getMemberLevelList(LEVEL_BP, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
+            List<DappMemberEntity> LEVEL_GP = getMemberLevelList(LEVEL_SP, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
+        }
+    }
+
+    private List<DappMemberEntity> getMemberLevelList(List<DappMemberEntity> dappMemberEntities,String identity,String identityNext){
+        List<DappMemberEntity> dappMemberEntitiesNext = new ArrayList<>();
+        if(CollUtil.isNotEmpty(dappMemberEntities)){
+            for(DappMemberEntity dappMemberEntity : dappMemberEntities){
+                Long memberEntityId = dappMemberEntity.getId();
+                String refererId = dappMemberEntity.getRefererId();
+                String inviteId = dappMemberEntity.getInviteId();
+                //下级是否存在三个账户总金额大于51的会员,并且代理等级为identity
+                List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(inviteId,identity);
+                if(CollUtil.isNotEmpty(levelMbMembers) && 3 <= levelMbMembers.size()){
+                    //设置identityNext级别
+                    dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId);
+                    //获取他的上级会员信息
+                    DappMemberEntity dappMemberEntityNext = dappMemberDao.selectMemberInfoByInviteId(refererId);
+                    dappMemberEntitiesNext.add(dappMemberEntityNext);
+                }
+            }
+        }
+        return dappMemberEntitiesNext;
+    }
 //
 //    @Test
 //    public void testProfitSharing(){

--
Gitblit v1.9.1