From 3586418b13d20b4d2934bbb6777b5245eaec143a Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Tue, 25 Apr 2023 01:52:18 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java | 9 ++++
src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java | 2
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | 5 ++
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 30 ++++++---------
src/main/resources/mapper/modules/MallMemberMapper.xml | 2
src/main/resources/templates/febs/views/modules/system/bonusSetting.html | 21 ++++++++++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 7 +++
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 15 ++++++-
8 files changed, 66 insertions(+), 25 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index 3e59707..79aa9b0 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -90,7 +90,10 @@
AGENT_ALL_BONUS("MEIYE_BONUS_TYPE", "AGENT_ALL_BONUS"),
PARNER_ALL_BONUS("MEIYE_BONUS_TYPE", "PARNER_ALL_BONUS"),
- AGENT_BONUS_RELEASE("MEIYE_BONUS_TYPE", "AGENT_BONUS_RELEASE");
+ AGENT_BONUS_RELEASE("MEIYE_BONUS_TYPE", "AGENT_BONUS_RELEASE"),
+ RECOMMEND_BONUS("MEIYE_BONUS_TYPE", "RECOMMEND_BONUS"),
+ UNAGENT_TO_AGENT_PARENT("MEIYE_BONUS_TYPE", "UNAGENT_TO_AGENT_PARENT"),
+ UNAGENT_TO_AGENT("MEIYE_BONUS_TYPE", "UNAGENT_TO_AGENT");
private String type;
private String code;
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index 731c1a4..562f1fa 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.BaseEntity;
import cc.mrbird.febs.common.entity.BaseEntity;
+import cc.mrbird.febs.common.enumerates.MemberLevelTagDicEnums;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -174,4 +175,12 @@
private Integer childNodeCnt;
private String skin;
+
+ public String getLevelName() {
+ if (sex != null) {
+ return MemberLevelTagDicEnums.getDesc(sex, level);
+ }
+
+ return null;
+ }
}
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 517b3c8..3d62b09 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
@@ -642,7 +642,12 @@
@Override
public List<SkinTypeVo> findSkinList() {
MallMember loginUser = LoginUserUtil.getLoginUser();
- DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.SKIN_TYPE_LIST, loginUser.getLevel());
+ String level = loginUser.getLevel();
+ // 全网分红 -- 代理和股东当作是女王殿下级别
+ if (MemberLevelEnum.getLevelCode(level) > MemberLevelEnum.FOUR_LEVEL.getCode()) {
+ level = MemberLevelEnum.FOUR_LEVEL.getType();
+ }
+ DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.SKIN_TYPE_LIST, level);
if (dic == null || StrUtil.isBlank(dic.getValue())) {
throw new FebsException("请检查皮肤配置");
}
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 81dc8e9..55bb1e4 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
@@ -57,8 +57,6 @@
log.info("积分订单无返利");
return;
}
- BigDecimal indirectPer = BigDecimal.valueOf(0.25);
- BigDecimal indirectPer2 = BigDecimal.valueOf(0.15);
MallMember member = mallMemberMapper.selectById(orderInfo.getMemberId());
@@ -73,6 +71,12 @@
return;
}
+ // 非代理推代理,非代理上级拿的收益比例
+ DataDictionaryCustom indirectPerDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNAGENT_TO_AGENT_PARENT.getType(), DataDictionaryEnum.UNAGENT_TO_AGENT_PARENT.getCode());
+
+ // 非代理推代理,非代理的直推收益比例
+ DataDictionaryCustom unAgentDirectDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNAGENT_TO_AGENT.getType(), DataDictionaryEnum.UNAGENT_TO_AGENT.getCode());
+
// 父级会员直推人数
Integer directCnt = mallMemberMapper.selectOwnCntByInviteIdAndAccountLevel(parentMember.getInviteId(), parentMember.getAccountLevel());
List<DataDictionaryCustom> dataDices = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.DIRECT_BONUS_SETTING.getType());
@@ -83,6 +87,9 @@
if (CollUtil.isEmpty(items)) {
return;
}
+
+ // 推荐奖比例
+ DataDictionaryCustom indrectDicPropDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RECOMMEND_BONUS.getType(), DataDictionaryEnum.RECOMMEND_BONUS.getCode());
for (MallOrderItem item : items) {
// 减去成本后算收益
@@ -114,7 +121,7 @@
isSameLevel = 1;
// 非代理推代理/非股东推股东
} else {
- profitPer = BigDecimal.valueOf(10);
+ profitPer = new BigDecimal(unAgentDirectDic.getValue());
isSameLevel = 2;
}
}
@@ -122,17 +129,6 @@
// 直推奖
BigDecimal profit = amount.multiply(profitPer.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
changeScoreAndCommission(parentMember.getId(), profit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
-
- // 代理推代理
-// if (isSameLevel == 1) {
-// MallMember doubleParentMember = mallMemberMapper.selectInfoByInviteId(parentMember.getReferrerId());
-// if (doubleParentMember == null) {
-// continue;
-// }
-//
-// BigDecimal doubleParentProfit = profit.multiply(indirectPer);
-// changeScoreAndCommission(doubleParentMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
-// }
// 非代理推代理
if (isSameLevel == 2) {
@@ -150,7 +146,7 @@
break;
}
- BigDecimal doubleParentProfit = profit.multiply(indirectPer2);
+ BigDecimal doubleParentProfit = profit.multiply(new BigDecimal(indirectPerDic.getValue()));
changeScoreAndCommission(mallMember.getId(), doubleParentProfit, MoneyFlowTypeEnum.DIRECT_BONUS.getValue(), orderInfo.getOrderNo());
}
}
@@ -173,8 +169,7 @@
continue;
}
- // 隔代比例
- BigDecimal indrectDicProp = new BigDecimal(20);
+ BigDecimal indrectDicProp = new BigDecimal(indrectDicPropDic.getValue());
// 隔代推荐奖 收益
direct = direct.multiply(indrectDicProp.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP));
@@ -191,7 +186,6 @@
walletService.add(direct, parent.getId(), "commission");
moneyFlowService.addMoneyFlow(parent.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.COMMISSION.getValue());
moneyFlowService.addMoneyFlow(parent.getId(), direct.negate(), MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
- changeScoreAndCommission(parent.getId(), direct, MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo());
}
// =======隔代奖== end =====
}
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 8036bf5..3f74175 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -19,7 +19,7 @@
* @date 2021-09-25
**/
@Slf4j
-//@Component
+@Component
public class AgentConsumer {
@Autowired
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index b12db56..77d810f 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -43,7 +43,7 @@
</if>
</if>
</where>
- order by m.CREATED_TIME desc
+ order by m.id desc
</select>
<select id="getMallMemberInfoById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo">
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index aa22e72..0698b6a 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -53,8 +53,8 @@
<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="moneyFlow:update" lay-event="moneyFlow">资金流水</button>
<!-- <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="updateReferer:update" lay-event="updateReferer">修改推荐人</button>-->
</script>
-<script type="text/html" id="switchStatus">
- {{# if(d.accountStatus == 1) { }}
+<script type="text/html" id="switchAccountLevel">
+ {{# if(d.accountLevel == 1) { }}
<span>会员</span>
{{# } else if(d.accountLevel == 2) { }}
<span>代理</span>
@@ -62,6 +62,13 @@
<span>股东</span>
{{# } else { }}
<span>未购买</span>
+ {{# } }}
+</script>
+<script type="text/html" id="switchStatus">
+ {{# if(d.accountStatus === 1) { }}
+ <input type="checkbox" value={{d.id}} lay-text="正常|禁用" checked lay-skin="switch" lay-filter="switchStatus">
+ {{# } else { }}
+ <input type="checkbox" value={{d.id}} lay-text="正常|禁用" lay-skin="switch" lay-filter="switchStatus">
{{# } }}
</script>
<style>
@@ -225,9 +232,11 @@
{field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
{field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'},
{field: 'prizeScore', title: '现金积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.prizeScore) }}'},
+ {field: 'commission', title: '佣金', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.commission) }}'},
+ {field: 'childNodeCnt', title: '粉丝数量', minWidth: 100,align:'left'},
{field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
{field: 'levelName', title: '会员类型', minWidth: 100,align:'left'},
- {field: 'insideWith', title: '账号级别', templet:'#switchStatus', minWidth: 120,align:'left'},
+ {field: 'insideWith', title: '账号级别', templet:'#switchAccountLevel', minWidth: 120,align:'left'},
{field: 'accountType', title: '账号类型',
templet: function (d) {
if (d.accountType === 2) {
diff --git a/src/main/resources/templates/febs/views/modules/system/bonusSetting.html b/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
index 64da721..9fd60c6 100644
--- a/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
+++ b/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
@@ -7,6 +7,27 @@
<div class="layui-tab-item layui-show">
<table id="agentBonus" lay-filter="agentBonus"></table>
</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="RECOMMEND_BONUS" lay-verify="required|integer" autocomplete="off" class="layui-input" >
+ </div>
+ <div class="layui-word-aux" style="margin-left: 150px;"></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="UNAGENT_TO_AGENT" lay-verify="required|integer" autocomplete="off" class="layui-input" >
+ </div>
+ <div class="layui-word-aux" style="margin-left: 150px;">非代理/股东推荐的人购买了代理/股东套餐的直推收益比例</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="UNAGENT_TO_AGENT_PARENT" lay-verify="required|integer" autocomplete="off" class="layui-input" >
+ </div>
+ <div class="layui-word-aux" style="margin-left: 150px;">非代理/股东推荐的人购买了代理/股东套餐的其父级收益比例</div>
+ </div>
</div>
<div class="layui-card-body">
--
Gitblit v1.9.1