From 4d5e301a679bec2f6d2a32290bf98dde4966d0d0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 11 Aug 2023 14:58:28 +0800
Subject: [PATCH] 数据修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |  146 ++++++++++++++++++++++++++----------------------
 1 files changed, 79 insertions(+), 67 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 0d10774..a0ac35c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -149,7 +149,7 @@
             int nodeType = 0;
             //
             if (!"asdf4321".equals(connectDto.getInviteId())) {
-                DappMemberEntity parent = dappMemberDao.selectByAddress(connectDto.getInviteId(), null);
+                DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
                 if (parent == null) {
                     throw new FebsException("recommender is not exist");
                 }
@@ -209,27 +209,17 @@
             member.setCurrentUser(currentUser.getUserId());
         }
         IPage<DappMemberEntity> dappMemberEntityIPage = dappMemberDao.selectInPage(member, page);
-        List<DappMemberEntity> records = dappMemberEntityIPage.getRecords();
-        if(CollUtil.isNotEmpty(records)){
-            for(DappMemberEntity memberEntity : records){
-                Long memberId = memberEntity.getId();
-                //直推收益
-                BigDecimal directProfit = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,3,2);
-                memberEntity.setDirectProfit(directProfit);
-                //购买节点数量
-                List<DappMemberNodeVo> dappMemberNodeVos = dappMemberNodeMapper.selectListByMemberId(memberId);
-                memberEntity.setMemberNodeCnt(CollUtil.isEmpty(dappMemberNodeVos) ? 0 : dappMemberNodeVos.size());
-
-                BigDecimal memberNodeSumPrice = BigDecimal.ZERO;
-                if(CollUtil.isNotEmpty(dappMemberNodeVos)){
-                    for(DappMemberNodeVo dappMemberNodeVo : dappMemberNodeVos){
-                        BigDecimal nodePrice = dappMemberNodeVo.getNodePrice();
-                        memberNodeSumPrice = memberNodeSumPrice.add(nodePrice);
-                    }
-                }
-                memberEntity.setMemberNodeSumPrice(memberNodeSumPrice.setScale(8,BigDecimal.ROUND_DOWN));
-            }
-        }
+//        List<DappMemberEntity> records = dappMemberEntityIPage.getRecords();
+//        if(CollUtil.isNotEmpty(records)){
+//            for(DappMemberEntity memberEntity : records){
+//                Long memberId = memberEntity.getId();
+//                DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
+//                memberEntity.setCoinAmount(ObjectUtil.isEmpty(dappWalletCoinEntity) ? BigDecimal.ZERO : dappWalletCoinEntity.getAvailableAmount());
+//
+//                DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(memberId);
+//                memberEntity.setScoreAmount(ObjectUtil.isEmpty(dappWalletMineEntity) ? BigDecimal.ZERO : dappWalletMineEntity.getAvailableAmount());
+//            }
+//        }
         return dappMemberEntityIPage;
     }
 
@@ -554,8 +544,7 @@
         if(ObjectUtil.isEmpty(dappMemberEntity)) {
             return new FebsResponse().fail().message("会员信息不存在");
         }
-        dappMemberEntity.setNodeType(1);
-//        dappMemberEntity.setAccountType(MemberLevelEnum.NODE_5.getType());
+        dappMemberEntity.setActiveStatus(1);
         dappMemberDao.updateById(dappMemberEntity);
         return new FebsResponse().success();
     }
@@ -566,8 +555,7 @@
         if(ObjectUtil.isEmpty(dappMemberEntity)) {
             return new FebsResponse().fail().message("会员信息不存在");
         }
-        dappMemberEntity.setNodeType(2);
-        dappMemberEntity.setAccountType(MemberLevelEnum.MEMBER.getType());
+        dappMemberEntity.setActiveStatus(2);
         dappMemberDao.updateById(dappMemberEntity);
         return new FebsResponse().success();
     }
