From ca7809d5fcf86454118d41c88a3b9c238fe6b270 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 28 May 2022 10:58:49 +0800
Subject: [PATCH] Merge branch 'mall-amz' of http://120.27.238.55:7000/r/xc-mall into mall-amz

---
 src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java                      |    3 
 src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate-bak.html |  119 +++++++++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java      |   17 +
 src/main/resources/templates/error/404.html                                          |    2 
 src/main/resources/templates/febs/views/modules/mallMember/agentList.html            |   12 
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java       |   33 --
 src/main/resources/templates/error/403.html                                          |    2 
 src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java                |    7 
 src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html        |   90 ++++++--
 src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java                   |    2 
 src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml                      |    9 
 src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html            |    7 
 src/main/resources/templates/error/500.html                                          |    2 
 src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelUpdateInfoVo.java                |    2 
 src/main/resources/templates/index.html                                              |    2 
 src/test/java/cc/mrbird/febs/AgentTest.java                                          |   10 +
 src/main/java/cc/mrbird/febs/common/runner/FebsStartedUpRunner.java                  |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java                 |   24 ++
 src/main/java/cc/mrbird/febs/mall/vo/NewsListVo.java                                 |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java         |    2 
 src/main/java/cc/mrbird/febs/mall/dto/AgentLevelUpdateDto.java                       |    2 
 src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate.html     |   48 ----
 src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java          |   89 +++++---
 src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java                    |    2 
 src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java                              |   70 ++----
 src/main/java/cc/mrbird/febs/mall/service/IScoreService.java                         |    3 
 src/main/java/cc/mrbird/febs/common/enumerates/AgentLevelEnum.java                   |   12 
 src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java                       |    2 
 src/main/resources/templates/febs/views/layout.html                                  |    2 
 src/main/resources/templates/febs/views/login.html                                   |    4 
 30 files changed, 366 insertions(+), 217 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
