From ce2381119e714643d5393035c3e30ad0bcaa5bd2 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 17 Jun 2024 15:11:05 +0800
Subject: [PATCH] 后台
---
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