From 9b27517fe8051d1766bae57eb3c5adbbc40dbbd6 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 19 Feb 2024 09:37:52 +0800
Subject: [PATCH] 新增节点,需要添加数据库的信息

---
 src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html  |    4 +-
 src/main/java/cc/mrbird/febs/mall/entity/MallMember.java                       |    2 
 src/main/java/cc/mrbird/febs/common/utils/AppContants.java                     |    3 +
 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java         |    3 +
 src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java    |   46 ++++++++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java      |    8 ++++
 src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java       |    5 +-
 src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java           |    6 +++
 src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java                 |    4 ++
 src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html          |   20 +++++++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java   |    3 +
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html |    2 
 12 files changed, 97 insertions(+), 9 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index 4a538bc..ffdec99 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -5,6 +5,9 @@
 
 @Getter
 public enum DataDictionaryEnum {
+    //销毁数量 按照比例销毁或者返利给节点
+    FCM_DESTORY_TOTAL_PERCENT("FCM_DESTORY_TOTAL_PERCENT","FCM_DESTORY_TOTAL_PERCENT"),
+    FCM_DESTORY_POINT_PERCENT("FCM_DESTORY_POINT_PERCENT","FCM_DESTORY_POINT_PERCENT"),
     //直推补贴
     BASIC_PERK_DIRECT_FROZEN("BASIC_PERK_DIRECT_FROZEN","BASIC_PERK_DIRECT_FROZEN"),
     BASIC_PERK_DIRECT("BASIC_PERK_DIRECT","BASIC_PERK_DIRECT"),
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
index 83c4a7d..aaf2bd2 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
@@ -11,6 +11,7 @@
 @Getter
 public enum MoneyFlowTypeNewEnum {
 
+    PERK_POINT(28,"节点收益"),
     PERK_CYCLE(27,"收益"),
     GSD_GFA(26,"GFD兑换GFA"),
     GSD_NFT(25,"GFD兑换卡牌"),
@@ -20,7 +21,7 @@
     TEAM_PERK_DIRECT_DONE(21,"团队奖励"),
 
     TEAM_PERK_EQUALS(20,"即将获得平级奖励"),
-    TEAM_PERK_DIRECT(19,"即将获得团队奖励"),
+    TEAM_PERK_DIRECT(19,"团队贡献值"),
 
     BASIC_PERK_DIRECT_DONE(18,"直推奖励"),
     BASIC_PERK_DIRECT_WRONG(17,"账户冻结,遗憾错失奖励"),
@@ -34,7 +35,7 @@
     NFT_IN(9,"GFA动态兑换"),
     FCM_OUT_FEE(8,"动态兑换手续费"),
     FCM_OUT(7,"GFA动态兑换"),
-    TOKEN_BUY_FROZEN(6,"预约冻结宝石"),
+    TOKEN_BUY_FROZEN(6,"消耗宝石"),
     TOKEN_INSIDE_IN(5,"宝石转入"),
     TOKEN_INSIDE_OUT(4,"宝石转出"),
     FCM_INSIDE_IN(3,"GFA代币转入"),
diff --git a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
index 114c610..de1717f 100644
--- a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
@@ -45,6 +45,9 @@
     public static final BigDecimal FCM_BASIC = new BigDecimal(10000);
     public static final BigDecimal FCM_BASIC_ADD_PRICE = new BigDecimal("0.1");
 
+
+    public static final BigDecimal BASIC_PERCENT = new BigDecimal("0.01");
+
     /**
      * 系统推荐人id
      */
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java
index 2d428d5..d2fa39c 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java
@@ -239,6 +239,14 @@
                 DataDictionaryEnum.NFT_MIN.getType(),
                 DataDictionaryEnum.NFT_MIN.getCode(),
                 gfaBasicSetDto.getNftMin());
+        commonService.updateDataDic(
+                DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getType(),
+                DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getCode(),
+                gfaBasicSetDto.getFcmDesToryCntPointPercent());
+        commonService.updateDataDic(
+                DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getType(),
+                DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getCode(),
+                gfaBasicSetDto.getFcmDesToryCntPercent());
         return new FebsResponse().success();
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java
index 9c843dc..9754d75 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java
@@ -190,6 +190,12 @@
         gfaBasicSetDto.setMinuteCnt(dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 DataDictionaryEnum.INSURE_END_MINUTE.getType(),
                 DataDictionaryEnum.INSURE_END_MINUTE.getCode()).getValue());
