From 74cae02c58eb057e6f9422038d5b3ed30b7c9a2f Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Sat, 11 May 2024 10:40:07 +0800
Subject: [PATCH] 香港新环境

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |  126 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 102 insertions(+), 24 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 d58536c..69926b9 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
@@ -5,20 +5,21 @@
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.*;
-import cc.mrbird.febs.dapp.chain.ChainEnum;
 import cc.mrbird.febs.dapp.chain.ChainService;
 import cc.mrbird.febs.dapp.chain.ContractChainService;
-import cc.mrbird.febs.dapp.contract.andao.AndaoContractMain;
 import cc.mrbird.febs.dapp.dto.*;
 import cc.mrbird.febs.dapp.entity.*;
-import cc.mrbird.febs.dapp.enumerate.*;
+import cc.mrbird.febs.dapp.enumerate.AccountFlowEnum;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.enumerate.FundFlowEnum;
+import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappMemberService;
+import cc.mrbird.febs.dapp.soccer.entity.SoccerLeagues;
 import cc.mrbird.febs.dapp.vo.*;
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cc.mrbird.febs.system.entity.User;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -29,13 +30,10 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
-import org.jsoup.helper.DataUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.web3j.utils.Strings;
 
 import java.math.BigDecimal;
-import java.math.BigInteger;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -72,6 +70,7 @@
     private final MallGoodsCategoryMapper mallGoodsCategoryMapper;
     private final PlatformBannerMapper platformBannerMapper;
     private final MallGoodsImagesMapper goodsImagesMapper;
+    private final MemberCoinWithdrawDao memberCoinWithdrawDao;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -164,6 +163,11 @@
             member = insertMember(connectDto.getAddress(), referenceID,nodeType);
         }
 
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+        if(2 == dappMemberEntity.getChangeAble()){
+            throw new FebsException("账号已冻结");
+        }
+
         String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
         redisUtils.hset(AppContants.REDIS_KEY_MEMBER_INFO, connectDto.getAddress(), member);
 
@@ -212,17 +216,29 @@
             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();
-//                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());
-//            }
-//        }
+        List<DappMemberEntity> records = dappMemberEntityIPage.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(DappMemberEntity memberEntity : records){
+                Long memberId = memberEntity.getId();
+
+//                List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberId(memberId);
+                List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberIdAndScore(memberId);
+                BigDecimal myShareAchieve = BigDecimal.ZERO;
+                if(CollUtil.isNotEmpty(mallAchieveRecords)){
+                    Date payTime = mallAchieveRecords.get(0).getPayTime();
+                    //下第一单之后的共享区全部业绩
+                    myShareAchieve = mallAchieveRecordMapper.selectAchieveTotalByCreateTime(payTime);
+                }
+                memberEntity.setMyShareAchieve(myShareAchieve);
+
+
+                BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByRefId(memberEntity.getInviteId());
+                memberEntity.setMyTeamAchieve(totalIncomeMember);
+
+                BigDecimal withdrawAmount = memberCoinWithdrawDao.selectByMemberIdAndStatus(memberId, MemberCoinWithdrawEntity.STATUS_YES);
+                memberEntity.setWithdrawAmount(withdrawAmount);
+            }
+        }
         return dappMemberEntityIPage;
     }
 
@@ -532,6 +548,16 @@
         dappMemberInfoVo.setWaitPayCnt(waitPayCnt);
         dappMemberInfoVo.setPayCnt(payCnt);
         dappMemberInfoVo.setCancelCnt(cancelCnt);
+
+//        List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberId(member.getId());
+        List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberIdAndScore(member.getId());
+        BigDecimal myShareAchieve = BigDecimal.ZERO;
+        if(CollUtil.isNotEmpty(mallAchieveRecords)){
+            Date payTime = mallAchieveRecords.get(0).getPayTime();
+            //下第一单之后的共享区全部业绩
+            myShareAchieve = mallAchieveRecordMapper.selectAchieveTotalByCreateTime(payTime);
+        }
+        dappMemberInfoVo.setMyShareAchieve(myShareAchieve);
         return new FebsResponse().success().data(dappMemberInfoVo);
     }
 
@@ -572,7 +598,12 @@
 
     @Override
     public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() {
-        return dataDictionaryCustomMapper.getAgentLevelOption();
+        List<AdminAgentLevelOptionTreeVo> agentLevelOption = dataDictionaryCustomMapper.getAgentLevelOption();
+        AdminAgentLevelOptionTreeVo adminAgentLevelOptionTreeVo = new AdminAgentLevelOptionTreeVo();
+        adminAgentLevelOptionTreeVo.setId("MEMBER");
+        adminAgentLevelOptionTreeVo.setName("MEMBER");
+        agentLevelOption.add(adminAgentLevelOptionTreeVo);
+        return agentLevelOption;
     }
 
     @Override