@@ -623,6 +611,7 @@
     @Transactional
     public Long createOrder(AddOrderDto addOrderDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
+//        DappMemberEntity member = dappMemberDao.selectById(1L);
         /**
          * 1、商品是否上架
          * 2、用户余额是否足够
@@ -675,6 +664,7 @@
     @Transactional
     public void cancelOrder(Long id) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
+//        DappMemberEntity member = dappMemberDao.selectById(1L);
         MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id);
         if (ObjectUtil.isEmpty(orderInfo)) {
             throw new FebsException("订单异常");
@@ -693,6 +683,7 @@
     @Transactional
     public void payOrder(Long id) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
+//        DappMemberEntity member = dappMemberDao.selectById(1L);
         MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id);
         if (ObjectUtil.isEmpty(orderInfo)) {
             throw new FebsException("订单异常");
@@ -748,7 +739,7 @@
         String payOrderNo = MallUtils.getOrderNum("PAY");
         orderInfo.setPayOrderNo(payOrderNo);
         orderInfo.setPayMethod("余额支付");
-        orderInfo.setPayResult("成功");
+        orderInfo.setPayResult(1);
         orderInfo.setStatus(MallOrderInfo.STATUS_PAY);
         mallOrderInfoMapper.updateById(orderInfo);
         /**
@@ -763,6 +754,7 @@
                 BigDecimal.ZERO,
                 payOrderNo,
                 id);
+        dappFundFlowDao.insert(donateScoreFlow);
 
         /**
          * 支付成功,消费后成有效账户后可分享(有效用户可推广)
@@ -807,6 +799,10 @@
         Long memberId = LoginUserUtil.getAppUser().getId();
         BigDecimal cnt = salePackageDto.getCnt();
         DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+        BigDecimal saleDoing = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId, FundFlowEnum.SALE_PACKAGE.getCode(), DappFundFlowEntity.WITHDRAW_STATUS_ING);
+        if(BigDecimal.ZERO.compareTo(saleDoing) < 0){
+            throw new FebsException("正在进行中,请稍后再试");
+        }
         BigDecimal balance = dappMemberEntity.getBalance();
         if(BigDecimal.ZERO.compareTo(cnt) >= 0){
             throw new FebsException("资产不足");
@@ -814,55 +810,71 @@
         if(cnt.compareTo(balance) > 0){
             throw new FebsException("资产不足");
         }
-        DataDictionaryCustom packageScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                DataDictionaryEnum.PACKAGE_SCORE_PRICE.getType(),
-                DataDictionaryEnum.PACKAGE_SCORE_PRICE.getCode()
-        );
-        BigDecimal packageScorePrice = new BigDecimal(ObjectUtil.isEmpty(packageScorePriceDic) ? "0" : packageScorePriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
-        //卖出资产乘以价格获取到预期获取的总额
-        BigDecimal totalAmount = cnt.multiply(packageScorePrice).setScale(2, BigDecimal.ROUND_DOWN);
-        //资产包卖出划入底池比例
-        DataDictionaryCustom packageToPoorPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getType(),
-                DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getCode()
-        );
-        BigDecimal packageToPoorPercent = new BigDecimal(ObjectUtil.isEmpty(packageToPoorPercentDic) ? "0.1" : packageToPoorPercentDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
-        //划入底池的金额
-        BigDecimal poorAmount = totalAmount.multiply(packageToPoorPercent).setScale(2, BigDecimal.ROUND_DOWN);
         //生成一条资金流水
         DappFundFlowEntity scoreFlow = new DappFundFlowEntity(
                 memberId,
-                totalAmount.subtract(poorAmount),
+                cnt,
                 FundFlowEnum.SALE_PACKAGE.getCode(),
                 DappFundFlowEntity.WITHDRAW_STATUS_ING,
-                poorAmount);
+                BigDecimal.ZERO);
         dappFundFlowDao.insert(scoreFlow);
 
+        BigDecimal subtract = balance.subtract(cnt);
+        dappMemberEntity.setBalance(subtract);
+        dappMemberDao.updateById(dappMemberEntity);
 
-        //卖出积分直接销毁。
-        DataDictionaryCustom packageTotalScoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getType(),
-                DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getCode()
-        );
-        BigDecimal packageTotalScore = new BigDecimal(ObjectUtil.isEmpty(packageTotalScoreDic) ? "21000" : packageTotalScoreDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
-        BigDecimal avaPackageTotalScore = packageTotalScore.subtract(cnt);
-        packageTotalScoreDic.setValue(avaPackageTotalScore.toString());
-        dataDictionaryCustomMapper.updateById(packageTotalScoreDic);
-        //更新USDT底池
-        DataDictionaryCustom packagePoorDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                DataDictionaryEnum.PACKAGE_POOR.getType(),
-                DataDictionaryEnum.PACKAGE_POOR.getCode()
-        );
-        BigDecimal packagePoor = new BigDecimal(ObjectUtil.isEmpty(packagePoorDic) ? "0" : packagePoorDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
-        BigDecimal avaPackagePoor = packagePoor.add(poorAmount);
-        packagePoorDic.setValue(avaPackagePoor.toString());
-        dataDictionaryCustomMapper.updateById(packagePoorDic);
-        //计算当前价格
-        BigDecimal divide = avaPackagePoor.divide(avaPackageTotalScore, 2, BigDecimal.ROUND_DOWN);
-        packageScorePriceDic.setValue(divide.toString());
-        dataDictionaryCustomMapper.updateById(packageScorePriceDic);
+        chainProducer.sendSalePackageMsg(scoreFlow.getId());
+        return new FebsResponse().success();
+    }
 
-        return null;
+    @Override
+    public FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto) {
+        Long memberId = mallSystemPayDto.getId();
+        DappMemberEntity mallMember = dappMemberDao.selectById(memberId);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+
+        BigDecimal bigDecimal = mallSystemPayDto.getAddBalance();
+
+        Integer type = mallSystemPayDto.getType();
+        if (type == 1) {
+            dappWalletCoinDao.addTotalAndaddAvailableById(memberId,bigDecimal);
+            //插入流水
+            DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+                    memberId,
+                    bigDecimal,
+                    FundFlowEnum.SYSTEM_AMOUNT.getCode(),
+                    DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                    BigDecimal.ZERO);
+            dappFundFlowDao.insert(amountFlow);
+        } else if (type == 2) {
+            dappWalletMineDao.addTotalAndaddAvailableById(bigDecimal,memberId);
+            //插入流水
+            DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+                    memberId,
+                    bigDecimal,
+                    FundFlowEnum.SYSTEM_SCORE.getCode(),
+                    DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                    BigDecimal.ZERO);
+            dappFundFlowDao.insert(amountFlow);
+        } else if (type == 3) {
+            BigDecimal balance = mallMember.getBalance();
+            balance = balance.add(bigDecimal);
+            mallMember.setBalance(balance);
+            dappMemberDao.updateById(mallMember);
+            //插入流水
+            DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+                    memberId,
+                    bigDecimal,
+                    FundFlowEnum.SYSTEM_PACKAGE.getCode(),
+                    DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                    BigDecimal.ZERO);
+            dappFundFlowDao.insert(amountFlow);
+        } else {
+            throw new FebsException("参数错误");
+        }
+        return new FebsResponse().success();
     }
 
     public static List<List<String>> partitionList(List<String> originalList, int partitionSize) {

--
Gitblit v1.9.1