+        gfaBasicSetDto.setFcmDesToryCntPercent(dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getType(),
+                DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getCode()).getValue());
+        gfaBasicSetDto.setFcmDesToryCntPointPercent(dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getType(),
+                DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getCode()).getValue());
         model.addAttribute("gfaBasicSet", gfaBasicSetDto);
         return FebsUtil.view("modules/news/gfaBasicSet");
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java
index cd02bb5..3b21977 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminGfaBasicSetDto.java
@@ -26,4 +26,8 @@
 
     private String minuteCnt;
 
+    private String fcmDesToryCntPercent;
+
+    private String fcmDesToryCntPointPercent;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index f73d8be..1db5513 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -148,7 +148,7 @@
     private Integer creater;
 
     /**
-     * 合伙人 1-是 2-否
+     * 合伙人 1-是 2-否  节点
      */
     private Integer partner;
     /**
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 16cafbd..be739e4 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -109,6 +109,7 @@
         mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
         mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.getCode());
         mallMember.setIsFrozen(ProductEnum.MEMBER_UNFROZEN.getValue());
+        mallMember.setPartner(2);
 //        mallMember.setSex("男");
 //        mallMember.setBindPhone(registerDto.getAccount());
 
@@ -282,7 +283,7 @@
         Integer insureMinute = Integer.parseInt(ObjectUtil.isEmpty(insureMinuteDic) ? "60" : insureMinuteDic.getValue());
         mallMemberVo.setMinuteCnt(insureMinute);
 
-        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.AGENT_LEVEL, mallMember.getLevel());
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(mallMember.getLevel(), mallMember.getLevel());
         if (dic != null) {
             mallMemberVo.setLevelName(dic.getDescription());
         }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
index 0171700..392321b 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -64,6 +64,8 @@
     private final MallProductBuyMapper mallProductBuyMapper;
     private final MallProductSellMapper mallProductSellMapper;
     private final MallProductSellRecordMapper mallProductSellRecordMapper;
+    private final MallMemberAmountMapper mallMemberAmountMapper;
+    private final IMallMoneyFlowService iMallMoneyFlowService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -1113,8 +1115,50 @@
 
     @Override
     public void fcmNFTExchangeMsg(String cnt) {
+        /**
+         * 销毁数量 按照比例销毁或者返利给节点
+         */
+        BigDecimal destoryCntTotal = new BigDecimal(cnt);
+
+        DataDictionaryCustom totalPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getType(),
+                DataDictionaryEnum.FCM_DESTORY_TOTAL_PERCENT.getCode()
+        );
+        BigDecimal totalPercent = new BigDecimal(totalPercentDic.getValue()).multiply(AppContants.BASIC_PERCENT);
         //销毁数量
-        BigDecimal destoryCnt = new BigDecimal(cnt);
+        BigDecimal destoryCnt = destoryCntTotal.multiply(totalPercent).setScale(2,BigDecimal.ROUND_DOWN);
+
+        DataDictionaryCustom pointPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getType(),
+                DataDictionaryEnum.FCM_DESTORY_POINT_PERCENT.getCode()
+        );
+        BigDecimal pointPercent = new BigDecimal(pointPercentDic.getValue()).multiply(AppContants.BASIC_PERCENT);
+
+        //节点评分总数量
+        BigDecimal pointCnt = destoryCntTotal.multiply(pointPercent).setScale(2,BigDecimal.ROUND_DOWN);
+        //给每个节点平分pointCnt。
+        QueryWrapper<MallMember> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("partner",1);
+        List<MallMember> mallMembers = mallMemberMapper.selectList(queryWrapper);
+        if(CollUtil.isNotEmpty(mallMembers)){
+            BigDecimal dividePointCnt = pointCnt.divide(new BigDecimal(mallMembers.size()), 2, BigDecimal.ROUND_DOWN);
+            for(MallMember mallMember : mallMembers){
+                Long memberId = mallMember.getId();
+                MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId);
+                mallMemberAmount.setFcmCntAva(mallMemberAmount.getFcmCntAva().add(dividePointCnt));
+                mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount);
+                String orderNo = MallUtils.getOrderNum("JD");
+                iMallMoneyFlowService.addMoneyFlow(
+                        memberId,
+                        dividePointCnt,
+                        MoneyFlowTypeNewEnum.PERK_POINT.getValue(),
+                        orderNo,
+                        mallMember.getId(),
+                        FlowTypeNewEnum.FCM_COIN.getValue(),
+                        MoneyFlowTypeNewEnum.PERK_POINT.getDescrition());
+            }
+        }
+
         //更新总销毁数量
         DataDictionaryCustom fcmDestoryTotalDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 DataDictionaryEnum.FCM_DESTORY_TOTAL.getType(),
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 54ea3be..be228b3 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -329,7 +329,7 @@
                     // {field: 'storeMaster', title: '线下服务中心', templet:'#switchStoreMaster', minWidth: 120,align:'left',hide:toolbarMallmember},
                     // {field: 'director', title: '代理商', templet:'#switchDirector', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                     // {field: 'creater', title: '联创', templet:'#switchCreate', minWidth: 120,align:'left' ,hide:toolbarMallmember},
