From cbbc9d5e7df63bb1ea10bdd80e9a08660b82cc88 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 12 Aug 2023 16:01:10 +0800
Subject: [PATCH] 后台修改

---
 src/main/resources/templates/febs/views/dapp/member.html                       |   28 +-
 src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java                     |   44 +++
 src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java          |   11 
 src/main/resources/templates/febs/views/dapp/member-charge.html                |    1 
 src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java      |   81 ++++++
 src/main/resources/templates/febs/views/dapp/money-change-flow.html            |   88 +++---
 src/main/resources/templates/febs/views/dapp/member-wallet-mine.html           |    5 
 src/main/resources/templates/febs/views/dapp/member-withdraw.html              |    1 
 src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java |  104 ++++++++
 src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java     |   19 +
 src/main/resources/templates/febs/views/dapp/member-wallet-coin.html           |    1 
 src/main/resources/templates/febs/views/goods/basicPerkSetting.html            |  156 +++++++++++++
 src/main/resources/templates/febs/views/goods/profitSetting.html               |  126 ++++++++++
 13 files changed, 605 insertions(+), 60 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java b/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
index 9f5495a..0428051 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
@@ -7,10 +7,12 @@
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.utils.OssUtils;
 import cc.mrbird.febs.dapp.dto.AddMallGoodsDto;
+import cc.mrbird.febs.dapp.dto.HlmBasicPerkDto;
 import cc.mrbird.febs.dapp.dto.MallGoodsUpdateDto;
 import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
 import cc.mrbird.febs.dapp.entity.MallGoods;
 import cc.mrbird.febs.dapp.entity.MallOrderInfo;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
 import cc.mrbird.febs.dapp.service.IAdminMallGoodsService;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
@@ -174,6 +176,23 @@
         return new FebsResponse().success().data(dataTable);
     }
 
+    @GetMapping(value = "/findDicByType/{type}")
+    public FebsResponse findDicByType(@PathVariable("type") String type) {
+        return new FebsResponse().success().data(adminMallGoodsService.findDataDicByType(type));
+    }
+
+    @PostMapping(value = "/bonusSystemSetting")
+    public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) {
+        adminMallGoodsService.bonusSystemSetting(map);
+        return new FebsResponse().success().message("设置成功");
+    }
+
+    @PostMapping(value = "/hlmBasicPerk")
+    public FebsResponse hlmBasicPerk(HlmBasicPerkDto hlmBasicPerkDto) {
+        adminMallGoodsService.hlmBasicPerk(hlmBasicPerkDto);
+        return new FebsResponse().success();
+    }
+
 
 
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
index adf40b8..c67f733 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
@@ -3,8 +3,13 @@
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsConstant;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.dapp.dto.HlmBasicPerkDto;
+import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
 import cc.mrbird.febs.dapp.entity.MallGoods;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.dapp.service.IAdminMallGoodsService;