index 9f477f0..50797b6 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -119,7 +119,7 @@
 
     @Bean
     public Binding orderReturnMoneyBind() {
-        return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute());
+        return BindingBuilder.bind(orderReturnMoneyQueue()).to(orderReturnMoneyExchange()).with(RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute());
     }
 
 }
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/AgentLevelEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/AgentLevelEnum.java
index 6e73596..784c505 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/AgentLevelEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/AgentLevelEnum.java
@@ -9,14 +9,12 @@
 @Getter
 public enum AgentLevelEnum {
 
-    ZERO_LEVEL("未激活"),
+    ZERO_LEVEL("非会员"),
     FIRST_LEVEL("普通会员"),
-    SECOND_LEVEL("业务经理"),
-    THIRD_LEVEL("区域代理"),
-    FOUR_LEVEL("代理"),
-    FIFTH_LEVEL("总代"),
-    SIX_LEVEL("董事"),
-    SEVEN_LEVEL("股东");
+    SECOND_LEVEL("区级代理"),
+    THIRD_LEVEL("市级代理"),
+    FOUR_LEVEL("省级代理"),
+    FIFTH_LEVEL("全国总代");
 
 
     private String name;
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
index d5b8329..789244b 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
@@ -78,7 +78,12 @@
     /**
      * 感恩奖
      */
-    THANKFUL(15);
+    THANKFUL(15),
+
+    /**
+     * 系统
+     */
+    SYSTEM(16);
 
     private final int value;
 
diff --git a/src/main/java/cc/mrbird/febs/common/runner/FebsStartedUpRunner.java b/src/main/java/cc/mrbird/febs/common/runner/FebsStartedUpRunner.java
index 432fb94..d2ebb02 100644
--- a/src/main/java/cc/mrbird/febs/common/runner/FebsStartedUpRunner.java
+++ b/src/main/java/cc/mrbird/febs/common/runner/FebsStartedUpRunner.java
@@ -63,7 +63,7 @@
             log.info("/ /`  / / \\ | |\\/| | |_) | |   | |_   | |  | |_  ");
             log.info("\\_\\_, \\_\\_/ |_|  | |_|   |_|__ |_|__  |_|  |_|__ ");
             log.info("                                                      ");
-            log.info("澳美芝 权限系统启动完毕,地址:{}", url);
+            log.info("澳芝美 权限系统启动完毕,地址:{}", url);
 
             boolean auto = febsProperties.isAutoOpenBrowser();
             if (auto && StringUtils.equalsIgnoreCase(active, FebsConstant.DEVELOP)) {
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AgentLevelUpdateDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AgentLevelUpdateDto.java
index 8029766..9fadc33 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AgentLevelUpdateDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AgentLevelUpdateDto.java
@@ -41,4 +41,6 @@
      * 团队收益 1-指定金额 2-比例
      */
     private Integer teamIncomeType;
+
+    private BigDecimal profitProp;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
index 87984f8..7b18035 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -9,6 +9,7 @@
 import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.mall.service.IMemberProfitService;
 import cc.mrbird.febs.mall.service.impl.CommonService;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
@@ -34,54 +35,29 @@
 public class ProfitJob {
 
     @Autowired
-    private MallMoneyFlowMapper moneyFlowMapper;
+    private IMemberProfitService memberProfitService;
 
-    @Autowired
-    private MallMemberMapper memberMapper;
-
-    @Autowired
-    private IApiMallMemberWalletService memberWalletService;
-
-    @Autowired
-    private IApiMallMemberService memberService;
-
-    @Scheduled(cron = "0 1 0 * * ?")
-    @Transactional(rollbackFor = Exception.class)
+    /**
+     * 代理分红
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
     public void profitJob() {
-        log.info("推荐人返利执行");
-//        DateTime yesterday = DateUtil.yesterday();
-//        List<MallMoneyFlow> flows = moneyFlowMapper.selectMoneyFlowProfitByDate(yesterday);
-//
-//        if (CollUtil.isEmpty(flows)) {
-//            return;
-//        }
-//
-//        for (MallMoneyFlow flow : flows) {
-//            MallMember member = memberMapper.selectById(flow.getMemberId());
-//
-//            List<MallMember> child = memberMapper.selectByIdAndNoLevel(member.getInviteId(), AgentLevelEnum.ZERO_LEVEL.name());
-//            if (CollUtil.isEmpty(child)) {
-//                continue;
-//            }
-//            int size = child.size();
-//            BigDecimal needReturn = flow.getAmount().multiply(BigDecimal.valueOf(0.1));
-//
-//            String orderNo = MallUtils.getOrderNum("R");
-//            String remarkFormat = "{}, 用户:{}, 利润分红: {}";
-//
-//            BigDecimal returnMoney = needReturn.divide(BigDecimal.valueOf(size), 2, RoundingMode.DOWN);
-//            for (MallMember mallMember : child) {
-//                memberWalletService.addBalance(returnMoney, mallMember.getId());
-//
-//                String remark = StrUtil.format(remarkFormat, DateUtil.format(yesterday, "yyyy-MM-dd"), member.getName(), returnMoney);
-//                memberService.addMoneyFlow(mallMember.getId(), returnMoney, MoneyFlowTypeEnum.PARENT_BONUS.getValue(), orderNo, null, remark, member.getId(), null);
-//            }
-//
-//            String remark = StrUtil.format(remarkFormat, DateUtil.format(yesterday, "yyyy-MM-dd"), member.getName(), needReturn);
-//            memberService.addMoneyFlow(member.getId(), needReturn.negate(), MoneyFlowTypeEnum.PARENT_BONUS.getValue(), orderNo, null, remark, null, null);
-//            memberWalletService.reduceBalance(needReturn, member.getId());
-//
-//            moneyFlowMapper.updateIsReturnByMemberId(MallMoneyFlow.IS_RETURN_Y, flow.getMemberId());
-//        }
+        memberProfitService.agentProfit(null);
+    }
+
+    /**
+     * 感恩奖
+     */
+    @Scheduled(cron = "0 0 2 * * ?")
+    public void thankfulJob() {
+        memberProfitService.thankfulProfit();
+    }
+
+    /**
+     * 排名奖 每月1号
+     */
+    @Scheduled(cron = "0 0 3 1 * ?")
+    public void rankJob() {
+        memberProfitService.rankProfit();
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IScoreService.java b/src/main/java/cc/mrbird/febs/mall/service/IScoreService.java
index 7a644e9..13fa00d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IScoreService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IScoreService.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.mall.service;
 
+import cc.mrbird.febs.mall.entity.MallScoreSignRecord;
 import cc.mrbird.febs.mall.vo.ScoreSignVo;
 
 public interface IScoreService {
@@ -7,4 +8,6 @@
     ScoreSignVo scoreSign();
 
     void sign();
+
+    MallScoreSignRecord judgeScoreIsContinuity(MallScoreSignRecord mallScoreSignRecord);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 5399644..91fb9a4 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -3,6 +3,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
 import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.MallUtils;
@@ -12,6 +13,7 @@
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminMallMemberService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
 import cc.mrbird.febs.mall.vo.*;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -56,6 +58,8 @@
 
     private final MallNewsInfoMapper mallNewsInfoMapper;
     private final MallShopApplyMapper mallShopApplyMapper;
+
+    private final IMallMoneyFlowService mallMoneyFlowService;
 
     @Override
     public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -188,17 +192,10 @@
 
     @Override
     public AdminAgentLevelUpdateInfoVo getAgentLevelUpdateInfoById(long id) {
-        AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = new AdminAgentLevelUpdateInfoVo();
         DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id);
         String value = dataDictionaryCustom.getValue();
         //{"directIncome":36,"lastCnt":3,"orderCnt":500,"orderType":2,"teamIncome":6,"teamIncomeType":2}
-        JSONObject jsonObject = JSONObject.parseObject(value);
-        adminAgentLevelUpdateInfoVo.setDirectIncome(new BigDecimal((jsonObject.get("directIncome")==null?0:jsonObject.get("directIncome")).toString()));
-        adminAgentLevelUpdateInfoVo.setLastCnt(Integer.parseInt((jsonObject.get("lastCnt")==null?0:jsonObject.get("lastCnt")).toString()));
-        adminAgentLevelUpdateInfoVo.setOrderCnt(Integer.parseInt((jsonObject.get("orderCnt")==null?0:jsonObject.get("orderCnt")).toString()));
-        adminAgentLevelUpdateInfoVo.setOrderType(Integer.parseInt(jsonObject.get("orderType").toString()));
-        adminAgentLevelUpdateInfoVo.setTeamIncome(new BigDecimal((jsonObject.get("teamIncome")==null?0:jsonObject.get("teamIncome")).toString()));
-        adminAgentLevelUpdateInfoVo.setTeamIncomeType(Integer.parseInt(jsonObject.get("orderType").toString()));
+        AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = JSONObject.parseObject(value, AdminAgentLevelUpdateInfoVo.class);
         adminAgentLevelUpdateInfoVo.setId(id);
         return adminAgentLevelUpdateInfoVo;
     }
@@ -206,15 +203,9 @@
     @Override
     public FebsResponse agentLevelUpdate(AgentLevelUpdateDto agentLevelUpdateDto) {
         DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(agentLevelUpdateDto.getId());
-        AgentLevelUpdateDto agentLevelUpdateDtoJson = new AgentLevelUpdateDto();
-        agentLevelUpdateDtoJson.setDirectIncome(agentLevelUpdateDto.getDirectIncome());
-        agentLevelUpdateDtoJson.setLastCnt(agentLevelUpdateDto.getLastCnt());
-        agentLevelUpdateDtoJson.setOrderCnt(agentLevelUpdateDto.getOrderCnt());
-        agentLevelUpdateDtoJson.setTeamIncome(agentLevelUpdateDto.getTeamIncome());
-        agentLevelUpdateDtoJson.setOrderType(agentLevelUpdateDto.getOrderType());
-        agentLevelUpdateDtoJson.setTeamIncomeType(agentLevelUpdateDto.getTeamIncomeType());
-        JSONObject jsonObject = (JSONObject)JSONObject.toJSON(agentLevelUpdateDtoJson);
-        dataDictionaryCustom.setValue(jsonObject.toString());
+
+        agentLevelUpdateDto.setId(null);
+        dataDictionaryCustom.setValue(JSONObject.toJSONString(agentLevelUpdateDto));
         dataDictionaryCustomMapper.updateById(dataDictionaryCustom);
         return new FebsResponse().success();
     }
@@ -336,13 +327,7 @@
         mallMemberWallet.setBalance(mallMemberWallet.getBalance().add(bigDecimal));
         mallMemberWalletMapper.updateBalanceWithId(mallMemberWallet);
 
-        MallMoneyFlow flow = new MallMoneyFlow();
-        flow.setMemberId(memberId);
-        flow.setAmount(bigDecimal);
-//        flow.setType(MoneyFlowTypeEnum.SYSTEM_PAY.getValue());
-        flow.setOrderNo("SYS"+MallUtils.getOrderNum());
-        flow.setStatus(2);
-        mallMoneyFlowMapper.insert(flow);
+        mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, FlowTypeEnum.BALANCE.getValue());
         return new FebsResponse().success();
     }
 
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 100b886..01d5eaf 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
@@ -110,7 +110,7 @@
         mallMember.setName(registerDto.getName());
         mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
         mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
-        mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
+        mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
         mallMember.setSex("男");
         mallMember.setBindPhone(registerDto.getAccount());
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 61ded98..a21cfb8 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -225,12 +225,7 @@
                 orderInfo.setPayTime(new Date());
                 orderInfo.setPayResult("1");
 
-//                MallMember mallMember = memberMapper.selectById(member.getId());
-//                if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
-//                    mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
-//                    memberMapper.updateById(mallMember);
-//                }
-
+                boolean hasTc = false;
                 // 静态倍数
                 List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId());
                 if (CollUtil.isNotEmpty(orderItems)) {
@@ -238,6 +233,7 @@
                         MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId());
 
                         if (mallGoods.getIsNormal() == 2) {
+                            hasTc = true;
                             MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
                             BigDecimal score = sku.getOriginalPrice().multiply(mallGoods.getStaticMulti());
 
@@ -247,6 +243,15 @@
                     }
                 }
 
