From 18b681e553980b20bc9b5b3a113167f33b83a7b3 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 10 Aug 2023 14:12:37 +0800
Subject: [PATCH] 数据修改
---
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java | 6
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 2893 +++++++++++++++++----------------
src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java | 98 -
src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java | 2
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 444 +---
src/main/java/cc/mrbird/febs/dapp/mapper/MallAchieveRecordMapper.java | 12
src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java | 14
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java | 2
src/main/resources/mapper/dapp/DappMemberDao.xml | 24
src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java | 3
src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java | 1
src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java | 2
src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java | 51
src/main/java/cc/mrbird/febs/dapp/entity/TeamLevelPerk.java | 6
src/main/java/cc/mrbird/febs/websocket/WsAuthInterceptor.java | 2
src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java | 6
src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java | 14
src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java | 128
src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java | 58
src/main/resources/mapper/dapp/DappFundFlowDao.xml | 9
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 1044 ++++-------
src/main/java/cc/mrbird/febs/job/BnbTransferJob.java | 43
src/main/resources/mapper/dapp/MallAchieveRecordMapper.xml | 49
src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java | 2
src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java | 36
src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java | 4
src/main/java/cc/mrbird/febs/dapp/vo/TeamChildListVo.java | 40
src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java | 6
28 files changed, 2,354 insertions(+), 2,645 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
index 5aa9eb9..b1789b8 100644
--- a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
+++ b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
@@ -147,7 +147,7 @@
// TODO 业务操作逻辑代码
System.out.println("from:"+from+",amount:"+amount+",regFlow:"+regFlow);
- chainProducer.sendContractAnDao(Long.parseLong(regFlow));
+// chainProducer.sendContractAnDao(Long.parseLong(regFlow));
//投注人
// DappMemberEntity dappMemberEntity = dappMemberDao.selectByAddress(from, "BSC");
// if(ObjectUtil.isNotEmpty(dappMemberEntity)){
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
index 8afd4dc..b8d819b 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -43,16 +43,6 @@
private final DappMemberService dappMemberService;
private final RedisUtils redisUtils;
- @ApiOperation(value = "获取账户信息接口", notes = "获取账号信息接口")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = WalletInfoVo.class)
- })
- @PostMapping(value = "/walletInfo")
- public FebsResponse walletInfo() {
- WalletInfoVo walletInfoVo = dappWalletService.walletInfo();
- return new FebsResponse().success().data(walletInfoVo);
- }
-
@ApiOperation(value = "获取用户信息", notes = "获取用户信息")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = DappMemberInfoVo.class)
@@ -62,37 +52,23 @@
return dappMemberService.getMemberInfo();
}
- @ApiOperation(value = "获取流水总的信息", notes = "获取流水总的信息")
+ @ApiOperation(value = "我的团队", notes = "我的团队")
@ApiResponses({
- @ApiResponse(code = 200, message = "success", response = FundFlowInfoVo.class)
+ @ApiResponse(code = 200, message = "success", response = TeamListVo.class)
})
- @PostMapping(value = "/fundFlowInfo")
- public FebsResponse fundFlowInfo() {
- return dappMemberService.getFundFlowInfo();
+ @PostMapping(value = "/teamList")
+ public FebsResponse team() {
+ return new FebsResponse().success().data(dappMemberService.findTeamList());
}
- @ApiOperation(value = "获取用户购买节点信息", notes = "获取用户购买节点信息")
+ @ApiOperation(value = "记录列表", notes = "记录列表")
@ApiResponses({
- @ApiResponse(code = 200, message = "success", response = DappMemberNodeVo.class)
+ @ApiResponse(code = 200, message = "success", response = DappFundFlowVo.class)
})
- @PostMapping(value = "/memberNode")
- public FebsResponse memberNode() {
- return dappMemberService.getMemberNode();
- }
-
- @ApiOperation(value = "获取节点信息", notes = "获取节点信息")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = DappNodeOrderVo.class)
- })
- @PostMapping(value = "/nodeInfo")
- public FebsResponse nodeInfo() {
- return dappMemberService.getNodeInfo();
- }
-
- @ApiOperation(value = "转账", notes = "转账")
- @PostMapping(value = "/transfer")
- public FebsResponse transfer(@RequestBody TransferDto transferDto) {
- return new FebsResponse().success().data(dappWalletService.transfer(transferDto));
+ @PostMapping(value = "/recordInPage")
+ public FebsResponse recordInPage(@RequestBody RecordInPageDto recordInPageDto) {
+// return new FebsResponse().success().data(dappWalletService.recordInPage(recordInPageDto));
+ return new FebsResponse().success().data(dappWalletService.getRecordVoInPage(recordInPageDto));
}
@ApiOperation(value = "买入A币", notes = "买入A币")
@@ -101,15 +77,6 @@
// return new FebsResponse().success().message("合约更新中");
return new FebsResponse().success().data(dappWalletService.transferA(transferADto));
- }
-
- @ApiOperation(value = "A币K线", notes = "A币K线")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = AKLineVo.class)
- })
- @PostMapping(value = "/aKLine")
- public FebsResponse aKLine(@RequestBody AKLineDto aKLineDto) {
- return new FebsResponse().success().data(dappMemberService.aKLine(aKLineDto));
}
@ApiOperation(value = "兑换AUSDT", notes = "兑换AUSDT")
@@ -139,40 +106,12 @@
return new FebsResponse().success().data("success");
}
- @ApiOperation(value = "记录列表", notes = "记录列表")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = DappFundFlowVo.class)
- })
- @PostMapping(value = "/recordInPage")
- public FebsResponse recordInPage(@RequestBody RecordInPageDto recordInPageDto) {
-// return new FebsResponse().success().data(dappWalletService.recordInPage(recordInPageDto));
- return new FebsResponse().success().data(dappWalletService.getRecordVoInPage(recordInPageDto));
- }
-
@ApiOperation(value = "提现", notes = "提现")
@PostMapping(value = "/withdraw")
public FebsResponse withdraw(@RequestBody @Valid WithdrawDto withdrawDto) {
// return new FebsResponse().success().message("合约更新中");
dappWalletService.withdraw(withdrawDto);
return new FebsResponse().success().message("success");
- }
-
- @ApiOperation(value = "我的团队", notes = "我的团队")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = TeamListVo.class)
- })
- @PostMapping(value = "/team")
- public FebsResponse team() {
- return new FebsResponse().success().data(dappMemberService.findTeamList());
- }
-
- @ApiOperation(value = "我的推广码", notes = "我的推广码")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = MyInviteInfoVo.class)
- })
- @PostMapping(value = "/inviteInfo")
- public FebsResponse inviteInfo() {
- return new FebsResponse().success().data(dappMemberService.findInviteInfo());
}
@ApiOperation(value = "动能信息", notes = "动能信息")
@@ -184,26 +123,11 @@
return new FebsResponse().success().data(dappMemberService.findRunListInfo());
}
-// @ApiOperation(value = "我的团队", notes = "我的团队")
-// @ApiResponses({
-// @ApiResponse(code = 200, message = "success", response = TeamListVo.class)
-// })
-// @PostMapping(value = "/team")
-// public FebsResponse team() {
-// return new FebsResponse().success().data(dappMemberService.findTeamList());
-// }
-
@PostMapping(value = "/logout")
public FebsResponse logout() {
DappMemberEntity member = LoginUserUtil.getAppUser();
redisUtils.hdel(AppContants.REDIS_KEY_SIGN, member.getAddress());
redisUtils.hdel(AppContants.REDIS_KEY_MEMBER_INFO, member.getAddress());
return new FebsResponse().success();
- }
-
- @ApiOperation(value = "计算手续费", notes = "计算手续费")
- @PostMapping(value = "/calPrice")
- public FebsResponse calPrice(@RequestBody PriceDto priceDto) {
- return new FebsResponse().success().data(dappWalletService.calPrice(priceDto));
}
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
index ef4b1fe..fd36668 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
@@ -61,7 +61,7 @@
if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == dappFundFlowEntity.getStatus()){
return new FebsResponse().fail().message("已转账,无法再次操作");
}
- chainProducer.sendBnbTransferMsg(id);
+// chainProducer.sendBnbTransferMsg(id);
return new FebsResponse().success().message("操作成功,请稍后查看");
}
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
index b0881a1..2a0ab77 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
@@ -135,35 +135,35 @@
@RequiresPermissions("fee:setting:view")
public String systemFeeSet(Model model) {
AdminSystemFeeVo adminSystemFeeVo = new AdminSystemFeeVo();
- DataDictionaryCustom rebateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.REBATE_PERCENT.getType(), DataDictionaryEnum.REBATE_PERCENT.getCode());
- if (ObjectUtil.isNotEmpty(rebateDic)) {
- String value = rebateDic.getValue() == null ? "0" : rebateDic.getValue();
- adminSystemFeeVo.setRebatePercent(value);
- }
- DataDictionaryCustom memberFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MEMBER_FEE.getType(), DataDictionaryEnum.MEMBER_FEE.getCode());
- if (ObjectUtil.isNotEmpty(memberFeeDic)) {
- String value = memberFeeDic.getValue() == null ? "0" : memberFeeDic.getValue();
- adminSystemFeeVo.setMemberFee(value);
- }
- DataDictionaryCustom serviceFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getType(), DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getCode());
- if (ObjectUtil.isNotEmpty(serviceFeeDic)) {
- String value = serviceFeeDic.getValue() == null ? "0" : serviceFeeDic.getValue();
- adminSystemFeeVo.setServiceFee(value);
- }
-
- DataDictionaryCustom symbolPrice = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
- if (ObjectUtil.isNotEmpty(symbolPrice)) {
- String value = symbolPrice.getValue() == null ? "0" : symbolPrice.getValue();
- adminSystemFeeVo.setSymbolPrice(value);
- }
-
- DataDictionaryCustom directProfitDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.DIRECT_PROFIT.getType(), DataDictionaryEnum.DIRECT_PROFIT.getCode());
- if (ObjectUtil.isNotEmpty(directProfitDic)) {
- String value = directProfitDic.getValue() == null ? "0" : directProfitDic.getValue();
- adminSystemFeeVo.setDirectProfit(value);
- }
- model.addAttribute("systemFee", adminSystemFeeVo);
+// DataDictionaryCustom rebateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.REBATE_PERCENT.getType(), DataDictionaryEnum.REBATE_PERCENT.getCode());
+// if (ObjectUtil.isNotEmpty(rebateDic)) {
+// String value = rebateDic.getValue() == null ? "0" : rebateDic.getValue();
+// adminSystemFeeVo.setRebatePercent(value);
+// }
+// DataDictionaryCustom memberFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MEMBER_FEE.getType(), DataDictionaryEnum.MEMBER_FEE.getCode());
+// if (ObjectUtil.isNotEmpty(memberFeeDic)) {
+// String value = memberFeeDic.getValue() == null ? "0" : memberFeeDic.getValue();
+// adminSystemFeeVo.setMemberFee(value);
+// }
+// DataDictionaryCustom serviceFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getType(), DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getCode());
+// if (ObjectUtil.isNotEmpty(serviceFeeDic)) {
+// String value = serviceFeeDic.getValue() == null ? "0" : serviceFeeDic.getValue();
+// adminSystemFeeVo.setServiceFee(value);
+// }
+//
+// DataDictionaryCustom symbolPrice = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
+// if (ObjectUtil.isNotEmpty(symbolPrice)) {
+// String value = symbolPrice.getValue() == null ? "0" : symbolPrice.getValue();
+// adminSystemFeeVo.setSymbolPrice(value);
+// }
+//
+// DataDictionaryCustom directProfitDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// DataDictionaryEnum.DIRECT_PROFIT.getType(), DataDictionaryEnum.DIRECT_PROFIT.getCode());
+// if (ObjectUtil.isNotEmpty(directProfitDic)) {
+// String value = directProfitDic.getValue() == null ? "0" : directProfitDic.getValue();
+// adminSystemFeeVo.setDirectProfit(value);
+// }
+// model.addAttribute("systemFee", adminSystemFeeVo);
return FebsUtil.view("dapp/system-fee-set");
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java
index afd13f5..8c4a291 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappAccountMoneyChangeEntity.java
@@ -29,11 +29,11 @@
}
private Long memberId;
-
+ //原有积分
private BigDecimal preAmount;
-
+ //预期
private BigDecimal amount;
-
+ //实际
private BigDecimal afterAmount;
private String content;
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/TeamLevelPerk.java b/src/main/java/cc/mrbird/febs/dapp/entity/TeamLevelPerk.java
index 0956cb9..6b18981 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/TeamLevelPerk.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/TeamLevelPerk.java
@@ -7,8 +7,8 @@
/**
* {"shareMinPercent":"0.00004","shareMaxPercent":"0.01","smallAchieve":"20000","teamPercent":"0.15","orderSalePercent":"0","lastAgentCnt":"0","buyMaxAmount","3000"}
* {"shareMinPercent":"0.00005","shareMaxPercent":"0.012","smallAchieve":"60000","teamPercent":"0.3","orderSalePercent":"0","lastAgentCnt":"2","buyMaxAmount","3000"}
- * {"shareMinPercent":"0.00006","shareMaxPercent":"0.014","smallAchieve":"200000","teamPercent":"0.45","orderSalePercent":"0","lastAgentCnt":"2","buyMaxAmount","3000"}
- * {"shareMinPercent":"0.00007","shareMaxPercent":"0.016","smallAchieve":"600000","teamPercent":"0.60","orderSalePercent":"0","lastAgentCnt":"2","buyMaxAmount","3000"}
+ * {"shareMinPercent":"0.00006","shareMaxPercent":"0.014","smallAchieve":"200000","teamPercent":"0.45","orderSalePercent":"0","lastAgentCnt":"3","buyMaxAmount","3000"}
+ * {"shareMinPercent":"0.00007","shareMaxPercent":"0.016","smallAchieve":"600000","teamPercent":"0.60","orderSalePercent":"0","lastAgentCnt":"3","buyMaxAmount","3000"}
* {"shareMinPercent":"0.00008","shareMaxPercent":"0.018","smallAchieve":"2000000","teamPercent":"0.75","orderSalePercent":"0.02","lastAgentCnt":"2","buyMaxAmount","3000"}
* {"shareMinPercent":"0.00009","shareMaxPercent":"0.020","smallAchieve":"6000000","teamPercent":"0.90","orderSalePercent":"0.02","lastAgentCnt":"2","buyMaxAmount","3000"}
* {"shareMinPercent":"0.0001","shareMaxPercent":"0.022","smallAchieve":"20000000","teamPercent":"1","orderSalePercent":"0.02","lastAgentCnt":"2","buyMaxAmount","3000"}
@@ -44,6 +44,6 @@
/**
* 购买上限
*/
- private Integer buyMaxAmount;
+ private BigDecimal buyMaxAmount;
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
index bf5df3a..88d0bf2 100644
--- a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
@@ -5,7 +5,11 @@
@Getter
public enum DataDictionaryEnum {
/**
- * 商城入单的10%入底池
+ * 普通会员购买上线
+ */
+ MEMBER_BUY_MAX_AMOUNT("MEMBER_BUY_MAX_AMOUNT","MEMBER_BUY_MAX_AMOUNT"),
+ /**
+ * 团队加速平级10%
*/
TEAM_PERK_LEVEL_EQUALS("TEAM_PERK_LEVEL_EQUALS","TEAM_PERK_LEVEL_EQUALS"),
/**
diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java
index 51ebdee..277b4de 100644
--- a/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/FundFlowEnum.java
@@ -7,25 +7,43 @@
*/
@Getter
public enum FundFlowEnum {
- //团队静态收益
+ //实际增加余额
+ ADD_AMOUNT_REAL("ADD_AMOUNT_REAL", 22),
+ //实际减少赠送积分
+ REDUCE_SCORE_REAL("REDUCE_SCORE_REAL", 21),
+ //共享区加速V7
+ SHARE_PERK_V7("SHARE_PERK_V7", 20),
+ //共享区加速V6
+ SHARE_PERK_V6("SHARE_PERK_V6", 19),
+ //共享区加速V5
+ SHARE_PERK_V5("SHARE_PERK_V5", 18),
+ //共享区加速V4
+ SHARE_PERK_V4("SHARE_PERK_V4", 17),
+ //共享区加速V3
+ SHARE_PERK_V3("SHARE_PERK_V3", 16),
+ //共享区加速V2
+ SHARE_PERK_V2("SHARE_PERK_V2", 15),
+ //共享区加速V1
+ SHARE_PERK_V1("SHARE_PERK_V1", 14),
+ //团队静态收益V7
TEAM_PERK_V7("TEAM_PERK_V7", 13),
- //团队静态收益
+ //团队静态收益V6
TEAM_PERK_V6("TEAM_PERK_V6", 12),
- //团队静态收益
+ //团队静态收益V5
TEAM_PERK_V5("TEAM_PERK_V5", 11),
- //团队静态收益
+ //团队静态收益V4
TEAM_PERK_V4("TEAM_PERK_V4", 10),
- //团队静态收益
+ //团队静态收益V3
TEAM_PERK_V3("TEAM_PERK_V3", 9),
- //团队静态收益
+ //团队静态收益V2
TEAM_PERK_V2("TEAM_PERK_V2", 8),
- //团队静态收益
+ //团队静态收益V1
TEAM_PERK_V1("TEAM_PERK_V1", 7),
//直推
DIRECT_AMOUNT("DIRECT_AMOUNT", 6),
- //增加余额
+ //预期增加余额
ADD_AMOUNT("ADD_AMOUNT", 5),
- //减少赠送积分
+ //预期减少赠送积分
REDUCE_SCORE("REDUCE_SCORE", 4),
//静态补贴
STATIC_RELEASE("STATIC_RELEASE", 3),
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java
index 12628fa..608b92d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java
@@ -58,4 +58,6 @@
IPage<AdminMallMoneyFlowVo> selectOrderMoneyFlowInPage(Page<AdminMallMoneyFlowVo> page, @Param("record")MallOrderInfo mallOrder);
List<DappFundFlowEntity> selectListByMemberIdAndTypeAndDate(@Param("memberId")Long memberId, @Param("type")int code, @Param("dateStr") DateTime now);
+
+ List<DappFundFlowEntity> selectListByTypeAndDate(@Param("type")int code, @Param("dateStr") DateTime now);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
index 7974914..cbf0507 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -52,6 +52,8 @@
List<DappMemberEntity> selectMemberInfoByRefererId(@Param("refererId")String inviteId);
+ List<DappMemberEntity> selectAllMemberInfoByRefererId(@Param("inviteId")String inviteId);
+
Integer selectCountByAccountTypeAndRefererId(@Param("accountType")String code, @Param("refererId")String inviteId);
IPage<AdminTeamInfoVo> findTeamInfoListInPage(Page<AdminTeamInfoVo> page, @Param("record")DappMemberEntity dappMemberEntity);
@@ -97,5 +99,4 @@
List<DappMemberEntity> selectChildAgentList(@Param("inviteId")String inviteId, @Param("accountType")String accountType);
- List<MallMember> selectMemberByInviteIds(List<String> referrerIdList);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/MallAchieveRecordMapper.java b/src/main/java/cc/mrbird/febs/dapp/mapper/MallAchieveRecordMapper.java
index cebef6f..1cb55ae 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/MallAchieveRecordMapper.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/MallAchieveRecordMapper.java
@@ -1,6 +1,8 @@
package cc.mrbird.febs.dapp.mapper;
import cc.mrbird.febs.dapp.entity.MallAchieveRecord;
+import cc.mrbird.febs.dapp.vo.TeamChildListVo;
+import cc.mrbird.febs.dapp.vo.TeamListVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
@@ -24,4 +26,14 @@
List<MallAchieveRecord> selectListByDate(@Param("date")Date profitDate);
List<MallAchieveRecord> selectListByMemberId(@Param("memberId")Long memberId);
+
+ BigDecimal selectAchieveTotalByMemberIdAndCreateTime(@Param("memberId")Long id, @Param("date")Date createTime);
+
+ BigDecimal selectAchieveTotalByCreateTime(@Param("date")Date createTime);
+
+ BigDecimal selectAchieveByMemberId(@Param("inviteId") String inviteId, @Param("type") Integer type);
+
+ List<TeamChildListVo> selectTeamListByInviteId(@Param("inviteId")String inviteId);
+
+ List<MallAchieveRecord> selectCountByInvitedId(@Param("inviteId") String inviteId, @Param("type") Integer type);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
index 20353e1..85b9f94 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
@@ -53,23 +53,9 @@
IPage<AdminTeamInfoVo> getTeamInfo(DappMemberEntity dappMemberEntity, QueryRequest request);
- /**
- * 获取节点信息
- * @return
- */
- FebsResponse getNodeInfo();
-
- FebsResponse getMemberNode();
-
FebsResponse getMemberInfo();
IPage<DappMemberNodeVo> getMemberNodeInfo(DappMemberEntity dappMemberEntity, QueryRequest request);
-
- String aKLine(AKLineDto aKLineDto);
-
- MyInviteInfoVo findInviteInfo();
-
- FebsResponse getFundFlowInfo();
FebsResponse insideWithYes(Long id);
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
index 03cfc3b..fb2231d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -117,4 +117,5 @@
void teamStaticPerk();
+ void updateAchieve();
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
index 811c700..f8dd3cc 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -18,7 +18,6 @@
public interface DappWalletService {
- WalletInfoVo walletInfo();
List<DappFundFlowEntity> recordInPage(RecordInPageDto recordInPageDto);
@@ -28,11 +27,6 @@
IPage<DappWalletMineEntity> walletMineInPage(DappWalletMineEntity walletMine, QueryRequest request);
IPage<DappAccountMoneyChangeEntity> accountMoneyChangeInPage(DappAccountMoneyChangeEntity change, QueryRequest request);
-
-
- Long transfer(TransferDto transferDto);
-
- BigDecimal calPrice(PriceDto priceDto);
void withdraw(WithdrawDto withdrawDto);
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java
index 02b6c7a..03705be 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java
@@ -56,7 +56,7 @@
dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
dappFundFlowDao.updateById(dappFundFlowEntity);
- chainProducer.sendFeeDistributeMsg(dappFundFlowEntity.getId());
+// chainProducer.sendFeeDistributeMsg(dappFundFlowEntity.getId());
return new FebsResponse().success();
}
@@ -85,7 +85,7 @@
dappWalletService.updateWalletCoinWithLock(memberCoinWithdrawEntity.getAmount(), memberCoinWithdrawEntity.getMemberId(), 1);
dappWalletService.updateWalletMineWithLock(memberCoinWithdrawEntity.getFeeAmount(), memberCoinWithdrawEntity.getMemberId(), 1);
- DappFundFlowEntity feeFlow = new DappFundFlowEntity(memberCoinWithdrawEntity.getMemberId(), memberCoinWithdrawEntity.getFeeAmount(), 7, 2, null, null);
+ DappFundFlowEntity feeFlow = new DappFundFlowEntity();
dappFundFlowDao.insert(feeFlow);
return new FebsResponse().success();
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
index abbc930..7430053 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -101,7 +101,7 @@
fundFlow.setStatus(2);
dappFundFlowDao.updateById(fundFlow);
- chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId());
+// chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId());
}
}
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 893f1e3..1f10d5c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -1,6 +1,5 @@
package cc.mrbird.febs.dapp.service.impl;
-import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
@@ -25,6 +24,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -67,6 +67,7 @@
private final MallGoodsMapper mallGoodsMapper;
private final MallOrderInfoMapper mallOrderInfoMapper;
private final MallOrderItemMapper mallOrderItemMapper;
+ private final MallAchieveRecordMapper mallAchieveRecordMapper;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -147,18 +148,7 @@
int nodeType = 0;
//
if (!"asdf4321".equals(connectDto.getInviteId())) {
- DappMemberEntity left = dappMemberDao.selectInviteLeft(connectDto.getInviteId());
- DappMemberEntity right = dappMemberDao.selectInviteRight(connectDto.getInviteId());
- if(ObjectUtil.isEmpty(left) && ObjectUtil.isEmpty(right)){
- throw new FebsException("recommender is not exist");
- }
- if(ObjectUtil.isEmpty(left)){
- nodeType = 2;
- }else{
- nodeType = 1;
- }
- String inviteId = ObjectUtil.isEmpty(left) ? right.getInviteId() : left.getInviteId();
- DappMemberEntity parent = dappMemberDao.selectByAddress(inviteId, null);
+ DappMemberEntity parent = dappMemberDao.selectByAddress(connectDto.getInviteId(), null);
if (parent == null) {
throw new FebsException("recommender is not exist");
}
@@ -388,91 +378,106 @@
@Override
public TeamListVo findTeamList() {
- DappMemberEntity member = LoginUserUtil.getAppUser();
- TeamListVo teamListVo = new TeamListVo();
- List<DappMemberEntity> childs = dappMemberDao.selectMemberInfoByRefererId(member.getInviteId());
- teamListVo.setDirectCnt(CollUtil.isEmpty(childs) ? 0 : childs.size());
- //团队业绩
- BigDecimal teamIncomeMax = BigDecimal.ZERO;
- if(CollUtil.isNotEmpty(childs)){
- // 直推用户
- List<String> childsInviteIds = childs.stream().map(DappMemberEntity::getInviteId).collect(Collectors.toList());
- for(String inviteId : childsInviteIds){
- BigDecimal totalIncomeMember = dappMemberDao.selectAllAchieveByInviteId(inviteId);
- teamIncomeMax = teamIncomeMax.add(totalIncomeMember);
+ Long memberId = LoginUserUtil.getAppUser().getId();
+ DappMemberEntity dappMemberEntity = this.baseMapper.selectById(memberId);
+
+ TeamListVo myTeamVo = new TeamListVo();
+ myTeamVo.setMyAchieve(mallAchieveRecordMapper.selectAchieveByMemberId(dappMemberEntity.getInviteId(), 1));
+ myTeamVo.setMyTeamAchieve(mallAchieveRecordMapper.selectAchieveByMemberId(dappMemberEntity.getInviteId(), 2));
+ List<DappMemberEntity> child = dappMemberDao.selectAllMemberInfoByRefererId(dappMemberEntity.getInviteId());
+ myTeamVo.setMyTeamCnt(CollUtil.isEmpty(child) ? 0 : child.size());
+
+ List<TeamChildListVo> list = mallAchieveRecordMapper.selectTeamListByInviteId(dappMemberEntity.getInviteId());
+ if(CollUtil.isNotEmpty(list)){
+ for(TeamChildListVo teamChildListVo : list){
+ List<DappMemberEntity> childDirect = dappMemberDao.selectAllMemberInfoByRefererId(teamChildListVo.getInviteId());
+ teamChildListVo.setCnt(CollUtil.isEmpty(childDirect) ? 0 : childDirect.size());
+ List<MallAchieveRecord> memberAchieveList = mallAchieveRecordMapper.selectCountByInvitedId(teamChildListVo.getInviteId(), 1);
+ if(CollUtil.isEmpty(memberAchieveList)){
+ teamChildListVo.setAchieveState(2);
+ }else{
+ teamChildListVo.setAchieveState(1);
+ }
+ List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectCountByInvitedId(teamChildListVo.getInviteId(), 2);
+ if(CollUtil.isEmpty(mallAchieveRecords)){
+ teamChildListVo.setRealAchieve(BigDecimal.ZERO);
+ teamChildListVo.setOrderCnt(0);
+ }else{
+ BigDecimal reduce = mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ teamChildListVo.setRealAchieve(reduce);
+ teamChildListVo.setOrderCnt(mallAchieveRecords.size());
+ }
}
- teamIncomeMax = teamIncomeMax.setScale(4,BigDecimal.ROUND_DOWN);
}
- teamListVo.setAchieve(teamIncomeMax);
- return teamListVo;
+ return myTeamVo;
}
@Override
public void setSystemFee(AdminSystemFeeVo adminSystemFeeVo) {
- String rebatePercent = adminSystemFeeVo.getRebatePercent();
- DataDictionaryCustom rebateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.REBATE_PERCENT.getType(), DataDictionaryEnum.REBATE_PERCENT.getCode());
- rebateDic.setValue(rebatePercent);
- dataDictionaryCustomMapper.updateById(rebateDic);
-
- String serviceFee = adminSystemFeeVo.getServiceFee();
- DataDictionaryCustom serviceFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getType(), DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getCode());
- serviceFeeDic.setValue(serviceFee);
- dataDictionaryCustomMapper.updateById(serviceFeeDic);
-
- String memberFee = adminSystemFeeVo.getMemberFee();
- DataDictionaryCustom memberFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MEMBER_FEE.getType(), DataDictionaryEnum.MEMBER_FEE.getCode());
- memberFeeDic.setValue(memberFee);
- dataDictionaryCustomMapper.updateById(memberFeeDic);
-
- String symbolPrice = adminSystemFeeVo.getSymbolPrice();
- DataDictionaryCustom symbolPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
- symbolPriceDic.setValue(symbolPrice);
- dataDictionaryCustomMapper.updateById(symbolPriceDic);
-
- String directProfit = adminSystemFeeVo.getDirectProfit();
- DataDictionaryCustom directProfitDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.DIRECT_PROFIT.getType(), DataDictionaryEnum.DIRECT_PROFIT.getCode());
- directProfitDic.setValue(directProfit);
- dataDictionaryCustomMapper.updateById(directProfitDic);
+// String rebatePercent = adminSystemFeeVo.getRebatePercent();
+// DataDictionaryCustom rebateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.REBATE_PERCENT.getType(), DataDictionaryEnum.REBATE_PERCENT.getCode());
+// rebateDic.setValue(rebatePercent);
+// dataDictionaryCustomMapper.updateById(rebateDic);
+//
+// String serviceFee = adminSystemFeeVo.getServiceFee();
+// DataDictionaryCustom serviceFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getType(), DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getCode());
+// serviceFeeDic.setValue(serviceFee);
+// dataDictionaryCustomMapper.updateById(serviceFeeDic);
+//
+// String memberFee = adminSystemFeeVo.getMemberFee();
+// DataDictionaryCustom memberFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MEMBER_FEE.getType(), DataDictionaryEnum.MEMBER_FEE.getCode());
+// memberFeeDic.setValue(memberFee);
+// dataDictionaryCustomMapper.updateById(memberFeeDic);
+//
+// String symbolPrice = adminSystemFeeVo.getSymbolPrice();
+// DataDictionaryCustom symbolPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
+// symbolPriceDic.setValue(symbolPrice);
+// dataDictionaryCustomMapper.updateById(symbolPriceDic);
+//
+// String directProfit = adminSystemFeeVo.getDirectProfit();
+// DataDictionaryCustom directProfitDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// DataDictionaryEnum.DIRECT_PROFIT.getType(), DataDictionaryEnum.DIRECT_PROFIT.getCode());
+// directProfitDic.setValue(directProfit);
+// dataDictionaryCustomMapper.updateById(directProfitDic);
}
@Override
public ApiRunListInfoVo findRunListInfo() {
ApiRunListInfoVo apiRunListInfoVo = new ApiRunListInfoVo();
- //获取当前是第几轮队列
- String redisKey = "QUEUE_COUNT";
- String memberOutCount = redisUtils.getString(redisKey);
- DataDictionaryCustom queueCountSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.QUEUE_COUNT.getType(), DataDictionaryEnum.QUEUE_COUNT.getCode());
- String queueCount = queueCountSet.getValue();
- if(StrUtil.isBlank(memberOutCount)|| !queueCount.equals(memberOutCount)){
- redisUtils.set(redisKey,queueCount,0L);
- memberOutCount = queueCount;
- }
- //出局条件的人数
- /**
- * 初始大小 5+4*0
- * 1 1,2,3,4,5 1出局 5+4*0
- * 2 2,3,4,5,1(复投),7,8,9,10 2出局 5+4*1
- * 3 3,4,5,1(复投),7,8,9,10,2(复投),12,13,14,15 3出局 5+4*2
- * 4 4,5,1(复投),7,8,9,10,2(复投),12,13,14,15,3(复投),17,18,19,20 4出局 5+4*3
- */
- Integer memberCount = Integer.parseInt(memberOutCount) * 4 + 5;
- //判断当前是否符合出局条件
- QueryWrapper<DappSystemProfit> objectQueryWrapper = new QueryWrapper<>();
- objectQueryWrapper.eq("state",DappSystemProfit.STATE_IN);
- //实际投资人数
- Integer selectCount = dappSystemProfitDao.selectCount(objectQueryWrapper);
- int runPercentNum = memberCount - selectCount;
- runPercentNum = 5-runPercentNum > 0 ? 5-runPercentNum : 1;
- apiRunListInfoVo.setRunPercent(new BigDecimal(runPercentNum).multiply(new BigDecimal(0.4)).setScale(BigDecimal.ROUND_DOWN,1));
-// BigDecimal runPercent = new BigDecimal(selectCount).divide(new BigDecimal(memberCount), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100));
-// apiRunListInfoVo.setRunPercent(runPercent);
- //实际投资人数小于出局条件人数
- //符合则出局 实际投资人数等于出局条件人数
- DappSystemProfit dappSystemProfitIn = dappSystemProfitDao.selectSystemProfitInByState(DappSystemProfit.STATE_IN);
- apiRunListInfoVo.setLuckyMemberNext(ObjectUtil.isEmpty(dappSystemProfitIn) ? 0L : dappSystemProfitIn.getId());
- DappSystemProfit dappSystemProfitOut = dappSystemProfitDao.selectSystemProfitOutByState(DappSystemProfit.STATE_OUT);
- apiRunListInfoVo.setLuckyMember(ObjectUtil.isEmpty(dappSystemProfitOut) ? 0L : dappSystemProfitOut.getId());
+// //获取当前是第几轮队列
+// String redisKey = "QUEUE_COUNT";
+// String memberOutCount = redisUtils.getString(redisKey);
+// DataDictionaryCustom queueCountSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.QUEUE_COUNT.getType(), DataDictionaryEnum.QUEUE_COUNT.getCode());
+// String queueCount = queueCountSet.getValue();
+// if(StrUtil.isBlank(memberOutCount)|| !queueCount.equals(memberOutCount)){
+// redisUtils.set(redisKey,queueCount,0L);
+// memberOutCount = queueCount;
+// }
+// //出局条件的人数
+// /**
+// * 初始大小 5+4*0
+// * 1 1,2,3,4,5 1出局 5+4*0
+// * 2 2,3,4,5,1(复投),7,8,9,10 2出局 5+4*1
+// * 3 3,4,5,1(复投),7,8,9,10,2(复投),12,13,14,15 3出局 5+4*2
+// * 4 4,5,1(复投),7,8,9,10,2(复投),12,13,14,15,3(复投),17,18,19,20 4出局 5+4*3
+// */
+// Integer memberCount = Integer.parseInt(memberOutCount) * 4 + 5;
+// //判断当前是否符合出局条件
+// QueryWrapper<DappSystemProfit> objectQueryWrapper = new QueryWrapper<>();
+// objectQueryWrapper.eq("state",DappSystemProfit.STATE_IN);
+// //实际投资人数
+// Integer selectCount = dappSystemProfitDao.selectCount(objectQueryWrapper);
+// int runPercentNum = memberCount - selectCount;
+// runPercentNum = 5-runPercentNum > 0 ? 5-runPercentNum : 1;
+// apiRunListInfoVo.setRunPercent(new BigDecimal(runPercentNum).multiply(new BigDecimal(0.4)).setScale(BigDecimal.ROUND_DOWN,1));
+//// BigDecimal runPercent = new BigDecimal(selectCount).divide(new BigDecimal(memberCount), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100));
+//// apiRunListInfoVo.setRunPercent(runPercent);
+// //实际投资人数小于出局条件人数
+// //符合则出局 实际投资人数等于出局条件人数
+// DappSystemProfit dappSystemProfitIn = dappSystemProfitDao.selectSystemProfitInByState(DappSystemProfit.STATE_IN);
+// apiRunListInfoVo.setLuckyMemberNext(ObjectUtil.isEmpty(dappSystemProfitIn) ? 0L : dappSystemProfitIn.getId());
+// DappSystemProfit dappSystemProfitOut = dappSystemProfitDao.selectSystemProfitOutByState(DappSystemProfit.STATE_OUT);
+// apiRunListInfoVo.setLuckyMember(ObjectUtil.isEmpty(dappSystemProfitOut) ? 0L : dappSystemProfitOut.getId());
return apiRunListInfoVo;
}
@@ -513,19 +518,6 @@
}
@Override
- public FebsResponse getNodeInfo() {
- List<DappNodeOrderVo> dappNodeOrderVos = dappNodeOrderMapper.selectNodeOrderList();
- return new FebsResponse().success().data(dappNodeOrderVos);
- }
-
- @Override
- public FebsResponse getMemberNode() {
- DappMemberEntity member = LoginUserUtil.getAppUser();
- List<DappMemberNodeVo> dappMemberNodeVos = dappMemberNodeMapper.selectListByMemberId(member.getId());
- return new FebsResponse().success().data(dappMemberNodeVos);
- }
-
- @Override
public FebsResponse getMemberInfo() {
DappMemberEntity member = LoginUserUtil.getAppUser();
DappMemberInfoVo dappMemberInfoVo = dappMemberDao.selectByMemberId(member.getId());
@@ -534,79 +526,11 @@
dappMemberInfoVo.setAccountType(levelDescription);
}
- BigDecimal amountPerkTotal = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
- FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(), 2);
- dappMemberInfoVo.setAmountPerkTotal(amountPerkTotal);
+ DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(member.getId());
+ dappMemberInfoVo.setAmount(ObjectUtil.isEmpty(dappWalletCoinEntity) ? BigDecimal.ZERO : dappWalletCoinEntity.getTotalAmount());
- DataDictionaryCustom ausdPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.TRANSFER_A_AUSD_PERCENT.getType(),
- PoolEnum.TRANSFER_A_AUSD_PERCENT.getCode()
- );
- BigDecimal ausdPercent = new BigDecimal(ausdPercentDic.getValue());
- dappMemberInfoVo.setAusdtFee(ausdPercent);
-
- DataDictionaryCustom aroundFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getType(),
- PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getCode()
- );
- BigDecimal aroundFee = new BigDecimal(aroundFeeDic.getValue());
- dappMemberInfoVo.setAroundFee(aroundFee);
- //ausd价格
- DataDictionaryCustom ausdPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.TRANSFER_A_AUSD_PRICE.getType(),
- PoolEnum.TRANSFER_A_AUSD_PRICE.getCode()
- );
- dappMemberInfoVo.setAusdPrice(ObjectUtil.isEmpty(ausdPriceDic) ? new BigDecimal("1") : new BigDecimal(ausdPriceDic.getValue()).setScale(4,BigDecimal.ROUND_DOWN));
- //资产到闪兑的手续费比例
- DataDictionaryCustom mineToCoinFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.WALLET_MINE_TO_COIN_PERCENT.getType(),
- PoolEnum.WALLET_MINE_TO_COIN_PERCENT.getCode()
- );
- dappMemberInfoVo.setMineToCoinFee(ObjectUtil.isEmpty(mineToCoinFeeDic) ? new BigDecimal("0.03") : new BigDecimal(mineToCoinFeeDic.getValue()));
- //提现手续费比例
- DataDictionaryCustom coinOutFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.WALLET_COIN_TO_USDT_PERCENT.getType(),
- PoolEnum.WALLET_COIN_TO_USDT_PERCENT.getCode()
- );
- dappMemberInfoVo.setCoinOutFee(ObjectUtil.isEmpty(coinOutFeeDic) ? new BigDecimal("0.01") : new BigDecimal(coinOutFeeDic.getValue()));
- //A币的价格
- DataDictionaryCustom coinAPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_PRICE.getType(),
- PoolEnum.COIN_A_PRICE.getCode()
- );
- dappMemberInfoVo.setCoinAPrice((ObjectUtil.isEmpty(coinAPriceDic) ? new BigDecimal("1") : new BigDecimal(coinAPriceDic.getValue()))
- .setScale(12,BigDecimal.ROUND_DOWN));
-
- /**
- * 今日涨幅
- */
- //最新的一条记录
- DappAKlineEntity dappAKlineNow = dappAKlineMapper.selectOneByType();
- BigDecimal closePriceNow = dappAKlineNow.getClosePrice();
- //拿日线的最后一条数据
- DappAKlineEntity dappAKlineStart = dappAKlineMapper.selectDayByType();
- BigDecimal closePriceStart = dappAKlineStart.getClosePrice();
-
- BigDecimal subtract = closePriceNow.subtract(closePriceStart);
- BigDecimal bigDecimal = subtract.divide(closePriceStart, 4, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN);
- dappMemberInfoVo.setTodayIncrease(bigDecimal);
-
- /**
- * 全网剩余ANDAO总量,燃烧ANDAO总量
- */
- DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_CNT.getType(),
- PoolEnum.COIN_A_CNT.getCode()
- );
- dappMemberInfoVo.setAndaoNum(
- ObjectUtil.isEmpty(coinACntDic) ?
- new BigDecimal("0") :
- new BigDecimal(coinACntDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN)
- );
-
- BigDecimal bigDecimal1 = dappFundFlowDao.selectSumAmountByType(FundFlowEnum.A_COIN_FIRE.getCode());
- dappMemberInfoVo.setFireAndaoNum(bigDecimal1.setScale(2,BigDecimal.ROUND_DOWN));
-
+ DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(member.getId());
+ dappMemberInfoVo.setScore(ObjectUtil.isEmpty(dappWalletMineEntity) ? BigDecimal.ZERO : dappWalletMineEntity.getTotalAmount());
return new FebsResponse().success().data(dappMemberInfoVo);
}
@@ -624,145 +548,13 @@
}
@Override
- public String aKLine(AKLineDto aKLineDto) {
- int type = aKLineDto.getType();
- String redisKey = null;
- if(1 == type){
- redisKey = AppContants.K_LINE_HOUR;
- }else if(2 == type){
- redisKey = AppContants.K_LINE_DAY;
- }else if(3 == type){
- redisKey = AppContants.K_LINE_WEEK;
- }else if(4 == type){
- redisKey = AppContants.K_LINE_MONTH;
- }else{
- redisKey = AppContants.K_LINE_NOW;
- }
- Object o = redisUtils.get(redisKey);
- if(ObjectUtil.isNotEmpty(o)){
- return redisUtils.get(redisKey).toString();
- }
- return null;
- }
-
- @Override
- public MyInviteInfoVo findInviteInfo() {
- MyInviteInfoVo myInviteInfoVo = new MyInviteInfoVo();
-
- DappMemberEntity member = LoginUserUtil.getAppUser();
- Long memberId = member.getId();
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
- myInviteInfoVo.setMemberAddress(dappMemberEntity.getAddress());
- DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberId);
- if(ObjectUtil.isEmpty(dappUsdtPerkEntity)){
- dappUsdtPerkEntity = new DappUsdtPerkEntity();
- dappUsdtPerkEntity.setMemberId(memberId);
- dappUsdtPerkEntityMapper.insert(dappUsdtPerkEntity);
- }
- myInviteInfoVo.setMemberAchieve(dappUsdtPerkEntity.getAchieveAmount());
- String refererId = dappMemberEntity.getRefererId();
- DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(refererId);
- myInviteInfoVo.setReferenceAddress(ObjectUtil.isEmpty(parentMember) ? "-" : parentMember.getAddress());
- HashMap<String, BigDecimal> maxMinAchieve = getMaxMinAchieve(memberId);
- myInviteInfoVo.setMaxAchieve(maxMinAchieve.get(AppContants.MAXACHIEVE));
- myInviteInfoVo.setMinAchieve(maxMinAchieve.get(AppContants.MINACHIEVE));
-
- List<MyInviteChildInfoVo> myInviteChildInfoVos = new ArrayList<>();
- List<DappMemberEntity> childs = dappMemberDao.selectMemberInfoByRefererId(member.getInviteId());
- if(CollUtil.isNotEmpty(childs)){
- for(DappMemberEntity child : childs){
- MyInviteChildInfoVo myInviteChildInfoVo = new MyInviteChildInfoVo();
- myInviteChildInfoVo.setAddress(child.getAddress());
- myInviteChildInfoVo.setAccountType(child.getAccountType());
- DappUsdtPerkEntity childUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(child.getId());
-// BigDecimal achieveAmountByMemberId = dappUsdtPerkEntityMapper.selectAchieveAmountByMemberId(child.getId());
- if(ObjectUtil.isEmpty(childUsdtPerkEntity)){
- childUsdtPerkEntity = new DappUsdtPerkEntity();
- childUsdtPerkEntity.setMemberId(child.getId());
- dappUsdtPerkEntityMapper.insert(childUsdtPerkEntity);
- }
-
- myInviteChildInfoVo.setMemberAchieve(ObjectUtil.isEmpty(childUsdtPerkEntity.getAchieveAmount()) ? BigDecimal.ZERO : childUsdtPerkEntity.getAchieveAmount());
- HashMap<String, BigDecimal> childMaxMinAchieve = getMaxMinAchieve(child.getId());
- myInviteChildInfoVo.setMaxAchieve(childMaxMinAchieve.get(AppContants.MAXACHIEVE));
- myInviteChildInfoVo.setMinAchieve(childMaxMinAchieve.get(AppContants.MINACHIEVE));
- myInviteChildInfoVos.add(myInviteChildInfoVo);
- }
- }
-
- myInviteInfoVo.setMyInviteChildInfoVos(myInviteChildInfoVos);
- return myInviteInfoVo;
- }
-
- @Override
- public FebsResponse getFundFlowInfo() {
- DappMemberEntity member = LoginUserUtil.getAppUser();
- Long memberId = member.getId();
- FundFlowInfoVo fundFlowInfoVo = new FundFlowInfoVo();
- BigDecimal myDonateCnt = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
- FundFlowEnum.BUY_A_COIN.getCode(), 2);
- fundFlowInfoVo.setMyDonateCnt(myDonateCnt.abs());
- fundFlowInfoVo.setMyDonateCntNum(FundFlowEnum.BUY_A_COIN.getCode());
-
- BigDecimal amountPerkTotal = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
- FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(), 2);
- fundFlowInfoVo.setAmountPerkTotal(amountPerkTotal.abs());
- fundFlowInfoVo.setAmountPerkTotalNum(FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode());
-
- DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberId);
- fundFlowInfoVo.setAmountPerkAva(ObjectUtil.isEmpty(dappUsdtPerkEntity) ? BigDecimal.ZERO : dappUsdtPerkEntity.getAmount());
-
- BigDecimal directAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.DIRECT_A_PERCENT.getCode(), 2);
- fundFlowInfoVo.setDirectAmount(directAmount);
- fundFlowInfoVo.setDirectAmountNum(FundFlowEnum.DIRECT_A_PERCENT.getCode());
-
- BigDecimal staticAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.POOL_MEMBER_A_CNT.getCode(), 2);
- fundFlowInfoVo.setStaticAmount(staticAmount);
- fundFlowInfoVo.setStaticAmountNum(FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
-
- BigDecimal nodeAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(), 2);
- fundFlowInfoVo.setNodeAmount(nodeAmount);
- fundFlowInfoVo.setNodeAmountNum(FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
-
- BigDecimal levelEqualAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode(), 2);
- fundFlowInfoVo.setLevelEqualAmount(levelEqualAmount);
- fundFlowInfoVo.setLevelEqualAmountNum(FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
-
- BigDecimal levelAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(), 2);
- fundFlowInfoVo.setLevelAmount(levelAmount);
- fundFlowInfoVo.setLevelAmountNum(FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode());
-
- BigDecimal daoThreeAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.DAO_3_NODE_PERK.getCode(), 2);
- fundFlowInfoVo.setDaoThreeAmount(daoThreeAmount);
- fundFlowInfoVo.setDaoThreeAmountNum(FundFlowEnum.DAO_3_NODE_PERK.getCode());
-
- BigDecimal daoFourAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.DAO_4_NODE_PERK.getCode(), 2);
- fundFlowInfoVo.setDaoFourAmount(daoFourAmount);
- fundFlowInfoVo.setDaoFourAmountNum(FundFlowEnum.DAO_4_NODE_PERK.getCode());
-
- BigDecimal daoFiveAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
- FundFlowEnum.DAO_5_NODE_PERK.getCode(), 2);
- fundFlowInfoVo.setDaoFiveAmount(daoFiveAmount);
- fundFlowInfoVo.setDaoFiveAmountNum(FundFlowEnum.DAO_5_NODE_PERK.getCode());
-
- return new FebsResponse().success().data(fundFlowInfoVo);
- }
-
- @Override
public FebsResponse insideWithYes(Long id) {
DappMemberEntity dappMemberEntity = dappMemberDao.selectById(id);
if(ObjectUtil.isEmpty(dappMemberEntity)) {
return new FebsResponse().fail().message("会员信息不存在");
}
dappMemberEntity.setNodeType(1);
- dappMemberEntity.setAccountType(MemberLevelEnum.NODE_5.getType());
+// dappMemberEntity.setAccountType(MemberLevelEnum.NODE_5.getType());
dappMemberDao.updateById(dappMemberEntity);
return new FebsResponse().success();
}
@@ -904,13 +696,50 @@
if (ObjectUtil.isEmpty(orderInfo)) {
throw new FebsException("订单异常");
}
-
if (MallOrderInfo.STATUS_WAIT != orderInfo.getStatus()) {
throw new FebsException("只能支付待支付的订单");
}
+ /**
+ * 限制用户的购买总量
+ */
+ //实际可购买数量
+ BigDecimal achieveAva = BigDecimal.ZERO;
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+ String accountType = dappMemberEntity.getAccountType();
+ //普通会员的购买上线
+ if(MemberLevelEnum.MEMBER.getType().equals(accountType)){
+ DataDictionaryCustom memberBuyMaxAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getType(),
+ DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getCode()
+ );
+ achieveAva = new BigDecimal(ObjectUtil.isEmpty(memberBuyMaxAmountDic) ? "1000" : memberBuyMaxAmountDic.getValue());
+ }else{
+ DataDictionaryCustom memberBuyMaxAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ "TEAM_LEVEL",accountType
+ );
+ if(ObjectUtil.isEmpty(memberBuyMaxAmountDic)){
+ achieveAva = new BigDecimal("1000");
+ }else{
+ TeamLevelPerk adminAgentInfo = JSONObject.parseObject(memberBuyMaxAmountDic.getValue(), TeamLevelPerk.class);
+ BigDecimal buyMaxAmount = adminAgentInfo.getBuyMaxAmount();
+ achieveAva = buyMaxAmount;
+ }
+ }
+ List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberId(dappMemberEntity.getId());
+ if(CollUtil.isNotEmpty(mallAchieveRecords)){
+ BigDecimal reduce = mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ achieveAva = achieveAva.subtract(reduce);
+ }
+ if(BigDecimal.ZERO.compareTo(achieveAva) >= 0){
+ throw new FebsException("用户无法购买");
+ }
+ BigDecimal totalAmount = orderInfo.getAmount();
+ if(achieveAva.compareTo(totalAmount) < 0){
+ throw new FebsException("用户最多购买"+achieveAva.setScale(2,BigDecimal.ROUND_DOWN)+"USDT");
+ }
+
DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(member.getId());
BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
- BigDecimal totalAmount = orderInfo.getAmount();
if(totalAmount.compareTo(availableAmount) > 0){
throw new FebsException("余额不足");
}
@@ -937,7 +766,6 @@
/**
* 支付成功,消费后成有效账户后可分享(有效用户可推广)
*/
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
if(2 == dappMemberEntity.getActiveStatus()){
dappMemberEntity.setActiveStatus(1);
dappMemberDao.updateById(dappMemberEntity);
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index 34ed979..5838806 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -98,7 +98,7 @@
BigDecimal directProfit = TreeConstants.PUT_IN_AMOUNT.multiply(new BigDecimal("0.1"));
dappWalletService.updateWalletCoinWithLock(directProfit, parent.getId(), 1);
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(parent.getId(), directProfit, 3, 2, null, null);
+ DappFundFlowEntity fundFlow = new DappFundFlowEntity();
dappFundFlowDao.insert(fundFlow);
}
@@ -128,11 +128,11 @@
dappWalletService.updateWalletCoinWithLock(amount, member.getId(), 1);
- DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, amount, 2, 2, null, null);
+ DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity();
dappFundFlowDao.insert(matrixProfitFlow);
}
- DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(memberId, TreeConstants.PUT_IN_AMOUNT.negate(), 1, 2, null, null);
+ DappFundFlowEntity rePutInFlow = new DappFundFlowEntity();
dappFundFlowDao.insert(rePutInFlow);
}
}
@@ -161,7 +161,7 @@
list.forEach(item -> {
dappWalletService.updateWalletCoinWithLock(preAmount, item.getMidNode(), 1);
- DappFundFlowEntity flow = new DappFundFlowEntity(item.getMidNode(), preAmount, 8, 2, null, null);
+ DappFundFlowEntity flow = new DappFundFlowEntity();
dappFundFlowDao.insert(flow);
});
}
@@ -186,186 +186,186 @@
return;
}
- DataDictionaryCustom memberFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MEMBER_FEE.getType(), DataDictionaryEnum.MEMBER_FEE.getCode());
- if (memberFeeDic == null) {
- log.info("未设置手续费返利比例");
- return;
- }
- List<DappMemberEntity> memberList = dappMemberDao.selectMemberListNeedProfit();
- if (CollUtil.isEmpty(memberList)) {
- return;
- }
-
- BigDecimal feeReturnRatio = new BigDecimal(memberFeeDic.getValue());
- int size = memberList.size();
- BigDecimal totalProfit = fundFlow.getFee().multiply(feeReturnRatio.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_DOWN));
- BigDecimal perProfit = totalProfit.divide(BigDecimal.valueOf(size), 8, RoundingMode.HALF_DOWN);
-
- memberList.forEach(item -> {
- dappWalletService.updateWalletMineWithLock(perProfit, item.getId(), 1);
-
- DappFundFlowEntity profitFlow = new DappFundFlowEntity(item.getId(), perProfit, 12, 2, null, null);
- dappFundFlowDao.insert(profitFlow);
- });
+// DataDictionaryCustom memberFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MEMBER_FEE.getType(), DataDictionaryEnum.MEMBER_FEE.getCode());
+// if (memberFeeDic == null) {
+// log.info("未设置手续费返利比例");
+// return;
+// }
+// List<DappMemberEntity> memberList = dappMemberDao.selectMemberListNeedProfit();
+// if (CollUtil.isEmpty(memberList)) {
+// return;
+// }
+//
+// BigDecimal feeReturnRatio = new BigDecimal(memberFeeDic.getValue());
+// int size = memberList.size();
+// BigDecimal totalProfit = fundFlow.getFee().multiply(feeReturnRatio.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_DOWN));
+// BigDecimal perProfit = totalProfit.divide(BigDecimal.valueOf(size), 8, RoundingMode.HALF_DOWN);
+//
+// memberList.forEach(item -> {
+// dappWalletService.updateWalletMineWithLock(perProfit, item.getId(), 1);
+//
+// DappFundFlowEntity profitFlow = new DappFundFlowEntity(item.getId(), perProfit, 12, 2, null, null);
+// dappFundFlowDao.insert(profitFlow);
+// });
}
@Override
public void levelProfit(Long id) {
- DappSystemProfit dappSystemProfit = dappSystemProfitDao.selectById(id);
- if(ObjectUtil.isEmpty(dappSystemProfit)){
- return;
- }
- Integer levelProfitState = dappSystemProfit.getLevelProfit();
-
- if(DappSystemProfit.ENUM_YES == levelProfitState){
- return;
- }
- Long memberId = dappSystemProfit.getMemberId();
- //获取用户的上级用户信息
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
- if(ObjectUtil.isEmpty(dappMemberEntity)){
- return;
- }
- String refererIds = dappMemberEntity.getRefererIds();
- if(StrUtil.isEmpty(refererIds)){
- return;
- }
- DataDictionaryCustom levelProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_PROFIT.getType(), DataDictionaryEnum.LEVEL_PROFIT.getCode());
- BigDecimal levelProfit = new BigDecimal(StrUtil.isEmpty(levelProfitSet.getValue()) ? "0.3" : levelProfitSet.getValue());
- //投入金额减去技术方收益
- DataDictionaryCustom systemProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYSTEM_PROFIT.getType(), DataDictionaryEnum.SYSTEM_PROFIT.getCode());
- BigDecimal systemProfit = new BigDecimal(StrUtil.isEmpty(systemProfitSet.getValue()) ? "0.05" : systemProfitSet.getValue());
- BigDecimal amount = dappSystemProfit.getAmount().subtract(systemProfit);
- //层级奖励总奖金
- BigDecimal levelProfitTotal = amount.multiply(levelProfit);
- //实发层级奖励 -- 如果还有剩余给技术方
- BigDecimal systemProfitTotal = BigDecimal.ZERO;
- //返回十层
- List<String> refererIdList = StrUtil.split(refererIds, ',');
- //i:计数层数,同时i也为对应层数应推广的人数,当达到对应的直推人数时,才能获取对应层级奖励
- if(CollUtil.isEmpty(refererIdList)){
- return;
- }
- //层级奖励最大循环次数
- int maxLevel = 10;
- if(maxLevel > refererIdList.size()){
- maxLevel = refererIdList.size();
- }
- for(int i = 0;i < maxLevel; i++){
- if(systemProfitTotal.compareTo(levelProfitTotal) < 0){
- String inviteId = refererIdList.get(i);
- //获取每层用户的直推人数,判断能否获得这个层级的层级奖励
- DappMemberEntity refererMember = dappMemberDao.selectMemberInfoByInviteId(inviteId);
- //获取直推用户数量
- QueryWrapper<DappMemberEntity> objectQueryWrapper = new QueryWrapper<>();
- objectQueryWrapper.eq("referer_id",refererMember.getInviteId());
- Integer selectCount = dappMemberDao.selectCount(objectQueryWrapper);
- if(i >= selectCount){
- continue;
- }
- //获取对应层级奖励
- BigDecimal profit = LevelProfitEnum.YI.getProfit(i+1);
- String accountType = refererMember.getAccountType();
- //根据会员的等级类型,获取对应的百分比收益
- DataDictionaryCustom memberLevelSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("MEMBER_LEVEL", accountType);
- BigDecimal memberLevel = new BigDecimal(memberLevelSet.getValue());
-
-// BigDecimal memberLevelProfit = levelProfitTotal.multiply(profit).multiply(memberLevel);
-
- BigDecimal memberLevelProfit = profit.multiply(memberLevel);
-
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(refererMember.getId(), memberLevelProfit, 4, 1, BigDecimal.ZERO,null,dappSystemProfit.getId());
- dappFundFlowDao.insert(fundFlow);
- //发送转币消息
- chainProducer.sendBnbTransferMsg(fundFlow.getId());
- systemProfitTotal = systemProfitTotal.add(memberLevelProfit);
- }
- }
- //如果还有剩余给技术方
- if(levelProfitTotal.compareTo(systemProfitTotal) > 0){
- BigDecimal avaProfit = levelProfitTotal.subtract(systemProfitTotal);
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(2L, avaProfit, 5, 1, BigDecimal.ZERO,null,dappSystemProfit.getId());
- dappFundFlowDao.insert(fundFlow);
- //发送转币消息
- chainProducer.sendBnbTransferMsg(fundFlow.getId());
- }
-
- dappSystemProfitDao.updateLevelProfitById(DappSystemProfit.ENUM_YES,dappSystemProfit.getId());
+// DappSystemProfit dappSystemProfit = dappSystemProfitDao.selectById(id);
+// if(ObjectUtil.isEmpty(dappSystemProfit)){
+// return;
+// }
+// Integer levelProfitState = dappSystemProfit.getLevelProfit();
+//
+// if(DappSystemProfit.ENUM_YES == levelProfitState){
+// return;
+// }
+// Long memberId = dappSystemProfit.getMemberId();
+// //获取用户的上级用户信息
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+// if(ObjectUtil.isEmpty(dappMemberEntity)){
+// return;
+// }
+// String refererIds = dappMemberEntity.getRefererIds();
+// if(StrUtil.isEmpty(refererIds)){
+// return;
+// }
+// DataDictionaryCustom levelProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_PROFIT.getType(), DataDictionaryEnum.LEVEL_PROFIT.getCode());
+// BigDecimal levelProfit = new BigDecimal(StrUtil.isEmpty(levelProfitSet.getValue()) ? "0.3" : levelProfitSet.getValue());
+// //投入金额减去技术方收益
+// DataDictionaryCustom systemProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYSTEM_PROFIT.getType(), DataDictionaryEnum.SYSTEM_PROFIT.getCode());
+// BigDecimal systemProfit = new BigDecimal(StrUtil.isEmpty(systemProfitSet.getValue()) ? "0.05" : systemProfitSet.getValue());
+// BigDecimal amount = dappSystemProfit.getAmount().subtract(systemProfit);
+// //层级奖励总奖金
+// BigDecimal levelProfitTotal = amount.multiply(levelProfit);
+// //实发层级奖励 -- 如果还有剩余给技术方
+// BigDecimal systemProfitTotal = BigDecimal.ZERO;
+// //返回十层
+// List<String> refererIdList = StrUtil.split(refererIds, ',');
+// //i:计数层数,同时i也为对应层数应推广的人数,当达到对应的直推人数时,才能获取对应层级奖励
+// if(CollUtil.isEmpty(refererIdList)){
+// return;
+// }
+// //层级奖励最大循环次数
+// int maxLevel = 10;
+// if(maxLevel > refererIdList.size()){
+// maxLevel = refererIdList.size();
+// }
+// for(int i = 0;i < maxLevel; i++){
+// if(systemProfitTotal.compareTo(levelProfitTotal) < 0){
+// String inviteId = refererIdList.get(i);
+// //获取每层用户的直推人数,判断能否获得这个层级的层级奖励
+// DappMemberEntity refererMember = dappMemberDao.selectMemberInfoByInviteId(inviteId);
+// //获取直推用户数量
+// QueryWrapper<DappMemberEntity> objectQueryWrapper = new QueryWrapper<>();
+// objectQueryWrapper.eq("referer_id",refererMember.getInviteId());
+// Integer selectCount = dappMemberDao.selectCount(objectQueryWrapper);
+// if(i >= selectCount){
+// continue;
+// }
+// //获取对应层级奖励
+// BigDecimal profit = LevelProfitEnum.YI.getProfit(i+1);
+// String accountType = refererMember.getAccountType();
+// //根据会员的等级类型,获取对应的百分比收益
+// DataDictionaryCustom memberLevelSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("MEMBER_LEVEL", accountType);
+// BigDecimal memberLevel = new BigDecimal(memberLevelSet.getValue());
+//
+//// BigDecimal memberLevelProfit = levelProfitTotal.multiply(profit).multiply(memberLevel);
+//
+// BigDecimal memberLevelProfit = profit.multiply(memberLevel);
+//
+// DappFundFlowEntity fundFlow = new DappFundFlowEntity(refererMember.getId(), memberLevelProfit, 4, 1, BigDecimal.ZERO,null,dappSystemProfit.getId());
+// dappFundFlowDao.insert(fundFlow);
+// //发送转币消息
+// chainProducer.sendBnbTransferMsg(fundFlow.getId());
+// systemProfitTotal = systemProfitTotal.add(memberLevelProfit);
+// }
+// }
+// //如果还有剩余给技术方
+// if(levelProfitTotal.compareTo(systemProfitTotal) > 0){
+// BigDecimal avaProfit = levelProfitTotal.subtract(systemProfitTotal);
+// DappFundFlowEntity fundFlow = new DappFundFlowEntity(2L, avaProfit, 5, 1, BigDecimal.ZERO,null,dappSystemProfit.getId());
+// dappFundFlowDao.insert(fundFlow);
+// //发送转币消息
+// chainProducer.sendBnbTransferMsg(fundFlow.getId());
+// }
+//
+// dappSystemProfitDao.updateLevelProfitById(DappSystemProfit.ENUM_YES,dappSystemProfit.getId());
}
@Override
public void memberOut(Long id) {
//验证是否已经加入动能队列
- DappSystemProfit systemProfit = dappSystemProfitDao.selectById(id);
- if(ObjectUtil.isEmpty(systemProfit)){
- return;
- }
- //获取当前是第几轮队列
- String redisKey = "QUEUE_COUNT";
- String memberOutCount = redisUtils.getString(redisKey);
- DataDictionaryCustom queueCountSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.QUEUE_COUNT.getType(), DataDictionaryEnum.QUEUE_COUNT.getCode());
- String queueCount = queueCountSet.getValue();
- if(StrUtil.isBlank(memberOutCount) || !queueCount.equals(memberOutCount)){
- redisUtils.set(redisKey,queueCount,0L);
- memberOutCount = queueCount;
- }
- //出局条件的人数
- /**
- * 初始大小 5+4*0
- * 1 1,2,3,4,5 1出局 5+4*0
- * 2 2,3,4,5,1(复投),7,8,9,10 2出局 5+4*1
- * 3 3,4,5,1(复投),7,8,9,10,2(复投),12,13,14,15 3出局 5+4*2
- * 4 4,5,1(复投),7,8,9,10,2(复投),12,13,14,15,3(复投),17,18,19,20 4出局 5+4*3
- */
- Integer memberCount = Integer.parseInt(memberOutCount) * 4 + 5;
- //判断当前是否符合出局条件
- QueryWrapper<DappSystemProfit> objectQueryWrapper = new QueryWrapper<>();
- objectQueryWrapper.eq("state",DappSystemProfit.STATE_IN);
- //实际投资人数
- Integer selectCount = dappSystemProfitDao.selectCount(objectQueryWrapper);
- //实际投资人数小于出局条件人数
- if(selectCount < memberCount){
- return;
- }
- //符合则出局 实际投资人数等于出局条件人数
- DappSystemProfit dappSystemProfit = dappSystemProfitDao.selectSystemProfitByState(DappSystemProfit.STATE_IN);
- if(ObjectUtil.isEmpty(dappSystemProfit)){
- return;
- }
- //符合则出局,轮数+1
- Integer realCount = (Integer.parseInt(queueCount) + 1);
- queueCountSet.setValue(realCount.toString());
- dataDictionaryCustomMapper.updateById(queueCountSet);
- redisUtils.set(redisKey,realCount,0L);
-
- DappSystemProfit dappSystemProfitNow = dappSystemProfitDao.selectByIdForUpdate(dappSystemProfit.getId(),DappSystemProfit.STATE_IN);
- dappSystemProfitDao.updateStateById(DappSystemProfit.STATE_OUT,dappSystemProfitNow.getId());
-
- // 直接拿走0.95ge
-
- DataDictionaryCustom investAmountProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.INVEST_AMOUNT_PROFIT.getType(), DataDictionaryEnum.INVEST_AMOUNT_PROFIT.getCode());
- BigDecimal investAmountProfit = new BigDecimal(investAmountProfitSet.getValue());
- DappFundFlowEntity fundFlowOut = new DappFundFlowEntity(dappSystemProfitNow.getMemberId(), investAmountProfit, 7, 1, BigDecimal.ZERO, null,dappSystemProfitNow.getId());
- dappFundFlowDao.insert(fundFlowOut);
- //发送转币消息
- chainProducer.sendBnbTransferMsg(fundFlowOut.getId());
- //复投 成功{type: 1, txHash: result.transactionHash, id: res.data, flag: 'success', buyType: 2}
- DataDictionaryCustom investAmountSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.INVEST_AMOUNT.getType(), DataDictionaryEnum.INVEST_AMOUNT.getCode());
- BigDecimal investAmount = new BigDecimal(investAmountSet.getValue());
- //todo 直接运行转账
- String txHash = "复投";
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(dappSystemProfitNow.getMemberId(), investAmount, 6, 1, BigDecimal.ZERO, txHash);
- dappFundFlowDao.insert(fundFlow);
-
- TransferDto transferDto = new TransferDto();
- transferDto.setType(1);
- transferDto.setTxHash(txHash);
- transferDto.setBuyType(2);
- transferDto.setId(fundFlow.getId());
- transferDto.setFlag("success");
- transferDto.setAmount(investAmount);
- transferDto.setMemberId(dappSystemProfitNow.getMemberId());
- dappWalletService.transferAgain(transferDto);
+// DappSystemProfit systemProfit = dappSystemProfitDao.selectById(id);
+// if(ObjectUtil.isEmpty(systemProfit)){
+// return;
+// }
+// //获取当前是第几轮队列
+// String redisKey = "QUEUE_COUNT";
+// String memberOutCount = redisUtils.getString(redisKey);
+// DataDictionaryCustom queueCountSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.QUEUE_COUNT.getType(), DataDictionaryEnum.QUEUE_COUNT.getCode());
+// String queueCount = queueCountSet.getValue();
+// if(StrUtil.isBlank(memberOutCount) || !queueCount.equals(memberOutCount)){
+// redisUtils.set(redisKey,queueCount,0L);
+// memberOutCount = queueCount;
+// }
+// //出局条件的人数
+// /**
+// * 初始大小 5+4*0
+// * 1 1,2,3,4,5 1出局 5+4*0
+// * 2 2,3,4,5,1(复投),7,8,9,10 2出局 5+4*1
+// * 3 3,4,5,1(复投),7,8,9,10,2(复投),12,13,14,15 3出局 5+4*2
+// * 4 4,5,1(复投),7,8,9,10,2(复投),12,13,14,15,3(复投),17,18,19,20 4出局 5+4*3
+// */
+// Integer memberCount = Integer.parseInt(memberOutCount) * 4 + 5;
+// //判断当前是否符合出局条件
+// QueryWrapper<DappSystemProfit> objectQueryWrapper = new QueryWrapper<>();
+// objectQueryWrapper.eq("state",DappSystemProfit.STATE_IN);
+// //实际投资人数
+// Integer selectCount = dappSystemProfitDao.selectCount(objectQueryWrapper);
+// //实际投资人数小于出局条件人数
+// if(selectCount < memberCount){
+// return;
+// }
+// //符合则出局 实际投资人数等于出局条件人数
+// DappSystemProfit dappSystemProfit = dappSystemProfitDao.selectSystemProfitByState(DappSystemProfit.STATE_IN);
+// if(ObjectUtil.isEmpty(dappSystemProfit)){
+// return;
+// }
+// //符合则出局,轮数+1
+// Integer realCount = (Integer.parseInt(queueCount) + 1);
+// queueCountSet.setValue(realCount.toString());
+// dataDictionaryCustomMapper.updateById(queueCountSet);
+// redisUtils.set(redisKey,realCount,0L);
+//
+// DappSystemProfit dappSystemProfitNow = dappSystemProfitDao.selectByIdForUpdate(dappSystemProfit.getId(),DappSystemProfit.STATE_IN);
+// dappSystemProfitDao.updateStateById(DappSystemProfit.STATE_OUT,dappSystemProfitNow.getId());
+//
+// // 直接拿走0.95ge
+//
+// DataDictionaryCustom investAmountProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.INVEST_AMOUNT_PROFIT.getType(), DataDictionaryEnum.INVEST_AMOUNT_PROFIT.getCode());
+// BigDecimal investAmountProfit = new BigDecimal(investAmountProfitSet.getValue());
+// DappFundFlowEntity fundFlowOut = new DappFundFlowEntity(dappSystemProfitNow.getMemberId(), investAmountProfit, 7, 1, BigDecimal.ZERO, null,dappSystemProfitNow.getId());
+// dappFundFlowDao.insert(fundFlowOut);
+// //发送转币消息
+// chainProducer.sendBnbTransferMsg(fundFlowOut.getId());
+// //复投 成功{type: 1, txHash: result.transactionHash, id: res.data, flag: 'success', buyType: 2}
+// DataDictionaryCustom investAmountSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.INVEST_AMOUNT.getType(), DataDictionaryEnum.INVEST_AMOUNT.getCode());
+// BigDecimal investAmount = new BigDecimal(investAmountSet.getValue());
+// //todo 直接运行转账
+// String txHash = "复投";
+// DappFundFlowEntity fundFlow = new DappFundFlowEntity(dappSystemProfitNow.getMemberId(), investAmount, 6, 1, BigDecimal.ZERO, txHash);
+// dappFundFlowDao.insert(fundFlow);
+//
+// TransferDto transferDto = new TransferDto();
+// transferDto.setType(1);
+// transferDto.setTxHash(txHash);
+// transferDto.setBuyType(2);
+// transferDto.setId(fundFlow.getId());
+// transferDto.setFlag("success");
+// transferDto.setAmount(investAmount);
+// transferDto.setMemberId(dappSystemProfitNow.getMemberId());
+// dappWalletService.transferAgain(transferDto);
}
@Override
@@ -411,62 +411,62 @@
@Override
public void agentUp(Long id) {
//根据邀请码获取用户信息
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(id);
- if(ObjectUtil.isEmpty(dappMemberEntity)){
- return;
- }
- //所有上级(不包含直属上级)
- String refererIds = dappMemberEntity.getRefererIds();
- List<String> refererIdList = StrUtil.split(refererIds, ',');
- if(CollUtil.isNotEmpty(refererIdList)){
- for(String inviteIdStr : refererIdList){
- DappMemberEntity dappMemberEntityUp = dappMemberDao.selectMemberInfoByInviteId(inviteIdStr);
- if(ObjectUtil.isEmpty(dappMemberEntityUp)){
- continue;
- }
- String accountType = dappMemberEntityUp.getAccountType();
- if(DataDictionaryEnum.BIG_BOSS.getCode().equals(accountType)){
- continue;
- }
- //当前为BOSS,且直推中有两个BOSS以上,则升级BIG_BOSS
- if(DataDictionaryEnum.BOSS.getCode().equals(accountType)){
- Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(DataDictionaryEnum.BOSS.getCode(),dappMemberEntityUp.getInviteId());
- if(2 <= bossCount){
- dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BIG_BOSS.getCode(),dappMemberEntityUp.getId());
- }
- continue;
- }
- //当前为AGENT,且直推中有两个以上,则升级BOSS
- if(DataDictionaryEnum.AGENT.getCode().equals(accountType)){
- Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(null,dappMemberEntityUp.getInviteId());
- if(2 <= bossCount){
- dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BOSS.getCode(),dappMemberEntityUp.getId());
- }
- continue;
- }
- }
- }
- //直属上级
- String accountType = dappMemberEntity.getAccountType();
- if(DataDictionaryEnum.BIG_BOSS.getCode().equals(accountType)){
- return;
- }
- //当前为BOSS,且直推中有两个BOSS以上,则升级BIG_BOSS
- if(DataDictionaryEnum.BOSS.getCode().equals(accountType)){
- Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(DataDictionaryEnum.BOSS.getCode(),dappMemberEntity.getInviteId());
- if(2 <= bossCount){
- dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BIG_BOSS.getCode(),dappMemberEntity.getId());
- }
- return;
- }
- //当前为AGENT,且直推中有两个以上,则升级BOSS
- if(DataDictionaryEnum.AGENT.getCode().equals(accountType)){
- Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(null,dappMemberEntity.getInviteId());
- if(2 <= bossCount){
- dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BOSS.getCode(),dappMemberEntity.getId());
- }
- return;
- }
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(id);
+// if(ObjectUtil.isEmpty(dappMemberEntity)){
+// return;
+// }
+// //所有上级(不包含直属上级)
+// String refererIds = dappMemberEntity.getRefererIds();
+// List<String> refererIdList = StrUtil.split(refererIds, ',');
+// if(CollUtil.isNotEmpty(refererIdList)){
+// for(String inviteIdStr : refererIdList){
+// DappMemberEntity dappMemberEntityUp = dappMemberDao.selectMemberInfoByInviteId(inviteIdStr);
+// if(ObjectUtil.isEmpty(dappMemberEntityUp)){
+// continue;
+// }
+// String accountType = dappMemberEntityUp.getAccountType();
+// if(DataDictionaryEnum.BIG_BOSS.getCode().equals(accountType)){
+// continue;
+// }
+// //当前为BOSS,且直推中有两个BOSS以上,则升级BIG_BOSS
+// if(DataDictionaryEnum.BOSS.getCode().equals(accountType)){
+// Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(DataDictionaryEnum.BOSS.getCode(),dappMemberEntityUp.getInviteId());
+// if(2 <= bossCount){
+// dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BIG_BOSS.getCode(),dappMemberEntityUp.getId());
+// }
+// continue;
+// }
+// //当前为AGENT,且直推中有两个以上,则升级BOSS
+// if(DataDictionaryEnum.AGENT.getCode().equals(accountType)){
+// Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(null,dappMemberEntityUp.getInviteId());
+// if(2 <= bossCount){
+// dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BOSS.getCode(),dappMemberEntityUp.getId());
+// }
+// continue;
+// }
+// }
+// }
+// //直属上级
+// String accountType = dappMemberEntity.getAccountType();
+// if(DataDictionaryEnum.BIG_BOSS.getCode().equals(accountType)){
+// return;
+// }
+// //当前为BOSS,且直推中有两个BOSS以上,则升级BIG_BOSS
+// if(DataDictionaryEnum.BOSS.getCode().equals(accountType)){
+// Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(DataDictionaryEnum.BOSS.getCode(),dappMemberEntity.getInviteId());
+// if(2 <= bossCount){
+// dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BIG_BOSS.getCode(),dappMemberEntity.getId());
+// }
+// return;
+// }
+// //当前为AGENT,且直推中有两个以上,则升级BOSS
+// if(DataDictionaryEnum.AGENT.getCode().equals(accountType)){
+// Integer bossCount = dappMemberDao.selectCountByAccountTypeAndRefererId(null,dappMemberEntity.getInviteId());
+// if(2 <= bossCount){
+// dappMemberDao.updateMemberAccountType(DataDictionaryEnum.BOSS.getCode(),dappMemberEntity.getId());
+// }
+// return;
+// }
}
@Override
@@ -503,406 +503,406 @@
@Override
public void AntACoinInMsg(Long id) {
- /**
- * 获取对应的流水记录
- */
- DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectInfoById(id);
- if(ObjectUtil.isEmpty(dappFundFlowEntity)){
- return;
- }
- Long memberId = dappFundFlowEntity.getMemberId();
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
- if(ObjectUtil.isEmpty(dappMemberEntity)){
- return;
- }
- /**
- * 会员充值金额
- */
- BigDecimal amount = dappFundFlowEntity.getAmount();
- /**
- * A币的当前价格
- */
- DataDictionaryCustom coinAPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_PRICE.getType(),
- PoolEnum.COIN_A_PRICE.getCode()
- );
- BigDecimal coinAPrice = new BigDecimal(StrUtil.isEmpty(coinAPriceDic.getValue()) ? "0" : coinAPriceDic.getValue()).setScale(12,BigDecimal.ROUND_DOWN);
- /**
- * 会员充值USDT买入A币记录的ID
- */
- Long chergeRecordId = dappFundFlowEntity.getSystemProfitId();
- DappChargeUsdtEntity dappChargeUsdtEntity = dappChargeUsdtMapper.selectById(chergeRecordId);
- if(2 != dappChargeUsdtEntity.getStatus()){
- return;
- }
- if(StrUtil.isEmpty(dappChargeUsdtEntity.getMemberHash())){
- return;
- }
- /**
- * 金本位的三倍额度,增加业绩,增加对应的NFT的值
- */
- DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberId);
- if(ObjectUtil.isEmpty(dappUsdtPerkEntity)){
- dappUsdtPerkEntity = new DappUsdtPerkEntity();
- dappUsdtPerkEntity.setAmount(amount.multiply(new BigDecimal(3)));
- dappUsdtPerkEntity.setNftDevote(amount);
- dappUsdtPerkEntity.setMemberId(memberId);
- dappUsdtPerkEntityMapper.insert(dappUsdtPerkEntity);
- }
- //金本位的三倍额度
- BigDecimal amountPerk = dappUsdtPerkEntity.getAmount();
- amountPerk = amountPerk.add(amount.multiply(new BigDecimal(3)));
- dappUsdtPerkEntity.setAmount(amountPerk);
- //生成一条金本位的三倍额度的资金流水记录
- DappFundFlowEntity amountPerkFundFlow = new DappFundFlowEntity(
- memberId,
- amount.multiply(new BigDecimal(3)),
- FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(amountPerkFundFlow);
-
- //增加业绩
- BigDecimal achieveAmount = dappUsdtPerkEntity.getAchieveAmount();
- achieveAmount = achieveAmount.add(amount);
- dappUsdtPerkEntity.setAchieveAmount(achieveAmount);
- //增加对应的NFT的值
- BigDecimal nftDevote = dappUsdtPerkEntity.getNftDevote();
- nftDevote = nftDevote.add(amount);
- dappUsdtPerkEntity.setNftDevote(nftDevote);
- dappUsdtPerkEntityMapper.updateById(dappUsdtPerkEntity);
- /**
- * 90%进入A币底池 10%进入B币LP薄饼底池
- */
- DataDictionaryCustom usdtAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.USDT_A_PERCENT.getType(),
- PoolEnum.USDT_A_PERCENT.getCode()
- );
- BigDecimal usdtAPercent = new BigDecimal(StrUtil.isEmpty(usdtAPercentDic.getValue()) ? "0.7" : usdtAPercentDic.getValue());
- BigDecimal usdtAAmount = amount.multiply(usdtAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- //生成一条进行中的70%进入A币底池的资金流水记录
- DappFundFlowEntity fundFlowToA = new DappFundFlowEntity(
- 1L,
- usdtAAmount,
- FundFlowEnum.USDT_IN_A_POOL.getCode(),
- 1,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(fundFlowToA);
- //90%进入A币底池
- chainProducer.sendAntACoinInAPoolMsg(fundFlowToA.getId());
-
- BigDecimal usdtWAmount = amount.multiply(new BigDecimal(0.2)).setScale(4, BigDecimal.ROUND_DOWN);
- //生成一条进行中的20%进入A币底池的资金流水记录
- DappFundFlowEntity fundFlowToW = new DappFundFlowEntity(
- 1L,
- usdtWAmount,
- FundFlowEnum.USDT_IN_W_POOL.getCode(),
- 1,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(fundFlowToW);
-
- DataDictionaryCustom usdtBPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.USDT_B_PERCENT.getType(),
- PoolEnum.USDT_B_PERCENT.getCode()
- );
- BigDecimal usdtBPercent = new BigDecimal(StrUtil.isEmpty(usdtBPercentDic.getValue()) ? "0.1" : usdtBPercentDic.getValue());
- BigDecimal usdtBAmount = amount.multiply(usdtBPercent).setScale(4, BigDecimal.ROUND_DOWN);
- //生成一条进行中的10%进入B币底池的资金流水记录
- DappFundFlowEntity fundFlowToB = new DappFundFlowEntity(
- 1L,
- usdtBAmount,
- FundFlowEnum.USDT_IN_B_POOL.getCode(),
- 1,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(fundFlowToB);
- //10%进入B币LP薄饼底池
- chainProducer.sendAntACoinInBPoolMsg(fundFlowToB.getId());
- /**
- * 1.90%底池的USDT做成100%溢价,铸造出70%金本位价值的A币。
- */
- DataDictionaryCustom produceAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.PRODUCE_A_PERCENT.getType(),
- PoolEnum.PRODUCE_A_PERCENT.getCode()
- );
- BigDecimal produceAPercent = new BigDecimal(StrUtil.isEmpty(produceAPercentDic.getValue()) ? "0.7" : produceAPercentDic.getValue());
- //购买数量
- BigDecimal totalCnt = amount.divide(coinAPrice, 4, BigDecimal.ROUND_DOWN);
- /**
- * 铸造出70%金本位价值的A币。实际产生数量
- */
- BigDecimal realCnt = totalCnt.multiply(produceAPercent).setScale(4, BigDecimal.ROUND_DOWN);
- dappChargeUsdtEntity.setTotalCnt(totalCnt);
- dappChargeUsdtEntity.setRealCnt(realCnt);
- dappChargeUsdtMapper.updateById(dappChargeUsdtEntity);
- /**
- * 重新计算A币的价格
- */
- DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_CNT.getType(),
- PoolEnum.COIN_A_CNT.getCode()
- );
- //A币币本位底池-A币的数量
- BigDecimal coinACntDicCnt = new BigDecimal(coinACntDic.getValue());
- coinACntDicCnt = coinACntDicCnt.add(realCnt);
- coinACntDic.setValue(coinACntDicCnt.toString());
- dataDictionaryCustomMapper.updateById(coinACntDic);
-
- DataDictionaryCustom coinAUsdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_USDT_PRICE.getType(),
- PoolEnum.COIN_A_USDT_PRICE.getCode()
- );
- //A币金本位底池-usdt数量
- BigDecimal coinAUsdtPriceDicCnt = new BigDecimal(coinAUsdtPriceDic.getValue());
- coinAUsdtPriceDicCnt = coinAUsdtPriceDicCnt.add(amount);
- coinAUsdtPriceDic.setValue(coinAUsdtPriceDicCnt.toString());
- dataDictionaryCustomMapper.updateById(coinAUsdtPriceDic);
-
- BigDecimal divide = coinAUsdtPriceDicCnt.divide(coinACntDicCnt, 12, BigDecimal.ROUND_DOWN);
- coinAPriceDic.setValue(divide.toString());
- dataDictionaryCustomMapper.updateById(coinAPriceDic);
-
- chainProducer.sendAntKLineMsg(0);
- /**
- * A币的分配 walletMine
- * 【70%换算100%分配】
- * 50%客户秒到
- * 20%全网加权分红(按20%释放递减)
- * 10%直推
- * 5%节点
- * 5%基金会
- * 10%级差奖
- */
- /**
- * 50%客户秒到
- */
- DataDictionaryCustom memberGetAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.MEMBER_GET_A_PERCENT.getType(),
- PoolEnum.MEMBER_GET_A_PERCENT.getCode()
- );
- BigDecimal memberGetAPercent = new BigDecimal(StrUtil.isEmpty(memberGetAPercentDic.getValue()) ? "0.5" : memberGetAPercentDic.getValue());
- BigDecimal memberGetACnt = realCnt.multiply(memberGetAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- BigDecimal fundFlowToMemberFlag = this.getAndUpdateMemberPerk(dappFundFlowEntity.getMemberId(), memberGetACnt);
- if(fundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
- //生成一条50%客户秒到的资金流水记录
- DappFundFlowEntity fundFlowToMember = new DappFundFlowEntity(
- dappFundFlowEntity.getMemberId(),
- fundFlowToMemberFlag,
- FundFlowEnum.MEMBER_GET_A_CNT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(fundFlowToMember);
- //用户的A币账户增加memberGetACnt数量
- dappWalletService.updateWalletMineWithLock(fundFlowToMemberFlag,dappFundFlowEntity.getMemberId(),1);
- }
- /**
- * 20%全网加权分红(按20%释放递减)进入加权分红底池
- */
- DataDictionaryCustom poolAllMemberAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getType(),
- PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getCode()
- );
- BigDecimal poolAllMemberAPercent = new BigDecimal(StrUtil.isEmpty(poolAllMemberAPercentDic.getValue()) ? "0.2" : poolAllMemberAPercentDic.getValue());
- BigDecimal poolAllMemberAPercentCnt = realCnt.multiply(poolAllMemberAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- DataDictionaryCustom poolAllMemberACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.POOL_ALL_MEMBER_A_CNT.getType(),
- PoolEnum.POOL_ALL_MEMBER_A_CNT.getCode()
- );
- BigDecimal poolAllMemberACnt = new BigDecimal(StrUtil.isEmpty(poolAllMemberACntDic.getValue()) ? "0" : poolAllMemberACntDic.getValue());
- poolAllMemberACnt = poolAllMemberACnt.add(poolAllMemberAPercentCnt);
- poolAllMemberACntDic.setValue(poolAllMemberACnt.toString());
- dataDictionaryCustomMapper.updateById(poolAllMemberACntDic);
- //生成一条20%全网加权分红(按20%释放递减)进入加权分红底池的资金流水记录
- DappFundFlowEntity poolAllMemberAFundFlow = new DappFundFlowEntity(
- 1L,
- poolAllMemberAPercentCnt,
- FundFlowEnum.POOL_ALL_MEMBER_A_CNT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(poolAllMemberAFundFlow);
-
-// BigDecimal poolAllMemberAPercentCntAva = nodePoolPerk(poolAllMemberAPercentCnt, MemberLevelEnum.MEMBER.getType(), FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
- /**
- * 20%全网加权平分,按照个人投资占比全网的比例去平分
- */
- chainProducer.sendAllMemberPerkAvaMsg(poolAllMemberAFundFlow.getId());
-// BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
-// DappFundFlowEntity poolAllMemberAFundFlowAva = new DappFundFlowEntity(
-// 1L,
-// poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
-// FundFlowEnum.POOL_MEMBER_A_CNT.getCode(),
+// /**
+// * 获取对应的流水记录
+// */
+// DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectInfoById(id);
+// if(ObjectUtil.isEmpty(dappFundFlowEntity)){
+// return;
+// }
+// Long memberId = dappFundFlowEntity.getMemberId();
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+// if(ObjectUtil.isEmpty(dappMemberEntity)){
+// return;
+// }
+// /**
+// * 会员充值金额
+// */
+// BigDecimal amount = dappFundFlowEntity.getAmount();
+// /**
+// * A币的当前价格
+// */
+// DataDictionaryCustom coinAPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_PRICE.getType(),
+// PoolEnum.COIN_A_PRICE.getCode()
+// );
+// BigDecimal coinAPrice = new BigDecimal(StrUtil.isEmpty(coinAPriceDic.getValue()) ? "0" : coinAPriceDic.getValue()).setScale(12,BigDecimal.ROUND_DOWN);
+// /**
+// * 会员充值USDT买入A币记录的ID
+// */
+// Long chergeRecordId = dappFundFlowEntity.getSystemProfitId();
+// DappChargeUsdtEntity dappChargeUsdtEntity = dappChargeUsdtMapper.selectById(chergeRecordId);
+// if(2 != dappChargeUsdtEntity.getStatus()){
+// return;
+// }
+// if(StrUtil.isEmpty(dappChargeUsdtEntity.getMemberHash())){
+// return;
+// }
+// /**
+// * 金本位的三倍额度,增加业绩,增加对应的NFT的值
+// */
+// DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberId);
+// if(ObjectUtil.isEmpty(dappUsdtPerkEntity)){
+// dappUsdtPerkEntity = new DappUsdtPerkEntity();
+// dappUsdtPerkEntity.setAmount(amount.multiply(new BigDecimal(3)));
+// dappUsdtPerkEntity.setNftDevote(amount);
+// dappUsdtPerkEntity.setMemberId(memberId);
+// dappUsdtPerkEntityMapper.insert(dappUsdtPerkEntity);
+// }
+// //金本位的三倍额度
+// BigDecimal amountPerk = dappUsdtPerkEntity.getAmount();
+// amountPerk = amountPerk.add(amount.multiply(new BigDecimal(3)));
+// dappUsdtPerkEntity.setAmount(amountPerk);
+// //生成一条金本位的三倍额度的资金流水记录
+// DappFundFlowEntity amountPerkFundFlow = new DappFundFlowEntity(
+// memberId,
+// amount.multiply(new BigDecimal(3)),
+// FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(),
// 2,
// BigDecimal.ZERO,
// null,
// chergeRecordId);
-// dappFundFlowDao.insert(poolAllMemberAFundFlowAva);
-// dappWalletService.updateWalletMineWithLock(poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
-// 1L,1);
-
- /**
- * 10%直推
- */
- DataDictionaryCustom directAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.DIRECT_A_PERCENT.getType(),
- PoolEnum.DIRECT_A_PERCENT.getCode()
- );
- BigDecimal directAPercent = new BigDecimal(StrUtil.isEmpty(directAPercentDic.getValue()) ? "0.1" : directAPercentDic.getValue());
- BigDecimal directAPercentCnt = realCnt.multiply(directAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- String refererId = dappMemberEntity.getRefererId();
- DappMemberEntity directMemberEntity = dappMemberDao.selectMemberInfoByInviteId(refererId);
- if(ObjectUtil.isNotEmpty(directMemberEntity)){
- /**
- *推荐用户入单可享有贡献值.例.推荐100获得100贡献值
- */
- DappUsdtPerkEntity directDappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(directMemberEntity.getId());
- if(ObjectUtil.isEmpty(directDappUsdtPerkEntity)){
- directDappUsdtPerkEntity = new DappUsdtPerkEntity();
- directDappUsdtPerkEntity.setNftDevote(amount);
- directDappUsdtPerkEntity.setMemberId(directMemberEntity.getId());
- dappUsdtPerkEntityMapper.insert(directDappUsdtPerkEntity);
- }
-
- BigDecimal directNftDevote = directDappUsdtPerkEntity.getNftDevote();
- directNftDevote = directNftDevote.add(amount);
- directDappUsdtPerkEntity.setNftDevote(directNftDevote);
- dappUsdtPerkEntityMapper.updateById(directDappUsdtPerkEntity);
-
- BigDecimal directAPercentFundFlowToMemberFlag = this.getAndUpdateMemberPerk(directMemberEntity.getId(), directAPercentCnt);
- if(directAPercentFundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
- //生成一条10%直推的资金流水记录
- DappFundFlowEntity directAPercentFundFlowToMember = new DappFundFlowEntity(
- directMemberEntity.getId(),
- directAPercentFundFlowToMemberFlag,
- FundFlowEnum.DIRECT_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(directAPercentFundFlowToMember);
- //用户的A币账户增加directAPercentCnt数量
- dappWalletService.updateWalletMineWithLock(directAPercentFundFlowToMemberFlag,directMemberEntity.getId(),1);
- }
- if(directAPercentCnt.compareTo(directAPercentFundFlowToMemberFlag) > 0){
- DappFundFlowEntity directAPercentFundFlowToMemberAva = new DappFundFlowEntity(
- 1L,
- directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
- FundFlowEnum.DIRECT_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(directAPercentFundFlowToMemberAva);
- dappWalletService.updateWalletMineWithLock(directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
- AppContants.YL_MEMBER_ID,1);
- }
- }
- /**
- * 5%节点
- */
- DataDictionaryCustom nodeAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_A_PERCENT.getType(),
- PoolEnum.NODE_A_PERCENT.getCode()
- );
- BigDecimal nodeAPercent = new BigDecimal(StrUtil.isEmpty(nodeAPercentDic.getValue()) ? "0.05" : nodeAPercentDic.getValue());
- BigDecimal nodeAPercentCnt = realCnt.multiply(nodeAPercent).setScale(4, BigDecimal.ROUND_DOWN);
- //生成一条5%节点的资金流水记录
- DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
- 1L,
- nodeAPercentCnt,
- FundFlowEnum.NODE_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(nodeAPercentFundFlow);
-// chainProducer.sendAntACoinInNodeMsg(nodeAPercentFundFlow.getId());
- DataDictionaryCustom nodeAPercentPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_A_PERCENT_POOL.getType(),
- PoolEnum.NODE_A_PERCENT_POOL.getCode()
- );
- BigDecimal nodeAPercentPoolDicCnt = new BigDecimal(StrUtil.isEmpty(nodeAPercentPoolDic.getValue()) ? "0" : nodeAPercentPoolDic.getValue());
- nodeAPercentPoolDicCnt = nodeAPercentPoolDicCnt.add(nodeAPercentCnt);
- nodeAPercentPoolDic.setValue(nodeAPercentPoolDicCnt.toString());
- dataDictionaryCustomMapper.updateById(nodeAPercentPoolDic);
-
- BigDecimal nodeAPercentCntAva = superNodePoolPerk(nodeAPercentCnt, NodeCodeEnum.SUPER_NODE.getCode(), FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
-
- if(nodeAPercentCnt.compareTo(nodeAPercentCntAva) > 0){
- DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
- nodeAPercentCnt.subtract(nodeAPercentCntAva),
- FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(nodeAPercentFundFlowAva);
- dappWalletService.updateWalletMineWithLock(nodeAPercentCnt.subtract(nodeAPercentCntAva),
- AppContants.YL_MEMBER_ID,1);
- }
- /**
- * 5%基金会
- */
- DataDictionaryCustom foundationAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.FOUNDATION_A_PERCENT.getType(),
- PoolEnum.FOUNDATION_A_PERCENT.getCode()
- );
- BigDecimal foundationAPercent = new BigDecimal(StrUtil.isEmpty(foundationAPercentDic.getValue()) ? "0.05" : foundationAPercentDic.getValue());
- BigDecimal foundationAPercentCnt = realCnt.multiply(foundationAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- //生成一条5%基金会的资金流水记录
- DappFundFlowEntity foundationAPercentFundFlow = new DappFundFlowEntity(
- 295L,
- foundationAPercentCnt,
- FundFlowEnum.FOUNDATION_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(foundationAPercentFundFlow);
- //用户的A币账户增加memberGetACnt数量
- dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,295L,1);
- /**
- * 10%级差奖
- */
- DataDictionaryCustom levelAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.LEVEL_A_PERCENT.getType(),
- PoolEnum.LEVEL_A_PERCENT.getCode()
- );
- BigDecimal levelAPercent = new BigDecimal(StrUtil.isEmpty(levelAPercentDic.getValue()) ? "0.1" : levelAPercentDic.getValue());
- BigDecimal levelAPercentCnt = realCnt.multiply(levelAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- //生成一条10%级差奖进入10%级差奖底池的资金流水记录
- DappFundFlowEntity levelAPercentCntFundFlow = new DappFundFlowEntity(
- 1L,
- levelAPercentCnt,
- FundFlowEnum.LEVEL_A_PERCENT_CNT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(levelAPercentCntFundFlow);
- chainProducer.sendAntACoinInLevelMsg(levelAPercentCntFundFlow.getId());
-
- /**
- * 更新用户为有效用户
- */
- dappMemberDao.updateMemberActiveStatus(1,memberId);
+// dappFundFlowDao.insert(amountPerkFundFlow);
+//
+// //增加业绩
+// BigDecimal achieveAmount = dappUsdtPerkEntity.getAchieveAmount();
+// achieveAmount = achieveAmount.add(amount);
+// dappUsdtPerkEntity.setAchieveAmount(achieveAmount);
+// //增加对应的NFT的值
+// BigDecimal nftDevote = dappUsdtPerkEntity.getNftDevote();
+// nftDevote = nftDevote.add(amount);
+// dappUsdtPerkEntity.setNftDevote(nftDevote);
+// dappUsdtPerkEntityMapper.updateById(dappUsdtPerkEntity);
+// /**
+// * 90%进入A币底池 10%进入B币LP薄饼底池
+// */
+// DataDictionaryCustom usdtAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.USDT_A_PERCENT.getType(),
+// PoolEnum.USDT_A_PERCENT.getCode()
+// );
+// BigDecimal usdtAPercent = new BigDecimal(StrUtil.isEmpty(usdtAPercentDic.getValue()) ? "0.7" : usdtAPercentDic.getValue());
+// BigDecimal usdtAAmount = amount.multiply(usdtAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// //生成一条进行中的70%进入A币底池的资金流水记录
+// DappFundFlowEntity fundFlowToA = new DappFundFlowEntity(
+// 1L,
+// usdtAAmount,
+// FundFlowEnum.USDT_IN_A_POOL.getCode(),
+// 1,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(fundFlowToA);
+// //90%进入A币底池
+// chainProducer.sendAntACoinInAPoolMsg(fundFlowToA.getId());
+//
+// BigDecimal usdtWAmount = amount.multiply(new BigDecimal(0.2)).setScale(4, BigDecimal.ROUND_DOWN);
+// //生成一条进行中的20%进入A币底池的资金流水记录
+// DappFundFlowEntity fundFlowToW = new DappFundFlowEntity(
+// 1L,
+// usdtWAmount,
+// FundFlowEnum.USDT_IN_W_POOL.getCode(),
+// 1,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(fundFlowToW);
+//
+// DataDictionaryCustom usdtBPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.USDT_B_PERCENT.getType(),
+// PoolEnum.USDT_B_PERCENT.getCode()
+// );
+// BigDecimal usdtBPercent = new BigDecimal(StrUtil.isEmpty(usdtBPercentDic.getValue()) ? "0.1" : usdtBPercentDic.getValue());
+// BigDecimal usdtBAmount = amount.multiply(usdtBPercent).setScale(4, BigDecimal.ROUND_DOWN);
+// //生成一条进行中的10%进入B币底池的资金流水记录
+// DappFundFlowEntity fundFlowToB = new DappFundFlowEntity(
+// 1L,
+// usdtBAmount,
+// FundFlowEnum.USDT_IN_B_POOL.getCode(),
+// 1,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(fundFlowToB);
+// //10%进入B币LP薄饼底池
+// chainProducer.sendAntACoinInBPoolMsg(fundFlowToB.getId());
+// /**
+// * 1.90%底池的USDT做成100%溢价,铸造出70%金本位价值的A币。
+// */
+// DataDictionaryCustom produceAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.PRODUCE_A_PERCENT.getType(),
+// PoolEnum.PRODUCE_A_PERCENT.getCode()
+// );
+// BigDecimal produceAPercent = new BigDecimal(StrUtil.isEmpty(produceAPercentDic.getValue()) ? "0.7" : produceAPercentDic.getValue());
+// //购买数量
+// BigDecimal totalCnt = amount.divide(coinAPrice, 4, BigDecimal.ROUND_DOWN);
+// /**
+// * 铸造出70%金本位价值的A币。实际产生数量
+// */
+// BigDecimal realCnt = totalCnt.multiply(produceAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+// dappChargeUsdtEntity.setTotalCnt(totalCnt);
+// dappChargeUsdtEntity.setRealCnt(realCnt);
+// dappChargeUsdtMapper.updateById(dappChargeUsdtEntity);
+// /**
+// * 重新计算A币的价格
+// */
+// DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_CNT.getType(),
+// PoolEnum.COIN_A_CNT.getCode()
+// );
+// //A币币本位底池-A币的数量
+// BigDecimal coinACntDicCnt = new BigDecimal(coinACntDic.getValue());
+// coinACntDicCnt = coinACntDicCnt.add(realCnt);
+// coinACntDic.setValue(coinACntDicCnt.toString());
+// dataDictionaryCustomMapper.updateById(coinACntDic);
+//
+// DataDictionaryCustom coinAUsdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_USDT_PRICE.getType(),
+// PoolEnum.COIN_A_USDT_PRICE.getCode()
+// );
+// //A币金本位底池-usdt数量
+// BigDecimal coinAUsdtPriceDicCnt = new BigDecimal(coinAUsdtPriceDic.getValue());
+// coinAUsdtPriceDicCnt = coinAUsdtPriceDicCnt.add(amount);
+// coinAUsdtPriceDic.setValue(coinAUsdtPriceDicCnt.toString());
+// dataDictionaryCustomMapper.updateById(coinAUsdtPriceDic);
+//
+// BigDecimal divide = coinAUsdtPriceDicCnt.divide(coinACntDicCnt, 12, BigDecimal.ROUND_DOWN);
+// coinAPriceDic.setValue(divide.toString());
+// dataDictionaryCustomMapper.updateById(coinAPriceDic);
+//
+// chainProducer.sendAntKLineMsg(0);
+// /**
+// * A币的分配 walletMine
+// * 【70%换算100%分配】
+// * 50%客户秒到
+// * 20%全网加权分红(按20%释放递减)
+// * 10%直推
+// * 5%节点
+// * 5%基金会
+// * 10%级差奖
+// */
+// /**
+// * 50%客户秒到
+// */
+// DataDictionaryCustom memberGetAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.MEMBER_GET_A_PERCENT.getType(),
+// PoolEnum.MEMBER_GET_A_PERCENT.getCode()
+// );
+// BigDecimal memberGetAPercent = new BigDecimal(StrUtil.isEmpty(memberGetAPercentDic.getValue()) ? "0.5" : memberGetAPercentDic.getValue());
+// BigDecimal memberGetACnt = realCnt.multiply(memberGetAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// BigDecimal fundFlowToMemberFlag = this.getAndUpdateMemberPerk(dappFundFlowEntity.getMemberId(), memberGetACnt);
+// if(fundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
+// //生成一条50%客户秒到的资金流水记录
+// DappFundFlowEntity fundFlowToMember = new DappFundFlowEntity(
+// dappFundFlowEntity.getMemberId(),
+// fundFlowToMemberFlag,
+// FundFlowEnum.MEMBER_GET_A_CNT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(fundFlowToMember);
+// //用户的A币账户增加memberGetACnt数量
+// dappWalletService.updateWalletMineWithLock(fundFlowToMemberFlag,dappFundFlowEntity.getMemberId(),1);
+// }
+// /**
+// * 20%全网加权分红(按20%释放递减)进入加权分红底池
+// */
+// DataDictionaryCustom poolAllMemberAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getType(),
+// PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getCode()
+// );
+// BigDecimal poolAllMemberAPercent = new BigDecimal(StrUtil.isEmpty(poolAllMemberAPercentDic.getValue()) ? "0.2" : poolAllMemberAPercentDic.getValue());
+// BigDecimal poolAllMemberAPercentCnt = realCnt.multiply(poolAllMemberAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// DataDictionaryCustom poolAllMemberACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.POOL_ALL_MEMBER_A_CNT.getType(),
+// PoolEnum.POOL_ALL_MEMBER_A_CNT.getCode()
+// );
+// BigDecimal poolAllMemberACnt = new BigDecimal(StrUtil.isEmpty(poolAllMemberACntDic.getValue()) ? "0" : poolAllMemberACntDic.getValue());
+// poolAllMemberACnt = poolAllMemberACnt.add(poolAllMemberAPercentCnt);
+// poolAllMemberACntDic.setValue(poolAllMemberACnt.toString());
+// dataDictionaryCustomMapper.updateById(poolAllMemberACntDic);
+// //生成一条20%全网加权分红(按20%释放递减)进入加权分红底池的资金流水记录
+// DappFundFlowEntity poolAllMemberAFundFlow = new DappFundFlowEntity(
+// 1L,
+// poolAllMemberAPercentCnt,
+// FundFlowEnum.POOL_ALL_MEMBER_A_CNT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(poolAllMemberAFundFlow);
+//
+//// BigDecimal poolAllMemberAPercentCntAva = nodePoolPerk(poolAllMemberAPercentCnt, MemberLevelEnum.MEMBER.getType(), FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+// /**
+// * 20%全网加权平分,按照个人投资占比全网的比例去平分
+// */
+// chainProducer.sendAllMemberPerkAvaMsg(poolAllMemberAFundFlow.getId());
+//// BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+//// DappFundFlowEntity poolAllMemberAFundFlowAva = new DappFundFlowEntity(
+//// 1L,
+//// poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+//// FundFlowEnum.POOL_MEMBER_A_CNT.getCode(),
+//// 2,
+//// BigDecimal.ZERO,
+//// null,
+//// chergeRecordId);
+//// dappFundFlowDao.insert(poolAllMemberAFundFlowAva);
+//// dappWalletService.updateWalletMineWithLock(poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+//// 1L,1);
+//
+// /**
+// * 10%直推
+// */
+// DataDictionaryCustom directAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.DIRECT_A_PERCENT.getType(),
+// PoolEnum.DIRECT_A_PERCENT.getCode()
+// );
+// BigDecimal directAPercent = new BigDecimal(StrUtil.isEmpty(directAPercentDic.getValue()) ? "0.1" : directAPercentDic.getValue());
+// BigDecimal directAPercentCnt = realCnt.multiply(directAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// String refererId = dappMemberEntity.getRefererId();
+// DappMemberEntity directMemberEntity = dappMemberDao.selectMemberInfoByInviteId(refererId);
+// if(ObjectUtil.isNotEmpty(directMemberEntity)){
+// /**
+// *推荐用户入单可享有贡献值.例.推荐100获得100贡献值
+// */
+// DappUsdtPerkEntity directDappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(directMemberEntity.getId());
+// if(ObjectUtil.isEmpty(directDappUsdtPerkEntity)){
+// directDappUsdtPerkEntity = new DappUsdtPerkEntity();
+// directDappUsdtPerkEntity.setNftDevote(amount);
+// directDappUsdtPerkEntity.setMemberId(directMemberEntity.getId());
+// dappUsdtPerkEntityMapper.insert(directDappUsdtPerkEntity);
+// }
+//
+// BigDecimal directNftDevote = directDappUsdtPerkEntity.getNftDevote();
+// directNftDevote = directNftDevote.add(amount);
+// directDappUsdtPerkEntity.setNftDevote(directNftDevote);
+// dappUsdtPerkEntityMapper.updateById(directDappUsdtPerkEntity);
+//
+// BigDecimal directAPercentFundFlowToMemberFlag = this.getAndUpdateMemberPerk(directMemberEntity.getId(), directAPercentCnt);
+// if(directAPercentFundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
+// //生成一条10%直推的资金流水记录
+// DappFundFlowEntity directAPercentFundFlowToMember = new DappFundFlowEntity(
+// directMemberEntity.getId(),
+// directAPercentFundFlowToMemberFlag,
+// FundFlowEnum.DIRECT_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(directAPercentFundFlowToMember);
+// //用户的A币账户增加directAPercentCnt数量
+// dappWalletService.updateWalletMineWithLock(directAPercentFundFlowToMemberFlag,directMemberEntity.getId(),1);
+// }
+// if(directAPercentCnt.compareTo(directAPercentFundFlowToMemberFlag) > 0){
+// DappFundFlowEntity directAPercentFundFlowToMemberAva = new DappFundFlowEntity(
+// 1L,
+// directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
+// FundFlowEnum.DIRECT_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(directAPercentFundFlowToMemberAva);
+// dappWalletService.updateWalletMineWithLock(directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// }
+// /**
+// * 5%节点
+// */
+// DataDictionaryCustom nodeAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_A_PERCENT.getType(),
+// PoolEnum.NODE_A_PERCENT.getCode()
+// );
+// BigDecimal nodeAPercent = new BigDecimal(StrUtil.isEmpty(nodeAPercentDic.getValue()) ? "0.05" : nodeAPercentDic.getValue());
+// BigDecimal nodeAPercentCnt = realCnt.multiply(nodeAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+// //生成一条5%节点的资金流水记录
+// DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
+// 1L,
+// nodeAPercentCnt,
+// FundFlowEnum.NODE_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(nodeAPercentFundFlow);
+//// chainProducer.sendAntACoinInNodeMsg(nodeAPercentFundFlow.getId());
+// DataDictionaryCustom nodeAPercentPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_A_PERCENT_POOL.getType(),
+// PoolEnum.NODE_A_PERCENT_POOL.getCode()
+// );
+// BigDecimal nodeAPercentPoolDicCnt = new BigDecimal(StrUtil.isEmpty(nodeAPercentPoolDic.getValue()) ? "0" : nodeAPercentPoolDic.getValue());
+// nodeAPercentPoolDicCnt = nodeAPercentPoolDicCnt.add(nodeAPercentCnt);
+// nodeAPercentPoolDic.setValue(nodeAPercentPoolDicCnt.toString());
+// dataDictionaryCustomMapper.updateById(nodeAPercentPoolDic);
+//
+// BigDecimal nodeAPercentCntAva = superNodePoolPerk(nodeAPercentCnt, NodeCodeEnum.SUPER_NODE.getCode(), FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
+//
+// if(nodeAPercentCnt.compareTo(nodeAPercentCntAva) > 0){
+// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+// 1L,
+// nodeAPercentCnt.subtract(nodeAPercentCntAva),
+// FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+// dappWalletService.updateWalletMineWithLock(nodeAPercentCnt.subtract(nodeAPercentCntAva),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// /**
+// * 5%基金会
+// */
+// DataDictionaryCustom foundationAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.FOUNDATION_A_PERCENT.getType(),
+// PoolEnum.FOUNDATION_A_PERCENT.getCode()
+// );
+// BigDecimal foundationAPercent = new BigDecimal(StrUtil.isEmpty(foundationAPercentDic.getValue()) ? "0.05" : foundationAPercentDic.getValue());
+// BigDecimal foundationAPercentCnt = realCnt.multiply(foundationAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// //生成一条5%基金会的资金流水记录
+// DappFundFlowEntity foundationAPercentFundFlow = new DappFundFlowEntity(
+// 295L,
+// foundationAPercentCnt,
+// FundFlowEnum.FOUNDATION_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(foundationAPercentFundFlow);
+// //用户的A币账户增加memberGetACnt数量
+// dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,295L,1);
+// /**
+// * 10%级差奖
+// */
+// DataDictionaryCustom levelAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.LEVEL_A_PERCENT.getType(),
+// PoolEnum.LEVEL_A_PERCENT.getCode()
+// );
+// BigDecimal levelAPercent = new BigDecimal(StrUtil.isEmpty(levelAPercentDic.getValue()) ? "0.1" : levelAPercentDic.getValue());
+// BigDecimal levelAPercentCnt = realCnt.multiply(levelAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// //生成一条10%级差奖进入10%级差奖底池的资金流水记录
+// DappFundFlowEntity levelAPercentCntFundFlow = new DappFundFlowEntity(
+// 1L,
+// levelAPercentCnt,
+// FundFlowEnum.LEVEL_A_PERCENT_CNT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(levelAPercentCntFundFlow);
+// chainProducer.sendAntACoinInLevelMsg(levelAPercentCntFundFlow.getId());
+//
+// /**
+// * 更新用户为有效用户
+// */
+// dappMemberDao.updateMemberActiveStatus(1,memberId);
}
@@ -1028,45 +1028,45 @@
@Override
public void antACoinInNodeMsg(Long id) {
- /**
- * 全网节点99名.享受全网5%分红
- */
- log.info("{}",id);
- //获取对应的流水记录
- DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectInfoById(id);
- if(ObjectUtil.isEmpty(dappFundFlowEntity)){
- return;
- }
- //金额
- BigDecimal amount = dappFundFlowEntity.getAmount();
- /**
- * 获取全网的超级节点个数
- */
- List<DappMemberNodeEntity> dappMemberNodeEntities = dappMemberNodeMapper.selectNodeByNodeCode(NodeCodeEnum.SUPER_NODE.getCode());
- if(CollUtil.isNotEmpty(dappMemberNodeEntities)){
- BigDecimal divide = amount.divide(new BigDecimal(dappMemberNodeEntities.size()), 4, BigDecimal.ROUND_DOWN);
- for(DappMemberNodeEntity dappMemberNodeEntity : dappMemberNodeEntities){
- Long memberId = dappMemberNodeEntity.getMemberId();
-
- DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
- memberId,
- divide,
- FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- dappFundFlowEntity.getSystemProfitId());
- dappFundFlowDao.insert(nodeAPercentFundFlow);
- //用户的A币账户增加divide数量
- dappWalletService.updateWalletMineWithLock(divide,memberId,1);
- }
- dappFundFlowEntity.setFromHash("已分成"+dappMemberNodeEntities.size()+"人");
- }else{
- dappFundFlowEntity.setFromHash("已分成0人");
- dappWalletService.updateWalletMineWithLock(amount,1L,1);
- }
- dappFundFlowEntity.setStatus(2);
- dappFundFlowDao.updateById(dappFundFlowEntity);
+// /**
+// * 全网节点99名.享受全网5%分红
+// */
+// log.info("{}",id);
+// //获取对应的流水记录
+// DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectInfoById(id);
+// if(ObjectUtil.isEmpty(dappFundFlowEntity)){
+// return;
+// }
+// //金额
+// BigDecimal amount = dappFundFlowEntity.getAmount();
+// /**
+// * 获取全网的超级节点个数
+// */
+// List<DappMemberNodeEntity> dappMemberNodeEntities = dappMemberNodeMapper.selectNodeByNodeCode(NodeCodeEnum.SUPER_NODE.getCode());
+// if(CollUtil.isNotEmpty(dappMemberNodeEntities)){
+// BigDecimal divide = amount.divide(new BigDecimal(dappMemberNodeEntities.size()), 4, BigDecimal.ROUND_DOWN);
+// for(DappMemberNodeEntity dappMemberNodeEntity : dappMemberNodeEntities){
+// Long memberId = dappMemberNodeEntity.getMemberId();
+//
+// DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
+// memberId,
+// divide,
+// FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// dappFundFlowEntity.getSystemProfitId());
+// dappFundFlowDao.insert(nodeAPercentFundFlow);
+// //用户的A币账户增加divide数量
+// dappWalletService.updateWalletMineWithLock(divide,memberId,1);
+// }
+// dappFundFlowEntity.setFromHash("已分成"+dappMemberNodeEntities.size()+"人");
+// }else{
+// dappFundFlowEntity.setFromHash("已分成0人");
+// dappWalletService.updateWalletMineWithLock(amount,1L,1);
+// }
+// dappFundFlowEntity.setStatus(2);
+// dappFundFlowDao.updateById(dappFundFlowEntity);
}
@Override
@@ -1081,266 +1081,266 @@
*
* DAO5直推DAO5平级拿一代,视为平级奖,享受原有DAO5一个点,额外再加一个点分红。享受双份收益,合计2%加权分红
*/
- log.info("{}",id);
- //获取对应的流水记录
- DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectInfoById(id);
- if(ObjectUtil.isEmpty(dappFundFlowEntity)){
- return;
- }
- /**
- * 极差总金额
- */
- BigDecimal amountTC = dappFundFlowEntity.getAmount();
-
- Long systemProfitId = dappFundFlowEntity.getSystemProfitId();
- DappChargeUsdtEntity dappChargeUsdtEntity = dappChargeUsdtMapper.selectById(systemProfitId);
- Long memberId = dappChargeUsdtEntity.getMemberId();
- DappMemberEntity mallMember = dappMemberDao.selectById(memberId);
-
- /**
- * 团队下不同代理级别获取不用的比例新增业绩补贴
- */
- if(StrUtil.isNotEmpty(mallMember.getRefererIds())){
-
- String referrerIds = mallMember.getRefererIds();
- List<String> referrerIdList = StrUtil.splitTrim(referrerIds, ",");
- if(CollUtil.isNotEmpty(referrerIdList)){
- List<DappMemberEntity> mallMemberTeamPerk = dappMemberDao.selectByInviteIds(referrerIdList);
-
- if(CollUtil.isNotEmpty(mallMemberTeamPerk)){
- //初始级别
- String levelNormal = MemberLevelEnum.NODE_1.getType();
- //初始团队新增业绩补贴
- BigDecimal teamIncomePerkNormal = BigDecimal.ZERO;
- //补贴总数
- BigDecimal teamIncomePerkTotal = BigDecimal.ZERO;
-
- for(DappMemberEntity teamPerkMember : mallMemberTeamPerk){
- String level = teamPerkMember.getAccountType();
- //比较两个级别的大小,level大于levelNormal返回1
- int compareMin = MemberLevelEnum.NODE_1.compareLevel(level, levelNormal);
- int compareMax = MemberLevelEnum.NODE_1.compareLevel(MemberLevelEnum.NODE_5.getType(), level);
- if(compareMin >= 1 && compareMax >= 1){
- Long teamPerkMemberId = teamPerkMember.getId();
- DataDictionaryCustom teamPerkMemberDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- "NODE_PERK", level);
-
- NodePerk nodePerk = JSONObject.parseObject(teamPerkMemberDic.getValue(), NodePerk.class);
- BigDecimal teamIncomePerk = nodePerk.getTeamIncomePerk();
- //极差
- teamIncomePerk = teamIncomePerk.subtract(teamIncomePerkNormal);
-
- BigDecimal teamIncomePerkAmount = amountTC.multiply(teamIncomePerk).setScale(4, BigDecimal.ROUND_DOWN);
-
- BigDecimal nodeAPercentFundFlowFlag = this.getAndUpdateMemberPerk(teamPerkMemberId, teamIncomePerkAmount);
- if(nodeAPercentFundFlowFlag.compareTo(BigDecimal.ZERO) > 0){
- DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
- teamPerkMemberId,
- nodeAPercentFundFlowFlag,
- FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- dappFundFlowEntity.getSystemProfitId());
- dappFundFlowDao.insert(nodeAPercentFundFlow);
- //用户的A币账户增加divide数量
- dappWalletService.updateWalletMineWithLock(nodeAPercentFundFlowFlag,teamPerkMemberId,1);
- //累加补贴总数
- teamIncomePerkTotal = teamIncomePerkTotal.add(nodeAPercentFundFlowFlag);
- }
-
- //初始级别变成当前遍历的会员的级别
- levelNormal = level;
- //初始新增业绩补贴比例变成当前会员级别的补贴比例
- teamIncomePerkNormal = nodePerk.getTeamIncomePerk();
- }
- }
- //更新总数据
- dappFundFlowEntity.setFromHash("已分成"+teamIncomePerkTotal.setScale(4,BigDecimal.ROUND_DOWN));
- dappFundFlowEntity.setStatus(2);
- dappFundFlowDao.updateById(dappFundFlowEntity);
- BigDecimal subtract = amountTC.subtract(teamIncomePerkTotal);
- //用户的A币账户增加divide数量
-// if(amountTC.compareTo(teamIncomePerkTotal) > 0){
-// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
-// 1L,
-// subtract,
-// FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(),
-// 2,
-// BigDecimal.ZERO,
-// null,
-// systemProfitId);
-// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
-// dappWalletService.updateWalletMineWithLock(subtract,
-// 1L,1);
+// log.info("{}",id);
+// //获取对应的流水记录
+// DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectInfoById(id);
+// if(ObjectUtil.isEmpty(dappFundFlowEntity)){
+// return;
+// }
+// /**
+// * 极差总金额
+// */
+// BigDecimal amountTC = dappFundFlowEntity.getAmount();
+//
+// Long systemProfitId = dappFundFlowEntity.getSystemProfitId();
+// DappChargeUsdtEntity dappChargeUsdtEntity = dappChargeUsdtMapper.selectById(systemProfitId);
+// Long memberId = dappChargeUsdtEntity.getMemberId();
+// DappMemberEntity mallMember = dappMemberDao.selectById(memberId);
+//
+// /**
+// * 团队下不同代理级别获取不用的比例新增业绩补贴
+// */
+// if(StrUtil.isNotEmpty(mallMember.getRefererIds())){
+//
+// String referrerIds = mallMember.getRefererIds();
+// List<String> referrerIdList = StrUtil.splitTrim(referrerIds, ",");
+// if(CollUtil.isNotEmpty(referrerIdList)){
+// List<DappMemberEntity> mallMemberTeamPerk = dappMemberDao.selectByInviteIds(referrerIdList);
+//
+// if(CollUtil.isNotEmpty(mallMemberTeamPerk)){
+// //初始级别
+// String levelNormal = MemberLevelEnum.NODE_1.getType();
+// //初始团队新增业绩补贴
+// BigDecimal teamIncomePerkNormal = BigDecimal.ZERO;
+// //补贴总数
+// BigDecimal teamIncomePerkTotal = BigDecimal.ZERO;
+//
+// for(DappMemberEntity teamPerkMember : mallMemberTeamPerk){
+// String level = teamPerkMember.getAccountType();
+// //比较两个级别的大小,level大于levelNormal返回1
+// int compareMin = MemberLevelEnum.NODE_1.compareLevel(level, levelNormal);
+// int compareMax = MemberLevelEnum.NODE_1.compareLevel(MemberLevelEnum.NODE_5.getType(), level);
+// if(compareMin >= 1 && compareMax >= 1){
+// Long teamPerkMemberId = teamPerkMember.getId();
+// DataDictionaryCustom teamPerkMemberDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// "NODE_PERK", level);
+//
+// NodePerk nodePerk = JSONObject.parseObject(teamPerkMemberDic.getValue(), NodePerk.class);
+// BigDecimal teamIncomePerk = nodePerk.getTeamIncomePerk();
+// //极差
+// teamIncomePerk = teamIncomePerk.subtract(teamIncomePerkNormal);
+//
+// BigDecimal teamIncomePerkAmount = amountTC.multiply(teamIncomePerk).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// BigDecimal nodeAPercentFundFlowFlag = this.getAndUpdateMemberPerk(teamPerkMemberId, teamIncomePerkAmount);
+// if(nodeAPercentFundFlowFlag.compareTo(BigDecimal.ZERO) > 0){
+// DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
+// teamPerkMemberId,
+// nodeAPercentFundFlowFlag,
+// FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// dappFundFlowEntity.getSystemProfitId());
+// dappFundFlowDao.insert(nodeAPercentFundFlow);
+// //用户的A币账户增加divide数量
+// dappWalletService.updateWalletMineWithLock(nodeAPercentFundFlowFlag,teamPerkMemberId,1);
+// //累加补贴总数
+// teamIncomePerkTotal = teamIncomePerkTotal.add(nodeAPercentFundFlowFlag);
+// }
+//
+// //初始级别变成当前遍历的会员的级别
+// levelNormal = level;
+// //初始新增业绩补贴比例变成当前会员级别的补贴比例
+// teamIncomePerkNormal = nodePerk.getTeamIncomePerk();
+// }
// }
- }
- }
- }
- /**
- * 极差的dao3、dao4、dao5级别全网分红入自己的底池,每天按20%平分
- */
- //获取新增数量
- DataDictionaryCustom nodeThreeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_3.getType(),
- PoolEnum.NODE_3.getCode());
- NodePerk nodePerk = JSONObject.parseObject(nodeThreeDic.getValue(), NodePerk.class);
- BigDecimal averagePerk = nodePerk.getAveragePerk();
- BigDecimal averagePerkCnt = amountTC.multiply(averagePerk).setScale(4, BigDecimal.ROUND_DOWN);
-
- BigDecimal averagePerkCntAva = nodePoolPerk(averagePerkCnt, MemberLevelEnum.NODE_3.getType(), FundFlowEnum.DAO_3_NODE_PERK.getCode());
-
- //用户的A币账户增加divide数量
- if(averagePerkCnt.compareTo(averagePerkCntAva) > 0){
- DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
- averagePerkCnt.subtract(averagePerkCntAva),
- FundFlowEnum.DAO_3_NODE_PERK.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- systemProfitId);
- dappFundFlowDao.insert(nodeAPercentFundFlowAva);
- dappWalletService.updateWalletMineWithLock(averagePerkCnt.subtract(averagePerkCntAva),
- AppContants.YL_MEMBER_ID,1);
- }
- //生成流水记录
- DappFundFlowEntity nodeThreeFundFlow = new DappFundFlowEntity(
- 1L,
- averagePerkCnt,
- FundFlowEnum.DAO_3_CNT_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- dappChargeUsdtEntity.getId());
- dappFundFlowDao.insert(nodeThreeFundFlow);
- //更新底池
- DataDictionaryCustom nodeThreePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_3_POOL.getType(),
- PoolEnum.NODE_3_POOL.getCode());
- BigDecimal nodeThreePool = new BigDecimal(nodeThreePoolDic.getValue());
- nodeThreePool = nodeThreePool.add(averagePerkCnt).setScale(4,BigDecimal.ROUND_DOWN);
- nodeThreePoolDic.setValue(nodeThreePool.toString());
- dataDictionaryCustomMapper.updateById(nodeThreePoolDic);
-
- DataDictionaryCustom nodeFourDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_4.getType(),
- PoolEnum.NODE_4.getCode());
- NodePerk nodeFourDicPerk = JSONObject.parseObject(nodeFourDic.getValue(), NodePerk.class);
- BigDecimal averagePerkFour = nodeFourDicPerk.getAveragePerk();
- BigDecimal averagePerkFourCnt = amountTC.multiply(averagePerkFour).setScale(4, BigDecimal.ROUND_DOWN);
-
- BigDecimal averagePerkFourCntAva = nodePoolPerk(averagePerkFourCnt, MemberLevelEnum.NODE_4.getType(), FundFlowEnum.DAO_4_NODE_PERK.getCode());
- //用户的A币账户增加divide数量
- if(averagePerkFourCnt.compareTo(averagePerkFourCntAva) > 0){
- DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
- averagePerkFourCnt.subtract(averagePerkFourCntAva),
- FundFlowEnum.DAO_4_NODE_PERK.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- systemProfitId);
- dappFundFlowDao.insert(nodeAPercentFundFlowAva);
- dappWalletService.updateWalletMineWithLock(averagePerkFourCnt.subtract(averagePerkFourCntAva),
- AppContants.YL_MEMBER_ID,1);
- }
- DappFundFlowEntity nodeFourFundFlow = new DappFundFlowEntity(
- 1L,
- averagePerkFourCnt,
- FundFlowEnum.DAO_4_CNT_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- dappChargeUsdtEntity.getId());
- dappFundFlowDao.insert(nodeFourFundFlow);
- DataDictionaryCustom nodeFourPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_4_POOL.getType(),
- PoolEnum.NODE_4_POOL.getCode());
- BigDecimal nodeFourPool = new BigDecimal(nodeFourPoolDic.getValue());
- nodeFourPool = nodeFourPool.add(averagePerkFourCnt).setScale(4,BigDecimal.ROUND_DOWN);
- nodeFourPoolDic.setValue(nodeFourPool.toString());
- dataDictionaryCustomMapper.updateById(nodeFourPoolDic);
-
- DataDictionaryCustom nodeFiveDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_5.getType(),
- PoolEnum.NODE_5.getCode());
- NodePerk nodeFiveDicPerk = JSONObject.parseObject(nodeFiveDic.getValue(), NodePerk.class);
- BigDecimal averagePerkFive = nodeFiveDicPerk.getAveragePerk();
- BigDecimal averagePerkFiveCnt = amountTC.multiply(averagePerkFive).setScale(4, BigDecimal.ROUND_DOWN);
-
- BigDecimal averagePerkFiveCntAva = nodePoolPerk(averagePerkFiveCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_PERK.getCode());
- //用户的A币账户增加divide数量
- if(averagePerkFiveCnt.compareTo(averagePerkFiveCntAva) > 0){
- DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
- averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
- FundFlowEnum.DAO_5_NODE_PERK.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- systemProfitId);
- dappFundFlowDao.insert(nodeAPercentFundFlowAva);
- dappWalletService.updateWalletMineWithLock(averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
- AppContants.YL_MEMBER_ID,1);
- }
- DappFundFlowEntity nodeFiveFundFlow = new DappFundFlowEntity(
- 1L,
- averagePerkFiveCnt,
- FundFlowEnum.DAO_5_CNT_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- dappChargeUsdtEntity.getId());
- dappFundFlowDao.insert(nodeFiveFundFlow);
- DataDictionaryCustom nodeFivePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_5_POOL.getType(),
- PoolEnum.NODE_5_POOL.getCode());
- BigDecimal nodeFivePool = new BigDecimal(nodeFivePoolDic.getValue());
- nodeFivePool = nodeFivePool.add(averagePerkFiveCnt).setScale(4,BigDecimal.ROUND_DOWN);
- nodeFivePoolDic.setValue(nodeFivePool.toString());
- dataDictionaryCustomMapper.updateById(nodeFivePoolDic);
-
- /**
- * DAO5直推DAO5平级拿一代,视为平级奖,享受原有DAO5一个点,额外再加一个点分红。享受双份收益,合计2%加权分红
- */
- DataDictionaryCustom nodeFiveEqualsDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_5_EQUALS.getType(),
- PoolEnum.NODE_5_EQUALS.getCode());
- BigDecimal nodeFiveEquals = new BigDecimal(nodeFiveEqualsDic.getValue());
- BigDecimal nodeFiveEqualsCnt = amountTC.multiply(nodeFiveEquals).setScale(4, BigDecimal.ROUND_DOWN);
-
- BigDecimal nodeFiveEqualsCntAva = nodePoolEqualsPerk(nodeFiveEqualsCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
- //用户的A币账户增加divide数量
- if(nodeFiveEqualsCnt.compareTo(nodeFiveEqualsCntAva) > 0){
- DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
- nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
- FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- systemProfitId);
- dappFundFlowDao.insert(nodeAPercentFundFlowAva);
- dappWalletService.updateWalletMineWithLock(nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
- AppContants.YL_MEMBER_ID,1);
- }
- DappFundFlowEntity nodeFiveEqualsFundFlow = new DappFundFlowEntity(
- 1L,
- nodeFiveEqualsCnt,
- FundFlowEnum.DAO_5_CNT_EQUALS_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- dappChargeUsdtEntity.getId());
- dappFundFlowDao.insert(nodeFiveEqualsFundFlow);
- DataDictionaryCustom nodeFiveEqualsPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_5_EQUALS_POOL.getType(),
- PoolEnum.NODE_5_EQUALS_POOL.getCode());
- BigDecimal nodeFiveEqualsPool = new BigDecimal(nodeFiveEqualsPoolDic.getValue());
- nodeFiveEqualsPool = nodeFiveEqualsPool.add(nodeFiveEqualsCnt).setScale(4,BigDecimal.ROUND_DOWN);
- nodeFiveEqualsPoolDic.setValue(nodeFiveEqualsPool.toString());
- dataDictionaryCustomMapper.updateById(nodeFiveEqualsPoolDic);
+// //更新总数据
+// dappFundFlowEntity.setFromHash("已分成"+teamIncomePerkTotal.setScale(4,BigDecimal.ROUND_DOWN));
+// dappFundFlowEntity.setStatus(2);
+// dappFundFlowDao.updateById(dappFundFlowEntity);
+// BigDecimal subtract = amountTC.subtract(teamIncomePerkTotal);
+// //用户的A币账户增加divide数量
+//// if(amountTC.compareTo(teamIncomePerkTotal) > 0){
+//// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+//// 1L,
+//// subtract,
+//// FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(),
+//// 2,
+//// BigDecimal.ZERO,
+//// null,
+//// systemProfitId);
+//// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+//// dappWalletService.updateWalletMineWithLock(subtract,
+//// 1L,1);
+//// }
+// }
+// }
+// }
+// /**
+// * 极差的dao3、dao4、dao5级别全网分红入自己的底池,每天按20%平分
+// */
+// //获取新增数量
+// DataDictionaryCustom nodeThreeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_3.getType(),
+// PoolEnum.NODE_3.getCode());
+// NodePerk nodePerk = JSONObject.parseObject(nodeThreeDic.getValue(), NodePerk.class);
+// BigDecimal averagePerk = nodePerk.getAveragePerk();
+// BigDecimal averagePerkCnt = amountTC.multiply(averagePerk).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// BigDecimal averagePerkCntAva = nodePoolPerk(averagePerkCnt, MemberLevelEnum.NODE_3.getType(), FundFlowEnum.DAO_3_NODE_PERK.getCode());
+//
+// //用户的A币账户增加divide数量
+// if(averagePerkCnt.compareTo(averagePerkCntAva) > 0){
+// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+// 1L,
+// averagePerkCnt.subtract(averagePerkCntAva),
+// FundFlowEnum.DAO_3_NODE_PERK.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// systemProfitId);
+// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+// dappWalletService.updateWalletMineWithLock(averagePerkCnt.subtract(averagePerkCntAva),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// //生成流水记录
+// DappFundFlowEntity nodeThreeFundFlow = new DappFundFlowEntity(
+// 1L,
+// averagePerkCnt,
+// FundFlowEnum.DAO_3_CNT_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// dappChargeUsdtEntity.getId());
+// dappFundFlowDao.insert(nodeThreeFundFlow);
+// //更新底池
+// DataDictionaryCustom nodeThreePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_3_POOL.getType(),
+// PoolEnum.NODE_3_POOL.getCode());
+// BigDecimal nodeThreePool = new BigDecimal(nodeThreePoolDic.getValue());
+// nodeThreePool = nodeThreePool.add(averagePerkCnt).setScale(4,BigDecimal.ROUND_DOWN);
+// nodeThreePoolDic.setValue(nodeThreePool.toString());
+// dataDictionaryCustomMapper.updateById(nodeThreePoolDic);
+//
+// DataDictionaryCustom nodeFourDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_4.getType(),
+// PoolEnum.NODE_4.getCode());
+// NodePerk nodeFourDicPerk = JSONObject.parseObject(nodeFourDic.getValue(), NodePerk.class);
+// BigDecimal averagePerkFour = nodeFourDicPerk.getAveragePerk();
+// BigDecimal averagePerkFourCnt = amountTC.multiply(averagePerkFour).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// BigDecimal averagePerkFourCntAva = nodePoolPerk(averagePerkFourCnt, MemberLevelEnum.NODE_4.getType(), FundFlowEnum.DAO_4_NODE_PERK.getCode());
+// //用户的A币账户增加divide数量
+// if(averagePerkFourCnt.compareTo(averagePerkFourCntAva) > 0){
+// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+// 1L,
+// averagePerkFourCnt.subtract(averagePerkFourCntAva),
+// FundFlowEnum.DAO_4_NODE_PERK.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// systemProfitId);
+// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+// dappWalletService.updateWalletMineWithLock(averagePerkFourCnt.subtract(averagePerkFourCntAva),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// DappFundFlowEntity nodeFourFundFlow = new DappFundFlowEntity(
+// 1L,
+// averagePerkFourCnt,
+// FundFlowEnum.DAO_4_CNT_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// dappChargeUsdtEntity.getId());
+// dappFundFlowDao.insert(nodeFourFundFlow);
+// DataDictionaryCustom nodeFourPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_4_POOL.getType(),
+// PoolEnum.NODE_4_POOL.getCode());
+// BigDecimal nodeFourPool = new BigDecimal(nodeFourPoolDic.getValue());
+// nodeFourPool = nodeFourPool.add(averagePerkFourCnt).setScale(4,BigDecimal.ROUND_DOWN);
+// nodeFourPoolDic.setValue(nodeFourPool.toString());
+// dataDictionaryCustomMapper.updateById(nodeFourPoolDic);
+//
+// DataDictionaryCustom nodeFiveDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_5.getType(),
+// PoolEnum.NODE_5.getCode());
+// NodePerk nodeFiveDicPerk = JSONObject.parseObject(nodeFiveDic.getValue(), NodePerk.class);
+// BigDecimal averagePerkFive = nodeFiveDicPerk.getAveragePerk();
+// BigDecimal averagePerkFiveCnt = amountTC.multiply(averagePerkFive).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// BigDecimal averagePerkFiveCntAva = nodePoolPerk(averagePerkFiveCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_PERK.getCode());
+// //用户的A币账户增加divide数量
+// if(averagePerkFiveCnt.compareTo(averagePerkFiveCntAva) > 0){
+// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+// 1L,
+// averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
+// FundFlowEnum.DAO_5_NODE_PERK.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// systemProfitId);
+// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+// dappWalletService.updateWalletMineWithLock(averagePerkFiveCnt.subtract(averagePerkFiveCntAva),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// DappFundFlowEntity nodeFiveFundFlow = new DappFundFlowEntity(
+// 1L,
+// averagePerkFiveCnt,
+// FundFlowEnum.DAO_5_CNT_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// dappChargeUsdtEntity.getId());
+// dappFundFlowDao.insert(nodeFiveFundFlow);
+// DataDictionaryCustom nodeFivePoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_5_POOL.getType(),
+// PoolEnum.NODE_5_POOL.getCode());
+// BigDecimal nodeFivePool = new BigDecimal(nodeFivePoolDic.getValue());
+// nodeFivePool = nodeFivePool.add(averagePerkFiveCnt).setScale(4,BigDecimal.ROUND_DOWN);
+// nodeFivePoolDic.setValue(nodeFivePool.toString());
+// dataDictionaryCustomMapper.updateById(nodeFivePoolDic);
+//
+// /**
+// * DAO5直推DAO5平级拿一代,视为平级奖,享受原有DAO5一个点,额外再加一个点分红。享受双份收益,合计2%加权分红
+// */
+// DataDictionaryCustom nodeFiveEqualsDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_5_EQUALS.getType(),
+// PoolEnum.NODE_5_EQUALS.getCode());
+// BigDecimal nodeFiveEquals = new BigDecimal(nodeFiveEqualsDic.getValue());
+// BigDecimal nodeFiveEqualsCnt = amountTC.multiply(nodeFiveEquals).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// BigDecimal nodeFiveEqualsCntAva = nodePoolEqualsPerk(nodeFiveEqualsCnt, MemberLevelEnum.NODE_5.getType(), FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
+// //用户的A币账户增加divide数量
+// if(nodeFiveEqualsCnt.compareTo(nodeFiveEqualsCntAva) > 0){
+// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+// 1L,
+// nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
+// FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// systemProfitId);
+// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+// dappWalletService.updateWalletMineWithLock(nodeFiveEqualsCnt.subtract(nodeFiveEqualsCntAva),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// DappFundFlowEntity nodeFiveEqualsFundFlow = new DappFundFlowEntity(
+// 1L,
+// nodeFiveEqualsCnt,
+// FundFlowEnum.DAO_5_CNT_EQUALS_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// dappChargeUsdtEntity.getId());
+// dappFundFlowDao.insert(nodeFiveEqualsFundFlow);
+// DataDictionaryCustom nodeFiveEqualsPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_5_EQUALS_POOL.getType(),
+// PoolEnum.NODE_5_EQUALS_POOL.getCode());
+// BigDecimal nodeFiveEqualsPool = new BigDecimal(nodeFiveEqualsPoolDic.getValue());
+// nodeFiveEqualsPool = nodeFiveEqualsPool.add(nodeFiveEqualsCnt).setScale(4,BigDecimal.ROUND_DOWN);
+// nodeFiveEqualsPoolDic.setValue(nodeFiveEqualsPool.toString());
+// dataDictionaryCustomMapper.updateById(nodeFiveEqualsPoolDic);
}
@Override
@@ -1611,140 +1611,140 @@
@Override
public void aCoinFire() {
- /**
- * A币技术做到资产钱包燃烧,闪兑钱包也要燃烧0.1%每小时
- */
- BigDecimal totalCnt = BigDecimal.ZERO;
- //闪兑钱包
- List<DappWalletCoinEntity> walletCoinEntities = dappWalletCoinDao.selectAmountThanZero();
- if(CollUtil.isNotEmpty(walletCoinEntities)){
- for(DappWalletCoinEntity dappWalletCoinEntity : walletCoinEntities){
- BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
- BigDecimal fireCnt = availableAmount.multiply(new BigDecimal("0.001")).setScale(4,BigDecimal.ROUND_DOWN);
- dappWalletService.updateWalletCoinWithLock(fireCnt,dappWalletCoinEntity.getMemberId(),2);
- totalCnt = totalCnt.add(fireCnt);
- }
- }
- //资产钱包
- List<DappWalletMineEntity> walletMineEntities = dappWalletMineDao.selectAmountThanZero();
- if(CollUtil.isNotEmpty(walletMineEntities)){
- for(DappWalletMineEntity dappWalletMineEntity : walletMineEntities){
- BigDecimal availableAmount = dappWalletMineEntity.getAvailableAmount();
- BigDecimal fireCnt = availableAmount.multiply(new BigDecimal("0.001")).setScale(4,BigDecimal.ROUND_DOWN);
- dappWalletService.updateWalletMineWithLock(fireCnt,dappWalletMineEntity.getMemberId(),2);
- totalCnt = totalCnt.add(fireCnt);
- }
- }
- if(BigDecimal.ZERO.compareTo(totalCnt) >= 0){
- return;
- }
-
- totalCnt = totalCnt.setScale(4,BigDecimal.ROUND_DOWN);
- /**
- * 插入每小时燃烧的资金流水
- */
- DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(1L, totalCnt, FundFlowEnum.A_COIN_FIRE.getCode(), 2, BigDecimal.ZERO);
- dappFundFlowDao.insert(dappFundFlowEntity);
- /**
- * 更新A币的价格
- */
- DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_CNT.getType(),
- PoolEnum.COIN_A_CNT.getCode());
- BigDecimal coinACnt = new BigDecimal(coinACntDic.getValue());
- coinACnt = coinACnt.subtract(totalCnt.multiply(new BigDecimal(0.8)));
- coinACntDic.setValue(coinACnt.toString());
- dataDictionaryCustomMapper.updateById(coinACntDic);
-
- DataDictionaryCustom coinAUsdtDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_USDT_PRICE.getType(),
- PoolEnum.COIN_A_USDT_PRICE.getCode());
- BigDecimal coinAUsdt = new BigDecimal(coinAUsdtDic.getValue());
-
- DataDictionaryCustom coinAPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_PRICE.getType(),
- PoolEnum.COIN_A_PRICE.getCode());
-
- BigDecimal coinAPrice = coinAUsdt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
- coinAPriceDic.setValue(coinAPrice.toString());
- dataDictionaryCustomMapper.updateById(coinAPriceDic);
- /**
- * 增加K线数据
- */
- DappAKlineEntity dappAKlineEntity = new DappAKlineEntity();
- dappAKlineEntity.setType(0);
- /**
- * 获取最新一条小时或者分钟的数据
- */
- DappAKlineEntity oldOne = dappAKlineMapper.selectOneByType();
- if(ObjectUtil.isNotEmpty(oldOne)){
- dappAKlineEntity.setOpenPrice(oldOne.getClosePrice());
- dappAKlineEntity.setLowestPrice(oldOne.getClosePrice());
- }else{
- dappAKlineEntity.setOpenPrice(coinAPrice);
- dappAKlineEntity.setLowestPrice(coinAPrice);
- }
- dappAKlineEntity.setHighestPrice(coinAPrice);
- dappAKlineEntity.setClosePrice(coinAPrice);
- dappAKlineMapper.insert(dappAKlineEntity);
-
-
- List<cn.hutool.json.JSONObject> objects = new ArrayList<>();
- List<AKLineLimitVo> akLineLimitVos = dappAKlineMapper.selectListByTypeAndLimit(0, AppContants.K_LINE_LIMIT);
- if(CollUtil.isNotEmpty(akLineLimitVos)) {
- Collections.reverse(akLineLimitVos);
- for (AKLineLimitVo akLineLimitVo : akLineLimitVos) {
- cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(akLineLimitVo);
- objects.add(parseObj);
- }
- redisUtils.del(AppContants.K_LINE_NOW);
- redisUtils.set(AppContants.K_LINE_NOW, objects.toString());
- }
+// /**
+// * A币技术做到资产钱包燃烧,闪兑钱包也要燃烧0.1%每小时
+// */
+// BigDecimal totalCnt = BigDecimal.ZERO;
+// //闪兑钱包
+// List<DappWalletCoinEntity> walletCoinEntities = dappWalletCoinDao.selectAmountThanZero();
+// if(CollUtil.isNotEmpty(walletCoinEntities)){
+// for(DappWalletCoinEntity dappWalletCoinEntity : walletCoinEntities){
+// BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
+// BigDecimal fireCnt = availableAmount.multiply(new BigDecimal("0.001")).setScale(4,BigDecimal.ROUND_DOWN);
+// dappWalletService.updateWalletCoinWithLock(fireCnt,dappWalletCoinEntity.getMemberId(),2);
+// totalCnt = totalCnt.add(fireCnt);
+// }
+// }
+// //资产钱包
+// List<DappWalletMineEntity> walletMineEntities = dappWalletMineDao.selectAmountThanZero();
+// if(CollUtil.isNotEmpty(walletMineEntities)){
+// for(DappWalletMineEntity dappWalletMineEntity : walletMineEntities){
+// BigDecimal availableAmount = dappWalletMineEntity.getAvailableAmount();
+// BigDecimal fireCnt = availableAmount.multiply(new BigDecimal("0.001")).setScale(4,BigDecimal.ROUND_DOWN);
+// dappWalletService.updateWalletMineWithLock(fireCnt,dappWalletMineEntity.getMemberId(),2);
+// totalCnt = totalCnt.add(fireCnt);
+// }
+// }
+// if(BigDecimal.ZERO.compareTo(totalCnt) >= 0){
+// return;
+// }
+//
+// totalCnt = totalCnt.setScale(4,BigDecimal.ROUND_DOWN);
+// /**
+// * 插入每小时燃烧的资金流水
+// */
+// DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(1L, totalCnt, FundFlowEnum.A_COIN_FIRE.getCode(), 2, BigDecimal.ZERO);
+// dappFundFlowDao.insert(dappFundFlowEntity);
+// /**
+// * 更新A币的价格
+// */
+// DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_CNT.getType(),
+// PoolEnum.COIN_A_CNT.getCode());
+// BigDecimal coinACnt = new BigDecimal(coinACntDic.getValue());
+// coinACnt = coinACnt.subtract(totalCnt.multiply(new BigDecimal(0.8)));
+// coinACntDic.setValue(coinACnt.toString());
+// dataDictionaryCustomMapper.updateById(coinACntDic);
+//
+// DataDictionaryCustom coinAUsdtDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_USDT_PRICE.getType(),
+// PoolEnum.COIN_A_USDT_PRICE.getCode());
+// BigDecimal coinAUsdt = new BigDecimal(coinAUsdtDic.getValue());
+//
+// DataDictionaryCustom coinAPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_PRICE.getType(),
+// PoolEnum.COIN_A_PRICE.getCode());
+//
+// BigDecimal coinAPrice = coinAUsdt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
+// coinAPriceDic.setValue(coinAPrice.toString());
+// dataDictionaryCustomMapper.updateById(coinAPriceDic);
+// /**
+// * 增加K线数据
+// */
+// DappAKlineEntity dappAKlineEntity = new DappAKlineEntity();
+// dappAKlineEntity.setType(0);
+// /**
+// * 获取最新一条小时或者分钟的数据
+// */
+// DappAKlineEntity oldOne = dappAKlineMapper.selectOneByType();
+// if(ObjectUtil.isNotEmpty(oldOne)){
+// dappAKlineEntity.setOpenPrice(oldOne.getClosePrice());
+// dappAKlineEntity.setLowestPrice(oldOne.getClosePrice());
+// }else{
+// dappAKlineEntity.setOpenPrice(coinAPrice);
+// dappAKlineEntity.setLowestPrice(coinAPrice);
+// }
+// dappAKlineEntity.setHighestPrice(coinAPrice);
+// dappAKlineEntity.setClosePrice(coinAPrice);
+// dappAKlineMapper.insert(dappAKlineEntity);
+//
+//
+// List<cn.hutool.json.JSONObject> objects = new ArrayList<>();
+// List<AKLineLimitVo> akLineLimitVos = dappAKlineMapper.selectListByTypeAndLimit(0, AppContants.K_LINE_LIMIT);
+// if(CollUtil.isNotEmpty(akLineLimitVos)) {
+// Collections.reverse(akLineLimitVos);
+// for (AKLineLimitVo akLineLimitVo : akLineLimitVos) {
+// cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(akLineLimitVo);
+// objects.add(parseObj);
+// }
+// redisUtils.del(AppContants.K_LINE_NOW);
+// redisUtils.set(AppContants.K_LINE_NOW, objects.toString());
+// }
}
@Override
public void antMemberLevelMsg(Long memberId) {
- DappMemberEntity member = dappMemberDao.selectById(memberId);
- if(StrUtil.isBlank(member.getRefererIds())) {
- return;
- }
-
- List<String> ids = StrUtil.split(member.getRefererIds(), ',');
- List<DappMemberEntity> parentMembers = dappMemberDao.selectByInviteIds(ids);
- for (DappMemberEntity parent : parentMembers) {
- //DAO5不能再升级了
- if(parent.getAccountType().equals(MemberLevelEnum.NODE_5.getType())){
- continue;
- }
- /**
- * 升级到董事就无法升级了
- */
- String nextLevelName = MemberLevelEnum.MEMBER.getNextLevel(parent.getAccountType());
- int levelCode = MemberLevelEnum.MEMBER.getLevelCode(nextLevelName);
-
- DataDictionaryCustom newLevelDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("NODE_PERK", nextLevelName);
- if(ObjectUtil.isEmpty(newLevelDic)){
- continue;
- }
- NodePerk nodeFiveDicPerk = JSONObject.parseObject(newLevelDic.getValue(), NodePerk.class);
-
- //需要判断小区业绩
- if( MemberLevelEnum.NODE_1.getType().equals(nextLevelName)){
- if (!directMemberCnt(parent, nodeFiveDicPerk)) {
- continue;
- }
- if (!teamIncome(parent, nodeFiveDicPerk)) {
- continue;
- }
- }else{
- if (!agentCntFinish(parent, nodeFiveDicPerk)) {
- continue;
- }
- }
-
- parent.setAccountType(nextLevelName);
- dappMemberDao.updateById(parent);
- }
+// DappMemberEntity member = dappMemberDao.selectById(memberId);
+// if(StrUtil.isBlank(member.getRefererIds())) {
+// return;
+// }
+//
+// List<String> ids = StrUtil.split(member.getRefererIds(), ',');
+// List<DappMemberEntity> parentMembers = dappMemberDao.selectByInviteIds(ids);
+// for (DappMemberEntity parent : parentMembers) {
+// //DAO5不能再升级了
+// if(parent.getAccountType().equals(MemberLevelEnum.NODE_5.getType())){
+// continue;
+// }
+// /**
+// * 升级到董事就无法升级了
+// */
+// String nextLevelName = MemberLevelEnum.MEMBER.getNextLevel(parent.getAccountType());
+// int levelCode = MemberLevelEnum.MEMBER.getLevelCode(nextLevelName);
+//
+// DataDictionaryCustom newLevelDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("NODE_PERK", nextLevelName);
+// if(ObjectUtil.isEmpty(newLevelDic)){
+// continue;
+// }
+// NodePerk nodeFiveDicPerk = JSONObject.parseObject(newLevelDic.getValue(), NodePerk.class);
+//
+// //需要判断小区业绩
+// if( MemberLevelEnum.NODE_1.getType().equals(nextLevelName)){
+// if (!directMemberCnt(parent, nodeFiveDicPerk)) {
+// continue;
+// }
+// if (!teamIncome(parent, nodeFiveDicPerk)) {
+// continue;
+// }
+// }else{
+// if (!agentCntFinish(parent, nodeFiveDicPerk)) {
+// continue;
+// }
+// }
+//
+// parent.setAccountType(nextLevelName);
+// dappMemberDao.updateById(parent);
+// }
}
@Override
@@ -1788,7 +1788,7 @@
dappAKlineEntity.setClosePrice(coinAPrice);
dappAKlineMapper.insert(dappAKlineEntity);
- chainProducer.sendAntKLineMsg(1);
+// chainProducer.sendAntKLineMsg(1);
}
@Override
@@ -1828,7 +1828,7 @@
dappAKlineEntity.setClosePrice(coinAPrice);
dappAKlineMapper.insert(dappAKlineEntity);
- chainProducer.sendAntKLineMsg(2);
+// chainProducer.sendAntKLineMsg(2);
//周
String week = DateUtil.dayOfWeekEnum(DateUtil.date()).toChinese();
if("星期日".equals(week)){
@@ -1873,7 +1873,7 @@
dappAKlineEntityDay.setClosePrice(coinAPrice);
dappAKlineMapper.insert(dappAKlineEntityDay);
- chainProducer.sendAntKLineMsg(3);
+// chainProducer.sendAntKLineMsg(3);
}
//月
int month = DateUtil.dayOfMonth(DateUtil.date());
@@ -1908,7 +1908,7 @@
dappAKlineEntityWeek.setClosePrice(coinAPrice);
dappAKlineMapper.insert(dappAKlineEntityWeek);
- chainProducer.sendAntKLineMsg(4);
+// chainProducer.sendAntKLineMsg(4);
}
}
@@ -2015,24 +2015,24 @@
@Override
public void allMemberPerkAvaMsg(Long id) {
- DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
- if(ObjectUtil.isEmpty(dappFundFlowEntity)){
- return;
- }
-
- BigDecimal poolAllMemberAPercentCnt = dappFundFlowEntity.getAmount();
- BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
- DappFundFlowEntity poolAllMemberAFundFlowAva = new DappFundFlowEntity(
- 1L,
- poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
- FundFlowEnum.POOL_MEMBER_A_CNT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- dappFundFlowEntity.getSystemProfitId());
- dappFundFlowDao.insert(poolAllMemberAFundFlowAva);
- dappWalletService.updateWalletMineWithLock(poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
- AppContants.YL_MEMBER_ID,1);
+// DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
+// if(ObjectUtil.isEmpty(dappFundFlowEntity)){
+// return;
+// }
+//
+// BigDecimal poolAllMemberAPercentCnt = dappFundFlowEntity.getAmount();
+// BigDecimal poolAllMemberAPercentCntAva = allMemberPerk(poolAllMemberAPercentCnt, FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+// DappFundFlowEntity poolAllMemberAFundFlowAva = new DappFundFlowEntity(
+// 1L,
+// poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+// FundFlowEnum.POOL_MEMBER_A_CNT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// dappFundFlowEntity.getSystemProfitId());
+// dappFundFlowDao.insert(poolAllMemberAFundFlowAva);
+// dappWalletService.updateWalletMineWithLock(poolAllMemberAPercentCnt.subtract(poolAllMemberAPercentCntAva),
+// AppContants.YL_MEMBER_ID,1);
}
@Override
@@ -2080,14 +2080,14 @@
flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
dappFundFlowDao.updateById(flow);
- /**
- * 发送消息处理返利逻辑
- */
- chainProducer.sendAntACoinInContractMsg(flow.getId());
- /**
- * 发送消息处理代理升级
- */
- chainProducer.sendAntMemberLevelMsg(memberId);
+// /**
+// * 发送消息处理返利逻辑
+// */
+// chainProducer.sendAntACoinInContractMsg(flow.getId());
+// /**
+// * 发送消息处理代理升级
+// */
+// chainProducer.sendAntMemberLevelMsg(memberId);
}
@Override
@@ -2149,15 +2149,15 @@
amountPerk = amountPerk.add(amount.multiply(new BigDecimal(3)));
dappUsdtPerkEntity.setAmount(amountPerk);
//生成一条金本位的三倍额度的资金流水记录
- DappFundFlowEntity amountPerkFundFlow = new DappFundFlowEntity(
- memberId,
- amount.multiply(new BigDecimal(3)),
- FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(amountPerkFundFlow);
+// DappFundFlowEntity amountPerkFundFlow = new DappFundFlowEntity(
+// memberId,
+// amount.multiply(new BigDecimal(3)),
+// FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(amountPerkFundFlow);
//增加业绩
BigDecimal achieveAmount = dappUsdtPerkEntity.getAchieveAmount();
@@ -2212,7 +2212,7 @@
coinAPriceDic.setValue(divide.toString());
dataDictionaryCustomMapper.updateById(coinAPriceDic);
- chainProducer.sendAntKLineMsg(0);
+// chainProducer.sendAntKLineMsg(0);
/**
* A币的分配 walletMine
* 【70%换算100%分配】
@@ -2226,211 +2226,211 @@
/**
* 50%客户秒到
*/
- DataDictionaryCustom memberGetAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.MEMBER_GET_A_PERCENT.getType(),
- PoolEnum.MEMBER_GET_A_PERCENT.getCode()
- );
- BigDecimal memberGetAPercent = new BigDecimal(StrUtil.isEmpty(memberGetAPercentDic.getValue()) ? "0.5" : memberGetAPercentDic.getValue());
- BigDecimal memberGetACnt = realCnt.multiply(memberGetAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- BigDecimal fundFlowToMemberFlag = this.getAndUpdateMemberPerk(dappFundFlowEntity.getMemberId(), memberGetACnt);
- if(fundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
- //生成一条50%客户秒到的资金流水记录
- DappFundFlowEntity fundFlowToMember = new DappFundFlowEntity(
- dappFundFlowEntity.getMemberId(),
- fundFlowToMemberFlag,
- FundFlowEnum.MEMBER_GET_A_CNT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(fundFlowToMember);
- //用户的A币账户增加memberGetACnt数量
- dappWalletService.updateWalletMineWithLock(fundFlowToMemberFlag,dappFundFlowEntity.getMemberId(),1);
- }
- /**
- * 20%全网加权分红(按20%释放递减)进入加权分红底池
- */
- DataDictionaryCustom poolAllMemberAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getType(),
- PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getCode()
- );
- BigDecimal poolAllMemberAPercent = new BigDecimal(StrUtil.isEmpty(poolAllMemberAPercentDic.getValue()) ? "0.2" : poolAllMemberAPercentDic.getValue());
- BigDecimal poolAllMemberAPercentCnt = realCnt.multiply(poolAllMemberAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- DataDictionaryCustom poolAllMemberACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.POOL_ALL_MEMBER_A_CNT.getType(),
- PoolEnum.POOL_ALL_MEMBER_A_CNT.getCode()
- );
- BigDecimal poolAllMemberACnt = new BigDecimal(StrUtil.isEmpty(poolAllMemberACntDic.getValue()) ? "0" : poolAllMemberACntDic.getValue());
- poolAllMemberACnt = poolAllMemberACnt.add(poolAllMemberAPercentCnt);
- poolAllMemberACntDic.setValue(poolAllMemberACnt.toString());
- dataDictionaryCustomMapper.updateById(poolAllMemberACntDic);
- //生成一条20%全网加权分红(按20%释放递减)进入加权分红底池的资金流水记录
- DappFundFlowEntity poolAllMemberAFundFlow = new DappFundFlowEntity(
- 1L,
- poolAllMemberAPercentCnt,
- FundFlowEnum.POOL_ALL_MEMBER_A_CNT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(poolAllMemberAFundFlow);
-
- /**
- * 20%全网加权平分,按照个人投资占比全网的比例去平分
- */
- chainProducer.sendAllMemberPerkAvaMsg(poolAllMemberAFundFlow.getId());
- /**
- * 10%直推
- */
- DataDictionaryCustom directAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.DIRECT_A_PERCENT.getType(),
- PoolEnum.DIRECT_A_PERCENT.getCode()
- );
- BigDecimal directAPercent = new BigDecimal(StrUtil.isEmpty(directAPercentDic.getValue()) ? "0.1" : directAPercentDic.getValue());
- BigDecimal directAPercentCnt = realCnt.multiply(directAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- String refererId = dappMemberEntity.getRefererId();
- DappMemberEntity directMemberEntity = dappMemberDao.selectMemberInfoByInviteId(refererId);
- if(ObjectUtil.isNotEmpty(directMemberEntity)){
- /**
- *推荐用户入单可享有贡献值.例.推荐100获得100贡献值
- */
- DappUsdtPerkEntity directDappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(directMemberEntity.getId());
- if(ObjectUtil.isEmpty(directDappUsdtPerkEntity)){
- directDappUsdtPerkEntity = new DappUsdtPerkEntity();
- directDappUsdtPerkEntity.setNftDevote(amount);
- directDappUsdtPerkEntity.setMemberId(directMemberEntity.getId());
- dappUsdtPerkEntityMapper.insert(directDappUsdtPerkEntity);
- }
-
- BigDecimal directNftDevote = directDappUsdtPerkEntity.getNftDevote();
- directNftDevote = directNftDevote.add(amount);
- directDappUsdtPerkEntity.setNftDevote(directNftDevote);
- dappUsdtPerkEntityMapper.updateById(directDappUsdtPerkEntity);
-
- BigDecimal directAPercentFundFlowToMemberFlag = this.getAndUpdateMemberPerk(directMemberEntity.getId(), directAPercentCnt);
- if(directAPercentFundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
- //生成一条10%直推的资金流水记录
- DappFundFlowEntity directAPercentFundFlowToMember = new DappFundFlowEntity(
- directMemberEntity.getId(),
- directAPercentFundFlowToMemberFlag,
- FundFlowEnum.DIRECT_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(directAPercentFundFlowToMember);
- //用户的A币账户增加directAPercentCnt数量
- dappWalletService.updateWalletMineWithLock(directAPercentFundFlowToMemberFlag,directMemberEntity.getId(),1);
- }
- if(directAPercentCnt.compareTo(directAPercentFundFlowToMemberFlag) > 0){
- DappFundFlowEntity directAPercentFundFlowToMemberAva = new DappFundFlowEntity(
- 1L,
- directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
- FundFlowEnum.DIRECT_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(directAPercentFundFlowToMemberAva);
- dappWalletService.updateWalletMineWithLock(directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
- AppContants.YL_MEMBER_ID,1);
- }
- }
- /**
- * 5%节点
- */
- DataDictionaryCustom nodeAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_A_PERCENT.getType(),
- PoolEnum.NODE_A_PERCENT.getCode()
- );
- BigDecimal nodeAPercent = new BigDecimal(StrUtil.isEmpty(nodeAPercentDic.getValue()) ? "0.05" : nodeAPercentDic.getValue());
- BigDecimal nodeAPercentCnt = realCnt.multiply(nodeAPercent).setScale(4, BigDecimal.ROUND_DOWN);
- //生成一条5%节点的资金流水记录
- DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
- 1L,
- nodeAPercentCnt,
- FundFlowEnum.NODE_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(nodeAPercentFundFlow);
-// chainProducer.sendAntACoinInNodeMsg(nodeAPercentFundFlow.getId());
- DataDictionaryCustom nodeAPercentPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.NODE_A_PERCENT_POOL.getType(),
- PoolEnum.NODE_A_PERCENT_POOL.getCode()
- );
- BigDecimal nodeAPercentPoolDicCnt = new BigDecimal(StrUtil.isEmpty(nodeAPercentPoolDic.getValue()) ? "0" : nodeAPercentPoolDic.getValue());
- nodeAPercentPoolDicCnt = nodeAPercentPoolDicCnt.add(nodeAPercentCnt);
- nodeAPercentPoolDic.setValue(nodeAPercentPoolDicCnt.toString());
- dataDictionaryCustomMapper.updateById(nodeAPercentPoolDic);
-
- BigDecimal nodeAPercentCntAva = superNodePoolPerk(nodeAPercentCnt, NodeCodeEnum.SUPER_NODE.getCode(), FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
-
- if(nodeAPercentCnt.compareTo(nodeAPercentCntAva) > 0){
- DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
- 1L,
- nodeAPercentCnt.subtract(nodeAPercentCntAva),
- FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(nodeAPercentFundFlowAva);
- dappWalletService.updateWalletMineWithLock(nodeAPercentCnt.subtract(nodeAPercentCntAva),
- AppContants.YL_MEMBER_ID,1);
- }
- /**
- * 5%基金会
- */
- DataDictionaryCustom foundationAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.FOUNDATION_A_PERCENT.getType(),
- PoolEnum.FOUNDATION_A_PERCENT.getCode()
- );
- BigDecimal foundationAPercent = new BigDecimal(StrUtil.isEmpty(foundationAPercentDic.getValue()) ? "0.05" : foundationAPercentDic.getValue());
- BigDecimal foundationAPercentCnt = realCnt.multiply(foundationAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- //生成一条5%基金会的资金流水记录
- DappFundFlowEntity foundationAPercentFundFlow = new DappFundFlowEntity(
- 295L,
- foundationAPercentCnt,
- FundFlowEnum.FOUNDATION_A_PERCENT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(foundationAPercentFundFlow);
- //用户的A币账户增加memberGetACnt数量
- dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,295L,1);
- /**
- * 10%级差奖
- */
- DataDictionaryCustom levelAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.LEVEL_A_PERCENT.getType(),
- PoolEnum.LEVEL_A_PERCENT.getCode()
- );
- BigDecimal levelAPercent = new BigDecimal(StrUtil.isEmpty(levelAPercentDic.getValue()) ? "0.1" : levelAPercentDic.getValue());
- BigDecimal levelAPercentCnt = realCnt.multiply(levelAPercent).setScale(4, BigDecimal.ROUND_DOWN);
-
- //生成一条10%级差奖进入10%级差奖底池的资金流水记录
- DappFundFlowEntity levelAPercentCntFundFlow = new DappFundFlowEntity(
- 1L,
- levelAPercentCnt,
- FundFlowEnum.LEVEL_A_PERCENT_CNT.getCode(),
- 2,
- BigDecimal.ZERO,
- null,
- chergeRecordId);
- dappFundFlowDao.insert(levelAPercentCntFundFlow);
- chainProducer.sendAntACoinInLevelMsg(levelAPercentCntFundFlow.getId());
-
- /**
- * 更新用户为有效用户
- */
- dappMemberDao.updateMemberActiveStatus(1,memberId);
+// DataDictionaryCustom memberGetAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.MEMBER_GET_A_PERCENT.getType(),
+// PoolEnum.MEMBER_GET_A_PERCENT.getCode()
+// );
+// BigDecimal memberGetAPercent = new BigDecimal(StrUtil.isEmpty(memberGetAPercentDic.getValue()) ? "0.5" : memberGetAPercentDic.getValue());
+// BigDecimal memberGetACnt = realCnt.multiply(memberGetAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// BigDecimal fundFlowToMemberFlag = this.getAndUpdateMemberPerk(dappFundFlowEntity.getMemberId(), memberGetACnt);
+// if(fundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
+// //生成一条50%客户秒到的资金流水记录
+// DappFundFlowEntity fundFlowToMember = new DappFundFlowEntity(
+// dappFundFlowEntity.getMemberId(),
+// fundFlowToMemberFlag,
+// FundFlowEnum.MEMBER_GET_A_CNT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(fundFlowToMember);
+// //用户的A币账户增加memberGetACnt数量
+// dappWalletService.updateWalletMineWithLock(fundFlowToMemberFlag,dappFundFlowEntity.getMemberId(),1);
+// }
+// /**
+// * 20%全网加权分红(按20%释放递减)进入加权分红底池
+// */
+// DataDictionaryCustom poolAllMemberAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getType(),
+// PoolEnum.POOL_ALL_MEMBER_A_PERCENT.getCode()
+// );
+// BigDecimal poolAllMemberAPercent = new BigDecimal(StrUtil.isEmpty(poolAllMemberAPercentDic.getValue()) ? "0.2" : poolAllMemberAPercentDic.getValue());
+// BigDecimal poolAllMemberAPercentCnt = realCnt.multiply(poolAllMemberAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// DataDictionaryCustom poolAllMemberACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.POOL_ALL_MEMBER_A_CNT.getType(),
+// PoolEnum.POOL_ALL_MEMBER_A_CNT.getCode()
+// );
+// BigDecimal poolAllMemberACnt = new BigDecimal(StrUtil.isEmpty(poolAllMemberACntDic.getValue()) ? "0" : poolAllMemberACntDic.getValue());
+// poolAllMemberACnt = poolAllMemberACnt.add(poolAllMemberAPercentCnt);
+// poolAllMemberACntDic.setValue(poolAllMemberACnt.toString());
+// dataDictionaryCustomMapper.updateById(poolAllMemberACntDic);
+// //生成一条20%全网加权分红(按20%释放递减)进入加权分红底池的资金流水记录
+// DappFundFlowEntity poolAllMemberAFundFlow = new DappFundFlowEntity(
+// 1L,
+// poolAllMemberAPercentCnt,
+// FundFlowEnum.POOL_ALL_MEMBER_A_CNT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(poolAllMemberAFundFlow);
+//
+// /**
+// * 20%全网加权平分,按照个人投资占比全网的比例去平分
+// */
+// chainProducer.sendAllMemberPerkAvaMsg(poolAllMemberAFundFlow.getId());
+// /**
+// * 10%直推
+// */
+// DataDictionaryCustom directAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.DIRECT_A_PERCENT.getType(),
+// PoolEnum.DIRECT_A_PERCENT.getCode()
+// );
+// BigDecimal directAPercent = new BigDecimal(StrUtil.isEmpty(directAPercentDic.getValue()) ? "0.1" : directAPercentDic.getValue());
+// BigDecimal directAPercentCnt = realCnt.multiply(directAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// String refererId = dappMemberEntity.getRefererId();
+// DappMemberEntity directMemberEntity = dappMemberDao.selectMemberInfoByInviteId(refererId);
+// if(ObjectUtil.isNotEmpty(directMemberEntity)){
+// /**
+// *推荐用户入单可享有贡献值.例.推荐100获得100贡献值
+// */
+// DappUsdtPerkEntity directDappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(directMemberEntity.getId());
+// if(ObjectUtil.isEmpty(directDappUsdtPerkEntity)){
+// directDappUsdtPerkEntity = new DappUsdtPerkEntity();
+// directDappUsdtPerkEntity.setNftDevote(amount);
+// directDappUsdtPerkEntity.setMemberId(directMemberEntity.getId());
+// dappUsdtPerkEntityMapper.insert(directDappUsdtPerkEntity);
+// }
+//
+// BigDecimal directNftDevote = directDappUsdtPerkEntity.getNftDevote();
+// directNftDevote = directNftDevote.add(amount);
+// directDappUsdtPerkEntity.setNftDevote(directNftDevote);
+// dappUsdtPerkEntityMapper.updateById(directDappUsdtPerkEntity);
+//
+// BigDecimal directAPercentFundFlowToMemberFlag = this.getAndUpdateMemberPerk(directMemberEntity.getId(), directAPercentCnt);
+// if(directAPercentFundFlowToMemberFlag.compareTo(BigDecimal.ZERO) > 0){
+// //生成一条10%直推的资金流水记录
+// DappFundFlowEntity directAPercentFundFlowToMember = new DappFundFlowEntity(
+// directMemberEntity.getId(),
+// directAPercentFundFlowToMemberFlag,
+// FundFlowEnum.DIRECT_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(directAPercentFundFlowToMember);
+// //用户的A币账户增加directAPercentCnt数量
+// dappWalletService.updateWalletMineWithLock(directAPercentFundFlowToMemberFlag,directMemberEntity.getId(),1);
+// }
+// if(directAPercentCnt.compareTo(directAPercentFundFlowToMemberFlag) > 0){
+// DappFundFlowEntity directAPercentFundFlowToMemberAva = new DappFundFlowEntity(
+// 1L,
+// directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
+// FundFlowEnum.DIRECT_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(directAPercentFundFlowToMemberAva);
+// dappWalletService.updateWalletMineWithLock(directAPercentCnt.subtract(directAPercentFundFlowToMemberFlag),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// }
+// /**
+// * 5%节点
+// */
+// DataDictionaryCustom nodeAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_A_PERCENT.getType(),
+// PoolEnum.NODE_A_PERCENT.getCode()
+// );
+// BigDecimal nodeAPercent = new BigDecimal(StrUtil.isEmpty(nodeAPercentDic.getValue()) ? "0.05" : nodeAPercentDic.getValue());
+// BigDecimal nodeAPercentCnt = realCnt.multiply(nodeAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+// //生成一条5%节点的资金流水记录
+// DappFundFlowEntity nodeAPercentFundFlow = new DappFundFlowEntity(
+// 1L,
+// nodeAPercentCnt,
+// FundFlowEnum.NODE_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(nodeAPercentFundFlow);
+//// chainProducer.sendAntACoinInNodeMsg(nodeAPercentFundFlow.getId());
+// DataDictionaryCustom nodeAPercentPoolDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.NODE_A_PERCENT_POOL.getType(),
+// PoolEnum.NODE_A_PERCENT_POOL.getCode()
+// );
+// BigDecimal nodeAPercentPoolDicCnt = new BigDecimal(StrUtil.isEmpty(nodeAPercentPoolDic.getValue()) ? "0" : nodeAPercentPoolDic.getValue());
+// nodeAPercentPoolDicCnt = nodeAPercentPoolDicCnt.add(nodeAPercentCnt);
+// nodeAPercentPoolDic.setValue(nodeAPercentPoolDicCnt.toString());
+// dataDictionaryCustomMapper.updateById(nodeAPercentPoolDic);
+//
+// BigDecimal nodeAPercentCntAva = superNodePoolPerk(nodeAPercentCnt, NodeCodeEnum.SUPER_NODE.getCode(), FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
+//
+// if(nodeAPercentCnt.compareTo(nodeAPercentCntAva) > 0){
+// DappFundFlowEntity nodeAPercentFundFlowAva = new DappFundFlowEntity(
+// 1L,
+// nodeAPercentCnt.subtract(nodeAPercentCntAva),
+// FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(nodeAPercentFundFlowAva);
+// dappWalletService.updateWalletMineWithLock(nodeAPercentCnt.subtract(nodeAPercentCntAva),
+// AppContants.YL_MEMBER_ID,1);
+// }
+// /**
+// * 5%基金会
+// */
+// DataDictionaryCustom foundationAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.FOUNDATION_A_PERCENT.getType(),
+// PoolEnum.FOUNDATION_A_PERCENT.getCode()
+// );
+// BigDecimal foundationAPercent = new BigDecimal(StrUtil.isEmpty(foundationAPercentDic.getValue()) ? "0.05" : foundationAPercentDic.getValue());
+// BigDecimal foundationAPercentCnt = realCnt.multiply(foundationAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// //生成一条5%基金会的资金流水记录
+// DappFundFlowEntity foundationAPercentFundFlow = new DappFundFlowEntity(
+// 295L,
+// foundationAPercentCnt,
+// FundFlowEnum.FOUNDATION_A_PERCENT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(foundationAPercentFundFlow);
+// //用户的A币账户增加memberGetACnt数量
+// dappWalletService.updateWalletMineWithLock(foundationAPercentCnt,295L,1);
+// /**
+// * 10%级差奖
+// */
+// DataDictionaryCustom levelAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.LEVEL_A_PERCENT.getType(),
+// PoolEnum.LEVEL_A_PERCENT.getCode()
+// );
+// BigDecimal levelAPercent = new BigDecimal(StrUtil.isEmpty(levelAPercentDic.getValue()) ? "0.1" : levelAPercentDic.getValue());
+// BigDecimal levelAPercentCnt = realCnt.multiply(levelAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+//
+// //生成一条10%级差奖进入10%级差奖底池的资金流水记录
+// DappFundFlowEntity levelAPercentCntFundFlow = new DappFundFlowEntity(
+// 1L,
+// levelAPercentCnt,
+// FundFlowEnum.LEVEL_A_PERCENT_CNT.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// null,
+// chergeRecordId);
+// dappFundFlowDao.insert(levelAPercentCntFundFlow);
+// chainProducer.sendAntACoinInLevelMsg(levelAPercentCntFundFlow.getId());
+//
+// /**
+// * 更新用户为有效用户
+// */
+// dappMemberDao.updateMemberActiveStatus(1,memberId);
}
@@ -2578,23 +2578,10 @@
for(MallAchieveRecord mallAchieveRecord : mallAchieveRecords){
//释放总额
BigDecimal costAmount = mallAchieveRecord.getCostAmount();
- //剩余
- BigDecimal amount = mallAchieveRecord.getAmount();
- if(BigDecimal.ZERO.compareTo(amount) >= 0){
- mallAchieveRecord.setIsNormal(2);
- mallAchieveRecordMapper.updateById(mallAchieveRecord);
- continue;
- }
//每日释放金额
BigDecimal eachDayPerk = costAmount.multiply(staticRelease).setScale(2,BigDecimal.ROUND_DOWN);
- if(eachDayPerk.compareTo(amount) >= 0){
- eachDayPerk = amount;
- mallAchieveRecord.setIsNormal(2);
- }
DappMemberEntity mallAchieveMemberEntity = dappMemberDao.selectById(mallAchieveRecord.getMemberId());
sendPerk(mallAchieveMemberEntity,eachDayPerk,mallAchieveRecord.getOrderId(),FundFlowEnum.STATIC_RELEASE.getCode());
- //实时更新用户等级
- chainProducer.sendAutoLevelUpTeamMsg(perkMemberId);
}
}
@@ -2627,7 +2614,7 @@
//需要判断小区业绩
if( MemberLevelEnum.V1.getType().equals(nextLevelName)){
- if (!teamAchieve(parent, teamLevelPerk)) {
+ if (!teamAchieveOther(parent, teamLevelPerk)) {
continue;
}
}else{
@@ -2677,7 +2664,6 @@
}
/**
* 团队业绩是否达标
- * 除去直属的最大的一个业绩团队,剩余的所有业绩之和
*/
private boolean teamAchieveOther(DappMemberEntity member, TeamLevelPerk teamLevelPerk ) {
BigDecimal teamIncome = teamLevelPerk.getSmallAchieve();
@@ -2756,13 +2742,37 @@
* 直推消费分享:享受直接分享人每日消费金额释放的100%加速;
*/
for(DappMemberEntity dappMemberEntity : dappMemberEntityList){
- Long memberId = dappMemberEntity.getId();
String inviteId = dappMemberEntity.getInviteId();
//该用户全部的直推用户
List<DappMemberEntity> dappMemberEntities = dappMemberDao.selectChildMemberDirectOrNot(inviteId, 1, 1);
for(DappMemberEntity directMember : dappMemberEntities){
+ if(1 != directMember.getActiveStatus()){
+ return;
+ }
Long directMemberId = directMember.getId();
- chainProducer.sendDirectPerkMsg(directMemberId);
+
+ DataDictionaryCustom directReleaseDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.DIRECT_RELEASE.getType(),
+ DataDictionaryEnum.DIRECT_RELEASE.getCode()
+ );
+ if(ObjectUtil.isEmpty(directReleaseDic)){
+ return;
+ }
+ BigDecimal directRelease = new BigDecimal(directReleaseDic.getValue() == null ? "0" : directReleaseDic.getValue());
+ if(BigDecimal.ZERO.compareTo(directRelease) >= 0){
+ return;
+ }
+ DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(dappMemberEntity.getRefererId());
+ /**
+ * 获取用户前一天的所有返利记录
+ */
+ List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectListByMemberIdAndTypeAndDate(directMemberId,
+ FundFlowEnum.STATIC_RELEASE.getCode(),DateUtil.offsetHour(DateUtil.date(),12));
+ for(DappFundFlowEntity dappFundFlowEntity : dappFundFlowEntities){
+ BigDecimal staticReleaseAmount = dappFundFlowEntity.getAmount();
+ BigDecimal directReleaseAmount = staticReleaseAmount.multiply(directRelease).setScale(2, BigDecimal.ROUND_DOWN);
+ sendPerk(parentMember,directReleaseAmount,dappFundFlowEntity.getSystemProfitId(),FundFlowEnum.DIRECT_AMOUNT.getCode());
+ }
}
}
}
@@ -2811,34 +2821,209 @@
BigDecimal staticRelease = new BigDecimal(ObjectUtil.isEmpty(staticReleaseDic) ? "0.006" : staticReleaseDic.getValue());
List<DappMemberEntity> dappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V1.getType());
+ shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V1.getCode());
teamStaticPerkMemberLevel(dappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V1.getCode());
List<DappMemberEntity> v2DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V2.getType());
+ shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V2.getCode());
teamStaticPerkMemberLevel(v2DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V2.getCode());
List<DappMemberEntity> v3DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V3.getType());
+ shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V3.getCode());
teamStaticPerkMemberLevel(v3DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V3.getCode());
List<DappMemberEntity> v4DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V4.getType());
+ shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V4.getCode());
teamStaticPerkMemberLevel(v4DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V4.getCode());
List<DappMemberEntity> v5DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V5.getType());
+ shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V5.getCode());
teamStaticPerkMemberLevel(v5DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V5.getCode());
List<DappMemberEntity> v6DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V6.getType());
+ shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V6.getCode());
teamStaticPerkMemberLevel(v6DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V6.getCode());
List<DappMemberEntity> v7DappMemberEntities = dappMemberDao.selectMemberByAccountType(MemberLevelEnum.V7.getType());
+ shareStaticPerk(dappMemberEntities,FundFlowEnum.SHARE_PERK_V7.getCode());
teamStaticPerkMemberLevel(v7DappMemberEntities,teamPerkEquals,staticRelease,FundFlowEnum.TEAM_PERK_V7.getCode());
}
- public void shareStaticPerk(List<DappMemberEntity> dappMemberEntities,int code) {
+ @Override
+ public void updateAchieve() {
+ /**
+ * 每个人预期获得的总流水
+ */
+ List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectListByTypeAndDate(FundFlowEnum.ADD_AMOUNT.getCode(), DateUtil.date());
+ if(CollUtil.isEmpty(dappFundFlowEntities)){
+ return;
+ }
+ for(DappFundFlowEntity dappFundFlowEntity : dappFundFlowEntities){
+ Long memberId = dappFundFlowEntity.getMemberId();
+ //当日预期总收益
+ BigDecimal amount = dappFundFlowEntity.getAmount();
+ if(BigDecimal.ZERO.compareTo(amount) >= 0){
+ continue;
+ }
+ //当日预期总收益
+ BigDecimal amountMagic = amount;
+ List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberId(memberId);
+ if(CollUtil.isEmpty(mallAchieveRecords)){
+ return;
+ }
+ //实际获取总收益
+ BigDecimal localTotalAchieve = BigDecimal.ZERO;
+ BigDecimal totalAchieve = mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ //当日获取总收益大于总业绩
+ if(amount.compareTo(totalAchieve) >= 0){
+ for(MallAchieveRecord memberAchieve : mallAchieveRecords){
+ memberAchieve.setIsNormal(2);
+ memberAchieve.setAmount(BigDecimal.ZERO);
+ mallAchieveRecordMapper.updateById(memberAchieve);
+ }
+ localTotalAchieve = totalAchieve;
+ amount = amount.subtract(totalAchieve);
+ }else{
+ /**
+ *
+ * amount 100 a1 100 a2 30 a3 10
+ * localTotalAchieve 100 100
+ * amount 0 0
+ *
+ */
+ for(MallAchieveRecord memberAchieve : mallAchieveRecords){
+ BigDecimal achieveAmount = memberAchieve.getAmount();
+ if(amount.compareTo(achieveAmount) < 0){
+ memberAchieve.setAmount(achieveAmount.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+ mallAchieveRecordMapper.updateById(memberAchieve);
+ localTotalAchieve = localTotalAchieve.add(amount);
+ amount = BigDecimal.ZERO;
+ continue;
+ }else{
+ memberAchieve.setIsNormal(2);
+ memberAchieve.setAmount(BigDecimal.ZERO);
+ mallAchieveRecordMapper.updateById(memberAchieve);
+ localTotalAchieve = localTotalAchieve.add(achieveAmount);
+ amount = amount.subtract(achieveAmount);
+ }
+ }
+ }
+
+ /**
+ * 用户减少赠送积分
+ */
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+ DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(memberId);
+ BigDecimal totalScore = dappWalletMineEntity.getTotalAmount();
+ BigDecimal availableScore = dappWalletMineEntity.getAvailableAmount();
+
+ if(localTotalAchieve.compareTo(totalScore) >= 0){
+ localTotalAchieve = totalScore;
+ //当实际获取大于用户的赠送积分,将用户更新为未激活
+ dappMemberEntity.setActiveStatus(2);
+ dappMemberDao.updateById(dappMemberEntity);
+ }
+
+ DappAccountMoneyChangeEntity reduceScoreAMC = new DappAccountMoneyChangeEntity(
+ memberId,
+ totalScore,
+ amountMagic.negate(),
+ localTotalAchieve.negate(),
+ FundFlowEnum.REDUCE_SCORE.getCode(),
+ null);
+ dappAccountMoneyChangeDao.insert(reduceScoreAMC);
+
+ //插入积分流水
+ DappFundFlowEntity scoreFlow = new DappFundFlowEntity(
+ memberId,
+ localTotalAchieve.negate(),
+ FundFlowEnum.REDUCE_SCORE_REAL.getCode(),
+ DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+ BigDecimal.ZERO);
+ dappFundFlowDao.insert(scoreFlow);
+
+ BigDecimal totalScoreRelease = totalScore.subtract(localTotalAchieve);
+ BigDecimal availableScoreRelease = availableScore.subtract(localTotalAchieve);
+ //更新积分账户
+ dappWalletMineEntity.setTotalAmount(totalScoreRelease);
+ dappWalletMineEntity.setAvailableAmount(availableScoreRelease);
+ dappWalletMineDao.updateById(dappWalletMineEntity);
+
+
+ //用户增加余额
+ DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
+ BigDecimal totalAmount = dappWalletCoinEntity.getTotalAmount();
+ BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
+
+ DappAccountMoneyChangeEntity addAmountAMC = new DappAccountMoneyChangeEntity(
+ memberId,
+ totalAmount,
+ amountMagic,
+ localTotalAchieve,
+ FundFlowEnum.ADD_AMOUNT_REAL.getCode(),
+ null);
+ dappAccountMoneyChangeDao.insert(addAmountAMC);
+ //插入余额流水
+ DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+ memberId,
+ localTotalAchieve,
+ FundFlowEnum.ADD_AMOUNT_REAL.getCode(),
+ DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+ BigDecimal.ZERO);
+ dappFundFlowDao.insert(amountFlow);
+
+ BigDecimal totalAmountRelease = totalAmount.add(localTotalAchieve);
+ BigDecimal availableAmountRelease = availableAmount.add(localTotalAchieve);
+ //更新余额账户
+ dappWalletCoinEntity.setTotalAmount(totalAmountRelease);
+ dappWalletCoinEntity.setAvailableAmount(availableAmountRelease);
+ dappWalletCoinDao.updateById(dappWalletCoinEntity);
+
+ //实时更新用户等级
+ chainProducer.sendAutoLevelUpTeamMsg(memberId);
+ }
+
+ }
+
+ public void shareStaticPerk(List<DappMemberEntity> dappMemberEntities,
+ int code) {
if(CollUtil.isEmpty(dappMemberEntities)){
return;
}
for(DappMemberEntity dappMemberEntity : dappMemberEntities){
+ /**
+ * 每个人的第一次入单之后的业绩不一样
+ */
+ Date createTime = dappMemberEntity.getCreateTime();
+ //下第一单之后的共享区全部业绩
+ BigDecimal totalAchieve = mallAchieveRecordMapper.selectAchieveTotalByCreateTime(createTime);
+ //个人总业绩
+ BigDecimal totalMemberAchieve = mallAchieveRecordMapper.selectAchieveTotalByMemberIdAndCreateTime(dappMemberEntity.getId(), createTime);
+ if(BigDecimal.ZERO.compareTo(totalAchieve) >= 0 || BigDecimal.ZERO.compareTo(totalMemberAchieve) >= 0){
+ continue;
+ }
+ String accountType = dappMemberEntity.getAccountType();
+ DataDictionaryCustom accountTypeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ "TEAM_LEVEL", accountType
+ );
+ if(ObjectUtil.isEmpty(accountTypeDic)){
+ continue;
+ }
+ TeamLevelPerk teamLevelPerk = JSONObject.parseObject(accountTypeDic.getValue(), TeamLevelPerk.class);
+ BigDecimal shareMinPercent = teamLevelPerk.getShareMinPercent();
+ BigDecimal sharePerk = totalAchieve.multiply(shareMinPercent).setScale(2,BigDecimal.ROUND_DOWN);
+ BigDecimal shareMaxPercent = teamLevelPerk.getShareMaxPercent();
+ BigDecimal maxSharePerk = totalMemberAchieve.multiply(shareMaxPercent).setScale(2,BigDecimal.ROUND_DOWN);
+ if(BigDecimal.ZERO.compareTo(sharePerk) >= 0 || BigDecimal.ZERO.compareTo(maxSharePerk) >= 0){
+ continue;
+ }
+ //共享区加速万分之2,上限1.2%(按本金计)
+ if(sharePerk.compareTo(maxSharePerk) >= 0){
+ sharePerk = maxSharePerk;
+ }
+ sendPerk(dappMemberEntity, sharePerk, dappMemberEntity.getId(), code);
}
}
@@ -2883,7 +3068,7 @@
//V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
BigDecimal cashAmount = teamIncomeMax.multiply(cashPercent).multiply(staticRelease).setScale(2, BigDecimal.ROUND_DOWN);
- BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, null, code);
+ BigDecimal bigDecimal = sendPerk(teamPerkMember, cashAmount, teamPerkMember.getId(), code);
}
}
@@ -2892,49 +3077,10 @@
private BigDecimal sendPerk(DappMemberEntity parentMember,BigDecimal directReleaseAmount,Long orderId
,Integer fundFlowEnumType){
- BigDecimal realScoreReduce = BigDecimal.ZERO;
+ BigDecimal realScoreReduce = directReleaseAmount;
if(BigDecimal.ZERO.compareTo(directReleaseAmount) >= 0){
return realScoreReduce;
}
- /**
- * 减少业绩
- */
- List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberId(parentMember.getId());
- if(CollUtil.isEmpty(mallAchieveRecords)){
- return realScoreReduce;
- }
- BigDecimal totalAchieve = mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
- if(directReleaseAmount.compareTo(totalAchieve) >= 0){
- realScoreReduce = totalAchieve;
- for(MallAchieveRecord mallAchieveRecord : mallAchieveRecords){
- mallAchieveRecord.setAmount(BigDecimal.ZERO);
- mallAchieveRecord.setIsNormal(2);
- mallAchieveRecordMapper.updateById(mallAchieveRecord);
- }
- }
-
- /**
- * 用户减少赠送积分
- */
- DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(parentMember.getId());
- BigDecimal totalScore = dappWalletMineEntity.getTotalAmount();
- BigDecimal availableScore = dappWalletMineEntity.getAvailableAmount();
- if(BigDecimal.ZERO.compareTo(totalScore) >= 0){
- parentMember.setActiveStatus(2);
- dappMemberDao.updateById(parentMember);
- return realScoreReduce;
- }
- if(directReleaseAmount.compareTo(totalScore) > 0){
- realScoreReduce = totalScore;
- }else{
- realScoreReduce = directReleaseAmount;
- }
- BigDecimal totalScoreRelease = totalScore.subtract(realScoreReduce);
- BigDecimal availableScoreRelease = availableScore.subtract(realScoreReduce);
- //更新积分账户
- dappWalletMineEntity.setTotalAmount(totalScoreRelease);
- dappWalletMineEntity.setAvailableAmount(availableScoreRelease);
- dappWalletMineDao.updateById(dappWalletMineEntity);
//插入积分流水
DappFundFlowEntity scoreFlow = new DappFundFlowEntity(
parentMember.getId(),
@@ -2944,15 +3090,6 @@
BigDecimal.ZERO,
orderId);
dappFundFlowDao.insert(scoreFlow);
- DappAccountMoneyChangeEntity reduceScoreAMC = new DappAccountMoneyChangeEntity(
- parentMember.getId(),
- totalScore,
- realScoreReduce.negate(),
- totalScoreRelease,
- FundFlowEnum.REDUCE_SCORE.getCode(),
- orderId.toString());
- dappAccountMoneyChangeDao.insert(reduceScoreAMC);
-
//生成一条静态补贴的流水
DappFundFlowEntity realUsdtAmountFlow = new DappFundFlowEntity(
parentMember.getId(),
@@ -2962,17 +3099,6 @@
BigDecimal.ZERO,
orderId);
dappFundFlowDao.insert(realUsdtAmountFlow);
- //用户增加余额
- DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(parentMember.getId());
- BigDecimal totalAmount = dappWalletCoinEntity.getTotalAmount();
- BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
-
- BigDecimal totalAmountRelease = totalAmount.add(realScoreReduce);
- BigDecimal availableAmountRelease = availableAmount.add(realScoreReduce);
- //更新余额账户
- dappWalletCoinEntity.setTotalAmount(totalAmountRelease);
- dappWalletCoinEntity.setAvailableAmount(availableAmountRelease);
- dappWalletCoinDao.updateById(dappWalletCoinEntity);
//插入余额流水
DappFundFlowEntity amountFlow = new DappFundFlowEntity(
parentMember.getId(),
@@ -2982,15 +3108,6 @@
BigDecimal.ZERO,
orderId);
dappFundFlowDao.insert(amountFlow);
- DappAccountMoneyChangeEntity addAmountAMC = new DappAccountMoneyChangeEntity(
- parentMember.getId(),
- totalAmount,
- realScoreReduce,
- totalAmountRelease,
- FundFlowEnum.ADD_AMOUNT.getCode(),
- orderId.toString());
- dappAccountMoneyChangeDao.insert(addAmountAMC);
-
return realScoreReduce;
}
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 267094a..d79840d 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
@@ -75,47 +75,6 @@
private final DappUsdtPerkEntityMapper dappUsdtPerkEntityMapper;
@Override
- public WalletInfoVo walletInfo() {
- DappMemberEntity member = LoginUserUtil.getAppUser();
-
- DappMemberEntity memberInfo = dappMemberDao.selectById(member.getId());
- WalletInfoVo walletInfo = new WalletInfoVo();
- List<DappMemberEntity> direct = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1, 1);
- DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
- DappWalletMineEntity walletMine = dappWalletMineDao.selectByMemberId(member.getId());
-
- DappMineDataEntity mineData = dappSystemDao.selectMineDataForOne();
- walletInfo.setDirectCnt(direct.size());
- walletInfo.setInviteId(member.getActiveStatus() == 1 ? member.getInviteId() : "-");
- walletInfo.setBalance(walletCoin.getAvailableAmount());
- walletInfo.setHasBuy(memberInfo.getActiveStatus());
- walletInfo.setOutCnt(memberInfo.getOutCnt());
- walletInfo.setProfit(dappFundFlowDao.selectProfitAmountByMemberId(member.getId()));
- walletInfo.setTfcBalance(walletMine.getAvailableAmount());
- walletInfo.setSafePool(mineData.getSafePool());
-
- walletInfo.setAccountType(memberInfo.getAccountType());
- DappSystemProfit dappSystemProfit = dappSystemProfitDao.selectByMemberIdAndState(memberInfo.getId(),DappSystemProfit.STATE_IN);
- walletInfo.setSystemProfitId(ObjectUtil.isEmpty(dappSystemProfit) ? 0L : dappSystemProfit.getId());
- BigDecimal directProfit = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberInfo.getId(),3,2);
- walletInfo.setDirectProfit(directProfit);
- BigDecimal levelProfit = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberInfo.getId(),4,2);
- walletInfo.setLevelProfit(levelProfit);
- BigDecimal luckyProfit = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberInfo.getId(),7,2);
- walletInfo.setLuckyProfit(luckyProfit);
- if(DataDictionaryEnum.BIG_BOSS.getCode().equals(memberInfo.getAccountType())){
- walletInfo.setRunPercent(new BigDecimal(100));
- }else{
- walletInfo.setRunPercent(new BigDecimal(90));
- }
-
- //获取会员节点信息
- List<DappMemberNodeVo> dappMemberNodeVos = dappMemberNodeMapper.selectListByMemberId(member.getId());
- walletInfo.setDappMemberNodeVos(dappMemberNodeVos);
- return walletInfo;
- }
-
- @Override
public List<DappFundFlowEntity> recordInPage(RecordInPageDto recordInPageDto) {
Page<DappFundFlowEntity> page = new Page<>(recordInPageDto.getPageNum(), recordInPageDto.getPageSize());
@@ -155,206 +114,6 @@
return dappAccountMoneyChangeDao.selectInPage(change, page);
}
- /**
- * // 第一次{amount: val, fee: 0, txHash: '', type: 1, buyType: 2}
- * // 成功{type: 1, txHash: result.transactionHash, id: res.data, flag: 'success', buyType: 2}
- * // 失败{type: 1, id: res.data, flag: 'fail', buyType: 2}
- */
- @Override
- public Long transfer(TransferDto transferDto) {
- DappMemberEntity member = LoginUserUtil.getAppUser();
-
- String upgrade = redisUtils.getString("APP_UPGRADE");
- if ("upgrade".equals(upgrade)) {
- throw new FebsException("功能升级中");
- }
-
-// if (transferDto.getType() != 2) {
-// member = dappMemberDao.selectById(member.getId());
-// if (member.getActiveStatus() == 1) {
-// throw new FebsException("Do not repeat purchase");
-// }
-// }
- /**
- * buyType=1,余额购买
- */
- if (transferDto.getBuyType() == 1) {
- DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
- if (transferDto.getAmount().compareTo(walletCoin.getAvailableAmount()) > 0) {
- throw new FebsException("Balance Not Enough");
- }
-
- updateWalletCoinWithLock(transferDto.getAmount(), member.getId(), 2);
-
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount().negate(), 1, 2, transferDto.getFee(), transferDto.getTxHash());
- dappFundFlowDao.insert(fundFlow);
-
-// chainProducer.sendAchieveTreeMsg(member.getId());
- } else {
- /**
- * buyType=2,钱包购买
- */
- int type = FundFlowEnum.BUY_NODE.getCode();
- // 1-认购 2-充值tfc
- if (transferDto.getType() == 2) {
- type = 6;
- }
- /**
- * 第一次请求,生成一条资金流水ID,并且返回。
- */
- if (transferDto.getId() == null) {
- /**
- * 验证节点的价格是否和入参价格一致
- */
- String nodeCode = transferDto.getNodeCode();
- DappNodeOrderEntity dappNodeOrderEntity = dappNodeOrderMapper.selectNodeOrderByNodeCodeForupdate(nodeCode);
- BigDecimal price = dappNodeOrderEntity.getPrice();
- BigDecimal amount = transferDto.getAmount();
- if(price.compareTo(amount) != 0){
- throw new FebsException("刷新后重试");
-// throw new FebsException("Refresh and try again");
- }
- Integer surplusCnt = dappNodeOrderEntity.getSurplusCnt();
- if(0 >= surplusCnt){
- throw new FebsException("该节点剩余数量为0。");
- }
-
-
- /**
- * 超级节点只允许购买一次
- */
- if(NodeCodeEnum.SUPER_NODE.getCode().equals(nodeCode)){
- DappMemberNodeEntity superNode = dappMemberNodeMapper.selectNodeByMemberIdAndNodeCode(
- member.getId(), NodeCodeEnum.SUPER_NODE.getCode());
- if(ObjectUtil.isNotEmpty(superNode)){
- throw new FebsException("超级节点只能购买一次");
- }
- }
-
- DappFundFlowEntity fundFlowOld = dappFundFlowDao.selectBymemberIdAndType(member.getId(),type,DappFundFlowEntity.WITHDRAW_STATUS_ING);
- if(ObjectUtil.isNotEmpty(fundFlowOld)){
- //网络问题导致第二次提交前,未成功就关闭了页面
- if (fundFlowOld.getStatus() == 1 && StrUtil.isEmpty(fundFlowOld.getFromHash())) {
- dappFundFlowDao.deleteById(fundFlowOld.getId());
- throw new FebsException("Refresh and try again");
- }
- }
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), type, 1, transferDto.getFee(), transferDto.getTxHash(),transferDto.getNodeCode());
- dappFundFlowDao.insert(fundFlow);
- return fundFlow.getId();
- }
-
- if ("success".equals(transferDto.getFlag())) {
- DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
- if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == flow.getStatus()){
- throw new FebsException("请勿重复提交");
-// throw new FebsException("Do not repeat purchase");
- }
- /**
- * 生成会员节点表记录
- */
- String nodeCode = transferDto.getNodeCode();
- DappNodeOrderEntity dappNodeOrderEntity = dappNodeOrderMapper.selectNodeOrderByNodeCodeForupdate(nodeCode);
- DappMemberNodeEntity dappMemberNodeEntityNew = new DappMemberNodeEntity(
- member.getId(),
- dappNodeOrderEntity.getId(),
- dappNodeOrderEntity.getNodeCode(),
- transferDto.getAmount()
- );
- dappMemberNodeMapper.insert(dappMemberNodeEntityNew);
-
- Integer surplusCnt = dappNodeOrderEntity.getSurplusCnt();
- surplusCnt = surplusCnt - 1;
- dappNodeOrderEntity.setSurplusCnt(surplusCnt);
- dappNodeOrderMapper.updateById(dappNodeOrderEntity);
-
- /**
- * 流水关联用户购买节点记录
- */
- flow.setSystemProfitId(dappMemberNodeEntityNew.getId());
- /**
- * 链上转账的hash值
- */
- flow.setFromHash(transferDto.getTxHash());
- flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
- dappFundFlowDao.updateById(flow);
- /**
- * 升级账号类型为对应的节点名称
- */
-// dappMemberDao.updateMemberAccountType(dappNodeOrderEntity.getNodeName(),member.getId());
- /**
- * 更新账号的状态为已激活-即已经购买节点
- */
-// dappMemberDao.updateMemberActiveStatus(1,member.getId());
- /**
- * 直推奖励
- */
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
- String refererId = dappMemberEntity.getRefererId();
- DappMemberEntity refererMember = dappMemberDao.selectMemberInfoByInviteId(refererId);
- DataDictionaryCustom directProfitDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.DIRECT_PROFIT.getType(),
- DataDictionaryEnum.DIRECT_PROFIT.getCode());
- BigDecimal directProfitPercent = new BigDecimal(StrUtil.isEmpty(directProfitDic.getValue()) ? "0.1" : directProfitDic.getValue());
- BigDecimal amount = transferDto.getAmount();
- BigDecimal directProfit = amount.multiply(directProfitPercent).setScale(6,BigDecimal.ROUND_DOWN);
- //生成直推奖励的流水
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(
- refererMember.getId(),
- directProfit,
- 2,
- 1,
- BigDecimal.ZERO,
- null,
- dappMemberNodeEntityNew.getId());
- dappFundFlowDao.insert(fundFlow);
-
- /**
- * 发送转币消息
- */
- chainProducer.sendBnbTransferMsg(fundFlow.getId());
-
-
- BigDecimal subtract = amount.subtract(directProfit);
-
- //剩余的钱给分走
- DappFundFlowEntity fundFlowEntityProject = new DappFundFlowEntity(
- 4L,
- subtract,
- 3,
- 1,
- BigDecimal.ZERO,
- null,
- dappMemberNodeEntityNew.getId());
- dappFundFlowDao.insert(fundFlowEntityProject);
-
- /**
- * 发送转币消息
- */
- chainProducer.sendBnbTransferMsg(fundFlowEntityProject.getId());
- } else {
- DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
- if (flow.getStatus() == 1) {
- dappFundFlowDao.deleteById(transferDto.getId());
- }
- }
- }
- return null;
- }
-
- @Override
- public BigDecimal calPrice(PriceDto priceDto) {
-// String priceStr = redisUtils.getString(AppContants.REDIS_KEY_TFC_NEW_PRICE);
- DataDictionaryCustom symbolPrice = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
- DataDictionaryCustom serviceFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getType(), DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getCode());
-
- BigDecimal amount = priceDto.getAmount();
- if (priceDto.getAmount() == null) {
- amount = BigDecimal.ZERO;
- }
- return amount.multiply(new BigDecimal(serviceFeeDic.getValue()).divide(BigDecimal.valueOf(100), 8, RoundingMode.HALF_DOWN)).divide(new BigDecimal(symbolPrice.getValue()), 2, RoundingMode.HALF_UP);
- }
-
@Override
@Transactional(rollbackFor = Exception.class)
public void withdraw(WithdrawDto withdrawDto) {
@@ -363,115 +122,115 @@
* 提币需要*当前a币价格,转换成USDT
* A币卖币规则,卖出100%销毁,30%回流底池溢价
*/
- DappMemberEntity member = LoginUserUtil.getAppUser();
+// DappMemberEntity member = LoginUserUtil.getAppUser();
+//
+// DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.SYSTEM.getType(),
+// PoolEnum.SYSTEM.getCode()
+// );
+// String value = systemStateDic.getValue();
+// if("STOP".equals(value)){
+// throw new FebsException("Not yet open");
+// }
+// //提币数量
+// BigDecimal amount = withdrawDto.getAmount();
+// if(BigDecimal.ZERO.compareTo(amount) >= 0){
+// throw new FebsException("输入正确的数量");
+// }
+// DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
+// if (walletCoin.getAvailableAmount().compareTo(withdrawDto.getAmount()) < 0) {
+// throw new FebsException("可提现的数量不足");
+// }
+// DataDictionaryCustom aCoinPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_PRICE.getType(),
+// PoolEnum.COIN_A_PRICE.getCode()
+// );
+// BigDecimal coinAPrice = new BigDecimal(aCoinPriceDic.getValue());
+// //预计提现的USDT数量 = 币的数量 * 当前A币的价格
+// BigDecimal coinUsdtAmount = amount.multiply(coinAPrice);
+// /**
+// * 卖币可享有贡献值,鼓励卖币,例.卖出价值100U获得100贡献值
+// */
+// DappUsdtPerkEntity directDappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(member.getId());
+// if(ObjectUtil.isEmpty(directDappUsdtPerkEntity)){
+// directDappUsdtPerkEntity = new DappUsdtPerkEntity();
+// directDappUsdtPerkEntity.setNftDevote(coinUsdtAmount);
+// directDappUsdtPerkEntity.setMemberId(member.getId());
+// dappUsdtPerkEntityMapper.insert(directDappUsdtPerkEntity);
+// }
+//
+// BigDecimal directNftDevote = directDappUsdtPerkEntity.getNftDevote();
+// directNftDevote = directNftDevote.add(coinUsdtAmount);
+// directDappUsdtPerkEntity.setNftDevote(directNftDevote);
+// dappUsdtPerkEntityMapper.updateById(directDappUsdtPerkEntity);
+//
+// DataDictionaryCustom toUsdtPercentFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.WALLET_COIN_TO_USDT_PERCENT.getType(),
+// PoolEnum.WALLET_COIN_TO_USDT_PERCENT.getCode()
+// );
+// BigDecimal feePercent = new BigDecimal(toUsdtPercentFeeDic.getValue());
+// //手续费扣除USDT
+// BigDecimal feeUsdtAmount = coinUsdtAmount.multiply(feePercent).setScale(4,BigDecimal.ROUND_DOWN);
+// //实际提现USDT数量,先扣除1%的手续费后,只到账70%
+//
+// DataDictionaryCustom outPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.WALLET_COIN_OUT_PERCENT.getType(),
+// PoolEnum.WALLET_COIN_OUT_PERCENT.getCode()
+// );
+// BigDecimal outPercent = new BigDecimal(outPercentDic.getValue());
+// BigDecimal realUsdtAmount = coinUsdtAmount.subtract(feeUsdtAmount).setScale(4,BigDecimal.ROUND_DOWN);
+// BigDecimal realUsdtAmountFee = realUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
+// realUsdtAmount = realUsdtAmount.subtract(realUsdtAmountFee);
+// //减少闪对钱包的币的数量
+// this.updateWalletCoinWithLock(amount, member.getId(), 2);
+// //增加流水
+// DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(member.getId(), amount.negate(), FundFlowEnum.WALLET_COIN_TO_USDT.getCode(), 2, BigDecimal.ZERO);
+// dappFundFlowDao.insert(dappFundFlowEntity);
+// //增加流水
+// DappFundFlowEntity realUsdtAmountFlow = new DappFundFlowEntity(member.getId(), realUsdtAmount.negate(), FundFlowEnum.WALLET_COIN_TO_USDT_W.getCode(), 1, feeUsdtAmount);
+// dappFundFlowDao.insert(realUsdtAmountFlow);
+// //增加提现的记录
+// MemberCoinWithdrawEntity memberCoinWithdraw = new MemberCoinWithdrawEntity();
+// memberCoinWithdraw.setMemberId(member.getId());
+// memberCoinWithdraw.setAddress(member.getAddress());
+// memberCoinWithdraw.setAmount(realUsdtAmount);
+// memberCoinWithdraw.setFeeAmount(feeUsdtAmount);
+// memberCoinWithdraw.setStatus(MemberCoinWithdrawEntity.STATUS_YES);
+// memberCoinWithdraw.setSymbol("USDT");
+// memberCoinWithdraw.setFlowId(realUsdtAmountFlow.getId());
+// memberCoinWithdrawDao.insert(memberCoinWithdraw);
+// //发送提现消息
+//// chainProducer.sendAntACoinOutMsg(realUsdtAmountFlow.getId());
+//
+// /**
+// * A币卖币规则,卖出100%销毁,30%回流底池溢价
+// */
+// BigDecimal coinUsdtAmountFee = coinUsdtAmount.multiply(new BigDecimal(0.2)).setScale(4,BigDecimal.ROUND_DOWN);
+//// coinUsdtAmount = coinUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
+// //金本位底池数量
+// DataDictionaryCustom coinAUsdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_USDT_PRICE.getType(),
+// PoolEnum.COIN_A_USDT_PRICE.getCode()
+// );
+// BigDecimal coinAUsdtCnt = new BigDecimal(coinAUsdtPriceDic.getValue());
+// coinAUsdtCnt = coinAUsdtCnt.subtract(coinUsdtAmount).add(coinUsdtAmountFee).setScale(4,BigDecimal.ROUND_DOWN);
+// coinAUsdtPriceDic.setValue(coinAUsdtCnt.toString());
+// dataDictionaryCustomMapper.updateById(coinAUsdtPriceDic);
+// //币本位底池数量
+// DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_CNT.getType(),
+// PoolEnum.COIN_A_CNT.getCode()
+// );
+// BigDecimal coinACnt = new BigDecimal(coinACntDic.getValue());
+// coinACnt = coinACnt.subtract(amount).setScale(4,BigDecimal.ROUND_DOWN);
+// coinACntDic.setValue(coinACnt.toString());
+// dataDictionaryCustomMapper.updateById(coinACntDic);
+//
+// coinAPrice = coinAUsdtCnt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
+// aCoinPriceDic.setValue(coinAPrice.toString());
+// dataDictionaryCustomMapper.updateById(aCoinPriceDic);
- DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.SYSTEM.getType(),
- PoolEnum.SYSTEM.getCode()
- );
- String value = systemStateDic.getValue();
- if("STOP".equals(value)){
- throw new FebsException("Not yet open");
- }
- //提币数量
- BigDecimal amount = withdrawDto.getAmount();
- if(BigDecimal.ZERO.compareTo(amount) >= 0){
- throw new FebsException("输入正确的数量");
- }
- DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
- if (walletCoin.getAvailableAmount().compareTo(withdrawDto.getAmount()) < 0) {
- throw new FebsException("可提现的数量不足");
- }
- DataDictionaryCustom aCoinPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_PRICE.getType(),
- PoolEnum.COIN_A_PRICE.getCode()
- );
- BigDecimal coinAPrice = new BigDecimal(aCoinPriceDic.getValue());
- //预计提现的USDT数量 = 币的数量 * 当前A币的价格
- BigDecimal coinUsdtAmount = amount.multiply(coinAPrice);
- /**
- * 卖币可享有贡献值,鼓励卖币,例.卖出价值100U获得100贡献值
- */
- DappUsdtPerkEntity directDappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(member.getId());
- if(ObjectUtil.isEmpty(directDappUsdtPerkEntity)){
- directDappUsdtPerkEntity = new DappUsdtPerkEntity();
- directDappUsdtPerkEntity.setNftDevote(coinUsdtAmount);
- directDappUsdtPerkEntity.setMemberId(member.getId());
- dappUsdtPerkEntityMapper.insert(directDappUsdtPerkEntity);
- }
-
- BigDecimal directNftDevote = directDappUsdtPerkEntity.getNftDevote();
- directNftDevote = directNftDevote.add(coinUsdtAmount);
- directDappUsdtPerkEntity.setNftDevote(directNftDevote);
- dappUsdtPerkEntityMapper.updateById(directDappUsdtPerkEntity);
-
- DataDictionaryCustom toUsdtPercentFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.WALLET_COIN_TO_USDT_PERCENT.getType(),
- PoolEnum.WALLET_COIN_TO_USDT_PERCENT.getCode()
- );
- BigDecimal feePercent = new BigDecimal(toUsdtPercentFeeDic.getValue());
- //手续费扣除USDT
- BigDecimal feeUsdtAmount = coinUsdtAmount.multiply(feePercent).setScale(4,BigDecimal.ROUND_DOWN);
- //实际提现USDT数量,先扣除1%的手续费后,只到账70%
-
- DataDictionaryCustom outPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.WALLET_COIN_OUT_PERCENT.getType(),
- PoolEnum.WALLET_COIN_OUT_PERCENT.getCode()
- );
- BigDecimal outPercent = new BigDecimal(outPercentDic.getValue());
- BigDecimal realUsdtAmount = coinUsdtAmount.subtract(feeUsdtAmount).setScale(4,BigDecimal.ROUND_DOWN);
- BigDecimal realUsdtAmountFee = realUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
- realUsdtAmount = realUsdtAmount.subtract(realUsdtAmountFee);
- //减少闪对钱包的币的数量
- this.updateWalletCoinWithLock(amount, member.getId(), 2);
- //增加流水
- DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(member.getId(), amount.negate(), FundFlowEnum.WALLET_COIN_TO_USDT.getCode(), 2, BigDecimal.ZERO);
- dappFundFlowDao.insert(dappFundFlowEntity);
- //增加流水
- DappFundFlowEntity realUsdtAmountFlow = new DappFundFlowEntity(member.getId(), realUsdtAmount.negate(), FundFlowEnum.WALLET_COIN_TO_USDT_W.getCode(), 1, feeUsdtAmount);
- dappFundFlowDao.insert(realUsdtAmountFlow);
- //增加提现的记录
- MemberCoinWithdrawEntity memberCoinWithdraw = new MemberCoinWithdrawEntity();
- memberCoinWithdraw.setMemberId(member.getId());
- memberCoinWithdraw.setAddress(member.getAddress());
- memberCoinWithdraw.setAmount(realUsdtAmount);
- memberCoinWithdraw.setFeeAmount(feeUsdtAmount);
- memberCoinWithdraw.setStatus(MemberCoinWithdrawEntity.STATUS_YES);
- memberCoinWithdraw.setSymbol("USDT");
- memberCoinWithdraw.setFlowId(realUsdtAmountFlow.getId());
- memberCoinWithdrawDao.insert(memberCoinWithdraw);
- //发送提现消息
- chainProducer.sendAntACoinOutMsg(realUsdtAmountFlow.getId());
-
- /**
- * A币卖币规则,卖出100%销毁,30%回流底池溢价
- */
- BigDecimal coinUsdtAmountFee = coinUsdtAmount.multiply(new BigDecimal(0.2)).setScale(4,BigDecimal.ROUND_DOWN);
-// coinUsdtAmount = coinUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
- //金本位底池数量
- DataDictionaryCustom coinAUsdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_USDT_PRICE.getType(),
- PoolEnum.COIN_A_USDT_PRICE.getCode()
- );
- BigDecimal coinAUsdtCnt = new BigDecimal(coinAUsdtPriceDic.getValue());
- coinAUsdtCnt = coinAUsdtCnt.subtract(coinUsdtAmount).add(coinUsdtAmountFee).setScale(4,BigDecimal.ROUND_DOWN);
- coinAUsdtPriceDic.setValue(coinAUsdtCnt.toString());
- dataDictionaryCustomMapper.updateById(coinAUsdtPriceDic);
- //币本位底池数量
- DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_CNT.getType(),
- PoolEnum.COIN_A_CNT.getCode()
- );
- BigDecimal coinACnt = new BigDecimal(coinACntDic.getValue());
- coinACnt = coinACnt.subtract(amount).setScale(4,BigDecimal.ROUND_DOWN);
- coinACntDic.setValue(coinACnt.toString());
- dataDictionaryCustomMapper.updateById(coinACntDic);
-
- coinAPrice = coinAUsdtCnt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
- aCoinPriceDic.setValue(coinAPrice.toString());
- dataDictionaryCustomMapper.updateById(aCoinPriceDic);
-
- chainProducer.sendAntKLineMsg(0);
+// chainProducer.sendAntKLineMsg(0);
}
@Override
@@ -541,7 +300,7 @@
if (i > 0) {
isSuccess = true;
- DappFundFlowEntity frozenAmount = new DappFundFlowEntity(memberId, amount, 9, 2, null, null);
+ DappFundFlowEntity frozenAmount = new DappFundFlowEntity();
dappFundFlowDao.insert(frozenAmount);
}
}
@@ -565,10 +324,10 @@
if (i > 0) {
isSuccess = true;
- DappFundFlowEntity releaseFrozen = new DappFundFlowEntity(memberId, frozen, 10, 2, null, null);
+ DappFundFlowEntity releaseFrozen = new DappFundFlowEntity();
dappFundFlowDao.insert(releaseFrozen);
- DappFundFlowEntity releaseFrozenNegate = new DappFundFlowEntity(memberId, frozen.negate(), 9, 2, null, null);
+ DappFundFlowEntity releaseFrozenNegate = new DappFundFlowEntity();
dappFundFlowDao.insert(releaseFrozenNegate);
}
}
@@ -581,53 +340,53 @@
@Override
public void transferAgain(TransferDto transferDto) {
- Long memberId = transferDto.getMemberId();
- DappMemberEntity member = dappMemberDao.selectById(memberId);
- String upgrade = redisUtils.getString("APP_UPGRADE");
- if ("upgrade".equals(upgrade)) {
- throw new FebsException("功能升级中");
- }
- if ("success".equals(transferDto.getFlag())) {
- //是否已经加入动能
- DappSystemProfit dappSystemProfitIng = dappSystemProfitDao.selectByMemberIdAndState(member.getId(), DappSystemProfit.STATE_IN);
- if(ObjectUtil.isNotEmpty(dappSystemProfitIng)){
- return;
- }
- //插入一条会员入列记录,即加入动能队列
- DappSystemProfit dappSystemProfit = new DappSystemProfit(member.getId(), transferDto.getAmount());
- dappSystemProfitDao.insert(dappSystemProfit);
- DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
- flow.setFromHash(transferDto.getTxHash());
- flow.setSystemProfitId(dappSystemProfit.getId());
- flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
- dappFundFlowDao.updateById(flow);
-
- //直接拿走0.05个BNB放入技术方
- DataDictionaryCustom systemProfit = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYSTEM_PROFIT.getType(), DataDictionaryEnum.SYSTEM_PROFIT.getCode());
- String systemProfitStr = StrUtil.isEmpty(systemProfit.getValue()) ? "0.05" : systemProfit.getValue();
- DappFundFlowEntity systemProfitFlow = new DappFundFlowEntity(1L, new BigDecimal(systemProfitStr), 2, 1, BigDecimal.ZERO, null,dappSystemProfit.getId());
- dappFundFlowDao.insert(systemProfitFlow);
- //发送转币消息
- chainProducer.sendBnbTransferMsg(systemProfitFlow.getId());
- //直接返利30%给直接上级
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
- String refererId = dappMemberEntity.getRefererId();
- DappMemberEntity refererMember = dappMemberDao.selectMemberInfoByInviteId(refererId);
-
- DataDictionaryCustom directProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.DIRECT_PROFIT.getType(), DataDictionaryEnum.DIRECT_PROFIT.getCode());
- BigDecimal directProfitStr = new BigDecimal(StrUtil.isEmpty(directProfitSet.getValue()) ? "0.3" : directProfitSet.getValue());
- BigDecimal directProfit = (transferDto.getAmount().subtract(new BigDecimal(systemProfitStr))).multiply(directProfitStr).setScale(6,BigDecimal.ROUND_DOWN);
-
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(refererMember.getId(), directProfit, 3, 1, BigDecimal.ZERO, null,dappSystemProfit.getId());
- dappFundFlowDao.insert(fundFlow);
- //发送转币消息
- chainProducer.sendBnbTransferMsg(fundFlow.getId());
- //层级奖励30%
- chainProducer.sendLevelProfitMsg(dappSystemProfit.getId());
- //发送一个消息,计算当前是否有人可以出局
- chainProducer.sendMemberOutMsg(dappSystemProfit.getId());
-
- }
+// Long memberId = transferDto.getMemberId();
+// DappMemberEntity member = dappMemberDao.selectById(memberId);
+// String upgrade = redisUtils.getString("APP_UPGRADE");
+// if ("upgrade".equals(upgrade)) {
+// throw new FebsException("功能升级中");
+// }
+// if ("success".equals(transferDto.getFlag())) {
+// //是否已经加入动能
+// DappSystemProfit dappSystemProfitIng = dappSystemProfitDao.selectByMemberIdAndState(member.getId(), DappSystemProfit.STATE_IN);
+// if(ObjectUtil.isNotEmpty(dappSystemProfitIng)){
+// return;
+// }
+// //插入一条会员入列记录,即加入动能队列
+// DappSystemProfit dappSystemProfit = new DappSystemProfit(member.getId(), transferDto.getAmount());
+// dappSystemProfitDao.insert(dappSystemProfit);
+// DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
+// flow.setFromHash(transferDto.getTxHash());
+// flow.setSystemProfitId(dappSystemProfit.getId());
+// flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
+// dappFundFlowDao.updateById(flow);
+//
+// //直接拿走0.05个BNB放入技术方
+// DataDictionaryCustom systemProfit = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYSTEM_PROFIT.getType(), DataDictionaryEnum.SYSTEM_PROFIT.getCode());
+// String systemProfitStr = StrUtil.isEmpty(systemProfit.getValue()) ? "0.05" : systemProfit.getValue();
+// DappFundFlowEntity systemProfitFlow = new DappFundFlowEntity(1L, new BigDecimal(systemProfitStr), 2, 1, BigDecimal.ZERO, null,dappSystemProfit.getId());
+// dappFundFlowDao.insert(systemProfitFlow);
+// //发送转币消息
+// chainProducer.sendBnbTransferMsg(systemProfitFlow.getId());
+// //直接返利30%给直接上级
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+// String refererId = dappMemberEntity.getRefererId();
+// DappMemberEntity refererMember = dappMemberDao.selectMemberInfoByInviteId(refererId);
+//
+// DataDictionaryCustom directProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.DIRECT_PROFIT.getType(), DataDictionaryEnum.DIRECT_PROFIT.getCode());
+// BigDecimal directProfitStr = new BigDecimal(StrUtil.isEmpty(directProfitSet.getValue()) ? "0.3" : directProfitSet.getValue());
+// BigDecimal directProfit = (transferDto.getAmount().subtract(new BigDecimal(systemProfitStr))).multiply(directProfitStr).setScale(6,BigDecimal.ROUND_DOWN);
+//
+// DappFundFlowEntity fundFlow = new DappFundFlowEntity(refererMember.getId(), directProfit, 3, 1, BigDecimal.ZERO, null,dappSystemProfit.getId());
+// dappFundFlowDao.insert(fundFlow);
+// //发送转币消息
+// chainProducer.sendBnbTransferMsg(fundFlow.getId());
+// //层级奖励30%
+// chainProducer.sendLevelProfitMsg(dappSystemProfit.getId());
+// //发送一个消息,计算当前是否有人可以出局
+// chainProducer.sendMemberOutMsg(dappSystemProfit.getId());
+//
+// }
}
public static void main(String[] args) {
@@ -678,27 +437,28 @@
* buyType=1,余额购买
*/
if (transferADto.getBuyType() == 1) {
- DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
- if (transferADto.getAmount().compareTo(walletCoin.getAvailableAmount()) > 0) {
- throw new FebsException("Balance Not Enough");
- }
-
- updateWalletCoinWithLock(transferADto.getAmount(), member.getId(), 2);
-
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(
- member.getId(),
- transferADto.getAmount().negate(),
- FundFlowEnum.BUY_A_COIN.getCode(),
- 2,
- transferADto.getFee(),
- transferADto.getTxHash());
- dappFundFlowDao.insert(fundFlow);
+// DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
+// if (transferADto.getAmount().compareTo(walletCoin.getAvailableAmount()) > 0) {
+// throw new FebsException("Balance Not Enough");
+// }
+//
+// updateWalletCoinWithLock(transferADto.getAmount(), member.getId(), 2);
+//
+// DappFundFlowEntity fundFlow = new DappFundFlowEntity(
+// member.getId(),
+// transferADto.getAmount().negate(),
+// FundFlowEnum.BUY_A_COIN.getCode(),
+// 2,
+// transferADto.getFee(),
+// transferADto.getTxHash());
+// dappFundFlowDao.insert(fundFlow);
} else {
/**
* buyType=2,钱包购买
* 4:入金,买入A币
*/
- int type = FundFlowEnum.BUY_A_COIN.getCode();
+// int type = FundFlowEnum.BUY_A_COIN.getCode();
+ int type = 4;
// 1-认购 2-充值tfc
if (transferADto.getType() == 2) {
type = 6;
@@ -905,66 +665,66 @@
* 4、增加闪对钱包
* 5、增加流水
*/
- DappMemberEntity member = LoginUserUtil.getAppUser();
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
-
- BigDecimal aCoinCnt = mineToCoinDto.getACoinCnt();
- if(BigDecimal.ZERO.compareTo(aCoinCnt) >= 0){
- throw new FebsException("输入正确的数量");
- }
-
- DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(dappMemberEntity.getId());
- BigDecimal availableAmount = dappWalletMineEntity.getAvailableAmount();
- if(availableAmount.compareTo(aCoinCnt) < 0){
- throw new FebsException("数量不足");
- }
- //减少资产钱包
- this.updateWalletMineWithLock(aCoinCnt,dappMemberEntity.getId(),2);
- //插入资产闪对的流水
- DappFundFlowEntity aCoinCntFlow = new DappFundFlowEntity(
- dappMemberEntity.getId(),
- aCoinCnt.negate(),
- FundFlowEnum.WALLET_MINE_TO_COIN.getCode(),
- 2,
- BigDecimal.ZERO);
- dappFundFlowDao.insert(aCoinCntFlow);
- //闪对钱包3% 手续费(扣币)
- DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.WALLET_MINE_TO_COIN_PERCENT.getType(),
- PoolEnum.WALLET_MINE_TO_COIN_PERCENT.getCode());
- BigDecimal feePercent = new BigDecimal(StrUtil.isEmpty(dic.getValue()) ? "0.03" : dic.getValue());
- //手续费
- BigDecimal feeCnt = aCoinCnt.multiply(feePercent).setScale(4,BigDecimal.ROUND_DOWN);
- //闪对钱包获取的
- BigDecimal aCoinCntReal = aCoinCnt.subtract(feeCnt).setScale(4, BigDecimal.ROUND_DOWN);
- //增加闪对钱包
- this.updateWalletCoinWithLock(aCoinCntReal,dappMemberEntity.getId(),1);
- //插入资产闪对的流水
- DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(
- dappMemberEntity.getId(),
- aCoinCntReal,
- FundFlowEnum.WALLET_MINE_TO_COIN.getCode(),
- 2,
- BigDecimal.ZERO);
- dappFundFlowDao.insert(dappFundFlowEntity);
-
- //插入资产闪对手续费的流水
- DappFundFlowEntity memberFeeflow = new DappFundFlowEntity(
- dappMemberEntity.getId(),
- feeCnt.negate(),
- FundFlowEnum.WALLET_MINE_TO_COIN_FEE.getCode(),
- 2,
- BigDecimal.ZERO);
- dappFundFlowDao.insert(memberFeeflow);
- //插入资产闪对手续费的流水
- DappFundFlowEntity dappFundFlowEntityFee = new DappFundFlowEntity(
- 295L,
- feeCnt,
- FundFlowEnum.WALLET_MINE_TO_COIN_FEE.getCode(),
- 2,
- BigDecimal.ZERO);
- dappFundFlowDao.insert(dappFundFlowEntityFee);
- this.updateWalletMineWithLock(feeCnt,295L,1);
+// DappMemberEntity member = LoginUserUtil.getAppUser();
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+//
+// BigDecimal aCoinCnt = mineToCoinDto.getACoinCnt();
+// if(BigDecimal.ZERO.compareTo(aCoinCnt) >= 0){
+// throw new FebsException("输入正确的数量");
+// }
+//
+// DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(dappMemberEntity.getId());
+// BigDecimal availableAmount = dappWalletMineEntity.getAvailableAmount();
+// if(availableAmount.compareTo(aCoinCnt) < 0){
+// throw new FebsException("数量不足");
+// }
+// //减少资产钱包
+// this.updateWalletMineWithLock(aCoinCnt,dappMemberEntity.getId(),2);
+// //插入资产闪对的流水
+// DappFundFlowEntity aCoinCntFlow = new DappFundFlowEntity(
+// dappMemberEntity.getId(),
+// aCoinCnt.negate(),
+// FundFlowEnum.WALLET_MINE_TO_COIN.getCode(),
+// 2,
+// BigDecimal.ZERO);
+// dappFundFlowDao.insert(aCoinCntFlow);
+// //闪对钱包3% 手续费(扣币)
+// DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.WALLET_MINE_TO_COIN_PERCENT.getType(),
+// PoolEnum.WALLET_MINE_TO_COIN_PERCENT.getCode());
+// BigDecimal feePercent = new BigDecimal(StrUtil.isEmpty(dic.getValue()) ? "0.03" : dic.getValue());
+// //手续费
+// BigDecimal feeCnt = aCoinCnt.multiply(feePercent).setScale(4,BigDecimal.ROUND_DOWN);
+// //闪对钱包获取的
+// BigDecimal aCoinCntReal = aCoinCnt.subtract(feeCnt).setScale(4, BigDecimal.ROUND_DOWN);
+// //增加闪对钱包
+// this.updateWalletCoinWithLock(aCoinCntReal,dappMemberEntity.getId(),1);
+// //插入资产闪对的流水
+// DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(
+// dappMemberEntity.getId(),
+// aCoinCntReal,
+// FundFlowEnum.WALLET_MINE_TO_COIN.getCode(),
+// 2,
+// BigDecimal.ZERO);
+// dappFundFlowDao.insert(dappFundFlowEntity);
+//
+// //插入资产闪对手续费的流水
+// DappFundFlowEntity memberFeeflow = new DappFundFlowEntity(
+// dappMemberEntity.getId(),
+// feeCnt.negate(),
+// FundFlowEnum.WALLET_MINE_TO_COIN_FEE.getCode(),
+// 2,
+// BigDecimal.ZERO);
+// dappFundFlowDao.insert(memberFeeflow);
+// //插入资产闪对手续费的流水
+// DappFundFlowEntity dappFundFlowEntityFee = new DappFundFlowEntity(
+// 295L,
+// feeCnt,
+// FundFlowEnum.WALLET_MINE_TO_COIN_FEE.getCode(),
+// 2,
+// BigDecimal.ZERO);
+// dappFundFlowDao.insert(dappFundFlowEntityFee);
+// this.updateWalletMineWithLock(feeCnt,295L,1);
}
@Override
@@ -987,27 +747,27 @@
* buyType=1,余额购买
*/
if (transferAusdDto.getBuyType() == 1) {
- DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
- if (transferAusdDto.getAmount().compareTo(walletCoin.getAvailableAmount()) > 0) {
- throw new FebsException("Balance Not Enough");
- }
-
- updateWalletCoinWithLock(transferAusdDto.getAmount(), member.getId(), 2);
-
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(
- member.getId(),
- transferAusdDto.getAmount().negate(),
- FundFlowEnum.BUY_AUSD_COIN.getCode(),
- 2,
- transferAusdDto.getFee(),
- transferAusdDto.getTxHash());
- dappFundFlowDao.insert(fundFlow);
+// DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
+// if (transferAusdDto.getAmount().compareTo(walletCoin.getAvailableAmount()) > 0) {
+// throw new FebsException("Balance Not Enough");
+// }
+//
+// updateWalletCoinWithLock(transferAusdDto.getAmount(), member.getId(), 2);
+//
+// DappFundFlowEntity fundFlow = new DappFundFlowEntity(
+// member.getId(),
+// transferAusdDto.getAmount().negate(),
+// FundFlowEnum.BUY_AUSD_COIN.getCode(),
+// 2,
+// transferAusdDto.getFee(),
+// transferAusdDto.getTxHash());
+// dappFundFlowDao.insert(fundFlow);
} else {
/**
* buyType=2,钱包购买
* 4:入金,买入A币
*/
- int type = FundFlowEnum.BUY_AUSD_COIN.getCode();
+ int type = 4;
// 1-认购 2-充值tfc
if (transferAusdDto.getType() == 2) {
type = 6;
@@ -1099,161 +859,161 @@
@Override
public void roundCoin(RoundCoinDto roundCoinDto) {
- DappMemberEntity member = LoginUserUtil.getAppUser();
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
-
- String address = roundCoinDto.getAddress();
- DappMemberEntity memberParent = dappMemberDao.selectByAddress(address, null);
- if(ObjectUtil.isEmpty(memberParent)){
- throw new FebsException("请输入正确的地址");
- }
-
- BigDecimal coinCnt = roundCoinDto.getCoinCnt();
- if(BigDecimal.ZERO.compareTo(coinCnt) >= 0){
- throw new FebsException("输入正确的数量");
- }
-
- DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(dappMemberEntity.getId());
- BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
- if(availableAmount.compareTo(coinCnt) < 0){
- throw new FebsException("数量不足");
- }
- //减少闪兑钱包
- this.updateWalletCoinWithLock(coinCnt,dappMemberEntity.getId(),2);
- //插入资产闪对的流水
- DappFundFlowEntity aCoinCntFlow = new DappFundFlowEntity(
- dappMemberEntity.getId(),
- coinCnt.negate(),
- FundFlowEnum.ANDAO_MEMBER_TO_MENBER.getCode(),
- 2,
- BigDecimal.ZERO,
- dappMemberEntity.getAddress(),
- memberParent.getAddress(),
- memberParent.getId());
- dappFundFlowDao.insert(aCoinCntFlow);
- //闪对钱包20% 手续费(扣币)
- DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getType(),
- PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getCode());
- BigDecimal feePercent = new BigDecimal(StrUtil.isEmpty(dic.getValue()) ? "0.2" : dic.getValue());
- //手续费
- BigDecimal feeCnt = coinCnt.multiply(feePercent).setScale(4,BigDecimal.ROUND_DOWN);
- if(AppContants.YL_MEMBER_ID.equals(member.getId())
- || AppContants.YL_MEMBER_ID_TWO.equals(member.getId())){
- feeCnt = BigDecimal.ZERO;
- }
- //闪对钱包获取的
- BigDecimal aCoinCntReal = coinCnt.subtract(feeCnt).setScale(4, BigDecimal.ROUND_DOWN);
- //增加闪对钱包
- this.updateWalletCoinWithLock(aCoinCntReal,memberParent.getId(),1);
- //插入资产闪对的流水
- DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(
- memberParent.getId(),
- aCoinCntReal,
- FundFlowEnum.ANDAO_MEMBER_TO_MENBER.getCode(),
- 2,
- BigDecimal.ZERO,
- dappMemberEntity.getAddress(),
- memberParent.getAddress(),
- dappMemberEntity.getId());
- dappFundFlowDao.insert(dappFundFlowEntity);
-
- if(BigDecimal.ZERO.compareTo(feeCnt) < 0){
- //金本位底池数量
- DataDictionaryCustom coinAUsdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_USDT_PRICE.getType(),
- PoolEnum.COIN_A_USDT_PRICE.getCode()
- );
- BigDecimal coinAUsdtCnt = new BigDecimal(coinAUsdtPriceDic.getValue());
- //币本位底池数量
- DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_CNT.getType(),
- PoolEnum.COIN_A_CNT.getCode()
- );
- BigDecimal coinACnt = new BigDecimal(coinACntDic.getValue());
- coinACnt = coinACnt.subtract(feeCnt).setScale(4,BigDecimal.ROUND_DOWN);
- coinACntDic.setValue(coinACnt.toString());
- dataDictionaryCustomMapper.updateById(coinACntDic);
-
- DataDictionaryCustom aCoinPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- PoolEnum.COIN_A_PRICE.getType(),
- PoolEnum.COIN_A_PRICE.getCode()
- );
- BigDecimal coinAPrice = new BigDecimal(aCoinPriceDic.getValue());
- coinAPrice = coinAUsdtCnt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
- aCoinPriceDic.setValue(coinAPrice.toString());
- dataDictionaryCustomMapper.updateById(aCoinPriceDic);
-
- chainProducer.sendAntKLineMsg(0);
- }
+// DappMemberEntity member = LoginUserUtil.getAppUser();
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+//
+// String address = roundCoinDto.getAddress();
+// DappMemberEntity memberParent = dappMemberDao.selectByAddress(address, null);
+// if(ObjectUtil.isEmpty(memberParent)){
+// throw new FebsException("请输入正确的地址");
+// }
+//
+// BigDecimal coinCnt = roundCoinDto.getCoinCnt();
+// if(BigDecimal.ZERO.compareTo(coinCnt) >= 0){
+// throw new FebsException("输入正确的数量");
+// }
+//
+// DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(dappMemberEntity.getId());
+// BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
+// if(availableAmount.compareTo(coinCnt) < 0){
+// throw new FebsException("数量不足");
+// }
+// //减少闪兑钱包
+// this.updateWalletCoinWithLock(coinCnt,dappMemberEntity.getId(),2);
+// //插入资产闪对的流水
+// DappFundFlowEntity aCoinCntFlow = new DappFundFlowEntity(
+// dappMemberEntity.getId(),
+// coinCnt.negate(),
+// FundFlowEnum.ANDAO_MEMBER_TO_MENBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// dappMemberEntity.getAddress(),
+// memberParent.getAddress(),
+// memberParent.getId());
+// dappFundFlowDao.insert(aCoinCntFlow);
+// //闪对钱包20% 手续费(扣币)
+// DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getType(),
+// PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getCode());
+// BigDecimal feePercent = new BigDecimal(StrUtil.isEmpty(dic.getValue()) ? "0.2" : dic.getValue());
+// //手续费
+// BigDecimal feeCnt = coinCnt.multiply(feePercent).setScale(4,BigDecimal.ROUND_DOWN);
+// if(AppContants.YL_MEMBER_ID.equals(member.getId())
+// || AppContants.YL_MEMBER_ID_TWO.equals(member.getId())){
+// feeCnt = BigDecimal.ZERO;
+// }
+// //闪对钱包获取的
+// BigDecimal aCoinCntReal = coinCnt.subtract(feeCnt).setScale(4, BigDecimal.ROUND_DOWN);
+// //增加闪对钱包
+// this.updateWalletCoinWithLock(aCoinCntReal,memberParent.getId(),1);
+// //插入资产闪对的流水
+// DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(
+// memberParent.getId(),
+// aCoinCntReal,
+// FundFlowEnum.ANDAO_MEMBER_TO_MENBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// dappMemberEntity.getAddress(),
+// memberParent.getAddress(),
+// dappMemberEntity.getId());
+// dappFundFlowDao.insert(dappFundFlowEntity);
+//
+// if(BigDecimal.ZERO.compareTo(feeCnt) < 0){
+// //金本位底池数量
+// DataDictionaryCustom coinAUsdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_USDT_PRICE.getType(),
+// PoolEnum.COIN_A_USDT_PRICE.getCode()
+// );
+// BigDecimal coinAUsdtCnt = new BigDecimal(coinAUsdtPriceDic.getValue());
+// //币本位底池数量
+// DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_CNT.getType(),
+// PoolEnum.COIN_A_CNT.getCode()
+// );
+// BigDecimal coinACnt = new BigDecimal(coinACntDic.getValue());
+// coinACnt = coinACnt.subtract(feeCnt).setScale(4,BigDecimal.ROUND_DOWN);
+// coinACntDic.setValue(coinACnt.toString());
+// dataDictionaryCustomMapper.updateById(coinACntDic);
+//
+// DataDictionaryCustom aCoinPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+// PoolEnum.COIN_A_PRICE.getType(),
+// PoolEnum.COIN_A_PRICE.getCode()
+// );
+// BigDecimal coinAPrice = new BigDecimal(aCoinPriceDic.getValue());
+// coinAPrice = coinAUsdtCnt.divide(coinACnt,12,BigDecimal.ROUND_DOWN);
+// aCoinPriceDic.setValue(coinAPrice.toString());
+// dataDictionaryCustomMapper.updateById(aCoinPriceDic);
+//
+// chainProducer.sendAntKLineMsg(0);
+// }
}
@Override
public void roundCoinAusdt(RoundCoinDto roundCoinDto) {
- DappMemberEntity member = LoginUserUtil.getAppUser();
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
-
- String address = roundCoinDto.getAddress();
- DappMemberEntity memberParent = dappMemberDao.selectByAddress(address, null);
- if(ObjectUtil.isEmpty(memberParent)){
- throw new FebsException("请输入正确的地址");
- }
-
- /**
- * 转ausdt,只能推广线上
- */
- String refererIdsDone = dappMemberEntity.getRefererIds();
- String inviteIdDone = dappMemberEntity.getInviteId();
- String refererIdsOther = memberParent.getRefererIds();
- String inviteId1Other = memberParent.getInviteId();
- if(!(StrUtil.contains(refererIdsOther,inviteIdDone) || StrUtil.contains(refererIdsDone,inviteId1Other))){
- throw new FebsException("不满足互转规则");
- }
-
- BigDecimal coinCnt = roundCoinDto.getCoinCnt();
- if(BigDecimal.ZERO.compareTo(coinCnt) >= 0){
- throw new FebsException("输入正确的数量");
- }
-
- DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(dappMemberEntity.getId());
- BigDecimal availableAmount = dappUsdtPerkEntity.getAusdAmount();
- if(availableAmount.compareTo(coinCnt) < 0){
- throw new FebsException("数量不足");
- }
- dappUsdtPerkEntity.setAusdAmount(availableAmount.subtract(coinCnt));
- dappUsdtPerkEntityMapper.updateById(dappUsdtPerkEntity);
- //插入资产闪对的流水
- DappFundFlowEntity aCoinCntFlow = new DappFundFlowEntity(
- dappMemberEntity.getId(),
- coinCnt.negate(),
- FundFlowEnum.AUSDT_MEMBER_TO_MENBER.getCode(),
- 2,
- BigDecimal.ZERO,
- dappMemberEntity.getAddress(),
- memberParent.getAddress(),
- memberParent.getId());
- dappFundFlowDao.insert(aCoinCntFlow);
-
- DappUsdtPerkEntity parentEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberParent.getId());
- if(ObjectUtil.isEmpty(parentEntity)){
- parentEntity = new DappUsdtPerkEntity();
- parentEntity.setMemberId(memberParent.getId());
- dappUsdtPerkEntityMapper.insert(parentEntity);
- }
- BigDecimal availableAmountParent = ObjectUtil.isEmpty(parentEntity.getAusdAmount()) ? BigDecimal.ZERO : parentEntity.getAusdAmount();
- parentEntity.setAusdAmount(availableAmountParent.add(coinCnt));
- dappUsdtPerkEntityMapper.updateById(parentEntity);
- //插入资产闪对的流水
- DappFundFlowEntity aCoinCntFlowParent = new DappFundFlowEntity(
- memberParent.getId(),
- coinCnt,
- FundFlowEnum.AUSDT_MEMBER_TO_MENBER.getCode(),
- 2,
- BigDecimal.ZERO,
- dappMemberEntity.getAddress(),
- memberParent.getAddress(),
- dappMemberEntity.getId());
- dappFundFlowDao.insert(aCoinCntFlowParent);
+// DappMemberEntity member = LoginUserUtil.getAppUser();
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+//
+// String address = roundCoinDto.getAddress();
+// DappMemberEntity memberParent = dappMemberDao.selectByAddress(address, null);
+// if(ObjectUtil.isEmpty(memberParent)){
+// throw new FebsException("请输入正确的地址");
+// }
+//
+// /**
+// * 转ausdt,只能推广线上
+// */
+// String refererIdsDone = dappMemberEntity.getRefererIds();
+// String inviteIdDone = dappMemberEntity.getInviteId();
+// String refererIdsOther = memberParent.getRefererIds();
+// String inviteId1Other = memberParent.getInviteId();
+// if(!(StrUtil.contains(refererIdsOther,inviteIdDone) || StrUtil.contains(refererIdsDone,inviteId1Other))){
+// throw new FebsException("不满足互转规则");
+// }
+//
+// BigDecimal coinCnt = roundCoinDto.getCoinCnt();
+// if(BigDecimal.ZERO.compareTo(coinCnt) >= 0){
+// throw new FebsException("输入正确的数量");
+// }
+//
+// DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(dappMemberEntity.getId());
+// BigDecimal availableAmount = dappUsdtPerkEntity.getAusdAmount();
+// if(availableAmount.compareTo(coinCnt) < 0){
+// throw new FebsException("数量不足");
+// }
+// dappUsdtPerkEntity.setAusdAmount(availableAmount.subtract(coinCnt));
+// dappUsdtPerkEntityMapper.updateById(dappUsdtPerkEntity);
+// //插入资产闪对的流水
+// DappFundFlowEntity aCoinCntFlow = new DappFundFlowEntity(
+// dappMemberEntity.getId(),
+// coinCnt.negate(),
+// FundFlowEnum.AUSDT_MEMBER_TO_MENBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// dappMemberEntity.getAddress(),
+// memberParent.getAddress(),
+// memberParent.getId());
+// dappFundFlowDao.insert(aCoinCntFlow);
+//
+// DappUsdtPerkEntity parentEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberParent.getId());
+// if(ObjectUtil.isEmpty(parentEntity)){
+// parentEntity = new DappUsdtPerkEntity();
+// parentEntity.setMemberId(memberParent.getId());
+// dappUsdtPerkEntityMapper.insert(parentEntity);
+// }
+// BigDecimal availableAmountParent = ObjectUtil.isEmpty(parentEntity.getAusdAmount()) ? BigDecimal.ZERO : parentEntity.getAusdAmount();
+// parentEntity.setAusdAmount(availableAmountParent.add(coinCnt));
+// dappUsdtPerkEntityMapper.updateById(parentEntity);
+// //插入资产闪对的流水
+// DappFundFlowEntity aCoinCntFlowParent = new DappFundFlowEntity(
+// memberParent.getId(),
+// coinCnt,
+// FundFlowEnum.AUSDT_MEMBER_TO_MENBER.getCode(),
+// 2,
+// BigDecimal.ZERO,
+// dappMemberEntity.getAddress(),
+// memberParent.getAddress(),
+// dappMemberEntity.getId());
+// dappFundFlowDao.insert(aCoinCntFlowParent);
}
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java
index e88262e..17a6593 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/DappMemberInfoVo.java
@@ -13,58 +13,19 @@
@ApiModelProperty(value = "邀请码")
private String inviteId;
+ @ApiModelProperty(value = "地址")
+ private String address;
+
@ApiModelProperty(value = "代理身份")
private String accountType;
@ApiModelProperty(value = "是否激活 1:已激活 2:未激活 已激活,有推广链接")
private Integer activeStatus;
- @ApiModelProperty(value = "资产余额")
- private BigDecimal propertyAmount;
-
- @ApiModelProperty(value = "闪兑余额")
- private BigDecimal exchangeAmount;
-
- @ApiModelProperty(value = "ASUD余额")
- private BigDecimal ausdAmount;
-
- @ApiModelProperty(value = "权益额度")
- private BigDecimal amountPerkTotal;
-
- @ApiModelProperty(value = "剩余额度")
+ @ApiModelProperty(value = "钱包余额")
private BigDecimal amount;
- @ApiModelProperty(value = "AUSD的价格")
- private BigDecimal ausdPrice;
-
- @ApiModelProperty(value = "A币的价格")
- private BigDecimal coinAPrice;
-
- @ApiModelProperty(value = "兑换AUSDT的手续费比例")
- private BigDecimal ausdtFee;
-
- @ApiModelProperty(value = "ANDAO互转手续费比例")
- private BigDecimal aroundFee;
-
- @ApiModelProperty(value = "资产到闪兑的手续费比例")
- private BigDecimal mineToCoinFee;
-
- @ApiModelProperty(value = "提现手续费比例")
- private BigDecimal coinOutFee;
-
- @ApiModelProperty(value = "我的贡献值")
- private BigDecimal nftDevote;
-
- @ApiModelProperty(value = "是否是超级节点 1:是 2:否")
- private Integer nodeType;
-
- @ApiModelProperty(value = "今日涨幅")
- private BigDecimal todayIncrease;
-
- @ApiModelProperty(value = "全网剩余ANDAO总量")
- private BigDecimal andaoNum;
-
- @ApiModelProperty(value = "燃烧ANDAO总量")
- private BigDecimal fireAndaoNum;
+ @ApiModelProperty(value = "赠送积分")
+ private BigDecimal score;
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/TeamChildListVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/TeamChildListVo.java
new file mode 100644
index 0000000..701bd45
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/TeamChildListVo.java
@@ -0,0 +1,40 @@
+package cc.mrbird.febs.dapp.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "TeamChildListVo", description = "团队列表返回参数类")
+public class TeamChildListVo {
+
+ @ApiModelProperty(value = "UID")
+ private String inviteId;
+
+ @ApiModelProperty(value = "地址")
+ private String address;
+
+ @ApiModelProperty(value = "代理等级")
+ private String accountType;
+
+ @ApiModelProperty(value = "注册时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+
+ @ApiModelProperty(value = "推荐个数")
+ private Integer cnt;
+
+ @ApiModelProperty(value = "本人是否下单 1:下过单 2:没下单")
+ private Integer achieveState;
+
+ @ApiModelProperty(value = "消费金额(实际业绩)")
+ private BigDecimal realAchieve;
+
+ @ApiModelProperty(value = "订单数量")
+ private Integer orderCnt;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java
index 9c5b8b5..7c95cc9 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/TeamListVo.java
@@ -17,10 +17,16 @@
@ApiModel(value = "TeamLIstVo", description = "团队列表接口返回参数类")
public class TeamListVo {
- @ApiModelProperty(value = "直推人数")
- private int directCnt;
+ @ApiModelProperty(value = "我的业绩")
+ private BigDecimal myAchieve;
- @ApiModelProperty(value = "团队业绩,不包含本人的")
- private BigDecimal achieve;
+ @ApiModelProperty(value = "我的团队业绩")
+ private BigDecimal myTeamAchieve;
+
+ @ApiModelProperty(value = "团队数量")
+ private int myTeamCnt;
+
+ @ApiModelProperty(value = "团队列表")
+ private List<TeamChildListVo> team;
}
diff --git a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
index 218c94d..3380cf7 100644
--- a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
+++ b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
@@ -28,32 +28,29 @@
@Autowired
private DappSystemService dappSystemService;
- /**
- * 每天按照消费金额的5‰静释放(千分之五的静态释放比例)
- * (按购买顺序结算,同时有5个订单就有结算记录)
- * (设置多少,全部按照最新的来释放)
- */
@Scheduled(cron = "0 0 0 * * ?")
public void memberPerk() {
- dappSystemService.memberPerk();
- }
-
- /**
- * 直推消费分享:享受直接分享人每日消费金额释放的100%加速;
- */
- @Scheduled(cron = "0 0 0 * * ?")
- public void directMemberPerk() {
- dappSystemService.directMemberPerk();
- }
-
- /**
- * 加速团队静态收益的70%(业绩全算)
- * 加速团队静态收益为极差制,平级10%
- * 如V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
- */
- @Scheduled(cron = "0 0 0 * * ?")
- public void teamStaticPerk() {
+ /**
+ * 加速团队静态收益的70%(业绩全算)
+ * 加速团队静态收益为极差制,平级10%
+ * 如V1加速团队静态收益的15%=每日静态的20000*6‰*15%=18元的额外释放加速
+ * 共享区加速万分之5,上限1.8%(按本金计)
+ */
dappSystemService.teamStaticPerk();
+ /**
+ * 每天按照消费金额的5‰静释放(千分之五的静态释放比例)
+ * (按购买顺序结算,同时有5个订单就有结算记录)
+ * (设置多少,全部按照最新的来释放)
+ */
+ dappSystemService.memberPerk();
+ /**
+ * 直推消费分享:享受直接分享人每日消费金额释放的100%加速;
+ */
+ dappSystemService.directMemberPerk();
+ /**
+ * 实际更新账户业绩余额和积分
+ */
+ dappSystemService.updateAchieve();
}
}
diff --git a/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java b/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
index 78d4ee5..8dfbd1b 100644
--- a/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
+++ b/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
@@ -28,68 +28,68 @@
@ConditionalOnProperty(prefix = "system", name = "reset-job", havingValue = "true")
public class ProfitDailyJob {
- @Autowired
- private DappMemberDao dappMemberDao;
- @Autowired
- private DappFundFlowDao dappFundFlowDao;
- @Autowired
- private DataDictionaryCustomMapper dataDictionaryCustomMapper;
- @Autowired
- private DappWalletService dappWalletService;
- //todo -- 升级会员等级
- @Scheduled(cron = "0 0 0 * * ?")
- public void profitDailyJob() {
- log.info("每日产矿任务执行");
- DataDictionaryCustom symbolPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
- if (symbolPriceDic == null) {
- log.info("未设置币种价格");
- return;
- }
-
- DataDictionaryCustom rebateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.REBATE_PERCENT.getType(), DataDictionaryEnum.REBATE_PERCENT.getCode());
- if (rebateDic == null) {
- log.info("未设置每日产矿比例");
- return;
- }
-
- BigDecimal symbolPrice = new BigDecimal(symbolPriceDic.getValue());
- BigDecimal rebateRatio = new BigDecimal(rebateDic.getValue());
-
- QueryWrapper<DappMemberEntity> query = new QueryWrapper<>();
- query.eq("active_status", 1);
- List<DappMemberEntity> members = dappMemberDao.selectList(query);
- if (CollUtil.isEmpty(members)) {
- return;
- }
-
- members.forEach(item -> {
- QueryWrapper<DappFundFlowEntity> fundFlowQuery = new QueryWrapper<>();
- fundFlowQuery.eq("member_id", item.getId());
- fundFlowQuery.eq("type", 11);
- List<DappFundFlowEntity> flows = dappFundFlowDao.selectList(fundFlowQuery);
-
- BigDecimal sum = BigDecimal.ZERO;
- if (CollUtil.isNotEmpty(flows)) {
- double symbolSum = flows.stream().mapToDouble(flow -> flow.getAmount().doubleValue()).sum();
- sum = symbolPrice.multiply(new BigDecimal(symbolSum));
- }
-
- if (CollUtil.isEmpty(flows) || TreeConstants.PUT_IN_AMOUNT.compareTo(sum) > 0) {
- BigDecimal profitU = TreeConstants.PUT_IN_AMOUNT.multiply(rebateRatio.divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN));
-
- BigDecimal remain = TreeConstants.PUT_IN_AMOUNT.subtract(sum);
- if (remain.compareTo(profitU) < 0) {
- profitU = remain;
- }
-
- BigDecimal profitSymbol = profitU.divide(symbolPrice, 8, RoundingMode.HALF_DOWN);
-
- dappWalletService.updateWalletMineWithLock(profitSymbol, item.getId(), 1);
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(item.getId(), profitSymbol, 11, 2, null, null);
- dappFundFlowDao.insert(fundFlow);
- }
- });
-
-
- }
+// @Autowired
+// private DappMemberDao dappMemberDao;
+// @Autowired
+// private DappFundFlowDao dappFundFlowDao;
+// @Autowired
+// private DataDictionaryCustomMapper dataDictionaryCustomMapper;
+// @Autowired
+// private DappWalletService dappWalletService;
+// //todo -- 升级会员等级
+// @Scheduled(cron = "0 0 0 * * ?")
+// public void profitDailyJob() {
+// log.info("每日产矿任务执行");
+// DataDictionaryCustom symbolPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
+// if (symbolPriceDic == null) {
+// log.info("未设置币种价格");
+// return;
+// }
+//
+// DataDictionaryCustom rebateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.REBATE_PERCENT.getType(), DataDictionaryEnum.REBATE_PERCENT.getCode());
+// if (rebateDic == null) {
+// log.info("未设置每日产矿比例");
+// return;
+// }
+//
+// BigDecimal symbolPrice = new BigDecimal(symbolPriceDic.getValue());
+// BigDecimal rebateRatio = new BigDecimal(rebateDic.getValue());
+//
+// QueryWrapper<DappMemberEntity> query = new QueryWrapper<>();
+// query.eq("active_status", 1);
+// List<DappMemberEntity> members = dappMemberDao.selectList(query);
+// if (CollUtil.isEmpty(members)) {
+// return;
+// }
+//
+// members.forEach(item -> {
+// QueryWrapper<DappFundFlowEntity> fundFlowQuery = new QueryWrapper<>();
+// fundFlowQuery.eq("member_id", item.getId());
+// fundFlowQuery.eq("type", 11);
+// List<DappFundFlowEntity> flows = dappFundFlowDao.selectList(fundFlowQuery);
+//
+// BigDecimal sum = BigDecimal.ZERO;
+// if (CollUtil.isNotEmpty(flows)) {
+// double symbolSum = flows.stream().mapToDouble(flow -> flow.getAmount().doubleValue()).sum();
+// sum = symbolPrice.multiply(new BigDecimal(symbolSum));
+// }
+//
+// if (CollUtil.isEmpty(flows) || TreeConstants.PUT_IN_AMOUNT.compareTo(sum) > 0) {
+// BigDecimal profitU = TreeConstants.PUT_IN_AMOUNT.multiply(rebateRatio.divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN));
+//
+// BigDecimal remain = TreeConstants.PUT_IN_AMOUNT.subtract(sum);
+// if (remain.compareTo(profitU) < 0) {
+// profitU = remain;
+// }
+//
+// BigDecimal profitSymbol = profitU.divide(symbolPrice, 8, RoundingMode.HALF_DOWN);
+//
+// dappWalletService.updateWalletMineWithLock(profitSymbol, item.getId(), 1);
+// DappFundFlowEntity fundFlow = new DappFundFlowEntity(item.getId(), profitSymbol, 11, 2, null, null);
+// dappFundFlowDao.insert(fundFlow);
+// }
+// });
+//
+//
+// }
}
diff --git a/src/main/java/cc/mrbird/febs/websocket/WsAuthInterceptor.java b/src/main/java/cc/mrbird/febs/websocket/WsAuthInterceptor.java
index 3da2814..022377e 100644
--- a/src/main/java/cc/mrbird/febs/websocket/WsAuthInterceptor.java
+++ b/src/main/java/cc/mrbird/febs/websocket/WsAuthInterceptor.java
@@ -61,7 +61,7 @@
private String resolveToken(String token) {
try {
RSA rsa = new RSA(AppContants.PRIVATE_KEY, null);
- String[] tokens = StrUtil.split(rsa.decryptStr(token, KeyType.PrivateKey), "_");
+ String[] tokens = StrUtil.splitToArray(rsa.decryptStr(token, KeyType.PrivateKey), "_");
// log.info("websocket token : {}, timestemp : {}", tokens[0], tokens[1]);
if (verifyTokenExpired(Long.parseLong(tokens[1]))) {
return tokens[0];
diff --git a/src/main/resources/mapper/dapp/DappFundFlowDao.xml b/src/main/resources/mapper/dapp/DappFundFlowDao.xml
index c16c84a..9e4e74e 100644
--- a/src/main/resources/mapper/dapp/DappFundFlowDao.xml
+++ b/src/main/resources/mapper/dapp/DappFundFlowDao.xml
@@ -188,4 +188,13 @@
and type = #{type}
and status = 2
</select>
+
+ <select id="selectListByTypeAndDate" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
+ select member_id as memberId,ifnull(sum(amount), 0) as amount
+ from dapp_fund_flow
+ where date_format(create_time, '%Y-%m-%d') = date_format(#{dateStr}, '%Y-%m-%d')
+ and type = #{type}
+ and status = 2
+ group by member_id
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/DappMemberDao.xml b/src/main/resources/mapper/dapp/DappMemberDao.xml
index ae49129..8e29e59 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -92,9 +92,9 @@
<select id="selectMemberByAccountType" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity">
select * from dapp_member
- <where>
- account_type = #{accountType}
- </where>
+ where
+ active_status = 1
+ and account_type = #{accountType}
</select>
<select id="selectChildMemberDirectOrNot" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity">
@@ -165,6 +165,14 @@
where referer_id = #{refererId}
</select>
+ <select id="selectAllMemberInfoByRefererId" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity">
+ select
+ *
+ from dapp_member a
+ where FIND_IN_SET(#{inviteId}, referer_ids)
+ </select>
+
+
<select id="selectCountByAccountTypeAndRefererId" resultType="java.lang.Integer">
select count(id)
from dapp_member
@@ -192,18 +200,10 @@
<select id="selectByMemberId" resultType="cc.mrbird.febs.dapp.vo.DappMemberInfoVo">
select
a.invite_id inviteId,
+ a.address address,
a.account_type accountType,
a.active_status activeStatus,
- a.node_type nodeType,
- b.ausd_amount ausdAmount,
- b.nft_devote nftDevote,
- b.amount amount,
- c.available_amount propertyAmount,
- d.available_amount exchangeAmount
from dapp_member a
- left join dapp_usdt_perk b on a.id = b.member_id
- left join dapp_wallet_mine c on a.id = c.member_id
- left join dapp_wallet_coin d on a.id = d.member_id
where a.id = #{id}
</select>
diff --git a/src/main/resources/mapper/dapp/MallAchieveRecordMapper.xml b/src/main/resources/mapper/dapp/MallAchieveRecordMapper.xml
index 5966d7f..d99dbcf 100644
--- a/src/main/resources/mapper/dapp/MallAchieveRecordMapper.xml
+++ b/src/main/resources/mapper/dapp/MallAchieveRecordMapper.xml
@@ -44,4 +44,53 @@
order by CREATE_TIME asc
</select>
+ <select id="selectAchieveTotalByMemberIdAndCreateTime" resultType="java.math.BigDecimal">
+ select IFNULL(sum(IFNULL(amount,0)),0) from mall_achieve_record
+ where
+ member_id = #{memberId}
+ and payTime >= #{date}
+ </select>
+
+
+ <select id="selectAchieveTotalByCreateTime" resultType="java.math.BigDecimal">
+ select IFNULL(sum(IFNULL(amount,0)),0) from mall_achieve_record
+ where payTime >= #{date}
+ </select>
+
+ <select id="selectAchieveByMemberId" resultType="java.math.BigDecimal">
+ select IFNULL(sum(IFNULL(a.amount, 0)), 0)
+ from mall_achieve_record a
+ inner join dapp_member b on a.member_id = b.ID
+ where is_normal = 1
+ <if test="type == 1">
+ and b.invite_id=#{inviteId}
+ </if>
+ <if test="type == 2">
+ and find_in_set(#{inviteId}, b.referer_ids)
+ </if>
+ </select>
+
+ <select id="selectTeamListByInviteId" resultType="cc.mrbird.febs.dapp.vo.TeamChildListVo">
+ select
+ a.invite_id inviteId,
+ a.address address,
+ a.account_type accountType,
+ a.create_time createTime
+ from mall_member a
+ where a.referrer_id=#{inviteId}
+ </select>
+
+ <select id="selectCountByInvitedId" resultType="cc.mrbird.febs.dapp.entity.MallAchieveRecord">
+ select *
+ from mall_achieve_record a
+ inner join dapp_member b on a.member_id = b.ID
+ where is_normal = 1
+ <if test="type == 1">
+ and b.invite_id=#{inviteId}
+ </if>
+ <if test="type == 2">
+ and (find_in_set(#{inviteId}, b.referer_ids) or b.invite_id=#{inviteId})
+ </if>
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1