@@ -632,11 +663,17 @@
     @Transactional
     public Long createOrder(AddOrderDto addOrderDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
+
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+        if(2 == dappMemberEntity.getChangeAble()){
+            throw new FebsException("账号已冻结");
+        }
 //        DappMemberEntity member = dappMemberDao.selectById(1L);
         /**
          * 1、商品是否上架
          * 2、用户余额是否足够
          */
+
         MallGoods mallGoods = mallGoodsMapper.selectById(addOrderDto.getGoodsId());
         if(ObjectUtil.isEmpty(mallGoods)){
             throw new FebsException("商品不存在");
@@ -753,7 +790,7 @@
         }
         BigDecimal totalAmount = orderInfo.getAmount();
         if(achieveAva.compareTo(totalAmount) < 0){
-            throw new FebsException("用户最多购买"+achieveAva.setScale(2,BigDecimal.ROUND_DOWN)+"USDT");
+            throw new FebsException("用户最多购买"+achieveAva.setScale(2,BigDecimal.ROUND_DOWN));
         }
 
         DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(member.getId());
@@ -794,8 +831,8 @@
         /**
          * todo 发送一条订单出的消息
          */
-        chainProducer.sendSpeedPayOrderMsg(id);
-        chainProducer.sendAutoLevelUpTeamMsg(member.getId());
+//        chainProducer.sendSpeedPayOrderMsg(id);
+//        chainProducer.sendAutoLevelUpTeamMsg(member.getId());
     }
 
     @Override
@@ -826,10 +863,15 @@
     public FebsResponse salePackage(SalePackageDto salePackageDto) {
         Long memberId = LoginUserUtil.getAppUser().getId();
         BigDecimal cnt = salePackageDto.getCnt();
+
         if(ObjectUtil.isEmpty(salePackageDto.getCnt())){
             throw new FebsException("请输入正确的数量");
         }
         DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+
+        if(2 == dappMemberEntity.getChangeAble()){
+            throw new FebsException("账号已冻结");
+        }
         BigDecimal saleDoing = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId, FundFlowEnum.SALE_PACKAGE.getCode(), DappFundFlowEntity.WITHDRAW_STATUS_ING);
         if(BigDecimal.ZERO.compareTo(saleDoing) < 0){
             throw new FebsException("正在进行中,请稍后再试");
@@ -854,7 +896,7 @@
         dappMemberEntity.setBalance(subtract);
         dappMemberDao.updateById(dappMemberEntity);
 
-        chainProducer.sendSalePackageMsg(scoreFlow.getId());
+//        chainProducer.sendSalePackageMsg(scoreFlow.getId());
         return new FebsResponse().success();
     }
 
@@ -1278,7 +1320,43 @@
 
     @Override
     public List<AKLineLimitVo> packageKline() {
-        return dappAKlineMapper.selectListByTypeAndLimit(2, 30);
+//        return dappAKlineMapper.selectListByTypeAndLimit(2, 30);
+        List<AKLineLimitVo> akLineLimitVos = dappAKlineMapper.selectListByTypeAndLimitDesc(1, 60);
+        List<AKLineLimitVo> sortedList = akLineLimitVos.stream()
+                .sorted((k1, k2) -> k1.getCreateTime().compareTo(k2.getCreateTime()))
+                .collect(Collectors.toList());
+        return sortedList;
+    }
+
+    @Override
+    public FebsResponse changeAbleYes(Long id) {
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(id);
+        if(ObjectUtil.isEmpty(dappMemberEntity)) {
+            return new FebsResponse().fail().message("会员信息不存在");
+        }
+        dappMemberEntity.setChangeAble(2);
+        dappMemberDao.updateById(dappMemberEntity);
+        return new FebsResponse().success();
+    }
+    @Override
+    public FebsResponse changeAbleNo(Long id) {
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(id);
+        if(ObjectUtil.isEmpty(dappMemberEntity)) {
+            return new FebsResponse().fail().message("会员信息不存在");
+        }
+        dappMemberEntity.setChangeAble(1);
+        dappMemberDao.updateById(dappMemberEntity);
+
+        redisUtils.hdel(AppContants.REDIS_KEY_SIGN, dappMemberEntity.getAddress());
+        redisUtils.hdel(AppContants.REDIS_KEY_MEMBER_INFO, dappMemberEntity.getAddress());
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public IPage<SoccerLeagues> selectSoccerLeaguesInPage(SoccerLeagues soccerLeagues, QueryRequest request) {
+        Page<SoccerLeagues> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<SoccerLeagues> soccerLeaguesIPage = dappMemberDao.selectSoccerLeaguesInPage(soccerLeagues, page);
+        return soccerLeaguesIPage;
     }
 
     public static List<List<String>> partitionList(List<String> originalList, int partitionSize) {

--
Gitblit v1.9.1