From 197dc3fac63b0277a6c1703dac5f827e79d8ef58 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 13 Jun 2024 11:56:14 +0800 Subject: [PATCH] 星级矩阵 --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) 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 c03d789..db52806 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 @@ -411,8 +411,15 @@ /** * 买入先验证当前星团是否已经买入 + * 如果不是购买一星,则验证前一新团是否购买 */ + if(ObjectUtil.isEmpty(buyStarDto.getNodeType())){ + throw new FebsException("选择购买的星团"); + } Integer nodeType = buyStarDto.getNodeType(); + if(NodeType.NODE_13.getNodeType() < nodeType || nodeType < NodeType.NODE_1.getNodeType()){ + throw new FebsException("选择购买的星团"); + } QueryWrapper<DbMemberNode> nodeQueryWrapper = new QueryWrapper<>(); nodeQueryWrapper.eq("member_id",member.getId()); nodeQueryWrapper.eq("type", nodeType); @@ -421,6 +428,17 @@ if(CollUtil.isNotEmpty(dbMemberNodes)){ throw new FebsException("已购买"); } + if(NodeType.NODE_1.getNodeType() != buyStarDto.getNodeType()){ + Integer nextNodeType = nodeType - 1; + QueryWrapper<DbMemberNode> nextWrapper = new QueryWrapper<>(); + nextWrapper.eq("member_id",member.getId()); + nextWrapper.eq("type", nextNodeType); + nextWrapper.eq("work_state", DbMemberNode.STATE_ONE); + List<DbMemberNode> nextNode = dbMemberNodeMapper.selectList(nextWrapper); + if(CollUtil.isNotEmpty(nextNode)){ + throw new FebsException("请先购买上一星团"); + } + } if (ObjectUtil.isEmpty(buyStarDto.getId())) {//第一次 DappFundFlowEntity fundFlow = new DappFundFlowEntity( -- Gitblit v1.9.1