From 6b090477bc4882144114a0fc2b94532e0e87aa0e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 30 May 2023 11:45:43 +0800
Subject: [PATCH] twoCoin项目修改

---
 src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java             |    2 
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   11 ++
 src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java          |    2 
 src/main/java/cc/mrbird/febs/dapp/vo/FundFlowInfoVo.java                  |   75 ++++++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java |    9 ++
 src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java                |    5 +
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   77 ++++++++++++++++++-
 7 files changed, 176 insertions(+), 5 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 c98fbc4..9fa69af 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -62,6 +62,15 @@
         return dappMemberService.getMemberInfo();
     }
 
+    @ApiOperation(value = "获取流水总的信息", notes = "获取流水总的信息")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = FundFlowInfoVo.class)
+    })
+    @PostMapping(value = "/fundFlowInfo")
+    public FebsResponse fundFlowInfo() {
+        return dappMemberService.getFundFlowInfo();
+    }
+
     @ApiOperation(value = "获取用户购买节点信息", notes = "获取用户购买节点信息")
     @ApiResponses({
             @ApiResponse(code = 200, message = "success", response = DappMemberNodeVo.class)
diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java
index 2e18710..f2c241c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java
@@ -8,6 +8,8 @@
  */
 @Getter
 public enum FundFlowEnum {
+    //权益额度
+    MEMBER_AMOUNT_PERK_TOTAL("MEMBER_AMOUNT_PERK_TOTAL", 33),
     //ANDAO互转
     ANDAO_MEMBER_TO_MENBER("ANDAO_MEMBER_TO_MENBER", 32),
     //AUSDT互转
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
index 5f5296d..76d5607 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
@@ -68,4 +68,6 @@
     String aKLine(AKLineDto aKLineDto);
 
     MyInviteInfoVo findInviteInfo();
+
+    FebsResponse getFundFlowInfo();
 }
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 bb23b90..b2aefe8 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
@@ -12,6 +12,7 @@
 import cc.mrbird.febs.dapp.dto.*;
 import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.enumerate.FundFlowEnum;
 import cc.mrbird.febs.dapp.enumerate.PoolEnum;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappMemberService;
@@ -195,9 +196,6 @@
         }
 
         return 3;
-    }
-
-    public static void main(String[] args) {
     }
 
     @Override
@@ -517,6 +515,9 @@
         DappMemberEntity member = LoginUserUtil.getAppUser();
         DappMemberInfoVo dappMemberInfoVo = dappMemberDao.selectByMemberId(member.getId());
 
+        BigDecimal amountPerkTotal = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(), FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(), 2);
+        dappMemberInfoVo.setAmountPerkTotal(amountPerkTotal);
+
         DataDictionaryCustom ausdPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 PoolEnum.TRANSFER_A_AUSD_PERCENT.getType(),
                 PoolEnum.TRANSFER_A_AUSD_PERCENT.getCode()
@@ -553,8 +554,15 @@
                 PoolEnum.COIN_A_PRICE.getType(),
                 PoolEnum.COIN_A_PRICE.getCode()
         );
-        dappMemberInfoVo.setCoinAPrice(ObjectUtil.isEmpty(coinAPriceDic) ? new BigDecimal("1") : new BigDecimal(coinAPriceDic.getValue()));
+        dappMemberInfoVo.setCoinAPrice((ObjectUtil.isEmpty(coinAPriceDic) ? new BigDecimal("1") : new BigDecimal(coinAPriceDic.getValue())).setScale(12,BigDecimal.ROUND_DOWN));
         return new FebsResponse().success().data(dappMemberInfoVo);
+    }
+
+    public static void main(String[] args) {
+
+        BigDecimal bigDecimal = new BigDecimal(1).setScale(10, BigDecimal.ROUND_DOWN);
+        System.out.println(bigDecimal);
+
     }
 
     @Override
@@ -632,6 +640,67 @@
         return myInviteInfoVo;
     }
 
