KKSU
2024-06-13 79dc767b0fd9bf06a4fea900a40571219ecddf64
星级矩阵
4 files modified
2 files added
87 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/MemberNodeDto.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/vo/MemberNodeVo.java 22 ●●●●● patch | view | raw | blame | history
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) {
src/main/java/cc/mrbird/febs/dapp/dto/MemberNodeDto.java
New file
@@ -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;
}
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -48,4 +48,6 @@
    Long buyStar(BuyStarDto buyStarDto);
    FebsResponse nodeList();
    FebsResponse memberNode(MemberNodeDto memberNodeDto);
}
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{
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();
    }
}
src/main/java/cc/mrbird/febs/dapp/vo/MemberNodeVo.java
New file
@@ -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<>();
}