From 06d334585a2174726e3574ea939e10beec620bae Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 02 Apr 2022 17:55:39 +0800
Subject: [PATCH] fix some bug and problem and add agent return

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappUserServiceImpl.java |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 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..f4f40ac 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,6 +1,8 @@
 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.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DappUserMemberRelateEntity;
@@ -12,11 +14,16 @@
 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.util.Date;
+import java.util.List;
 
 /**
  * @author wzy
@@ -33,10 +40,30 @@
     private final UserRoleMapper userRoleMapper;
 
     @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) {
+        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("该用户不是直推");
+            }
+        }
+
+        DappUserMemberRelateEntity userMemberRelate = dappUserMemberRelateDao.selectByInviteId(user.getInviteId());
+        if (userMemberRelate != null) {
+            throw new FebsException("邀请码用户已存在");
         }
 
         user.setCreateTime(new Date());
@@ -48,7 +75,7 @@
         userMapper.insert(user);
 
         UserRole userRole = new UserRole();
-        userRole.setRoleId(Long.parseLong(user.getRoleId()));
+        userRole.setRoleId(81L);
         userRole.setUserId(user.getUserId());
         userRoleMapper.insert(userRole);
 
@@ -56,6 +83,15 @@
         relate.setMemberId(member.getId());
         relate.setUserId(user.getUserId());
         relate.setInviteId(user.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