+    @Override
+    public FebsResponse getFundFlowInfo() {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        Long memberId = member.getId();
+        FundFlowInfoVo fundFlowInfoVo = new FundFlowInfoVo();
+        BigDecimal myDonateCnt = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
+                FundFlowEnum.BUY_A_COIN.getCode(), 2);
+        fundFlowInfoVo.setMyDonateCnt(myDonateCnt.abs());
+        fundFlowInfoVo.setMyDonateCntNum(FundFlowEnum.BUY_A_COIN.getCode());
+
+        BigDecimal amountPerkTotal = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
+                FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(), 2);
+        fundFlowInfoVo.setAmountPerkTotal(amountPerkTotal.abs());
+        fundFlowInfoVo.setAmountPerkTotalNum(FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode());
+
+        DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberId);
+        fundFlowInfoVo.setAmountPerkAva(ObjectUtil.isEmpty(dappUsdtPerkEntity) ? BigDecimal.ZERO : dappUsdtPerkEntity.getAmount());
+
+        BigDecimal directAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DIRECT_A_PERCENT.getCode(), 2);
+        fundFlowInfoVo.setDirectAmount(directAmount);
+        fundFlowInfoVo.setDirectAmountNum(FundFlowEnum.DIRECT_A_PERCENT.getCode());
+
+        BigDecimal staticAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.POOL_MEMBER_A_CNT.getCode(), 2);
+        fundFlowInfoVo.setStaticAmount(staticAmount);
+        fundFlowInfoVo.setStaticAmountNum(FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+
+        BigDecimal nodeAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(), 2);
+        fundFlowInfoVo.setNodeAmount(nodeAmount);
+        fundFlowInfoVo.setNodeAmountNum(FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
+
+        BigDecimal levelEqualAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode(), 2);
+        fundFlowInfoVo.setLevelEqualAmount(levelEqualAmount);
+        fundFlowInfoVo.setLevelEqualAmountNum(FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
+
+        BigDecimal levelAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(), 2);
+        fundFlowInfoVo.setLevelAmount(levelAmount);
+        fundFlowInfoVo.setLevelAmountNum(FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode());
+
+        BigDecimal daoThreeAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_3_NODE_PERK.getCode(), 2);
+        fundFlowInfoVo.setDaoThreeAmount(daoThreeAmount);
+        fundFlowInfoVo.setDaoThreeAmountNum(FundFlowEnum.DAO_3_NODE_PERK.getCode());
+
+        BigDecimal daoFourAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_4_NODE_PERK.getCode(), 2);
+        fundFlowInfoVo.setDaoFourAmount(daoFourAmount);
+        fundFlowInfoVo.setDaoFourAmountNum(FundFlowEnum.DAO_4_NODE_PERK.getCode());
+
+        BigDecimal daoFiveAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_5_NODE_PERK.getCode(), 2);
+        fundFlowInfoVo.setDaoFiveAmount(daoFiveAmount);
+        fundFlowInfoVo.setDaoFiveAmountNum(FundFlowEnum.DAO_5_NODE_PERK.getCode());
+
+        return new FebsResponse().success().data(fundFlowInfoVo);
+    }
+
     /**
      * 获取用户的大小区业绩
      * @param memberId
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 936c672..6f82b1f 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
@@ -650,6 +650,17 @@
         BigDecimal amountPerk = dappUsdtPerkEntity.getAmount();
         amountPerk = amountPerk.add(amount.multiply(new BigDecimal(3)));
         dappUsdtPerkEntity.setAmount(amountPerk);
+        //生成一条金本位的三倍额度的资金流水记录
+        DappFundFlowEntity amountPerkFundFlow = new DappFundFlowEntity(
+                memberId,
+                amount.multiply(new BigDecimal(3)),
+                FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(),
+                1,
+                BigDecimal.ZERO,
+                null,
+                chergeRecordId);
+        dappFundFlowDao.insert(amountPerkFundFlow);
+
         //增加业绩
         BigDecimal achieveAmount = dappUsdtPerkEntity.getAchieveAmount();
         achieveAmount = achieveAmount.add(amount);
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java
index f71a129..db77192 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java
@@ -25,7 +25,10 @@
     @ApiModelProperty(value = "ASUD余额")
     private BigDecimal ausdAmount;
 
-    @ApiModelProperty(value = "补贴额度")
+    @ApiModelProperty(value = "权益额度")
+    private BigDecimal amountPerkTotal;
+
+    @ApiModelProperty(value = "剩余额度")
     private BigDecimal amount;
 
     @ApiModelProperty(value = "AUSD的价格")
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/FundFlowInfoVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/FundFlowInfoVo.java
new file mode 100644
index 0000000..1bdf45f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/FundFlowInfoVo.java
@@ -0,0 +1,75 @@
+package cc.mrbird.febs.dapp.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "FundFlowInfoVo", description = "流水信息")
+public class FundFlowInfoVo {
+    @ApiModelProperty(value = "我的贡献:(代表的是我入金了多少钱")
+    private BigDecimal myDonateCnt;
+    @ApiModelProperty(value = "我的贡献:(代表的是我入金了多少钱编码")
+    private Integer myDonateCntNum;
+
+    @ApiModelProperty(value = "待享有赠额:(代表的是放大3倍后的数据")
+    private BigDecimal amountPerkTotal;
+    @ApiModelProperty(value = "待享有赠额:(代表的是放大3倍后的数据编码")
+    private Integer amountPerkTotalNum;
+
+    @ApiModelProperty(value = "剩余额度:(代表减去已经分走的收益,剩下的额度")
+    private BigDecimal amountPerkAva;
+
+    @ApiModelProperty(value = "直接配比:(代表直推的收益")
+    private BigDecimal directAmount;
+    @ApiModelProperty(value = "直接配比:(代表直推的收益编码")
+    private Integer directAmountNum;
+
+    @ApiModelProperty(value = "静态贡献配比:(代表20%全网加权分红的")
+    private BigDecimal staticAmount;
+    @ApiModelProperty(value = "静态贡献配比:(代表20%全网加权分红的编码")
+    private Integer staticAmountNum;
+
+    @ApiModelProperty(value = "节点配比")
+    private BigDecimal nodeAmount;
+    @ApiModelProperty(value = "节点配比编码")
+    private Integer nodeAmountNum;
+
+    @ApiModelProperty(value = "平级配比")
+    private BigDecimal levelEqualAmount;
+    @ApiModelProperty(value = "平级配比编码")
+    private Integer levelEqualAmountNum;
+
+    @ApiModelProperty(value = "级别配比")
+    private BigDecimal levelAmount;
+    @ApiModelProperty(value = "级别配比编码")
+    private Integer levelAmountNum;
+
+    @ApiModelProperty(value = "DAO级别配比:DAO1")
+    private BigDecimal daoOneAmount;
+    @ApiModelProperty(value = "DAO级别配比:DAO1编码")
+    private Integer daoOneAmountNum;
+
+    @ApiModelProperty(value = "DAO级别配比:DAO2")
+    private BigDecimal daoTwoAmount;
+    @ApiModelProperty(value = "DAO级别配比:DAO2编码")
+    private Integer daoTwoAmountNum;
+
+    @ApiModelProperty(value = "DAO级别配比:DAO3")
+    private BigDecimal daoThreeAmount;
+    @ApiModelProperty(value = "DAO级别配比:DAO3编码")
+    private Integer daoThreeAmountNum;
+
+    @ApiModelProperty(value = "DAO级别配比:DAO4")
+    private BigDecimal daoFourAmount;
+    @ApiModelProperty(value = "DAO级别配比:DAO4编码")
+    private Integer daoFourAmountNum;
+
+    @ApiModelProperty(value = "DAO级别配比:DAO5")
+    private BigDecimal daoFiveAmount;
+    @ApiModelProperty(value = "DAO级别配比:DAO5编码")
+    private Integer daoFiveAmountNum;
+
+}

--
Gitblit v1.9.1