src/main/java/cc/mrbird/febs/dapp/entity/DappMemberEntity.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/job/MineProfitJob.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/dapp/DappMemberDao.xml | ●●●●● patch | view | raw | blame | history | |
src/main/resources/templates/febs/views/dapp/user.html | ●●●●● patch | view | raw | blame | history | |
src/test/java/cc/mrbird/febs/JunitTest.java | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/dapp/entity/DappMemberEntity.java
@@ -43,4 +43,6 @@ private String refererIds; private int approveCnt; private int source; } src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java
@@ -4,10 +4,15 @@ import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.FebsUtil; import cc.mrbird.febs.common.utils.Md5Util; import cc.mrbird.febs.common.utils.ShareCodeUtil; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.entity.DappUserMemberRelateEntity; import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity; import cc.mrbird.febs.dapp.entity.DappWalletMineEntity; import cc.mrbird.febs.dapp.mapper.DappMemberDao; import cc.mrbird.febs.dapp.mapper.DappUserMemberRelateDao; import cc.mrbird.febs.dapp.mapper.DappWalletCoinDao; import cc.mrbird.febs.dapp.mapper.DappWalletMineDao; import cc.mrbird.febs.dapp.service.DappMemberService; import cc.mrbird.febs.dapp.service.DappUserService; import cc.mrbird.febs.system.entity.User; @@ -22,6 +27,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -38,6 +44,8 @@ private final DappUserMemberRelateDao dappUserMemberRelateDao; private final UserMapper userMapper; private final UserRoleMapper userRoleMapper; private final DappWalletMineDao dappWalletMineDao; private final DappWalletCoinDao dappWalletCoinDao; @Override public IPage<User> findInPage(User user, QueryRequest request) { @@ -49,21 +57,49 @@ @Transactional(rollbackFor = Exception.class) public void add(User user) { User currentUser = FebsUtil.getCurrentUser(); DappMemberEntity member = dappMemberDao.selectMemberInfoByInviteId(user.getInviteId()); if(member == null) { throw new FebsException("邀请码错误"); } if (currentUser.getDeptId() == null) { DappUserMemberRelateEntity relate = dappUserMemberRelateDao.selectByUserId(currentUser.getUserId()); if (!relate.getInviteId().equals(member.getRefererId())) { throw new FebsException("该用户不是直推"); DappMemberEntity member; if (StrUtil.isNotBlank(user.getInviteId())) { member = dappMemberDao.selectMemberInfoByInviteId(user.getInviteId()); if (member == null) { throw new FebsException("邀请码错误"); } } DappUserMemberRelateEntity userMemberRelate = dappUserMemberRelateDao.selectByInviteId(user.getInviteId()); if (userMemberRelate != null) { throw new FebsException("邀请码用户已存在"); if (currentUser.getDeptId() == null) { DappUserMemberRelateEntity relate = dappUserMemberRelateDao.selectByUserId(currentUser.getUserId()); if (!relate.getInviteId().equals(member.getRefererId())) { throw new FebsException("该用户不是直推"); } } DappUserMemberRelateEntity userMemberRelate = dappUserMemberRelateDao.selectByInviteId(user.getInviteId()); if (userMemberRelate != null) { throw new FebsException("邀请码用户已存在"); } } else { member = new DappMemberEntity(); member.setSource(2); member.setApproveCnt(0); member.setBalance(BigDecimal.ZERO); member.setAddress(user.getUsername()); dappMemberDao.insert(member); member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); dappMemberDao.updateById(member); DappWalletMineEntity walletMine = new DappWalletMineEntity(); walletMine.setMemberId(member.getId()); walletMine.setTotalAmount(BigDecimal.ZERO); walletMine.setAvailableAmount(BigDecimal.ZERO); walletMine.setFrozenAmount(BigDecimal.ZERO); dappWalletMineDao.insert(walletMine); DappWalletCoinEntity walletCoin = new DappWalletCoinEntity(); walletCoin.setMemberId(member.getId()); walletCoin.setTotalAmount(BigDecimal.ZERO); walletCoin.setAvailableAmount(BigDecimal.ZERO); walletCoin.setFrozenAmount(BigDecimal.ZERO); dappWalletCoinDao.insert(walletCoin); } user.setCreateTime(new Date()); @@ -82,7 +118,7 @@ DappUserMemberRelateEntity relate = new DappUserMemberRelateEntity(); relate.setMemberId(member.getId()); relate.setUserId(user.getUserId()); relate.setInviteId(user.getInviteId()); relate.setInviteId(member.getInviteId()); relate.setCreateUser(currentUser.getUserId()); dappUserMemberRelateDao.insert(relate); } src/main/java/cc/mrbird/febs/job/MineProfitJob.java
@@ -109,7 +109,7 @@ * @param member * @param amount */ private void calAgentMoney(DappMemberEntity member, BigDecimal amount) { public void calAgentMoney(DappMemberEntity member, BigDecimal amount) { if (StrUtil.isBlank(member.getRefererIds())) { return; } @@ -118,6 +118,13 @@ for (int i = 0; i < agents.size(); i++) { DappMemberEntity agent = agents.get(i); // if ((agent.getAddress().startsWith("T") || agent.getAddress().startsWith("0x")) && agent.getAddress().length() <= 20) { // continue; // } if (agent.getSource() == 2) { continue; } BigDecimal balance = ChainService.INSTANCE.balanceOf(agent.getAddress()); if (balance.compareTo(BigDecimal.valueOf(100L)) < 0) { continue; src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -34,7 +34,7 @@ <select id="selectAllMemberForInCome" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity"> select * from dapp_member where account_status=1 where account_status=1 and source = 1 </select> <select id="selectAgentMemberList" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity"> src/main/resources/templates/febs/views/dapp/user.html
@@ -28,6 +28,8 @@ <option value="1">有效</option> </select> </div> <input id="copyShare" type="text" hidden /> </div> </div> </div> @@ -64,7 +66,8 @@ <span shiro:lacksPermission="admin:view,admin:update,admin:delete"> <span class="layui-badge-dot febs-bg-orange"></span> 无权限 </span> <a lay-event="del" shiro:hasPermission="admin:delete"><i class="layui-icon febs-edit-area febs-red"></i></a> <a lay-event="share" shiro:hasPermission="admin:delete"><i class="layui-icon febs-edit-area febs-blue"></i></a> <a lay-event="del" shiro:hasPermission="admin:delete" title="邀请链接"><i class="layui-icon febs-edit-area febs-red"></i></a> </script> <script data-th-inline="none" type="text/javascript"> layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect'], function () { @@ -194,6 +197,17 @@ } }); } if (layEvent === 'share') { var url = "https://antethvip.com/?code=" + data.inviteId; var $copyShare = $("#copyShare") $copyShare.show(); $copyShare.val(url); $copyShare.select(); document.execCommand("copy"); $copyShare.hide(); febs.alert.success('复制成功'); } }); table.on('sort(adminTable)', function (obj) { src/test/java/cc/mrbird/febs/JunitTest.java
@@ -1,9 +1,13 @@ package cc.mrbird.febs; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.mapper.DappMemberDao; import cc.mrbird.febs.job.MineProfitJob; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.math.BigDecimal; /** * @author @@ -14,9 +18,17 @@ @Autowired private MineProfitJob mineProfitJob; @Autowired private DappMemberDao dappMemberDao; @Test public void incomeTest() { mineProfitJob.start(); } @Test public void userTest() { DappMemberEntity member = dappMemberDao.selectById(6L); mineProfitJob.calAgentMoney(member, BigDecimal.TEN); } }