From d5de8ee29bc317b3cbed23dcff76ae352649fdff Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 03 Nov 2022 15:18:56 +0800
Subject: [PATCH] 20221021
---
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java | 52 +++++++++++++++++++++++++++++++---------------------
1 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
index 4c1ade5..b86b8c1 100644
--- a/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
+++ b/src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -63,6 +63,9 @@
@Autowired
private ApiIgtOnHookPlanService apiIgtOnHookPlanService;
+ @Autowired
+ private DappOnHookDoneDao dappOnHookDoneDao;
+
/**
* 五分钟更新一次数据
* 让挂机字表的状态为1:已生效
@@ -226,7 +229,7 @@
// igtOnHookPlanOrder.setState(3);
// igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
// }else{
-// //获取收益率
+ //获取收益率
// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(igtOnHookPlanOrder.getMemberId());
// DataDictionaryCustom identityDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMemberEntity.getIdentity());
// String identityDicValue = identityDic.getValue();
@@ -278,40 +281,47 @@
@Scheduled(cron = "0 0/1 * * * ? ")
public void updatePlanOrder(){
Log.info("开始更新挂机主表状态");
-
List<IgtOnHookPlanOrder> igtOnHookPlanOrders = igtOnHookPlanOrderDao.selectByState(3);
if(CollUtil.isNotEmpty(igtOnHookPlanOrders)){
+// List<Long> ids = igtOnHookPlanOrderDao.selectIdsByState(3);
+// //更新状态避免重复查询
+// igtOnHookPlanOrderDao.updateByIds(ids);
for(IgtOnHookPlanOrder igtOnHookPlanOrder : igtOnHookPlanOrders){
- Long orderId = igtOnHookPlanOrder.getId();
Long memberId = igtOnHookPlanOrder.getMemberId();
BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
- BigDecimal avaAmount = igtOnHookPlanOrder.getAvaAmount();
- //总盈利
-// BigDecimal totalProfit = igtOnHookPlanOrderItemDao.selectTotalProfitByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
- BigDecimal totalProfit = igtOnHookPlanOrder.getProfit();
DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+ //避免重复
+ QueryWrapper<DappOnHookDone> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("order_id",igtOnHookPlanOrder.getId());
+ List<DappOnHookDone> dappOnHookDones = dappOnHookDoneDao.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(dappOnHookDones)){
+ continue;
+ }
+ //生成记录
+ DappOnHookDone dappOnHookDone = new DappOnHookDone(dappMemberEntity.getId(), igtOnHookPlanOrder.getId());
+ dappOnHookDoneDao.insert(dappOnHookDone);
+ //获取收益率
+ DataDictionaryCustom identityDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMemberEntity.getIdentity());
+ String identityDicValue = identityDic.getValue();
+ JSONObject identityDicValueParse = JSONUtil.parseObj(identityDicValue);
+ BigDecimal hangingRevenueLevel = new BigDecimal(identityDicValueParse.get("hangingRevenue").toString())
+ .multiply(new BigDecimal(0.01)).setScale(4,BigDecimal.ROUND_DOWN);
+ //获取收益
+ BigDecimal totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN);
+
String refererIds = dappMemberEntity.getRefererIds();
List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
//生成流水佣金和盈利分成和流水记录,返回剩余盈利
- BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
+ BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit,igtOnHookPlanOrder.getId());
//平台分成,返回剩余盈利
- BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
+ BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit,igtOnHookPlanOrder.getId());
totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
-
-
- //获取用户信息的是否盈利字段
- DappMemberEntity dappMember = dappMemberDao.selectById(memberId);
- Integer isProfit = dappMember.getIsProfit() == null ? 1 : dappMember.getIsProfit();
igtOnHookPlanOrder.setState(2);
//一次挂机剩余的全部金额
- BigDecimal totalMoney = totalProfit.add(avaAmount);
- if(totalMoney.compareTo(planAmount)<=0){
- igtOnHookPlanOrder.setProfitState(2);
- }else{
- igtOnHookPlanOrder.setProfitState(1);
- }
+ BigDecimal totalMoney = totalProfit.add(planAmount);
+
igtOnHookPlanOrder.setProfit(totalProfit);
igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
dappMemberEntity.setIsOnHook(3);
@@ -323,7 +333,7 @@
BigDecimal add = availableAmount.add(totalMoney);
BigDecimal subtract = add.subtract(totalProfit);
- DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
+ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5,igtOnHookPlanOrder.getId());
dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
}
}
--
Gitblit v1.9.1