+                // 购买套餐后,升级为普通会员
+                if (hasTc) {
+                    MallMember mallMember = memberMapper.selectById(member.getId());
+                    if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
+                        mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
+                        memberMapper.updateById(mallMember);
+                    }
+                }
+
                 mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
 //                agentProducer.sendAutoLevelUpMsg(member.getId());
                 agentProducer.sendOrderReturn(orderInfo.getId());
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 3780ec4..728fa15 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
@@ -93,6 +93,7 @@
      * @param orderId
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void dynamicProfit(Long orderId) {
         log.info("######直推奖励, 订单ID:{}######", orderId);
         MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(orderId);
@@ -106,62 +107,80 @@
         if (StrUtil.isBlank(member.getReferrerId())) {
             return;
         }
+        // 直推奖励字典
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.DYNAMIC_BONUS.getType(), DataDictionaryEnum.DYNAMIC_BONUS.getCode());
+        // 隔代字典
         DataDictionaryCustom indrectDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.INDRECT_BONUS.getType(), DataDictionaryEnum.INDRECT_BONUS.getCode());
+        // 直接父级
+        MallMember parent = mallMemberMapper.selectInfoByInviteId(member.getReferrerId());
 
-        String parent = member.getReferrerId();
         List<MallOrderItem> items = mallOrderInfoMapper.getMallOrderItemByOrderId(orderId);
         for (MallOrderItem item : items) {
             // 减去成本后算收益
             BigDecimal amount = item.getPrice().subtract(item.getCostPrice()).multiply(BigDecimal.valueOf(item.getCnt()));
 
+            // =======直推返利== start =====
+            // 直接奖励收益
             BigDecimal dynamicProfit = amount.divide(new BigDecimal(dic.getValue()), 2, RoundingMode.HALF_UP);
 
-            List<String> parents = StrUtil.split(member.getReferrerIds(), ',');
-            List<MallMember> members = mallMemberMapper.selectByInviteIds(parents);
-            if (CollUtil.isEmpty(members)) {
-                return;
+            if (dynamicProfit.compareTo(BigDecimal.ZERO) < 1) {
+                continue;
             }
 
-            // 隔代比例
-            BigDecimal indrectDicProp = new BigDecimal(indrectDic.getValue());
-
-            // 隔代推荐奖
-            BigDecimal direct = dynamicProfit.divide(indrectDicProp, 2, RoundingMode.HALF_UP);
-            for (MallMember parentMember : members) {
-                if (parent.equals(parentMember.getInviteId())) {
-                    continue;
-                }
-
-                int reduce =  walletService.reduce(direct, parentMember.getId(), "score");
-                if (reduce == 2) {
-                    continue;
-                }
-
-                walletService.add(direct, parentMember.getId(), "commission");
-
-                moneyFlowService.addMoneyFlow(parentMember.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.COMMISSION.getValue());
-                moneyFlowService.addMoneyFlow(parentMember.getId(), direct.negate(), MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
-
-                if (direct.compareTo(BigDecimal.ONE) < 1) {
-                    break;
-                }
-                direct = direct.divide(indrectDicProp, 2, RoundingMode.HALF_UP);
-            }
-
-            int reduce = walletService.reduce(dynamicProfit, member.getId(), "score");
+            int reduce = walletService.reduce(dynamicProfit, parent.getId(), "score");
             if (reduce == 2) {
                 continue;
             }
 
-            walletService.add(dynamicProfit, member.getId(), "commission");
+            walletService.add(dynamicProfit, parent.getId(), "commission");
 
-            moneyFlowService.addMoneyFlow(member.getId(), dynamicProfit, MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.COMMISSION.getValue());
-            moneyFlowService.addMoneyFlow(member.getId(), dynamicProfit.negate(), MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
+            moneyFlowService.addMoneyFlow(parent.getId(), dynamicProfit, MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.COMMISSION.getValue());
+            moneyFlowService.addMoneyFlow(parent.getId(), dynamicProfit.negate(), MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
+            // =======直推返利== end =====
+
+            // =======隔代奖== start =====
+            if (StrUtil.isBlank(parent.getReferrerId())) {
+                continue;
+            }
+
+            List<String> parents = StrUtil.split(parent.getReferrerIds(), ',');
+            List<MallMember> members = mallMemberMapper.selectByInviteIds(parents);
+            if (CollUtil.isEmpty(members)) {
+                return;
+            }
+            // 隔代比例
+            BigDecimal indrectDicProp = new BigDecimal(indrectDic.getValue());
+
+            // 隔代推荐奖 收益
+            BigDecimal direct = dynamicProfit.divide(indrectDicProp, 2, RoundingMode.HALF_UP);
+
+            // direct 收益小于1,则跳出
+            if (direct.compareTo(BigDecimal.ONE) < 1) {
+                continue;
+            }
+
+            for (MallMember parentMember : members) {
+                if (parent.getInviteId().equals(parentMember.getInviteId())) {
+                    continue;
+                }
+
+                int reduceResult =  walletService.reduce(direct, parentMember.getId(), "score");
+                if (reduceResult == 2) {
+                    continue;
+                }
+
+                walletService.add(direct, parentMember.getId(), "commission");
+                moneyFlowService.addMoneyFlow(parentMember.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.COMMISSION.getValue());
+                moneyFlowService.addMoneyFlow(parentMember.getId(), direct.negate(), MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
+
+                direct = direct.divide(indrectDicProp, 2, RoundingMode.HALF_UP);
+            }
+            // =======隔代奖== end =====
         }
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void agentProfit(Date profitDate) {
         log.info("#####==代理分红==start==#####");
         if (profitDate == null) {
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
index 9bc7c00..4c404dc 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -17,6 +17,8 @@
 import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
 import cc.mrbird.febs.mall.service.IScoreService;
 import cc.mrbird.febs.mall.vo.ScoreSignVo;
+import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
@@ -53,13 +55,29 @@
 
         ScoreSignVo scoreSign = new ScoreSignVo();
         scoreSign.setMineScore(wallet.getPrizeScore().intValue());
-        scoreSign.setHasSignDays(mallScoreSignRecord == null ? 0 : mallScoreSignRecord.getTotalCnt());
+
+        if (mallScoreSignRecord == null) {
+            scoreSign.setHasSignDays(0);
+        } else {
+            mallScoreSignRecord = judgeScoreIsContinuity(mallScoreSignRecord);
+            scoreSign.setHasSignDays(mallScoreSignRecord.getTotalCnt());
+        }
 
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SCORE_SIGN_SETTING.getType(), DataDictionaryEnum.SCORE_SIGN_SETTING.getCode());
         if (dic != null) {
             scoreSign.setSetting(JSONObject.parseObject(dic.getValue(), ScoreSettingDto.class));
         }
         return scoreSign;
+    }
+
+    @Override
+    public MallScoreSignRecord judgeScoreIsContinuity(MallScoreSignRecord mallScoreSignRecord) {
+        // 若最新签到日期,与当天相差大于一天,则更新数据库(避免定时器更新失败)
+        if (DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) > 1 || mallScoreSignRecord.getTotalCnt() == 7) {
+            mallScoreSignRecord.setTotalCnt(0);
+            mallScoreSignRecordMapper.updateById(mallScoreSignRecord);
+        }
+        return mallScoreSignRecord;
     }
 
     @Override
@@ -77,10 +95,12 @@
             mallScoreSignRecord = new MallScoreSignRecord();
         }
 
-        if (mallScoreSignRecord.getSignTime() != null && DateUtil.between(mallScoreSignRecord.getSignTime(), new Date(), DateUnit.DAY) == 0) {
+        if (mallScoreSignRecord.getSignTime() != null && DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) == 0) {
             throw new FebsException("今天已签到");
         }
 
+        mallScoreSignRecord = judgeScoreIsContinuity(mallScoreSignRecord);
+
         ScoreSettingDto scoreSetting = JSONObject.parseObject(dic.getValue(),ScoreSettingDto.class);
         int days = mallScoreSignRecord.getTotalCnt() == null ? 1 : mallScoreSignRecord.getTotalCnt() + 1;
         switch (days) {
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelUpdateInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelUpdateInfoVo.java
index 3181d8f..49aab25 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelUpdateInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminAgentLevelUpdateInfoVo.java
@@ -41,4 +41,6 @@
      * 团队收益 1-指定金额 2-比例
      */
     private Integer teamIncomeType;
+
+    private BigDecimal profitProp;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java
index d70b1a9..8d055bd 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyFlowListVo.java
@@ -36,4 +36,6 @@
 
     private String bindPhone;
 
+    private Integer flowType;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/NewsListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/NewsListVo.java
index c912e7c..20768cf 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/NewsListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/NewsListVo.java
@@ -15,7 +15,7 @@
 
     private Long id;
 
-    private Long title;
+    private String title;
 
     private String thumb;
 
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
index 418e056..d80dd6c 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
@@ -54,7 +54,7 @@
     @Override
     public String aliPay(MallOrderInfo orderInfo) {
         AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
-        model.setSubject("澳美芝商品支付");
+        model.setSubject("澳芝美商品支付");
         model.setBody(orderInfo.getName());
         model.setOutTradeNo(orderInfo.getOrderNo());
         model.setTimeoutExpress("15m");
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
index cdadcb4..46c50a1 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -66,11 +66,10 @@
     @RabbitListener(queues = QueueConstants.ORDER_RETURN_MONEY)
     public void orderReturnMoney(String orderId) {
         log.info("收到订单返利消息:{}", orderId);
-
         try {
             memberProfitService.dynamicProfit(Long.parseLong(orderId));
         } catch (Exception e) {
-            log.error("订单返利异常:{}", e);
+            log.error("订单返利异常:", e);
         }
     }
 }
diff --git a/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml b/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml
index 7519615..669a566 100644
--- a/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml
+++ b/src/main/resources/mapper/modules/MallScoreSignRecordMapper.xml
@@ -2,11 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cc.mrbird.febs.mall.mapper.MallScoreSignRecordMapper">
 
-
+    <!-- select *, max(sign_time) signTime from mall_score_sign_record
+    where member_id=#{memberId}
+    group by member_id -->
     <select id="selectRecentSignRecord" resultType="cc.mrbird.febs.mall.entity.MallScoreSignRecord">
-        select *, max(sign_time) signTime from mall_score_sign_record
-        where member_id=#{memberId}
-        group by member_id
+        select * from mall_score_sign_record
+        where member_id=#{memberId} order by id desc limit 1
     </select>
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/error/403.html b/src/main/resources/templates/error/403.html
index bcde4b3..41d8491 100644
--- a/src/main/resources/templates/error/403.html
+++ b/src/main/resources/templates/error/403.html
@@ -2,7 +2,7 @@
 <html xmlns:th="http://www.thymeleaf.org">
 <head>
     <meta charset="utf-8">
-    <title>澳美芝 权限系统</title>
+    <title>澳芝美 权限系统</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
diff --git a/src/main/resources/templates/error/404.html b/src/main/resources/templates/error/404.html
index 2ac792c..598e25a 100644
--- a/src/main/resources/templates/error/404.html
+++ b/src/main/resources/templates/error/404.html
@@ -2,7 +2,7 @@
 <html xmlns:th="http://www.thymeleaf.org">
 <head>
     <meta charset="utf-8">
-    <title>澳美芝 权限系统</title>
+    <title>澳芝美 权限系统</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
diff --git a/src/main/resources/templates/error/500.html b/src/main/resources/templates/error/500.html
index 3af08c2..11b1467 100644
--- a/src/main/resources/templates/error/500.html
+++ b/src/main/resources/templates/error/500.html
@@ -2,7 +2,7 @@
 <html xmlns:th="http://www.thymeleaf.org">
 <head>
     <meta charset="utf-8">
-    <title>澳美芝 权限系统</title>
+    <title>澳芝美 权限系统</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
diff --git a/src/main/resources/templates/febs/views/layout.html b/src/main/resources/templates/febs/views/layout.html
index 50cfcf6..c53c8b1 100644
--- a/src/main/resources/templates/febs/views/layout.html
+++ b/src/main/resources/templates/febs/views/layout.html
@@ -64,7 +64,7 @@
         <div class="layui-side-scroll">
             <div class="layui-logo" style="cursor: pointer">
                 <img data-th-src="@{febs/images/logo.png}">
-                <span>澳美芝 权限系统</span>
+                <span>澳芝美 权限系统</span>
             </div>
             <script
                     type="text/html"
diff --git a/src/main/resources/templates/febs/views/login.html b/src/main/resources/templates/febs/views/login.html
index dda151d..2b6340f 100644
--- a/src/main/resources/templates/febs/views/login.html
+++ b/src/main/resources/templates/febs/views/login.html
@@ -2,7 +2,7 @@
 <html xmlns:th="http://www.thymeleaf.org">
 <head>
     <meta charset="utf-8">
-    <title>澳美芝 权限系统</title>
+    <title>澳芝美 权限系统</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
@@ -19,7 +19,7 @@
         <div class="layui-container">
             <div class="layui-row">
                 <div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4 febs-tc">
-                    <div class="layui-logo"><span><b>澳美芝</b> 权限系统</span></div>
+                    <div class="layui-logo"><span><b>澳芝美</b> 权限系统</span></div>
                 </div>
                 <div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4" id="login-div">
                     <div class="layui-form" lay-filter="login-form">
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html b/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
index bfd4d27..d670df0 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
@@ -588,8 +588,11 @@
                 selector: '#toolbar-container',
                 mode: 'default'
             });
-            tableSkuData = skus;
-            reloadTable(skus);
+
+            if (skus) {
+                tableSkuData = skus;
+                reloadTable(skus);
+            }
         }
 
         form.on('submit(goods-update-form-submit)', function (data) {
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate-bak.html b/src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate-bak.html
new file mode 100644
index 0000000..3f29742
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate-bak.html
@@ -0,0 +1,119 @@
+<style>
+    #agent-level-edit {
+        padding: 20px 25px 25px 0;
+    }
+
+    #agent-level-edit .layui-treeSelect .ztree li a, .ztree li span {
+        margin: 0 0 2px 3px !important;
+    }
+    #agent-level-edit #data-permission-tree-block {
+        border: 1px solid #eee;
+        border-radius: 2px;
+        padding: 3px 0;
+    }
+    #agent-level-edit .layui-treeSelect .ztree li span.button.switch {
+        top: 1px;
+        left: 3px;
+    }
+    #agent-level-edit img{
+        max-width:200px
+    }
+
+</style>
+<div class="layui-fluid" id="agent-level-edit">
+    <form class="layui-form" action="" lay-filter="agent-level-edit-form">
+        <div class="layui-form-item febs-hide">
+            <label class="layui-form-label">id:</label>
+            <div class="layui-input-block">
+                <input type="text" name="id">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">下单数量要求:</label>
+            <div class="layui-input-block">
+                <input type="radio" name="orderType" value="1" title="直推" >
+                <input type="radio" name="orderType" value="2" title="团队">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">下单数量:</label>
+            <div class="layui-input-block">
+                <input type="number" name="orderCnt" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">需要上一级的数量:</label>
+            <div class="layui-input-block">
+                <input type="number" name="lastCnt" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">团队收益类型:</label>
+            <div class="layui-input-block">
+                <input type="radio" name="teamIncomeType" value="1" title="指定金额" >
+                <input type="radio" name="teamIncomeType" value="2" title="比例">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <div style="text-align:center;color: red">提示:【团队收益】如果选择【比例】,请输入百分比数字,如:80%,请输入80</div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">团队收益:</label>
+            <div class="layui-input-block">
+                <input type="number" name="teamIncome" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <div style="text-align:center;color: red">提示:【直推收益】请输入百分比数字,如:80%,请输入80</div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">直推收益:</label>
+            <div class="layui-input-block">
+                <input type="number" name="directIncome" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item febs-hide">
+            <button class="layui-btn" lay-submit="" lay-filter="agent-level-edit-submit" id="submit"></button>
+        </div>
+    </form>
+</div>
+
+<script data-th-inline="javascript">
+    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree'], function () {
+        var $ = layui.$,
+            febs = layui.febs,
+            layer = layui.layer,
+            formSelects = layui.formSelects,
+            treeSelect = layui.treeSelect,
+            form = layui.form,
+            eleTree = layui.eleTree,
+            agentLevelUpdateInfo = [[${agentLevelUpdateInfo}]],
+            $view = $('#agent-level-edit'),
+            validate = layui.validate,
+            _deptTree;
+        form.render();
+
+        initUserValue();
+
+        function initUserValue() {
+            form.val("agent-level-edit-form", {
+                "id": agentLevelUpdateInfo.id,
+                "orderType": agentLevelUpdateInfo.orderType,
+                "orderCnt": agentLevelUpdateInfo.orderCnt,
+                "directIncome": agentLevelUpdateInfo.directIncome,
+                "teamIncome": agentLevelUpdateInfo.teamIncome,
+                "teamIncomeType": agentLevelUpdateInfo.teamIncomeType,
+                "lastCnt": agentLevelUpdateInfo.lastCnt
+            });
+        }
+
+        form.on('submit(agent-level-edit-submit)', function (data) {
+            febs.post(ctx + 'admin/mallMember/agentLevelUpdate', data.field, function () {
+                layer.closeAll();
+                febs.alert.success('操作成功');
+                $('#febs-user-agent-level').find('#reset').click();
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate.html b/src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate.html
index 3f29742..0735a7c 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/agentLevelUpdate.html
@@ -29,47 +29,17 @@
             </div>
         </div>
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">下单数量要求:</label>
+            <label class="layui-form-label febs-form-item-require">团队业绩:</label>
             <div class="layui-input-block">
-                <input type="radio" name="orderType" value="1" title="直推" >
-                <input type="radio" name="orderType" value="2" title="团队">
+                <input type="number" name="teamIncome" class="layui-input" placeholder="万元">
+                <div class="layui-form-mid layui-word-aux">万元</div>
             </div>
         </div>
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">下单数量:</label>
+            <label class="layui-form-label febs-form-item-require">返利比例:</label>
             <div class="layui-input-block">
-                <input type="number" name="orderCnt" class="layui-input">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">需要上一级的数量:</label>
-            <div class="layui-input-block">
-                <input type="number" name="lastCnt" class="layui-input">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">团队收益类型:</label>
-            <div class="layui-input-block">
-                <input type="radio" name="teamIncomeType" value="1" title="指定金额" >
-                <input type="radio" name="teamIncomeType" value="2" title="比例">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <div style="text-align:center;color: red">提示:【团队收益】如果选择【比例】,请输入百分比数字,如:80%,请输入80</div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">团队收益:</label>
-            <div class="layui-input-block">
-                <input type="number" name="teamIncome" class="layui-input">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <div style="text-align:center;color: red">提示:【直推收益】请输入百分比数字,如:80%,请输入80</div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">直推收益:</label>
-            <div class="layui-input-block">
-                <input type="number" name="directIncome" class="layui-input">
+                <input type="number" name="profitProp" class="layui-input" placeholder="%">
+                <div class="layui-form-mid layui-word-aux">%</div>
             </div>
         </div>
         <div class="layui-form-item febs-hide">
@@ -98,12 +68,8 @@
         function initUserValue() {
             form.val("agent-level-edit-form", {
                 "id": agentLevelUpdateInfo.id,
-                "orderType": agentLevelUpdateInfo.orderType,
-                "orderCnt": agentLevelUpdateInfo.orderCnt,
-                "directIncome": agentLevelUpdateInfo.directIncome,
                 "teamIncome": agentLevelUpdateInfo.teamIncome,
-                "teamIncomeType": agentLevelUpdateInfo.teamIncomeType,
-                "lastCnt": agentLevelUpdateInfo.lastCnt
+                "profitProp": agentLevelUpdateInfo.profitProp
             });
         }
 
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/agentList.html b/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
index dcf2afe..f704b1f 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/agentList.html
@@ -18,17 +18,15 @@
                                         </div>
                                     </div>
                                     <div class="layui-inline">
-                                        <label class="layui-form-label layui-form-label-sm">账户状态</label>
+                                        <label class="layui-form-label layui-form-label-sm">代理层级</label>
                                         <div class="layui-input-inline">
                                             <select name="level">
                                                 <option value="">请选择</option>
-                                                <option value="ZERO_LEVEL">未激活</option>
                                                 <option value="FIRST_LEVEL">普通会员</option>
-                                                <option value="SECOND_LEVEL">业务经理</option>
-                                                <option value="THIRD_LEVEL">区域代理</option>
-                                                <option value="FOUR_LEVEL">代理</option>
-                                                <option value="FIFTH_LEVEL">总代</option>
-                                                <option value="SIX_LEVEL">董事</option>
+                                                <option value="SECOND_LEVEL">区级代理</option>
+                                                <option value="THIRD_LEVEL">市级代理</option>
+                                                <option value="FOUR_LEVEL">省级代理</option>
+                                                <option value="FIFTH_LEVEL">全国总代</option>
                                             </select>
                                         </div>
                                     </div>
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 ce8cf2a..f18c7ab 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -18,19 +18,38 @@
                                         </div>
                                     </div>
                                     <div class="layui-inline">
-                                        <label class="layui-form-label layui-form-label-sm">账户状态</label>
+                                        <label class="layui-form-label layui-form-label-sm">流水类型</label>
                                         <div class="layui-input-inline">
                                             <select name="type">
                                                 <option value="">请选择</option>
-                                                <option value="1">直推奖励</option>
-                                                <option value="2">团队奖励</option>
-                                                <option value="3">订单支付</option>
-                                                <option value="4">退款</option>
-                                                <option value="5">转账</option>
-                                                <option value="6">提现</option>
-                                                <option value="7">排名奖励</option>
-                                                <option value="8">利润分红</option>
-                                                <option value="9">系统拨付</option>
+                                                <option value="1">静态收益</option>
+                                                <option value="2">动态收益</option>
+                                                <option value="3">代理收益</option>
+                                                <option value="4">排名收益</option>
+                                                <option value="5">董事收益</option>
+                                                <option value="6">社区店补</option>
+                                                <option value="7">推荐人收益</option>
+                                                <option value="8">提现</option>
+                                                <option value="9">转账</option>
+                                                <option value="10">支付</option>
+                                                <option value="11">退款</option>
+                                                <option value="12">佣金转竞猜积分</option>
+                                                <option value="13">佣金转余额</option>
+                                                <option value="14">竞猜积分签到</option>
+                                                <option value="15">感恩奖</option>
+                                                <option value="16">系统拨付</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="flowType">
+                                                <option value="">请选择</option>
+                                                <option value="1">余额</option>
+                                                <option value="2">赠送积分</option>
+                                                <option value="3">竞猜积分</option>
+                                                <option value="4">佣金</option>
                                             </select>
                                         </div>
                                     </div>
@@ -104,37 +123,53 @@
                     {field: 'type', title: '流水类型',
                         templet: function (d) {
                             if (d.type === 1) {
-                                return '<span>直推奖励</span>'
+                                return '<span>静态收益</span>'
                             } else if (d.type === 2) {
-                                return '<span>团队奖励</span>'
+                                return '<span>动态收益</span>'
                             } else if (d.type === 3) {
-                                return '<span>订单支付</span>'
+                                return '<span>代理收益</span>'
                             } else if (d.type === 4) {
-                                return '<span>退款</span>'
+                                return '<span>排名收益</span>'
                             }else if (d.type === 5) {
-                                return '<span>转账</span>'
+                                return '<span>董事收益</span>'
                             }else if (d.type === 6) {
-                                return '<span>提现</span>'
+                                return '<span>社区店补</span>'
                             }else if (d.type === 7) {
-                                return '<span>排名奖励</span>'
+                                return '<span>推荐人收益</span>'
                             }else if (d.type === 8) {
-                                return '<span>利润分红</span>'
+                                return '<span>提现</span>'
                             }else if (d.type === 9) {
+                                return '<span>转账</span>'
+                            }else if (d.type === 10) {
+                                return '<span>支付</span>'
+                            }else if (d.type === 11) {
+                                return '<span>退款</span>'
+                            }else if (d.type === 12) {
+                                return '<span>佣金转竞猜积分</span>'
+                            }else if (d.type === 13) {
+                                return '<span>佣金转余额</span>'
+                            }else if (d.type === 14) {
+                                return '<span>竞猜积分签到</span>'
+                            }else if (d.type === 15) {
+                                return '<span>感恩奖</span>'
+                            }else if (d.type === 16) {
                                 return '<span>系统拨付</span>'
                             }else{
                                 return ''
                             }
                         }, minWidth: 80,align:'center'},
-                    {field: 'type', title: '支付方式',
+                    {field: 'flowType', title: '资金类型',
                         templet: function (d) {
-                            if (d.type === 3) {
-                                if(d.payMethod === null || d.payMethod ===''){
-                                    return ''
-                                }else{
-                                    return '<span>'+d.payMethod+'</span>'
-                                }
-                            } else{
-                                return ''
+                            if (d.flowType === 1) {
+                                return '余额';
+                            } else if(d.flowType === 2) {
+                                return '赠送积分'
+                            } else if(d.flowType === 3) {
+                                return '竞猜积分'
+                            } else if(d.flowType === 4) {
+                                return '佣金'
+                            } else {
+                                return '-';
                             }
                         }, minWidth: 80,align:'center'},
                     {field: 'orderNo', title: '订单编号', minWidth: 150,align:'left'},
@@ -149,6 +184,7 @@
                 name: $searchForm.find('input[name="name"]').val().trim(),
                 phone: $searchForm.find('input[name="phone"]').val().trim(),
                 type: $searchForm.find("select[name='type']").val(),
+                flowType: $searchForm.find("select[name='flowType']").val(),
             };
         }
 
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index 9dc75a1..14b99c3 100644
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -3,7 +3,7 @@
       xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 <head>
     <meta charset="utf-8">
-    <title>澳美芝 权限系统</title>
+    <title>澳芝美 权限系统</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
diff --git a/src/test/java/cc/mrbird/febs/AgentTest.java b/src/test/java/cc/mrbird/febs/AgentTest.java
index 584839e..12b948b 100644
--- a/src/test/java/cc/mrbird/febs/AgentTest.java
+++ b/src/test/java/cc/mrbird/febs/AgentTest.java
@@ -12,6 +12,7 @@
 import cc.mrbird.febs.mall.service.IAgentService;
 import cc.mrbird.febs.mall.vo.ApiMallActWinDetailsVo;
 import cc.mrbird.febs.mall.vo.ApiMallAwardDetailsVo;
+import cc.mrbird.febs.rabbit.consumer.AgentConsumer;
 import cc.mrbird.febs.rabbit.producter.AgentProducer;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -615,4 +616,13 @@
     public void profitJobTest() {
         profitJob.profitJob();
     }
+
+
+    @Autowired
+    private AgentConsumer agentConsumer;
+
+    @Test
+    public void orderReturnTest() {
+        agentConsumer.orderReturnMoney("7");
+    }
 }

--
Gitblit v1.9.1