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