From 79dc767b0fd9bf06a4fea900a40571219ecddf64 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 13 Jun 2024 10:35:06 +0800 Subject: [PATCH] 星级矩阵 --- src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java | 2 + src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 8 ++- src/main/java/cc/mrbird/febs/dapp/vo/MemberNodeVo.java | 22 +++++++++++ src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java | 10 +++++ src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 32 ++++++++++++++++ src/main/java/cc/mrbird/febs/dapp/dto/MemberNodeDto.java | 13 ++++++ 6 files changed, 84 insertions(+), 3 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java index 0a6f69a..e1b6924 100644 --- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java +++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java @@ -10,6 +10,7 @@ import cc.mrbird.febs.dapp.service.DappMemberService; import cc.mrbird.febs.dapp.service.DappSystemService; import cc.mrbird.febs.dapp.service.DappWalletService; +import cc.mrbird.febs.dapp.vo.MemberNodeVo; import cc.mrbird.febs.dapp.vo.NodeTypeVo; import cc.mrbird.febs.dapp.vo.TeamListVo; import cc.mrbird.febs.dapp.vo.WalletInfoVo; @@ -72,6 +73,15 @@ return new FebsResponse().success().data(dappWalletService.buyStar(buyStarDto)); } + @ApiOperation(value = "星团矩阵", notes = "星团矩阵") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = MemberNodeVo.class) + }) + @PostMapping(value = "/memberNode") + public FebsResponse memberNode(@RequestBody MemberNodeDto memberNodeDto) { + return new FebsResponse().success().data(dappWalletService.memberNode(memberNodeDto)); + } + @ApiOperation(value = "转账", notes = "转账") @PostMapping(value = "/transfer") public FebsResponse transfer(@RequestBody TransferDto transferDto) { diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/MemberNodeDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/MemberNodeDto.java new file mode 100644 index 0000000..ead9346 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/dapp/dto/MemberNodeDto.java @@ -0,0 +1,13 @@ +package cc.mrbird.febs.dapp.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "MemberNodeDto", description = "计算价格接收参数类") +public class MemberNodeDto { + + @ApiModelProperty(value = "星团类型") + private Integer type; +} diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java index 322853f..c5f03ea 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java @@ -48,4 +48,6 @@ Long buyStar(BuyStarDto buyStarDto); FebsResponse nodeList(); + + FebsResponse memberNode(MemberNodeDto memberNodeDto); } diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java index bd152c4..f97d719 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java @@ -250,10 +250,12 @@ */ public void memberNodeNext(DbMemberNode dbMemberNodeRoot) { log.info("进入复投"); + DataDictionaryCustom inviteNumDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.INVITE_NUM.getType(), DataDictionaryEnum.INVITE_NUM.getCode() ); + int inviteNum = Integer.parseInt(inviteNumDic.getValue()); Long memberId = dbMemberNodeRoot.getMemberId(); @@ -268,6 +270,9 @@ if(inviteNum > dappMemberEntities.size()){ return; } + //任何星级的原来节点都要出局 + dbMemberNodeRoot.setWorkState(DbMemberNode.STATE_TWO); + dbMemberNodeMapper.updateById(dbMemberNodeRoot); //任何星级,10轮,收益本金都返回 Integer countFund = dbMemberNodeRoot.getCountFund(); //收益 @@ -275,9 +280,6 @@ if(10 == countFund){//任何星级,10轮,收益本金都返回 BigDecimal add = dbMemberNodeRoot.getAmount().add(perkAmount); perkSevenTeen(memberId,add,countFund); - - dbMemberNodeRoot.setWorkState(DbMemberNode.STATE_TWO); - dbMemberNodeMapper.updateById(dbMemberNodeRoot); return; }else{ 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 71bf14b..696d9db 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 @@ -13,6 +13,7 @@ import cc.mrbird.febs.dapp.enumerate.NodeType; import cc.mrbird.febs.dapp.mapper.*; import cc.mrbird.febs.dapp.service.DappWalletService; +import cc.mrbird.febs.dapp.vo.MemberNodeVo; import cc.mrbird.febs.dapp.vo.NodeTypeVo; import cc.mrbird.febs.dapp.vo.WalletInfoVo; import cc.mrbird.febs.rabbit.producer.ChainProducer; @@ -464,4 +465,35 @@ } return new FebsResponse().success().data(objects); } + + @Override + public FebsResponse memberNode(MemberNodeDto memberNodeDto) { + DappMemberEntity member = LoginUserUtil.getAppUser(); + Integer type = memberNodeDto.getType(); + + QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("member_id",member.getId()); + objectQueryWrapper.eq("type", type); + objectQueryWrapper.eq("work_state", DbMemberNode.STATE_ONE); + DbMemberNode dbMemberNode = dbMemberNodeMapper.selectOne(objectQueryWrapper); + if(ObjectUtil.isEmpty(dbMemberNode)){ + return null; + } + if(ObjectUtil.isNotEmpty(dbMemberNode.getLeftNode())){ + + } + MemberNodeVo memberNodeVo = new MemberNodeVo(); + memberNodeVo.setLeftNode(getInviteId(dbMemberNode.getLeftNode())); + memberNodeVo.setRightNode(getInviteId(dbMemberNode.getRightNode())); + + return null; + } + + public String getInviteId(Long memberNodeId){ + MemberNodeVo memberNodeVo = new MemberNodeVo(); + DbMemberNode dbMemberNode = dbMemberNodeMapper.selectById(memberNodeId); + Long memberId = dbMemberNode.getMemberId(); + DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId); + return dappMemberEntity.getInviteId(); + } } diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/MemberNodeVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/MemberNodeVo.java new file mode 100644 index 0000000..c581b90 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/dapp/vo/MemberNodeVo.java @@ -0,0 +1,22 @@ +package cc.mrbird.febs.dapp.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +@ApiModel(value = "MemberNodeVo", description = "星团") +public class MemberNodeVo { + + private String inviteId; + + private String leftNode; + + private String rightNode; + + @ApiModelProperty(value = "子节点") + private List<MemberNodeVo> children = new ArrayList<>(); +} -- Gitblit v1.9.1