From 6ac0aeeea8834ad234623a321a64504a998c05d7 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 14 Nov 2022 17:34:52 +0800
Subject: [PATCH] 20221114,按日期查看资产
---
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java | 3
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 14 +
src/main/resources/application-prod.yml | 2
src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberChargeVo.java | 13
src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java | 3
src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java | 4
src/main/resources/mapper/dapp/DappMemberDao.xml | 28 ++
src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java | 10
src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java | 9
src/test/java/cc/mrbird/febs/ChainTest.java | 16
src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java | 36 ++
src/main/resources/templates/febs/views/dapp/money-total.html | 121 ++++++++
src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinChargeEntity.java | 6
src/main/resources/templates/febs/views/dapp/money-total-flow-out.html | 62 ++++
src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java | 38 ++
src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberWithdrawVo.java | 13
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 28 +
src/main/resources/templates/febs/views/dapp/money-total-flow.html | 42 +++
src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml | 34 ++
src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinChargeDao.java | 3
src/test/java/cc/mrbird/febs/JunitTest.java | 274 +++++++++---------
src/main/java/cc/mrbird/febs/dapp/vo/AdminMoneyTotalVo.java | 24 +
src/main/resources/mapper/dapp/MemberCoinChargeDao.xml | 20 +
src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinWithdrawEntity.java | 3
src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java | 5
src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml | 21 +
26 files changed, 679 insertions(+), 153 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java
index f56cb52..97483c9 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberController.java
@@ -12,6 +12,8 @@
import cc.mrbird.febs.dapp.service.DappMemberService;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.dapp.vo.AdminMemberIdentityVo;
+import cc.mrbird.febs.system.entity.User;
+import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
@@ -240,4 +242,38 @@
Map<String, Object> data = getDataTable(dappMemberService.getMessageListInPage(dappMessageEntity, request));
return new FebsResponse().success().data(data);
}
+
+ /**
+ * 每日资产总览-充值列表
+ */
+ @GetMapping("getFlowListByDay")
+ public FebsResponse getFlowListByDay(MemberCoinChargeEntity memberCoinChargeEntity, QueryRequest request, Integer parentId) {
+ if (parentId == null) {
+ ViewController.createTimeStr = "";
+ }
+ User currentUser = FebsUtil.getCurrentUser();
+ if(ObjectUtil.isNotEmpty(currentUser.getDescription())){
+ memberCoinChargeEntity.setDescription(currentUser.getDescription());
+ }
+ memberCoinChargeEntity.setCreateTimeStr(ViewController.createTimeStr);
+ Map<String, Object> data = getDataTable(dappMemberService.getFlowListByDay(memberCoinChargeEntity,request));
+ return new FebsResponse().success().data(data);
+ }
+
+ /**
+ * 每日资产总览-提现列表
+ */
+ @GetMapping("getOutFlowListByDay")
+ public FebsResponse getOutFlowListByDay(MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request, Integer parentId) {
+ if (parentId == null) {
+ ViewController.createTimeStr = "";
+ }
+ User currentUser = FebsUtil.getCurrentUser();
+ if(ObjectUtil.isNotEmpty(currentUser.getDescription())){
+ memberCoinWithdrawEntity.setDescription(currentUser.getDescription());
+ }
+ memberCoinWithdrawEntity.setCreateTimeStr(ViewController.createTimeStr);
+ Map<String, Object> data = getDataTable(dappMemberService.getOutFlowListByDay(memberCoinWithdrawEntity,request));
+ return new FebsResponse().success().data(data);
+ }
}
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 c292801..ccdabaf 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/MemberMoneyFlowController.java
@@ -59,4 +59,13 @@
}
return new FebsResponse().success().data(getDataTable(dappWalletService.accountMoneyChangeInPage(record, request)));
}
+
+ @RequestMapping(value = "moneyTotal")
+ public FebsResponse moneyTotal(DappAccountMoneyChangeEntity record, QueryRequest request) {
+ User currentUser = FebsUtil.getCurrentUser();
+ if(ObjectUtil.isNotEmpty(currentUser.getDescription())){
+ record.setDescription(currentUser.getDescription());
+ }
+ return new FebsResponse().success().data(getDataTable(dappWalletService.moneyTotal(record, request)));
+ }
}
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 a168847..c51b7c4 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
@@ -6,6 +6,7 @@
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.dapp.entity.AppVersion;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrder;
import cc.mrbird.febs.dapp.mapper.DappMemberDao;
import cc.mrbird.febs.dapp.service.DappMemberService;
import lombok.RequiredArgsConstructor;
@@ -227,4 +228,41 @@
return FebsUtil.view("dapp/message-list");
}
+ /**
+ * 每日资产总览-列表
+ * @return
+ */
+ @GetMapping("moneyTotal")
+ @RequiresPermissions("moneyTotal:view")
+ public String moneyTotal() {
+ return FebsUtil.view("dapp/money-total");
+ }
+
+ /**
+ * 每日资产总览-充值详情
+ * @param createTime
+ * @param model
+ * @return
+ */
+ public static String createTimeStr;
+ @GetMapping("/amountFlow/{createTime}")
+ @RequiresPermissions("amountFlow:update")
+ public String amountFlow(@PathVariable String createTime, Model model) {
+ createTimeStr = createTime;
+ return FebsUtil.view("dapp/money-total-flow");
+ }
+
+ /**
+ * 每日资产总览-提现详情
+ * @param createTime
+ * @param model
+ * @return
+ */
+ @GetMapping("/amountOutFlow/{createTime}")
+ @RequiresPermissions("amountOutFlow:update")
+ public String amountOutFlow(@PathVariable String createTime, Model model) {
+ createTimeStr = createTime;
+ return FebsUtil.view("dapp/money-total-flow-out");
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinChargeEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinChargeEntity.java
index ca457bf..f3c1b88 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinChargeEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinChargeEntity.java
@@ -40,4 +40,10 @@
*/
@TableField(exist = false)
private String username;
+
+ @TableField(exist = false)
+ private String createTimeStr;
+
+ @TableField(exist = false)
+ private String description;
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinWithdrawEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinWithdrawEntity.java
index 91c931b..a8aff3b 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinWithdrawEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/MemberCoinWithdrawEntity.java
@@ -63,6 +63,9 @@
@TableField(exist = false)
private String username;
+
+ @TableField(exist = false)
+ private String createTimeStr;
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java
index 9d4022e..2bb0894 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.dapp.dto.ApiAmountChangeDto;
import cc.mrbird.febs.dapp.entity.DappAccountMoneyChangeEntity;
+import cc.mrbird.febs.dapp.vo.AdminMoneyTotalVo;
import cc.mrbird.febs.dapp.vo.ApiAmountChangeListVo;
import cc.mrbird.febs.dapp.vo.ApiMyTeammateAmountChangeListVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -16,4 +17,6 @@
IPage<ApiAmountChangeListVo> selectChangeListInPage(Page<ApiAmountChangeListVo> page, @Param("record") DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity);
IPage<ApiMyTeammateAmountChangeListVo> selectTeammateChangeListInPage(@Param("record")ApiAmountChangeDto apiAmountChangeDto, Page<ApiMyTeammateAmountChangeListVo> page);
+
+ IPage<AdminMoneyTotalVo> selectMoneyTotalInPage(@Param("record")DappAccountMoneyChangeEntity record, Page<DappAccountMoneyChangeEntity> page);
}
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 7a5fa6e..40681ef 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -3,10 +3,8 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.dapp.dto.ApiMyTeammateInfoDto;
import cc.mrbird.febs.dapp.dto.TeamListDto;
-import cc.mrbird.febs.dapp.entity.AppVersion;
-import cc.mrbird.febs.dapp.entity.DappMemberEntity;
-import cc.mrbird.febs.dapp.entity.DappMessageEntity;
-import cc.mrbird.febs.dapp.entity.MemberCoinChargeEntity;
+import cc.mrbird.febs.dapp.entity.*;
+import cc.mrbird.febs.dapp.vo.AdminMemberCoinWithdrawVo;
import cc.mrbird.febs.dapp.vo.ApiMyTeammateInfoListVo;
import cc.mrbird.febs.dapp.vo.TeamListVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -76,4 +74,8 @@
List<DappMemberEntity> selectTotalMemberByRefererIdAndIdentity(@Param("inviteId")String inviteId);
IPage<DappMessageEntity> selectMessageListInPage(@Param("record")DappMessageEntity dappMessageEntity, Page<DappMemberEntity> page);
+
+ IPage<MemberCoinChargeEntity> getChargeListByDayInPage(Page<MemberCoinChargeEntity> page, @Param("record")MemberCoinChargeEntity memberCoinChargeEntity);
+
+ IPage<AdminMemberCoinWithdrawVo> getWithDrawListByDayInPage(Page<AdminMemberCoinWithdrawVo> page, @Param("record")MemberCoinWithdrawEntity memberCoinWithdrawEntity);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinChargeDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinChargeDao.java
index 29b7be8..2164dd9 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinChargeDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinChargeDao.java
@@ -1,11 +1,13 @@
package cc.mrbird.febs.dapp.mapper;
import cc.mrbird.febs.dapp.entity.MemberCoinChargeEntity;
+import cc.mrbird.febs.dapp.vo.AdminMemberChargeVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
+import java.util.Date;
import java.util.List;
public interface MemberCoinChargeDao extends BaseMapper<MemberCoinChargeEntity> {
@@ -17,4 +19,5 @@
public IPage<MemberCoinChargeEntity> findMemberCoinChargeInPage(Page<MemberCoinChargeEntity> page,
@Param("record")MemberCoinChargeEntity memberCoinChargeEntity);
+ AdminMemberChargeVo selectTotalAmountByCreateTimeAndInviteId(@Param("createTime") Date createTime, @Param("description") String description);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java
index 02e4119..faee9d5 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/MemberCoinWithdrawDao.java
@@ -2,14 +2,19 @@
import cc.mrbird.febs.dapp.entity.MemberCoinWithdrawEntity;
import cc.mrbird.febs.dapp.vo.AdminMemberCoinWithdrawVo;
+import cc.mrbird.febs.dapp.vo.AdminMemberWithdrawVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
public interface MemberCoinWithdrawDao extends BaseMapper<MemberCoinWithdrawEntity> {
IPage<AdminMemberCoinWithdrawVo> findMemberWithdrawCoinInPage(Page<MemberCoinWithdrawEntity> page, @Param("record")MemberCoinWithdrawEntity memberCoinWithdrawEntity);
Integer selectByMemberIdAndCreateTime(@Param("memberId")Long memberIdOut, @Param("createTime")String createTime, @Param("type")String type);
+
+ AdminMemberWithdrawVo selectTotalAmountByCreateTimeAndInviteId(@Param("createTime") Date createTime, @Param("description") String description);
}
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 d874661..7664c7f 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
@@ -108,4 +108,8 @@
FebsResponse addMessage(AddMessageDto addMessageDto);
IPage<DappMessageEntity> getMessageListInPage(DappMessageEntity dappMessageEntity, QueryRequest request);
+
+ IPage<MemberCoinChargeEntity> getFlowListByDay(MemberCoinChargeEntity memberCoinChargeEntity, QueryRequest request);
+
+ IPage<AdminMemberCoinWithdrawVo> getOutFlowListByDay(MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request);
}
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 c2f8218..e1af962 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -8,6 +8,7 @@
import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity;
import cc.mrbird.febs.dapp.entity.DappWalletMineEntity;
import cc.mrbird.febs.dapp.vo.ActiveNftListVo;
+import cc.mrbird.febs.dapp.vo.AdminMoneyTotalVo;
import cc.mrbird.febs.dapp.vo.WalletInfoVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -76,4 +77,6 @@
* 判断是否中奖
*/
Integer isGoal(String num);
+
+ IPage<AdminMoneyTotalVo> moneyTotal(DappAccountMoneyChangeEntity record, QueryRequest request);
}
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 56e38e0..6398996 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
@@ -1078,6 +1078,20 @@
return dappMemberDao.selectMessageListInPage(dappMessageEntity, page);
}
+ @Override
+ public IPage<MemberCoinChargeEntity> getFlowListByDay(MemberCoinChargeEntity memberCoinChargeEntity, QueryRequest request) {
+ Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberCoinChargeEntity> memberCoinChargeEntityIPage = this.baseMapper.getChargeListByDayInPage(page, memberCoinChargeEntity);
+ return memberCoinChargeEntityIPage;
+ }
+
+ @Override
+ public IPage<AdminMemberCoinWithdrawVo> getOutFlowListByDay(MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
+ Page<AdminMemberCoinWithdrawVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<AdminMemberCoinWithdrawVo> adminMemberCoinWithdrawVos = this.baseMapper.getWithDrawListByDayInPage(page, memberCoinWithdrawEntity);
+ return adminMemberCoinWithdrawVos;
+ }
+
public String generateAsaToken(String token) {
RSA rsa = new RSA(null, AppContants.PUBLIC_KEY);
return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey);
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 931ef7a..5e0f05a 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
@@ -19,9 +19,7 @@
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.dapp.service.DappWalletService;
import cc.mrbird.febs.dapp.utils.BoxUtil;
-import cc.mrbird.febs.dapp.vo.ActiveNftListVo;
-import cc.mrbird.febs.dapp.vo.ApiMemberWalletCoinVo;
-import cc.mrbird.febs.dapp.vo.WalletInfoVo;
+import cc.mrbird.febs.dapp.vo.*;
import cc.mrbird.febs.rabbit.producer.UsdtUpdateProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateField;
@@ -1252,6 +1250,30 @@
}
}
+ private final MemberCoinChargeDao memberCoinChargeDao;
+
+ @Override
+ public IPage<AdminMoneyTotalVo> moneyTotal(DappAccountMoneyChangeEntity record, QueryRequest request) {
+ Page<DappAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ //获取充值提现的所有日期
+ IPage<AdminMoneyTotalVo> adminMoneyTotalVoIPage = dappAccountMoneyChangeDao.selectMoneyTotalInPage(record, page);
+ List<AdminMoneyTotalVo> records = adminMoneyTotalVoIPage.getRecords();
+ if(CollUtil.isNotEmpty(records)){
+ for(AdminMoneyTotalVo adminMoneyTotalVo : records){
+ Date createTime = adminMoneyTotalVo.getCreateTime();
+ //每日充值统计
+ AdminMemberChargeVo adminMemberChargeVos = memberCoinChargeDao.selectTotalAmountByCreateTimeAndInviteId(createTime,record.getDescription());
+ adminMoneyTotalVo.setTotalCharge(adminMemberChargeVos.getTotalCharge().setScale(2,BigDecimal.ROUND_DOWN));
+ adminMoneyTotalVo.setSheetIn(adminMemberChargeVos.getSheetIn());
+ //每日提现统计
+ AdminMemberWithdrawVo adminMemberWithdrawVo = memberCoinWithdrawDao.selectTotalAmountByCreateTimeAndInviteId(createTime,record.getDescription());
+ adminMoneyTotalVo.setTotalWithdraw(adminMemberWithdrawVo.getTotalWithdraw().setScale(2,BigDecimal.ROUND_DOWN));
+ adminMoneyTotalVo.setSheetOut(adminMemberWithdrawVo.getSheetOut());
+ }
+ }
+ return adminMoneyTotalVoIPage;
+ }
+
public static void main(String[] args) {
DateTime date = DateUtil.date();
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberChargeVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberChargeVo.java
new file mode 100644
index 0000000..44d84d6
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberChargeVo.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.dapp.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class AdminMemberChargeVo {
+
+ private BigDecimal totalCharge;
+
+ private Integer sheetIn;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberWithdrawVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberWithdrawVo.java
new file mode 100644
index 0000000..16746c9
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMemberWithdrawVo.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.dapp.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class AdminMemberWithdrawVo {
+
+ private BigDecimal totalWithdraw;
+
+ private Integer sheetOut;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/AdminMoneyTotalVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMoneyTotalVo.java
new file mode 100644
index 0000000..0457243
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMoneyTotalVo.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.dapp.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class AdminMoneyTotalVo {
+ //每日充值
+ private BigDecimal totalCharge;
+ //每日充值次数
+ private Integer sheetIn;
+
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date createTime;
+
+ //每日提现
+ private BigDecimal totalWithdraw;
+
+ //每日提现次数
+ private Integer sheetOut;
+}
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 700b3a8..9de4699 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -2,7 +2,7 @@
datasource:
dynamic:
# 是否开启 SQL日志输出,生产环境建议关闭,有性能损耗
- p6spy: false
+ p6spy: true
hikari:
connection-timeout: 30000
max-lifetime: 1800000
diff --git a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
index 546f861..5688825 100644
--- a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
+++ b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
@@ -63,4 +63,38 @@
order by a.create_time desc
</select>
+ <select id="selectMoneyTotalInPage" resultType="cc.mrbird.febs.dapp.vo.AdminMoneyTotalVo">
+ SELECT
+ *
+ FROM
+ (
+ SELECT
+ date_format(create_time, '%Y-%m-%d') createTime
+ FROM
+ member_coin_charge
+ <where>
+ <if test="record.description!=null and record.description!=''">
+ and (member_id in (select id from dapp_member where FIND_IN_SET(#{record.description}, referer_ids)))
+ </if>
+ </where>
+ GROUP BY
+ date_format(create_time, '%Y-%m-%d')
+ UNION
+ SELECT
+ date_format(create_time, '%Y-%m-%d') createTime
+ FROM
+ member_coin_withdraw
+ <where>
+ is_inside = 'N'
+ <if test="record.description!=null and record.description!=''">
+ and (member_id in (select id from dapp_member where FIND_IN_SET(#{record.description}, referer_ids)))
+ </if>
+ </where>
+ GROUP BY
+ date_format(create_time, '%Y-%m-%d')
+ ) as a
+ ORDER BY
+ a.createTime DESC
+ </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 e49b10a..1b64d91 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -289,4 +289,32 @@
</where>
order by create_time desc
</select>
+
+ <select id="getChargeListByDayInPage" resultType="cc.mrbird.febs.dapp.entity.MemberCoinChargeEntity">
+ select
+ a.*,b.username username
+ from member_coin_charge a
+ left join dapp_member b on b.id = a.member_id
+ <where>
+ date_format(a.create_time, '%Y-%m-%d') = #{record.createTimeStr}
+ <if test="record.description!=null and record.description!=''">
+ and (a.member_id in (select id from dapp_member where FIND_IN_SET(#{record.description}, referer_ids)))
+ </if>
+ </where>
+ order by a.create_time desc
+ </select>
+
+ <select id="getWithDrawListByDayInPage" resultType="cc.mrbird.febs.dapp.vo.AdminMemberCoinWithdrawVo">
+ select
+ a.*,b.username username
+ from member_coin_withdraw a
+ left join dapp_member b on b.id = a.member_id
+ <where>
+ date_format(a.create_time, '%Y-%m-%d') = #{record.createTimeStr}
+ <if test="record.description!=null and record.description!=''">
+ and (a.member_id in (select id from dapp_member where FIND_IN_SET(#{record.description}, referer_ids)))
+ </if>
+ </where>
+ order by a.create_time desc
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/MemberCoinChargeDao.xml b/src/main/resources/mapper/dapp/MemberCoinChargeDao.xml
index db21548..1c2f0aa 100644
--- a/src/main/resources/mapper/dapp/MemberCoinChargeDao.xml
+++ b/src/main/resources/mapper/dapp/MemberCoinChargeDao.xml
@@ -29,4 +29,24 @@
</if>
</select>
+ <select id="selectTotalAmountByCreateTimeAndInviteId" resultType="cc.mrbird.febs.dapp.vo.AdminMemberChargeVo">
+ SELECT
+ IFNULL(sum(amount),0) AS totalCharge,
+ count(id) AS sheetIn
+ FROM
+ member_coin_charge
+ WHERE
+ date_format(create_time, '%Y-%m-%d') = date_format(#{createTime}, '%Y-%m-%d')
+ <if test="description !=null and description != ''">
+ and member_id IN (
+ SELECT
+ id
+ FROM
+ dapp_member
+ WHERE
+ FIND_IN_SET(#{description}, referer_ids)
+ )
+ </if>
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml b/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml
index 477ea42..5d363bd 100644
--- a/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml
+++ b/src/main/resources/mapper/dapp/MemberCoinWithdrawMapper.xml
@@ -39,4 +39,25 @@
and a.is_inside = #{type}
</select>
+ <select id="selectTotalAmountByCreateTimeAndInviteId" resultType="cc.mrbird.febs.dapp.vo.AdminMemberWithdrawVo">
+ SELECT
+ IFNULL(sum(amount),0) AS totalWithdraw,
+ count(id) AS sheetOut
+ FROM
+ member_coin_withdraw
+ WHERE
+ date_format(create_time, '%Y-%m-%d') = date_format(#{createTime}, '%Y-%m-%d')
+ <if test="description !=null and description != ''">
+ and member_id IN (
+ SELECT
+ id
+ FROM
+ dapp_member
+ WHERE
+ FIND_IN_SET(#{description}, referer_ids)
+ )
+ </if>
+
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/dapp/money-total-flow-out.html b/src/main/resources/templates/febs/views/dapp/money-total-flow-out.html
new file mode 100644
index 0000000..3a2c214
--- /dev/null
+++ b/src/main/resources/templates/febs/views/dapp/money-total-flow-out.html
@@ -0,0 +1,62 @@
+<div className="layui-fluid layui-anim febs-anim" id="febs-money-total-out-child" lay-title="每日提现">
+ <div className="layui-row febs-container">
+ <div className="layui-col-md12">
+ <div className="layui-card">
+ <div className="layui-card-body febs-table-full">
+ <table lay-filter="moneyTotalTableOutChild" lay-data="{id: 'moneyTotalTableOutChild'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<script data-th-inline="none" type="text/javascript">
+ layui.use(['jquery', 'form', 'table', 'febs'], function () {
+ var $ = layui.jquery,
+ febs = layui.febs,
+ form = layui.form,
+ table = layui.table,
+ $view = $('#febs-money-total-out-child'),
+ tableIns;
+
+ form.render();
+
+ initTable();
+
+ function initTable() {
+ tableIns = febs.table.init({
+ elem: $view.find('table'),
+ id: 'moneyTotalTableOutChild',
+ url: ctx + 'member/getOutFlowListByDay?parentId=1',
+ cols: [[
+ {field: 'username', title: '用户名', minWidth: 120, align: 'left'},
+ {field: 'amount', title: '提币数量', minWidth: 120, align: 'center'},
+ {field: 'feeAmount', title: '手续费', minWidth: 120, align: 'center'},
+ {field: 'status', title: '状态',
+ templet: function (d) {
+ if (d.status === 1) {
+ return '<span>进行中</span>'
+ } else if (d.status === 2) {
+ return '<span>同意</span>'
+ }else if (d.status === 3) {
+ return '<span>拒绝</span>'
+ }else{
+ return ''
+ }
+ }, minWidth: 120, align: 'center'},
+ {field: 'address', title: '提币地址',
+ templet: function (d) {
+ if (d.isInside === 'Y') {
+ return ''
+ } else if (d.isInside === 'N') {
+ return '<span>('+d.tag+')'+d.address+'</span>'
+ }else{
+ return ''
+ }
+ }, minWidth: 300, align: 'center'},
+ {field: 'createTime', title: '提币时间', minWidth: 180, align: 'center'},
+ ]]
+ });
+ }
+
+ })
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/dapp/money-total-flow.html b/src/main/resources/templates/febs/views/dapp/money-total-flow.html
new file mode 100644
index 0000000..9bdbd81
--- /dev/null
+++ b/src/main/resources/templates/febs/views/dapp/money-total-flow.html
@@ -0,0 +1,42 @@
+<div className="layui-fluid layui-anim febs-anim" id="febs-money-total-child" lay-title="每日充值">
+ <div className="layui-row febs-container">
+ <div className="layui-col-md12">
+ <div className="layui-card">
+ <div className="layui-card-body febs-table-full">
+ <table lay-filter="moneyTotalTableChild" lay-data="{id: 'moneyTotalTableChild'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<script data-th-inline="none" type="text/javascript">
+ layui.use(['jquery', 'form', 'table', 'febs'], function () {
+ var $ = layui.jquery,
+ febs = layui.febs,
+ form = layui.form,
+ table = layui.table,
+ $view = $('#febs-money-total-child'),
+ tableIns;
+
+ form.render();
+
+ initTable();
+
+ function initTable() {
+ tableIns = febs.table.init({
+ elem: $view.find('table'),
+ id: 'moneyTotalTableChild',
+ url: ctx + 'member/getFlowListByDay?parentId=1',
+ cols: [[
+ {field: 'username', title: '用户名', minWidth: 130},
+ {field: 'amount', title: '充值金额(USDT)', minWidth: 130},
+ {field: 'symbol', title: '币种', minWidth: 130},
+ {field: 'address', title: '地址', minWidth: 130},
+ {field: 'createTime', title: '创建时间', minWidth: 180},
+ {field: 'hash', title: '交易hash', minWidth: 130}
+ ]]
+ });
+ }
+
+ })
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/dapp/money-total.html b/src/main/resources/templates/febs/views/dapp/money-total.html
new file mode 100644
index 0000000..db8715d
--- /dev/null
+++ b/src/main/resources/templates/febs/views/dapp/money-total.html
@@ -0,0 +1,121 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-money-total" lay-title="每日资产总览">
+ <div class="layui-row febs-container">
+ <div class="layui-col-md12">
+ <div class="layui-card">
+ <div class="layui-card-body febs-table-full">
+ <form class="layui-form layui-table-form" lay-filter="money-change-table-form">
+ <div class="layui-row">
+ <div class="layui-col-md10">
+ <div class="layui-form-item">
+ </div>
+ </div>
+ <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
+ </div>
+ </div>
+ </form>
+ <table lay-filter="moneyTotalTable" lay-data="{id: 'moneyTotalTable'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<style>
+ .layui-table-cell {
+ height: auto !important;
+ }
+</style>
+<script data-th-inline="none" type="text/javascript">
+ layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect'], function () {
+ var $ = layui.jquery,
+ laydate = layui.laydate,
+ febs = layui.febs,
+ form = layui.form,
+ table = layui.table,
+ dropdown = layui.dropdown,
+ $view = $('#febs-money-total'),
+ $query = $view.find('#query'),
+ $reset = $view.find('#reset'),
+ $searchForm = $view.find('form'),
+ sortObject = {field: 'createTime', type: null},
+ tableIns;
+
+ form.render();
+
+ initTable();
+
+ table.on('tool(moneyTotalTable)', function (obj) {
+ var data = obj.data,
+ layEvent = obj.event;
+
+ if (layEvent === 'sheetIn') {
+ febs.modal.open( '每日充值', 'dappView/amountFlow/' + data.createTime, {
+ maxmin: true,
+ });
+ }
+
+ if (layEvent === 'sheetOut') {
+ febs.modal.open( '每日提现', 'dappView/amountOutFlow/' + data.createTime, {
+ maxmin: true,
+ });
+ }
+ });
+
+ table.on('sort(moneyTotalTable)', function (obj) {
+ sortObject = obj;
+ tableIns.reload({
+ initSort: obj,
+ where: $.extend(getQueryParams(), {
+ field: obj.field,
+ order: obj.type
+ })
+ });
+ });
+
+ $query.on('click', function () {
+ var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
+ tableIns.reload({where: params, page: {curr: 1}});
+ });
+
+ $reset.on('click', function () {
+ $searchForm[0].reset();
+ tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
+ });
+
+ function initTable() {
+ tableIns = febs.table.init({
+ elem: $view.find('table'),
+ id: 'moneyTotalTable',
+ url: ctx + 'flow/moneyTotal',
+ cols: [[
+ {field: 'createTime', title: '日期', minWidth: 100},
+ {field: 'totalCharge', title: '充值总额', minWidth: 100},
+ {title: '充值次数',
+ templet: function (d) {
+ if(d.sheetIn > 0){
+ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="sheetIn" shiro:hasPermission="amountFlow:update">'+d.sheetIn+'次</button>'
+ }else{
+ return d.sheetIn;
+ }
+ },minWidth: 100,align:'center'},
+ {field: 'totalWithdraw', title: '提现总额', minWidth: 100},
+ {title: '提现次数',
+ templet: function (d) {
+ if(d.sheetOut > 0){
+ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="sheetOut" shiro:hasPermission="amountOutFlow:update">'+d.sheetOut+'次</button>'
+ }else{
+ return d.sheetOut;
+ }
+ },minWidth: 100,align:'center'},
+ ]]
+ });
+ }
+
+ function getQueryParams() {
+ // return {
+ // type: $searchForm.find("select[name='type']").val(),
+ // username: $searchForm.find('input[name="username"]').val().trim()
+ // };
+ }
+
+ })
+</script>
diff --git a/src/test/java/cc/mrbird/febs/ChainTest.java b/src/test/java/cc/mrbird/febs/ChainTest.java
index 80a7724..11b245f 100644
--- a/src/test/java/cc/mrbird/febs/ChainTest.java
+++ b/src/test/java/cc/mrbird/febs/ChainTest.java
@@ -192,16 +192,16 @@
@Autowired
NotionalPoolingJob notionalPoolingJob;
- @Test
- public void poolTest() {
- notionalPoolingJob.poolUsdtTrc20();
- }
+// @Test
+// public void poolTest() {
+// notionalPoolingJob.poolUsdtTrc20();
+// }
@Autowired
RedisUtils redisUtils;
- @Test
- public void redisTest() {
- redisUtils.setRemove("list_set", 11222);
- }
+// @Test
+// public void redisTest() {
+// redisUtils.setRemove("list_set", 11222);
+// }
}
diff --git a/src/test/java/cc/mrbird/febs/JunitTest.java b/src/test/java/cc/mrbird/febs/JunitTest.java
index 4dcec51..7e0386b 100644
--- a/src/test/java/cc/mrbird/febs/JunitTest.java
+++ b/src/test/java/cc/mrbird/febs/JunitTest.java
@@ -317,147 +317,147 @@
// System.out.println(active);
// }
//
- @Test
- public void updateMemberLevel(){
- Log.info("更新用户代理等级");
- DateTime date = DateUtil.date();
- //查询账户总金额大于51的有效用户
- List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectByIdentity();
-// List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectTotalAmount();
- if(CollUtil.isEmpty(dappMemberEntities)){
- //没有账户金额大于51,则全部为会员
- dappMemberDao.updateIdentity();
- }else{
- List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode());
- List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
- List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
- List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
- List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
- List<DappMemberEntity> LEVEL_BP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
- List<DappMemberEntity> LEVEL_SP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
- List<DappMemberEntity> LEVEL_GP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
- }
- }
-
- private List<DappMemberEntity> getMemberLevelList(List<DappMemberEntity> dappMemberEntities,String identity,String identityNext){
- List<DappMemberEntity> dappMemberEntitiesNext = new ArrayList<>();
- if(CollUtil.isNotEmpty(dappMemberEntities)){
- for(DappMemberEntity dappMemberEntity : dappMemberEntities){
- if(ObjectUtil.isEmpty(dappMemberEntity)){
- continue;
- }
- Long memberEntityId = dappMemberEntity.getId();
- String refererId = dappMemberEntity.getRefererId();
- String inviteId = dappMemberEntity.getInviteId();
- //是否存在三条以上的推广线路,存在才能升级,不满足则
- List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalMemberByRefererIdAndIdentity(inviteId);
- if(3 > levelMbMembers.size()){
- dappMemberEntity.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
- dappMemberDao.updateById(dappMemberEntity);
- continue;
- }
- int identityDown = 0;
- for(DappMemberEntity dappMemberDown : levelMbMembers){
- //下级是否存在账户总金额大于51的会员,并且代理等级为identity
- List<DappMemberEntity> levelMbMembersDown = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(dappMemberDown.getInviteId(),identity);
- if(CollUtil.isNotEmpty(levelMbMembersDown)){
- identityDown = identityDown + 1;
- }
-
- }
- if(identityDown >= 3){
- //设置identityNext级别
- dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId);
- }
- }
- }
- return dappMemberEntitiesNext;
- }
+// @Test
+// public void updateMemberLevel(){
+// Log.info("更新用户代理等级");
+// DateTime date = DateUtil.date();
+// //查询账户总金额大于51的有效用户
+// List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectByIdentity();
+//// List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectTotalAmount();
+// if(CollUtil.isEmpty(dappMemberEntities)){
+// //没有账户金额大于51,则全部为会员
+// dappMemberDao.updateIdentity();
+// }else{
+// List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode());
+// List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode());
+// List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode());
+// List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode());
+// List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode());
+// List<DappMemberEntity> LEVEL_BP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode());
+// List<DappMemberEntity> LEVEL_SP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode());
+// List<DappMemberEntity> LEVEL_GP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode());
+// }
+// }
//
- @Test
- public void testProfitSharing(){
- IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(3220L);
- if(ObjectUtil.isEmpty(igtOnHookPlanOrder)){
- return;
- }
- Long memberId = igtOnHookPlanOrder.getMemberId();
- BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
-
- DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
- if(ObjectUtil.isEmpty(dappMemberEntity)){
- return;
- }
- //避免重复
- QueryWrapper<DappOnHookDone> objectQueryWrapper = new QueryWrapper<>();
- objectQueryWrapper.eq("order_id",igtOnHookPlanOrder.getId());
- List<DappOnHookDone> dappOnHookDones = dappOnHookDoneDao.selectList(objectQueryWrapper);
- if(CollUtil.isNotEmpty(dappOnHookDones)){
- return;
- }
- //生成记录
- DappOnHookDone dappOnHookDone = new DappOnHookDone(dappMemberEntity.getId(), igtOnHookPlanOrder.getId());
- dappOnHookDoneDao.insert(dappOnHookDone);
- //获取收益率
- DataDictionaryCustom identityDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMemberEntity.getIdentity());
- String identityDicValue = identityDic.getValue();
- JSONObject identityDicValueParse = JSONUtil.parseObj(identityDicValue);
- BigDecimal hangingRevenueLevel = new BigDecimal(identityDicValueParse.get("hangingRevenue").toString())
- .multiply(new BigDecimal(0.01)).setScale(4,BigDecimal.ROUND_DOWN);
- //获取收益
- //获取当前用户每分钟应该获取的收益
- BigDecimal multiply = hangingRevenueLevel.multiply(planAmount);
- DataDictionaryCustom maxHoursDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MAX_HOURS.getType(), DataDictionaryEnum.MAX_HOURS.getCode());
- //挂机总时长(分钟)
- BigDecimal maxHours = new BigDecimal(maxHoursDic.getValue()).multiply(new BigDecimal(60));
- //得到每分钟的收益
- BigDecimal minuteProfit = multiply.divide(maxHours, 4, BigDecimal.ROUND_DOWN);
- //获取挂机开始时间到现在的总时长(分钟数)
- Date startTime = igtOnHookPlanOrder.getStartTime();
- long between = DateUtil.between(startTime, DateUtil.date(), DateUnit.MINUTE);
- //获得总收益
- BigDecimal totalProfit = minuteProfit.multiply(new BigDecimal(between)).setScale(4,BigDecimal.ROUND_DOWN);
-// BigDecimal totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN);
-
- String refererIds = dappMemberEntity.getRefererIds();
- List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
- //只有上级用户金额大于51U才能得到对应的佣金
-// ArrayList<String> refererIdLisstUp = new ArrayList<>();
-// for(String inviteId : refererIdList){
-// DappMemberEntity dappMemberUp = dappMemberDao.selectMemberInfoByInviteId(inviteId);
-// if(ObjectUtil.isNotEmpty(dappMemberUp)){
-// DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(dappMemberUp.getId());
-// if(AppContants.ONHOOK_BASIC_AMOUNT.compareTo(dappWalletCoinEntity.getAvailableAmount())<=0){
-// refererIdLisstUp.add(inviteId);
+// private List<DappMemberEntity> getMemberLevelList(List<DappMemberEntity> dappMemberEntities,String identity,String identityNext){
+// List<DappMemberEntity> dappMemberEntitiesNext = new ArrayList<>();
+// if(CollUtil.isNotEmpty(dappMemberEntities)){
+// for(DappMemberEntity dappMemberEntity : dappMemberEntities){
+// if(ObjectUtil.isEmpty(dappMemberEntity)){
+// continue;
+// }
+// Long memberEntityId = dappMemberEntity.getId();
+// String refererId = dappMemberEntity.getRefererId();
+// String inviteId = dappMemberEntity.getInviteId();
+// //是否存在三条以上的推广线路,存在才能升级,不满足则
+// List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalMemberByRefererIdAndIdentity(inviteId);
+// if(3 > levelMbMembers.size()){
+// dappMemberEntity.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
+// dappMemberDao.updateById(dappMemberEntity);
+// continue;
+// }
+// int identityDown = 0;
+// for(DappMemberEntity dappMemberDown : levelMbMembers){
+// //下级是否存在账户总金额大于51的会员,并且代理等级为identity
+// List<DappMemberEntity> levelMbMembersDown = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(dappMemberDown.getInviteId(),identity);
+// if(CollUtil.isNotEmpty(levelMbMembersDown)){
+// identityDown = identityDown + 1;
+// }
+//
+// }
+// if(identityDown >= 3){
+// //设置identityNext级别
+// dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId);
// }
// }
// }
- //生成流水佣金和盈利分成和流水记录,返回剩余盈利
- BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit,igtOnHookPlanOrder.getId());
- //平台分成
- //平台拿走35%盈利分成和流水佣金剩下的全部
- BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
- BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
- //个人固定拿走60%
- totalProfit = totalProfit.multiply(new BigDecimal(0.6));
- igtOnHookPlanOrder.setState(2);
- //一次挂机剩余的全部金额
- BigDecimal totalMoney = totalProfit.add(planAmount);
-
- igtOnHookPlanOrder.setProfit(totalProfit);
- igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
- dappMemberEntity.setIsOnHook(3);
- dappMemberDao.updateById(dappMemberEntity);
-
- DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
- BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
- dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney);
-
- BigDecimal add = availableAmount.add(totalMoney);
- BigDecimal subtract = add.subtract(totalProfit);
- DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5,igtOnHookPlanOrder.getId());
- dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
-
- }
+// return dappMemberEntitiesNext;
+// }
+////
+// @Test
+// public void testProfitSharing(){
+// IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(3220L);
+// if(ObjectUtil.isEmpty(igtOnHookPlanOrder)){
+// return;
+// }
+// Long memberId = igtOnHookPlanOrder.getMemberId();
+// BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
+//
+// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+// if(ObjectUtil.isEmpty(dappMemberEntity)){
+// return;
+// }
+// //避免重复
+// QueryWrapper<DappOnHookDone> objectQueryWrapper = new QueryWrapper<>();
+// objectQueryWrapper.eq("order_id",igtOnHookPlanOrder.getId());
+// List<DappOnHookDone> dappOnHookDones = dappOnHookDoneDao.selectList(objectQueryWrapper);
+// if(CollUtil.isNotEmpty(dappOnHookDones)){
+// return;
+// }
+// //生成记录
+// DappOnHookDone dappOnHookDone = new DappOnHookDone(dappMemberEntity.getId(), igtOnHookPlanOrder.getId());
+// dappOnHookDoneDao.insert(dappOnHookDone);
+// //获取收益率
+// DataDictionaryCustom identityDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMemberEntity.getIdentity());
+// String identityDicValue = identityDic.getValue();
+// JSONObject identityDicValueParse = JSONUtil.parseObj(identityDicValue);
+// BigDecimal hangingRevenueLevel = new BigDecimal(identityDicValueParse.get("hangingRevenue").toString())
+// .multiply(new BigDecimal(0.01)).setScale(4,BigDecimal.ROUND_DOWN);
+// //获取收益
+// //获取当前用户每分钟应该获取的收益
+// BigDecimal multiply = hangingRevenueLevel.multiply(planAmount);
+// DataDictionaryCustom maxHoursDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MAX_HOURS.getType(), DataDictionaryEnum.MAX_HOURS.getCode());
+// //挂机总时长(分钟)
+// BigDecimal maxHours = new BigDecimal(maxHoursDic.getValue()).multiply(new BigDecimal(60));
+// //得到每分钟的收益
+// BigDecimal minuteProfit = multiply.divide(maxHours, 4, BigDecimal.ROUND_DOWN);
+// //获取挂机开始时间到现在的总时长(分钟数)
+// Date startTime = igtOnHookPlanOrder.getStartTime();
+// long between = DateUtil.between(startTime, DateUtil.date(), DateUnit.MINUTE);
+// //获得总收益
+// BigDecimal totalProfit = minuteProfit.multiply(new BigDecimal(between)).setScale(4,BigDecimal.ROUND_DOWN);
+//// BigDecimal totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN);
+//
+// String refererIds = dappMemberEntity.getRefererIds();
+// List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
+// //只有上级用户金额大于51U才能得到对应的佣金
+//// ArrayList<String> refererIdLisstUp = new ArrayList<>();
+//// for(String inviteId : refererIdList){
+//// DappMemberEntity dappMemberUp = dappMemberDao.selectMemberInfoByInviteId(inviteId);
+//// if(ObjectUtil.isNotEmpty(dappMemberUp)){
+//// DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(dappMemberUp.getId());
+//// if(AppContants.ONHOOK_BASIC_AMOUNT.compareTo(dappWalletCoinEntity.getAvailableAmount())<=0){
+//// refererIdLisstUp.add(inviteId);
+//// }
+//// }
+//// }
+// //生成流水佣金和盈利分成和流水记录,返回剩余盈利
+// BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit,igtOnHookPlanOrder.getId());
+// //平台分成
+// //平台拿走35%盈利分成和流水佣金剩下的全部
+// BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
+// BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
+// //个人固定拿走60%
+// totalProfit = totalProfit.multiply(new BigDecimal(0.6));
+// igtOnHookPlanOrder.setState(2);
+// //一次挂机剩余的全部金额
+// BigDecimal totalMoney = totalProfit.add(planAmount);
+//
+// igtOnHookPlanOrder.setProfit(totalProfit);
+// igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
+// dappMemberEntity.setIsOnHook(3);
+// dappMemberDao.updateById(dappMemberEntity);
+//
+// DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
+// BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
+// dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney);
+//
+// BigDecimal add = availableAmount.add(totalMoney);
+// BigDecimal subtract = add.subtract(totalProfit);
+// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5,igtOnHookPlanOrder.getId());
+// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
+//
+// }
//
// @Test
// public void createAwardInfo(){
--
Gitblit v1.9.1