From b8bf19375db90bf5bd409cacfe6cb066c5f2b34a Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 25 Oct 2022 00:19:56 +0800
Subject: [PATCH] 20221021
---
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java | 64 +++++--
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 322 +++++++++++++++++-----------------------
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java | 15 +
src/test/java/cc/mrbird/febs/JunitTest.java | 77 +++++++++
4 files changed, 261 insertions(+), 217 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
index 05124a7..50323ae 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -202,10 +202,6 @@
4、生成流水记录
5、更新用户表是否正在挂机状态字段为否
*/
- //更新主表为结束状态
- IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(orderId);
- igtOnHookPlanOrder.setState(2);
- igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
//删除子表中未生效的记录
QueryWrapper<IgtOnHookPlanOrderItem> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("order_id",orderId);
@@ -218,9 +214,16 @@
String refererIds = dappMemberDao.selectById(memberId).getRefererIds();
List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
//生成流水佣金和盈利分成和流水记录,返回剩余盈利
- totalProfit = dappWalletService.updateLSYJYLFC(refererIdList,totalProfit);
+ BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
//平台分成,返回剩余盈利
- totalProfit = dappWalletService.updatePTFC(memberId,totalProfit);
+ BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
+ totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
+
+ //更新主表为结束状态
+ IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(orderId);
+ igtOnHookPlanOrder.setState(2);
+ igtOnHookPlanOrder.setPlanAmount(totalProfit);
+ igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
//所有未中奖的本金
BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 6758233..1acda06 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -860,184 +860,135 @@
@Override
public BigDecimal updateLSYJYLFC(List<String> refererIdList,BigDecimal totalProfit) {
//计算盈利分成
-// if(CollUtil.isNotEmpty(refererIdList)){
-// String LEVEL_IB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_IB.getCode());
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// BigDecimal multiply = totalProfit.multiply(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// DappMemberEntity dappMemberEntityLEVEL_IB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_IB);
-//
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_IB.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_IB.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-// String LEVEL_FIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_FIB.getCode());
-// if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
-// BigDecimal multiply = BigDecimal.ZERO;
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// }else{
-// multiply = totalProfit.multiply(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
-// }
-// DappMemberEntity dappMemberEntityLEVEL_FIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_FIB);
-//
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_FIB.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_FIB.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-// String LEVEL_CIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_CIB.getCode());
-// if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
-// BigDecimal multiply = BigDecimal.ZERO;
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
-// }
-// multiply = totalProfit.multiply(multiply);
-// DappMemberEntity dappMemberEntityLEVEL_CIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_CIB);
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_CIB.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_CIB.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-// String LEVEL_AIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_AIB.getCode());
-// if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
-// BigDecimal multiply = BigDecimal.ZERO;
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
-// }
-// multiply = totalProfit.multiply(multiply);
-// DappMemberEntity dappMemberEntityLEVEL_AIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_AIB);
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_AIB.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_AIB.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-// String LEVEL_GIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GIB.getCode());
-// if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
-// BigDecimal multiply = BigDecimal.ZERO;
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
-// }
-// multiply = totalProfit.multiply(multiply);
-// DappMemberEntity dappMemberEntityLEVEL_GIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GIB);
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GIB.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_GIB.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-// String LEVEL_BP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_BP.getCode());
-// if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
-// BigDecimal multiply = BigDecimal.ZERO;
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
-// }
-// multiply = totalProfit.multiply(multiply);
-// DappMemberEntity dappMemberEntityLEVEL_BP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_BP);
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_BP.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_BP.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-// String LEVEL_SP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_SP.getCode());
-// if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
-// BigDecimal multiply = BigDecimal.ZERO;
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
-// }
-// multiply = totalProfit.multiply(multiply);
-// DappMemberEntity dappMemberEntityLEVEL_SP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_SP);
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_SP.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_SP.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-// String LEVEL_GP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GP.getCode());
-// if(!DataDictionaryEnum.LEVEL_GP.getCode().equals(LEVEL_GP)){
-// BigDecimal multiply = BigDecimal.ZERO;
-// if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
-// }
-// if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
-// multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()));
-// }
-// multiply = totalProfit.multiply(multiply);
-// DappMemberEntity dappMemberEntityLEVEL_GP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GP);
-// dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GP.getId(),multiply);
-// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
-// dappMemberEntityLEVEL_GP.getId(), multiply, "盈利分成", 8);
-// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-// totalProfit = totalProfit.subtract(multiply);
-// }
-//
-//
-// }
+ BigDecimal profitSharingTotal = BigDecimal.ZERO;
+ if(CollUtil.isNotEmpty(refererIdList)){
+ String LEVEL_IB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_IB.getCode());
+ if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+ BigDecimal multiply = totalProfit.multiply(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
+ DappMemberEntity dappMemberEntityLEVEL_IB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_IB);
+
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_IB.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_IB.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+ String LEVEL_FIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_FIB.getCode());
+ if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
+ BigDecimal multiply = BigDecimal.ZERO;
+ if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
+ }else{
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode());
+ }
+
+ multiply = totalProfit.multiply(multiply);
+ DappMemberEntity dappMemberEntityLEVEL_FIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_FIB);
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_FIB.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_FIB.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+ String LEVEL_CIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_CIB.getCode());
+ if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
+ BigDecimal multiply = BigDecimal.ZERO;
+ if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
+ }else{
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode());
+ }
+ multiply = totalProfit.multiply(multiply);
+ DappMemberEntity dappMemberEntityLEVEL_CIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_CIB);
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_CIB.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_CIB.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+ String LEVEL_AIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_AIB.getCode());
+ if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
+ BigDecimal multiply = BigDecimal.ZERO;
+ if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
+ }else{
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode());
+ }
+ multiply = totalProfit.multiply(multiply);
+ DappMemberEntity dappMemberEntityLEVEL_AIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_AIB);
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_AIB.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_AIB.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+ String LEVEL_GIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GIB.getCode());
+ if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
+ BigDecimal multiply = BigDecimal.ZERO;
+ if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
+ }else{
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode());
+ }
+ multiply = totalProfit.multiply(multiply);
+ DappMemberEntity dappMemberEntityLEVEL_GIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GIB);
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GIB.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_GIB.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+ String LEVEL_BP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_BP.getCode());
+ if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
+ BigDecimal multiply = BigDecimal.ZERO;
+ if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
+ }else{
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode());
+ }
+ multiply = totalProfit.multiply(multiply);
+ DappMemberEntity dappMemberEntityLEVEL_BP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_BP);
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_BP.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_BP.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+ String LEVEL_SP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_SP.getCode());
+ if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
+ BigDecimal multiply = BigDecimal.ZERO;
+ if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
+ }else{
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode());
+ }
+ multiply = totalProfit.multiply(multiply);
+ DappMemberEntity dappMemberEntityLEVEL_SP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_SP);
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_SP.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_SP.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+ String LEVEL_GP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GP.getCode());
+ if(!DataDictionaryEnum.LEVEL_GP.getCode().equals(LEVEL_GP)){
+ BigDecimal multiply = BigDecimal.ZERO;
+ if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()));
+ }else{
+ multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode());
+ }
+ multiply = totalProfit.multiply(multiply);
+ DappMemberEntity dappMemberEntityLEVEL_GP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GP);
+ dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GP.getId(),multiply);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
+ dappMemberEntityLEVEL_GP.getId(), multiply, "盈利分成", 8);
+ dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+ profitSharingTotal = profitSharingTotal.add(multiply);
+ }
+
+
+ }
//计算流水佣金
if(CollUtil.isNotEmpty(refererIdList)){
String LEVEL_AIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_AIB.getCode());
@@ -1049,7 +1000,7 @@
DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
dappMemberEntityLEVEL_AIB.getId(), multiply, "流水佣金", 7);
dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
- totalProfit = totalProfit.subtract(multiply);
+ profitSharingTotal = profitSharingTotal.add(multiply);
}
String LEVEL_GIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GIB.getCode());
@@ -1061,7 +1012,7 @@
DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
dappMemberEntityLEVEL_GIB.getId(), multiply, "流水佣金", 7);
dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
- totalProfit = totalProfit.subtract(multiply);
+ profitSharingTotal = profitSharingTotal.add(multiply);
}
String LEVEL_BP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_BP.getCode());
@@ -1073,7 +1024,7 @@
DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
dappMemberEntityLEVEL_BP.getId(), multiply, "流水佣金", 7);
dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
- totalProfit = totalProfit.subtract(multiply);
+ profitSharingTotal = profitSharingTotal.add(multiply);
}
String LEVEL_SP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_SP.getCode());
@@ -1085,7 +1036,7 @@
DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
dappMemberEntityLEVEL_SP.getId(), multiply, "流水佣金", 7);
dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
- totalProfit = totalProfit.subtract(multiply);
+ profitSharingTotal = profitSharingTotal.add(multiply);
}
String LEVEL_GP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GP.getCode());
@@ -1097,10 +1048,10 @@
DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
dappMemberEntityLEVEL_GP.getId(), multiply, "流水佣金", 7);
dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
- totalProfit = totalProfit.subtract(multiply);
+ profitSharingTotal = profitSharingTotal.add(multiply);
}
}
- return totalProfit;
+ return profitSharingTotal;
}
@Override
@@ -1109,8 +1060,7 @@
DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
memberId, multiply, "系统", 9);
dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
- totalProfit = totalProfit.subtract(multiply);
- return totalProfit;
+ return multiply;
}
private String isIdentity(List<String> refererIds,String levelCode){
diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index a5aa65a..926227b 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -131,9 +131,10 @@
String refererIds = dappMemberEntity.getRefererIds();
List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
//生成流水佣金和盈利分成和流水记录,返回剩余盈利
- totalProfit = dappWalletService.updateLSYJYLFC(refererIdList,totalProfit);
+ BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
//平台分成,返回剩余盈利
- totalProfit = dappWalletService.updatePTFC(memberId,totalProfit);
+ BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
+ totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
igtOnHookPlanOrder.setState(2);
@@ -144,6 +145,7 @@
}else{
igtOnHookPlanOrder.setProfitState(1);
}
+ igtOnHookPlanOrder.setPlanAmount(totalProfit);
igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
dappMemberEntity.setIsOnHook(3);
dappMemberDao.updateById(dappMemberEntity);
@@ -175,7 +177,7 @@
@Scheduled(cron = "0 0/1 * * * ? ")
public void createAwardInfo(){
- Log.info("挂架开奖记录");
+ Log.info("挂机开奖记录");
/**
* 每天跑一次,直接生成全部的记录
* 产生中奖记录
@@ -186,29 +188,51 @@
String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
// DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
-
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String yyyyMMdd = sdf.format(date);
QueryWrapper<DappOnHookAward> dappOnHookAwardQueryWrapper = new QueryWrapper();
dappOnHookAwardQueryWrapper.like("record_num",yyyyMMdd);
Integer selectCount = dappOnHookAwardDao.selectCount(dappOnHookAwardQueryWrapper);
- if(0 < selectCount){
- return;
+ if(0 == selectCount){
+ Format formatCount = new DecimalFormat("000");
+ //一般都是将累加的数字当做一些单号的一部分,format要求string
+ int dayMillise = (24 * 60) / 5;
+ for(int i= 1;i <= dayMillise;i++){
+ DappOnHookAward dappOnHookAward = new DappOnHookAward();
+ int randomInt = RandomUtil.randomInt(10000, 99999);
+ dappOnHookAward.setAwardNum(Integer.toString(randomInt));
+ dappOnHookAward.setState(2);
+ String str = formatCount.format(i);
+ dappOnHookAward.setRecordNum(yyyyMMdd+str);
+ dappOnHookAward.setAwardTime(aWardTimeStart);
+ dappOnHookAwardDao.insert(dappOnHookAward);
+ aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
+ }
}
- Format formatCount = new DecimalFormat("000");
- //一般都是将累加的数字当做一些单号的一部分,format要求string
- int dayMillise = (24 * 60) / 5;
- for(int i= 1;i <= dayMillise;i++){
- DappOnHookAward dappOnHookAward = new DappOnHookAward();
- int randomInt = RandomUtil.randomInt(10000, 99999);
- dappOnHookAward.setAwardNum(Integer.toString(randomInt));
- dappOnHookAward.setState(2);
- String str = formatCount.format(i);
- dappOnHookAward.setRecordNum(yyyyMMdd+str);
- dappOnHookAward.setAwardTime(aWardTimeStart);
- dappOnHookAwardDao.insert(dappOnHookAward);
- aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
+
+ DateTime tomorrow = DateUtil.tomorrow();
+ String tomorrowTime = DateUtil.format(tomorrow, "yyyy-MM-dd");
+ DateTime tomorrowTimeStart = DateUtil.parseDateTime(tomorrowTime + " 00:00:00");
+// DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
+ String tomorrowYyyyMMdd = sdf.format(tomorrow);
+ QueryWrapper<DappOnHookAward> tomorrowYyyyMMddWrapper = new QueryWrapper();
+ tomorrowYyyyMMddWrapper.like("record_num",tomorrowYyyyMMdd);
+ Integer tomorrowSelectCount = dappOnHookAwardDao.selectCount(tomorrowYyyyMMddWrapper);
+ if(0 == tomorrowSelectCount){
+ Format formatCount = new DecimalFormat("000");
+ //一般都是将累加的数字当做一些单号的一部分,format要求string
+ int dayMilliseT = (24 * 60) / 5;
+ for(int i= 1;i <= dayMilliseT;i++){
+ DappOnHookAward dappOnHookAward = new DappOnHookAward();
+ int randomInt = RandomUtil.randomInt(10000, 99999);
+ dappOnHookAward.setAwardNum(Integer.toString(randomInt));
+ dappOnHookAward.setState(2);
+ String str = formatCount.format(i);
+ dappOnHookAward.setRecordNum(tomorrowYyyyMMdd+str);
+ dappOnHookAward.setAwardTime(tomorrowTimeStart);
+ dappOnHookAwardDao.insert(dappOnHookAward);
+ tomorrowTimeStart = DateUtil.offsetMinute(tomorrowTimeStart, 5);
+ }
}
}
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index c05401d..9e67254 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -18,12 +18,14 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.jline.utils.Log;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +33,9 @@
import java.math.BigDecimal;
import java.security.KeyPair;
+import java.text.DecimalFormat;
+import java.text.Format;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -234,7 +239,7 @@
private DappWalletService dappWalletService;
@Test
public void testProfitSharing(){
- IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(125L);
+ IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(129L);
Long orderId = igtOnHookPlanOrder.getId();
Long memberId = igtOnHookPlanOrder.getMemberId();
BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
@@ -248,14 +253,76 @@
String refererIds = dappMemberEntity.getRefererIds();
List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
//生成流水佣金和盈利分成和流水记录,返回剩余盈利
- totalProfit = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
- System.out.println("流水佣金和盈利分成"+totalProfit);
+ BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
+ System.out.println("流水佣金和盈利分成"+profitSharingTotal);
//平台分成,返回剩余盈利
- totalProfit = dappWalletService.updatePTFC(memberId,totalProfit);
- System.out.println("平台分成"+totalProfit);
+ BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
+ System.out.println("平台分成"+systemTotal);
}
}
+ @Test
+ public void createAwardInfo(){
+ Log.info("挂机开奖记录");
+ /**
+ * 每天跑一次,直接生成全部的记录
+ * 产生中奖记录
+ */
+ //每天开奖次数 288次
+ DateTime date = DateUtil.date();
+
+ String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
+ DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
+// DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ String yyyyMMdd = sdf.format(date);
+ QueryWrapper<DappOnHookAward> dappOnHookAwardQueryWrapper = new QueryWrapper();
+ dappOnHookAwardQueryWrapper.like("record_num",yyyyMMdd);
+ Integer selectCount = dappOnHookAwardDao.selectCount(dappOnHookAwardQueryWrapper);
+ if(0 == selectCount){
+ Format formatCount = new DecimalFormat("000");
+ //一般都是将累加的数字当做一些单号的一部分,format要求string
+ int dayMillise = (24 * 60) / 5;
+ for(int i= 1;i <= dayMillise;i++){
+ DappOnHookAward dappOnHookAward = new DappOnHookAward();
+ int randomInt = RandomUtil.randomInt(10000, 99999);
+ dappOnHookAward.setAwardNum(Integer.toString(randomInt));
+ dappOnHookAward.setState(2);
+ String str = formatCount.format(i);
+ dappOnHookAward.setRecordNum(yyyyMMdd+str);
+ dappOnHookAward.setAwardTime(aWardTimeStart);
+ dappOnHookAwardDao.insert(dappOnHookAward);
+ aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
+ }
+ }
+
+ DateTime tomorrow = DateUtil.tomorrow();
+ String tomorrowTime = DateUtil.format(tomorrow, "yyyy-MM-dd");
+ DateTime tomorrowTimeStart = DateUtil.parseDateTime(tomorrowTime + " 00:00:00");
+// DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
+ String tomorrowYyyyMMdd = sdf.format(tomorrow);
+ QueryWrapper<DappOnHookAward> tomorrowYyyyMMddWrapper = new QueryWrapper();
+ tomorrowYyyyMMddWrapper.like("record_num",tomorrowYyyyMMdd);
+ Integer tomorrowSelectCount = dappOnHookAwardDao.selectCount(tomorrowYyyyMMddWrapper);
+ if(0 == tomorrowSelectCount){
+ Format formatCount = new DecimalFormat("000");
+ //一般都是将累加的数字当做一些单号的一部分,format要求string
+ int dayMilliseT = (24 * 60) / 5;
+ for(int i= 1;i <= dayMilliseT;i++){
+ DappOnHookAward dappOnHookAward = new DappOnHookAward();
+ int randomInt = RandomUtil.randomInt(10000, 99999);
+ dappOnHookAward.setAwardNum(Integer.toString(randomInt));
+ dappOnHookAward.setState(2);
+ String str = formatCount.format(i);
+ dappOnHookAward.setRecordNum(tomorrowYyyyMMdd+str);
+ dappOnHookAward.setAwardTime(tomorrowTimeStart);
+ dappOnHookAwardDao.insert(dappOnHookAward);
+ tomorrowTimeStart = DateUtil.offsetMinute(tomorrowTimeStart, 5);
+ }
+
+ }
+ }
+
}
--
Gitblit v1.9.1