From 05d0f9270936df6eb6af19bc3ee7f5ec42acf0df Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Sat, 30 Jul 2022 23:43:30 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 78 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java index 0717ace..d0c2853 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java @@ -1,25 +1,38 @@ package cc.mrbird.febs.dapp.service.impl; +import cc.mrbird.febs.common.entity.QueryRequest; 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; import cc.mrbird.febs.system.entity.UserRole; import cc.mrbird.febs.system.mapper.UserMapper; import cc.mrbird.febs.system.mapper.UserRoleMapper; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** - * @author wzy + * @author * @date 2022-03-24 **/ @Slf4j @@ -31,12 +44,62 @@ 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) { + Page<User> page = new Page<>(request.getPageNum(), request.getPageSize()); + return userMapper.selectDappUserInPage(user, page); + } + + @Override + @Transactional(rollbackFor = Exception.class) public void add(User user) { - DappMemberEntity member = dappMemberDao.selectMemberInfoByInviteId(user.getInviteId()); - if(member == null) { - throw new FebsException("邀请码错误"); + User currentUser = FebsUtil.getCurrentUser(); + DappMemberEntity member; + if (StrUtil.isNotBlank(user.getInviteId())) { + 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("该用户不是直推"); + } + } + + 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()); @@ -48,14 +111,23 @@ userMapper.insert(user); UserRole userRole = new UserRole(); - userRole.setRoleId(Long.parseLong(user.getRoleId())); + userRole.setRoleId(81L); userRole.setUserId(user.getUserId()); userRoleMapper.insert(userRole); 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); } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String ids) { + List<String> idsList = StrUtil.split(ids, ','); + userMapper.deleteBatchIds(idsList); + dappUserMemberRelateDao.deleteByUserIds(idsList); + } } -- Gitblit v1.9.1