Helius
2022-04-13 53ffb6bdb5ec6b8a0a17caf9f6019fa68df22b89
fix 后台可以无邀请码添加用户
6 files modified
81 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/entity/DappMemberEntity.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/MineProfitJob.java 9 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappMemberDao.xml 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/dapp/user.html 16 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/JunitTest.java 12 ●●●●● 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,7 +57,9 @@
    @Transactional(rollbackFor = Exception.class)
    public void add(User user) {
        User currentUser = FebsUtil.getCurrentUser();
        DappMemberEntity member = dappMemberDao.selectMemberInfoByInviteId(user.getInviteId());
        DappMemberEntity member;
        if (StrUtil.isNotBlank(user.getInviteId())) {
            member = dappMemberDao.selectMemberInfoByInviteId(user.getInviteId());
        if(member == null) {
            throw new FebsException("邀请码错误");
        }
@@ -64,6 +74,32 @@
        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">&#xe7f9;</i></a>
    <a lay-event="share" shiro:hasPermission="admin:delete"><i class="layui-icon febs-edit-area febs-blue">&#xe852;</i></a>
    <a lay-event="del" shiro:hasPermission="admin:delete" title="邀请链接"><i class="layui-icon febs-edit-area febs-red">&#xe7f9;</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);
    }
}