+import cn.hutool.core.util.ObjectUtil;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
@@ -19,6 +24,7 @@
 public class ViewAdminMallGoodsController extends BaseController {
 
     private final IAdminMallGoodsService mallGoodsService;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     /**
      * 商品列表
@@ -77,4 +83,102 @@
         idOrderMoneyFlow = id;
         return FebsUtil.view("goods/orderMoneyFlow");
     }
+
+    @GetMapping("profitSetting")
+    @RequiresPermissions("profitSetting:view")
+    public String profitSetting() {
+        return FebsUtil.view("goods/profitSetting");
+    }
+
+    @GetMapping("basicPerk")
+    @RequiresPermissions("basicPerk:view")
+    public String basicPerkSetting(Model model) {
+        HlmBasicPerkDto hlmBasicPerkDto = new HlmBasicPerkDto();
+        DataDictionaryCustom donateScorePercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.DONATE_SCORE_PERCENT.getType(),
+                DataDictionaryEnum.DONATE_SCORE_PERCENT.getCode());
+        if (donateScorePercentDic != null) {
+            String donateScorePercent = ObjectUtil.isEmpty(donateScorePercentDic.getValue()) ? "0" : donateScorePercentDic.getValue();
+            hlmBasicPerkDto.setDonateScorePercent(donateScorePercent);
+        }
+        DataDictionaryCustom staticReleaseDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.STATIC_RELEASE.getType(),
+                DataDictionaryEnum.STATIC_RELEASE.getCode());
+        if (staticReleaseDic != null) {
+            String staticRelease = ObjectUtil.isEmpty(staticReleaseDic.getValue()) ? "0" : staticReleaseDic.getValue();
+            hlmBasicPerkDto.setStaticRelease(staticRelease);
+        }
+        DataDictionaryCustom directReleaseDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.DIRECT_RELEASE.getType(),
+                DataDictionaryEnum.DIRECT_RELEASE.getCode());
+        if (directReleaseDic != null) {
+            String directRelease = ObjectUtil.isEmpty(directReleaseDic.getValue()) ? "0" : directReleaseDic.getValue();
+            hlmBasicPerkDto.setDirectRelease(directRelease);
+        }
+        DataDictionaryCustom maxReleaseDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MAX_RELEASE.getType(),
+                DataDictionaryEnum.MAX_RELEASE.getCode());
+        if (maxReleaseDic != null) {
+            String maxRelease = ObjectUtil.isEmpty(maxReleaseDic.getValue()) ? "0" : maxReleaseDic.getValue();
+            hlmBasicPerkDto.setMaxRelease(maxRelease);
+        }
+        DataDictionaryCustom usdtOrderReleaseDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.USDT_ORDER_PERCENT.getType(),
+                DataDictionaryEnum.USDT_ORDER_PERCENT.getCode());
+        if (usdtOrderReleaseDic != null) {
+            String usdtOrderRelease = ObjectUtil.isEmpty(usdtOrderReleaseDic.getValue()) ? "0" : usdtOrderReleaseDic.getValue();
+            hlmBasicPerkDto.setUsdtOrderRelease(usdtOrderRelease);
+        }
+        DataDictionaryCustom teamPerkLevelEqualsDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.TEAM_PERK_LEVEL_EQUALS.getType(),
+                DataDictionaryEnum.TEAM_PERK_LEVEL_EQUALS.getCode());
+        if (teamPerkLevelEqualsDic != null) {
+            String teamPerkLevelEquals = ObjectUtil.isEmpty(teamPerkLevelEqualsDic.getValue()) ? "0" : teamPerkLevelEqualsDic.getValue();
+            hlmBasicPerkDto.setTeamPerkLevelEquals(teamPerkLevelEquals);
+        }
+        DataDictionaryCustom memberBuyMaxAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getType(),
+                DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getCode());
+        if (memberBuyMaxAmountDic != null) {
+            String memberBuyMaxAmount = ObjectUtil.isEmpty(memberBuyMaxAmountDic.getValue()) ? "0" : memberBuyMaxAmountDic.getValue();
+            hlmBasicPerkDto.setMemberBuyMaxAmount(memberBuyMaxAmount);
+        }
+        DataDictionaryCustom packagePoorDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.PACKAGE_POOR.getType(),
+                DataDictionaryEnum.PACKAGE_POOR.getCode());
+        if (packagePoorDic != null) {
+            String packagePoor = ObjectUtil.isEmpty(packagePoorDic.getValue()) ? "0" : packagePoorDic.getValue();
+            hlmBasicPerkDto.setPackagePoor(packagePoor);
+        }
+        DataDictionaryCustom packageTotalScoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getType(),
+                DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getCode());
+        if (packageTotalScoreDic != null) {
+            String packageTotalScore = ObjectUtil.isEmpty(packageTotalScoreDic.getValue()) ? "0" : packageTotalScoreDic.getValue();
+            hlmBasicPerkDto.setPackageTotalScore(packageTotalScore);
+        }
+        DataDictionaryCustom packageScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.PACKAGE_SCORE_PRICE.getType(),
+                DataDictionaryEnum.PACKAGE_SCORE_PRICE.getCode());
+        if (packageScorePriceDic != null) {
+            String packageScorePrice = ObjectUtil.isEmpty(packageScorePriceDic.getValue()) ? "0" : packageScorePriceDic.getValue();
+            hlmBasicPerkDto.setPackageScorePrice(packageScorePrice);
+        }
+        DataDictionaryCustom packageSaleToPoorPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getType(),
+                DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getCode());
+        if (packageSaleToPoorPercentDic != null) {
+            String packageSaleToPoorPercent = ObjectUtil.isEmpty(packageSaleToPoorPercentDic.getValue()) ? "0" : packageSaleToPoorPercentDic.getValue();
+            hlmBasicPerkDto.setPackageSaleToPoorPercent(packageSaleToPoorPercent);
+        }
+        DataDictionaryCustom withDrawFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.WITHDRAW_FEE.getType(),
+                DataDictionaryEnum.WITHDRAW_FEE.getCode());
+        if (withDrawFeeDic != null) {
+            String withDrawFee = ObjectUtil.isEmpty(withDrawFeeDic.getValue()) ? "0" : withDrawFeeDic.getValue();
+            hlmBasicPerkDto.setWithDrawFee(withDrawFee);
+        }
+        model.addAttribute("hlmBasicPerk", hlmBasicPerkDto);
+        return FebsUtil.view("goods/basicPerkSetting");
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java
new file mode 100644
index 0000000..35f50bf
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java
@@ -0,0 +1,44 @@
+package cc.mrbird.febs.dapp.dto;
+
+
+import lombok.Data;
+
+@Data
+public class HlmBasicPerkDto {
+
+    //赠送消费金额1.5倍增值积分(释放额度,额度为零就要复购)
+    private String donateScorePercent;
+
+    //每天按照消费金额的5‰个人静态释放
+    private String staticRelease;
+
+    //直推加速,享受直推人的100%个人静态释放
+    private String directRelease;
+
+    //最大封顶为此消费单的本金5%
+    private String maxRelease;
+
+    //商城入单的10%入底池
+    private String usdtOrderRelease;
+
+    //平级10%
+    private String teamPerkLevelEquals;
+
+    //普通会员购买上线
+    private String memberBuyMaxAmount;
+
+    //资产包USDT底池
+    private String packagePoor;
+
+    //资产包总积分
+    private String packageTotalScore;
+
+    //资产包积分价格
+    private String packageScorePrice;
+
+    //资产包卖出划入底池比例
+    private String packageSaleToPoorPercent;
+
+    //提现手续费
+    private String withDrawFee;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java
index 561a13f..caac038 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java
@@ -3,13 +3,18 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.dapp.dto.AddMallGoodsDto;
+import cc.mrbird.febs.dapp.dto.HlmBasicPerkDto;
 import cc.mrbird.febs.dapp.dto.MallGoodsUpdateDto;
 import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
+import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
 import cc.mrbird.febs.dapp.entity.MallGoods;
 import cc.mrbird.febs.dapp.entity.MallOrderInfo;
 import cc.mrbird.febs.dapp.vo.AdminMallMoneyFlowVo;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
 
 public interface IAdminMallGoodsService extends IService<MallGoods> {
 
@@ -30,4 +35,10 @@
     IPage<MallOrderInfo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request);
 
     IPage<AdminMallMoneyFlowVo> orderMoneyFlow(QueryRequest request, MallOrderInfo mallOrderInfo);
+
+    List<DataDictionaryCustom> findDataDicByType(String type);
+
+    void bonusSystemSetting(Map<String, Object> map);
+
+    void hlmBasicPerk(HlmBasicPerkDto hlmBasicPerkDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
index 1b4cb94..7344ab1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -3,11 +3,15 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.dapp.dto.AddMallGoodsDto;
+import cc.mrbird.febs.dapp.dto.HlmBasicPerkDto;
 import cc.mrbird.febs.dapp.dto.MallGoodsUpdateDto;
 import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
+import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
 import cc.mrbird.febs.dapp.entity.MallGoods;
 import cc.mrbird.febs.dapp.entity.MallOrderInfo;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
 import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
+import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.dapp.mapper.MallGoodsMapper;
 import cc.mrbird.febs.dapp.mapper.MallOrderInfoMapper;
 import cc.mrbird.febs.dapp.service.IAdminMallGoodsService;
@@ -22,6 +26,10 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
 @Slf4j
 @Service
 @RequiredArgsConstructor
@@ -31,6 +39,7 @@
     private final MallGoodsMapper mallGoodsMapper;
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final DappFundFlowDao dappFundFlowDao;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     @Override
     public IPage<MallGoods> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) {
@@ -141,4 +150,76 @@
         IPage<AdminMallMoneyFlowVo> adminMallMoneyFlowVos = dappFundFlowDao.selectOrderMoneyFlowInPage(page, mallOrder);
         return adminMallMoneyFlowVos;
     }
+
+    @Override
+    public List<DataDictionaryCustom> findDataDicByType(String type) {
+        return dataDictionaryCustomMapper.selectDicByType(type);
+    }
+
+    @Override
+    public void bonusSystemSetting(Map<String, Object> map) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            if (entry.getValue() instanceof String) {
+                dataDictionaryCustomMapper.updateDicValueByTypeAndCode(null, entry.getKey(), (String) entry.getValue());
+            } else {
+                List<LinkedHashMap<String, Object>> value = (List<LinkedHashMap<String, Object>>) entry.getValue();
+
+                for (LinkedHashMap<String, Object> dic : value) {
+                    String type = (String) dic.get("type");
+                    String code = (String) dic.get("code");
+                    String dataValue = (String) dic.get("value");
+                    dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, dataValue);
+                }
+            }
+        }
+    }
+
+    @Override
+    public void hlmBasicPerk(HlmBasicPerkDto hlmBasicPerkDto) {
+        updateDataDic(DataDictionaryEnum.DONATE_SCORE_PERCENT.getType(),
+                DataDictionaryEnum.DONATE_SCORE_PERCENT.getCode(),
+                hlmBasicPerkDto.getDonateScorePercent());
+        updateDataDic(DataDictionaryEnum.STATIC_RELEASE.getType(),
+                DataDictionaryEnum.STATIC_RELEASE.getCode(),
+                hlmBasicPerkDto.getStaticRelease());
+        updateDataDic(DataDictionaryEnum.DIRECT_RELEASE.getType(),
+                DataDictionaryEnum.DIRECT_RELEASE.getCode(),
+                hlmBasicPerkDto.getDirectRelease());
+        updateDataDic(DataDictionaryEnum.MAX_RELEASE.getType(),
+                DataDictionaryEnum.MAX_RELEASE.getCode(),
+                hlmBasicPerkDto.getMaxRelease());
+        updateDataDic(DataDictionaryEnum.USDT_ORDER_PERCENT.getType(),
+                DataDictionaryEnum.USDT_ORDER_PERCENT.getCode(),
+                hlmBasicPerkDto.getUsdtOrderRelease());
+        updateDataDic(DataDictionaryEnum.TEAM_PERK_LEVEL_EQUALS.getType(),
+                DataDictionaryEnum.TEAM_PERK_LEVEL_EQUALS.getCode(),
+                hlmBasicPerkDto.getTeamPerkLevelEquals());
+        updateDataDic(DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getType(),
+                DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getCode(),
+                hlmBasicPerkDto.getMemberBuyMaxAmount());
+        updateDataDic(DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getType(),
+                DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getCode(),
+                hlmBasicPerkDto.getPackageTotalScore());
+        updateDataDic(DataDictionaryEnum.PACKAGE_SCORE_PRICE.getType(),
+                DataDictionaryEnum.PACKAGE_SCORE_PRICE.getCode(),
+                hlmBasicPerkDto.getPackageScorePrice());
+        updateDataDic(DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getType(),
+                DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getCode(),
+                hlmBasicPerkDto.getPackageSaleToPoorPercent());
+        updateDataDic(DataDictionaryEnum.PACKAGE_POOR.getType(),
+                DataDictionaryEnum.PACKAGE_POOR.getCode(),
+                hlmBasicPerkDto.getPackagePoor());
+        updateDataDic(DataDictionaryEnum.WITHDRAW_FEE.getType(),
+                DataDictionaryEnum.WITHDRAW_FEE.getCode(),
+                hlmBasicPerkDto.getWithDrawFee());
+    }
+
+    public void updateDataDic(String type, String code, String value) {
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(type, code);
+        if (dic != null) {
+            dic.setValue(value);
+            dataDictionaryCustomMapper.updateById(dic);
+        }
+    }
+
 }
diff --git a/src/main/resources/templates/febs/views/dapp/member-charge.html b/src/main/resources/templates/febs/views/dapp/member-charge.html
index e128cc6..197de68 100644
--- a/src/main/resources/templates/febs/views/dapp/member-charge.html
+++ b/src/main/resources/templates/febs/views/dapp/member-charge.html
@@ -8,6 +8,7 @@
                             <div class="layui-col-md10">
                                 <div class="layui-form-item">
                                     <div class="layui-inline">
+                                        <label class="layui-form-label">地址邀请码:</label>
                                         <div class="layui-input-inline">
                                             <input type="text" name="address" autocomplete="off" placeholder="输入地址或邀请码" class="layui-input">
                                         </div>
diff --git a/src/main/resources/templates/febs/views/dapp/member-wallet-coin.html b/src/main/resources/templates/febs/views/dapp/member-wallet-coin.html
index ffdb3e9..73322e0 100644
--- a/src/main/resources/templates/febs/views/dapp/member-wallet-coin.html
+++ b/src/main/resources/templates/febs/views/dapp/member-wallet-coin.html
@@ -8,6 +8,7 @@
                             <div class="layui-col-md10">
                                 <div class="layui-form-item">
                                     <div class="layui-inline">
+                                        <label class="layui-form-label">地址:</label>
                                         <div class="layui-input-inline">
                                             <input type="text" name="address" autocomplete="off" placeholder="输入地址"  class="layui-input">
                                         </div>
diff --git a/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html b/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html
index 4f7183a..cc7476a 100644
--- a/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html
+++ b/src/main/resources/templates/febs/views/dapp/member-wallet-mine.html
@@ -8,6 +8,7 @@
                             <div class="layui-col-md10">
                                 <div class="layui-form-item">
                                     <div class="layui-inline">
+                                        <label class="layui-form-label">地址:</label>
                                         <div class="layui-input-inline">
                                             <input type="text" name="address" autocomplete="off" placeholder="输入地址" class="layui-input">
                                         </div>
@@ -87,8 +88,8 @@
                 url: ctx + 'wallet/walletMine',
                 cols: [[
                     {field: 'address', title: '地址', minWidth: 130},
-                    {field: 'availableAmount', title: '剩余产量(LAB)', minWidth: 130},
-                    {field: 'totalAmount', title: '总产量(LAB)', minWidth: 180}
+                    {field: 'availableAmount', title: '可用', minWidth: 130},
+                    {field: 'totalAmount', title: '总量', minWidth: 180}
                 ]]
             });
         }
diff --git a/src/main/resources/templates/febs/views/dapp/member-withdraw.html b/src/main/resources/templates/febs/views/dapp/member-withdraw.html
index 781579d..c83d68a 100644
--- a/src/main/resources/templates/febs/views/dapp/member-withdraw.html
+++ b/src/main/resources/templates/febs/views/dapp/member-withdraw.html
@@ -8,6 +8,7 @@
                             <div class="layui-col-md10">
                                 <div class="layui-form-item">
                                     <div class="layui-inline">
+                                        <label class="layui-form-label">地址邀请码:</label>
                                         <div class="layui-input-inline">
                                             <input type="text" name="address" autocomplete="off" placeholder="输入地址或邀请码" class="layui-input">
                                         </div>
diff --git a/src/main/resources/templates/febs/views/dapp/member.html b/src/main/resources/templates/febs/views/dapp/member.html
index 2dede8f..3265952 100644
--- a/src/main/resources/templates/febs/views/dapp/member.html
+++ b/src/main/resources/templates/febs/views/dapp/member.html
@@ -12,20 +12,20 @@
                                         <div class="layui-input-inline"><input type="text" name="inviteId" autocomplete="off" placeholder="输入地址或邀请码"  class="layui-input">
                                         </div>
                                     </div>
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label layui-form-label-sm">状态</label>
-                                        <div class="layui-input-inline">
-                                            <select name="accountType">
-                                                <option value=""></option>
-                                                <option value="MEMBER">MEMBER</option>
-                                                <option value="NODE_1">NODE_1</option>
-                                                <option value="NODE_2">NODE_2</option>
-                                                <option value="NODE_3">NODE_3</option>
-                                                <option value="NODE_4">NODE_4</option>
-                                                <option value="NODE_5">NODE_5</option>
-                                            </select>
-                                        </div>
-                                    </div>
+<!--                                    <div class="layui-inline">-->
+<!--                                        <label class="layui-form-label layui-form-label-sm">状态</label>-->
+<!--                                        <div class="layui-input-inline">-->
+<!--                                            <select name="accountType">-->
+<!--                                                <option value=""></option>-->
+<!--                                                <option value="MEMBER">MEMBER</option>-->
+<!--                                                <option value="NODE_1">NODE_1</option>-->
+<!--                                                <option value="NODE_2">NODE_2</option>-->
+<!--                                                <option value="NODE_3">NODE_3</option>-->
+<!--                                                <option value="NODE_4">NODE_4</option>-->
+<!--                                                <option value="NODE_5">NODE_5</option>-->
+<!--                                            </select>-->
+<!--                                        </div>-->
+<!--                                    </div>-->
                                 </div>
                             </div>
                             <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
diff --git a/src/main/resources/templates/febs/views/dapp/money-change-flow.html b/src/main/resources/templates/febs/views/dapp/money-change-flow.html
index 14674c2..4d06370 100644
--- a/src/main/resources/templates/febs/views/dapp/money-change-flow.html
+++ b/src/main/resources/templates/febs/views/dapp/money-change-flow.html
@@ -15,50 +15,50 @@
                                         </div>
                                     </div>
 
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label">转账HASH:</label>
-                                        <div class="layui-input-inline">
-                                            <input type="text" placeholder="输入转账HASH" name="fromHash" autocomplete="off" class="layui-input">
-                                        </div>
-                                    </div>
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label">类型:</label>
-                                        <div class="layui-input-inline">
-                                            <select name="type">
-                                                <option value=""></option>
-                                                <option value="4">入金,买入A币</option>
-                                                <option value="5">进入a底池</option>
-                                                <option value="6">进入b底池</option>
-                                                <option value="7">50%客户秒到</option>
-                                                <option value="8">全网加权分红收益总量</option>
-                                                <option value="9">10%直推</option>
-                                                <option value="10">5%节点-(超级节点收益总量)</option>
-                                                <option value="11">5%节点平分</option>
-                                                <option value="12">5%基金会-(基金会收益总量)</option>
-                                                <option value="13">10%级差奖-(业绩奖收益总量)</option>
-                                                <option value="14">10%级差奖给会员</option>
-                                                <option value="15">dao3的全网分红</option>
-                                                <option value="16">dao4的全网分红</option>
-                                                <option value="17">dao5的全网分红</option>
-                                                <option value="18">dao5的平级全网分红</option>
-                                                <option value="19">DAO 3节点收益</option>
-                                                <option value="20">DAO 4节点收益</option>
-                                                <option value="21">DAO 5节点收益</option>
-                                                <option value="22">DAO 5平级收益</option>
-                                                <option value="23">资产钱包转账到闪对钱包</option>
-                                                <option value="24">资产钱包转账到闪对钱包手续费</option>
-                                                <option value="25">闪对钱包转USDT</option>
-                                                <option value="27">闪对钱包转USDT(USDT流水)</option>
-                                                <option value="28">入金,买入AUSD币</option>
-                                                <option value="29">每小时燃烧</option>
-                                                <option value="30">20%全网加权分红剩余</option>
-                                                <option value="31">AUSDT互转</option>
-                                                <option value="32">ANDAO互转</option>
-                                                <option value="33">权益额度增加</option>
-                                                <option value="34">进入提现池</option>
-                                            </select>
-                                        </div>
-                                    </div>
+<!--                                    <div class="layui-inline">-->
+<!--                                        <label class="layui-form-label">转账HASH:</label>-->
+<!--                                        <div class="layui-input-inline">-->
+<!--                                            <input type="text" placeholder="输入转账HASH" name="fromHash" autocomplete="off" class="layui-input">-->
+<!--                                        </div>-->
+<!--                                    </div>-->
+<!--                                    <div class="layui-inline">-->
+<!--                                        <label class="layui-form-label">类型:</label>-->
+<!--                                        <div class="layui-input-inline">-->
+<!--                                            <select name="type">-->
+<!--                                                <option value=""></option>-->
+<!--                                                <option value="4">入金,买入A币</option>-->
+<!--                                                <option value="5">进入a底池</option>-->
+<!--                                                <option value="6">进入b底池</option>-->
+<!--                                                <option value="7">50%客户秒到</option>-->
+<!--                                                <option value="8">全网加权分红收益总量</option>-->
+<!--                                                <option value="9">10%直推</option>-->
+<!--                                                <option value="10">5%节点-(超级节点收益总量)</option>-->
+<!--                                                <option value="11">5%节点平分</option>-->
+<!--                                                <option value="12">5%基金会-(基金会收益总量)</option>-->
+<!--                                                <option value="13">10%级差奖-(业绩奖收益总量)</option>-->
+<!--                                                <option value="14">10%级差奖给会员</option>-->
+<!--                                                <option value="15">dao3的全网分红</option>-->
+<!--                                                <option value="16">dao4的全网分红</option>-->
+<!--                                                <option value="17">dao5的全网分红</option>-->
+<!--                                                <option value="18">dao5的平级全网分红</option>-->
+<!--                                                <option value="19">DAO 3节点收益</option>-->
+<!--                                                <option value="20">DAO 4节点收益</option>-->
+<!--                                                <option value="21">DAO 5节点收益</option>-->
+<!--                                                <option value="22">DAO 5平级收益</option>-->
+<!--                                                <option value="23">资产钱包转账到闪对钱包</option>-->
+<!--                                                <option value="24">资产钱包转账到闪对钱包手续费</option>-->
+<!--                                                <option value="25">闪对钱包转USDT</option>-->
+<!--                                                <option value="27">闪对钱包转USDT(USDT流水)</option>-->
+<!--                                                <option value="28">入金,买入AUSD币</option>-->
+<!--                                                <option value="29">每小时燃烧</option>-->
+<!--                                                <option value="30">20%全网加权分红剩余</option>-->
+<!--                                                <option value="31">AUSDT互转</option>-->
+<!--                                                <option value="32">ANDAO互转</option>-->
+<!--                                                <option value="33">权益额度增加</option>-->
+<!--                                                <option value="34">进入提现池</option>-->
+<!--                                            </select>-->
+<!--                                        </div>-->
+<!--                                    </div>-->
                                 </div>
                             </div>
                             <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
diff --git a/src/main/resources/templates/febs/views/goods/basicPerkSetting.html b/src/main/resources/templates/febs/views/goods/basicPerkSetting.html
new file mode 100644
index 0000000..e0a3ac2
--- /dev/null
+++ b/src/main/resources/templates/febs/views/goods/basicPerkSetting.html
@@ -0,0 +1,156 @@
+<div class="layui-fluid layui-anim febs-anim" id="hlm-basic-perk" lay-title="基础设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="hlm-basic-perk-form">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <blockquote class="layui-elem-quote blue-border">基础设置:</blockquote>
+                    <div class="layui-row layui-col-space10 layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">赠送倍数:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="donateScorePercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">赠送消费金额1.5倍增值积分(释放额度,额度为零就要复购)</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">个人静态(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="staticRelease" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">每天按照消费金额的5‰个人静态释放</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">直推加速(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="directRelease" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">直推加速,享受直推人的100%个人静态释放</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">封顶比例(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="maxRelease" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">最大封顶为此消费单的本金5%</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">入单底池(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="usdtOrderRelease" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">商城入单的10%入底池</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">平级补贴(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="teamPerkLevelEquals" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">平级10%</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">普通上限:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="memberBuyMaxAmount" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">普通会员购买上限</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">USDT底池:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="packagePoor" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">资产包USDT底池</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">资产总分(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="packageTotalScore" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">资产包总积分</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">积分价格:</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="packageScorePrice" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">资产包积分价格</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">卖出划入(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="packageSaleToPoorPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">资产包卖出划入底池比例</div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item">
+                        <label class="layui-form-label febs-form-item-require">提现手续(%):</label>
+                        <div class="layui-input-block">
+                            <input type="text" name="withDrawFee" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" >
+                            <div class="layui-word-aux">提现手续费,划入底池比例</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="layui-card-footer">
+                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="hlm-basic-perk-submit" id="submit">保存</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+<style>
+    .layui-form-label {
+        width: 120px;
+    }
+
+    .layui-form-item .layui-input-block {
+        margin-left: 150px;
+    }
+
+    .layui-table-form .layui-form-item {
+        margin-bottom: 20px !important;
+    }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'febs', 'form', 'eleTree'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            hlmBasicPerk = [[${hlmBasicPerk}]],
+            $view = $('#hlm-basic-perk');
+
+        form.verify({
+            integer: [
+                /^[1-9]\d*$/
+                , '只能输入正整数'
+            ]
+        });
+
+        initHlmBasicPerkValue();
+
+        form.render();
+
+        function initHlmBasicPerkValue() {
+            form.val("hlm-basic-perk-form", {
+                "withDrawFee": hlmBasicPerk.withDrawFee,
+                "packageSaleToPoorPercent": hlmBasicPerk.packageSaleToPoorPercent,
+                "packageScorePrice": hlmBasicPerk.packageScorePrice,
+                "packageTotalScore": hlmBasicPerk.packageTotalScore,
+                "packagePoor": hlmBasicPerk.packagePoor,
+                "donateScorePercent": hlmBasicPerk.donateScorePercent,
+                "staticRelease": hlmBasicPerk.staticRelease,
+                "directRelease": hlmBasicPerk.directRelease,
+                "maxRelease": hlmBasicPerk.maxRelease,
+                "usdtOrderRelease": hlmBasicPerk.usdtOrderRelease,
+                "teamPerkLevelEquals": hlmBasicPerk.teamPerkLevelEquals,
+                "memberBuyMaxAmount": hlmBasicPerk.memberBuyMaxAmount
+            });
+        }
+
+        form.on('submit(hlm-basic-perk-submit)', function (data) {
+            febs.post(ctx + 'admin/goods/hlmBasicPerk', data.field, function (res) {
+                febs.alert.success('设置成功');
+                return ;
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/goods/profitSetting.html b/src/main/resources/templates/febs/views/goods/profitSetting.html
new file mode 100644
index 0000000..a521cf6
--- /dev/null
+++ b/src/main/resources/templates/febs/views/goods/profitSetting.html
@@ -0,0 +1,126 @@
+<div class="layui-fluid layui-anim febs-anim" id="profit-setting" lay-title="会员等级设置">
+    <div class="layui-row layui-col-space8 febs-container">
+        <form class="layui-form" action="" lay-filter="profit-setting-form">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <blockquote class="layui-elem-quote blue-border">等级</blockquote>
+                    <div class="layui-tab-item layui-show">
+                        <table id="agentBonus" lay-filter="agentBonus"></table>
+                    </div>
+                </div>
+                <div class="layui-card-footer">
+                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="profit-setting-form-submit" id="submit">保存</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+<style>
+    .layui-form-label {
+        width: 120px;
+    }
+
+    .layui-form-item .layui-input-block {
+        margin-left: 150px;
+    }
+
+    .layui-table-form .layui-form-item {
+        margin-bottom: 20px !important;
+    }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+    layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'laytpl', 'table'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            table = layui.table,
+            validate = layui.validate,
+            $view = $('#profit-setting')
+            , laytpl = layui.laytpl
+            , agentBonusArr;
+
+        form.verify(validate);
+        form.render();
+
+        table.render({
+            elem: '#agentBonus'
+            ,cols: [[ //表头
+                {field: 'description', title: '名称'}
+                ,{field: 'shareMinPercent', title: '共享区加速百分比', edit:'text'}
+                ,{field: 'shareMaxPercent', title: '共享区加速最大值', edit:'text'}
+                ,{field: 'smallAchieve', title: '升级要求业绩', edit:'text'}
+                ,{field: 'teamPercent', title: '团队静态收益', edit:'text'}
+                ,{field: 'orderSalePercent', title: '全网销售额加权平分分红', edit:'text'}
+                ,{field: 'lastAgentCnt', title: '上一级代理数量', edit:'text'}
+                ,{field: 'buyMaxAmount', title: '购买上限', edit:'text'}
+                ,{field: 'type', title: '比例', edit:'text', hide:'true'}
+                ,{field: 'code', title: '比例', edit:'text', hide:'true'}
+            ]]
+            ,data: []
+        });
+        table.on('edit(agentBonus)', function(obj){
+            var value = obj.value //得到修改后的值
+                ,data = obj.data //得到所在行所有键值
+                ,field = obj.field; //得到字段
+
+            for (let i = 0; i < agentBonusArr.length; i++) {
+                if (agentBonusArr[i].code === data.code) {
+                    var valueData = {};
+                    valueData.shareMinPercent = data.shareMinPercent;
+                    valueData.shareMaxPercent = data.shareMaxPercent;
+                    valueData.smallAchieve = data.smallAchieve;
+                    valueData.teamPercent = data.teamPercent;
+                    valueData.orderSalePercent = data.orderSalePercent;
+                    valueData.lastAgentCnt = data.lastAgentCnt;
+                    valueData.buyMaxAmount = data.buyMaxAmount;
+                    agentBonusArr[i].value = JSON.stringify(valueData);
+                }
+            }
+        });
+
+        dicDataReq("TEAM_LEVEL");
+        function dicDataReq(type) {
+            $.get(ctx + 'admin/goods/findDicByType/' + type, function (r) {
+                if (r.code === 200) {
+                    var data = r.data;
+                    if ("TEAM_LEVEL" == type) {
+                        for (let i = 0; i < data.length; i++) {
+                            data[i].shareMinPercent = JSON.parse(data[i].value).shareMinPercent;
+                            data[i].shareMaxPercent = JSON.parse(data[i].value).shareMaxPercent;
+                            data[i].smallAchieve = JSON.parse(data[i].value).smallAchieve;
+                            data[i].teamPercent = JSON.parse(data[i].value).teamPercent;
+                            data[i].orderSalePercent = JSON.parse(data[i].value).orderSalePercent;
+                            data[i].lastAgentCnt = JSON.parse(data[i].value).lastAgentCnt;
+                            data[i].buyMaxAmount = JSON.parse(data[i].value).buyMaxAmount;
+                        }
+                        agentBonusArr = data;
+                        table.reload('agentBonus', {
+                            data : data
+                        });
+                    }
+                }
+            });
+        }
+
+        form.on('submit(profit-setting-form-submit)', function (data) {
+            data.field.agentBonus = agentBonusArr;
+            $.ajax({
+                'url':ctx + 'admin/goods/bonusSystemSetting',
+                'type':'post',
+                'dataType':'json',
+                'headers' : {'Content-Type' : 'application/json;charset=utf-8'},
+                'traditional': true,
+                'data':JSON.stringify(data.field),
+                'success':function (data) {
+                    if (data.code == 200) {
+                        febs.alert.success(data.message);
+                    }
+                },
+                'error':function () {
+                    febs.alert.warn('服务器繁忙');
+                }
+            })
+            return false;
+        });
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.9.1