-                    // {field: 'partner', title: '合伙人', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
+                    {field: 'partner', title: '节点', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                     // {field: 'insideWith', title: '是否内转', templet:'#switchInsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                     // {field: 'outsideWith', title: '是否提现', templet:'#switchOutsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                     {field: 'isFrozen', title: '是否冻结', templet:'#switchFrozenWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
index 92dafb1..b53d2d7 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -23,7 +23,7 @@
                                                 <option value="3">代币转入</option>
                                                 <option value="4">宝石转出</option>
                                                 <option value="5">宝石转入</option>
-                                                <option value="6">预约冻结宝石</option>
+                                                <option value="6">消耗宝石</option>
                                                 <option value="7">GFA动态兑换</option>
                                                 <option value="8">动态兑换手续费</option>
                                                 <option value="9">GFA动态兑换</option>
@@ -89,7 +89,7 @@
     {{# } else if(d.type === 5) { }}
     <span class="layui-badge febs-bg-orange">宝石转入</span>
     {{# } else if(d.type === 6) { }}
-    <span class="layui-badge febs-bg-orange">预约冻结宝石</span>
+    <span class="layui-badge febs-bg-orange">消耗宝石</span>
     {{# } else if(d.type === 7) { }}
     <span class="layui-badge febs-bg-orange">GFA动态兑换</span>
     {{# } else if(d.type === 8) { }}
diff --git a/src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html b/src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html
index e091315..9c36452 100644
--- a/src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html
+++ b/src/main/resources/templates/febs/views/modules/news/gfaBasicSet.html
@@ -41,7 +41,7 @@
                             <label class="layui-form-label febs-form-item-require">解除冻结:</label>
                             <div class="layui-input-block">
                                 <input type="text" name="frozenFcmCnt" class="layui-input" readonly>
-                                <div class="layui-form-mid layui-word-aux">账号解除冻结,需要扣除GFA代币数量</div>
+                                <div class="layui-form-mid layui-word-aux">账号解除冻结,需要扣除宝石</div>
                             </div>
                         </div>
                     </div>
@@ -58,6 +58,22 @@
                             <div class="layui-input-block">
                                 <input type="text" name="fcmDesToryTotal" class="layui-input" readonly>
                                 <div class="layui-form-mid layui-word-aux">GFA销毁总数</div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <div class="layui-col-lg6">
+                            <label class="layui-form-label febs-form-item-require">销毁(%):</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="fcmDesToryCntPercent" class="layui-input" readonly>
+                                <div class="layui-form-mid layui-word-aux">销毁所占百分比</div>
+                            </div>
+                        </div>
+                        <div class="layui-col-lg6">
+                            <label class="layui-form-label febs-form-item-require">节点平分(%):</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="fcmDesToryCntPointPercent" class="layui-input" readonly>
+                                <div class="layui-form-mid layui-word-aux">节点平分所占百分比</div>
                             </div>
                         </div>
                     </div>
@@ -141,6 +157,8 @@
         form.render();
         function initGfaBasicSetValue() {
             form.val("gfa-Basic-set-form", {
+                "fcmDesToryCntPercent": gfaBasicSet.fcmDesToryCntPercent,
+                "fcmDesToryCntPointPercent": gfaBasicSet.fcmDesToryCntPointPercent,
                 "startTime": gfaBasicSet.startTime,
                 "outFcmFee": gfaBasicSet.outFcmFee,
                 "fcmPrice": gfaBasicSet.fcmPrice,

--
Gitblit v1.9.1