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