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; import cc.mrbird.febs.dapp.mapper.DappMemberDao; import cc.mrbird.febs.dapp.mapper.DappUserMemberRelateDao; 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.util.Date; import java.util.List; /** * @author wzy * @date 2022-03-24 **/ @Slf4j @Service @RequiredArgsConstructor public class DappUserServiceImpl implements DappUserService { private final DappMemberDao dappMemberDao; private final DappUserMemberRelateDao dappUserMemberRelateDao; private final UserMapper userMapper; private final UserRoleMapper userRoleMapper; @Override public IPage findInPage(User user, QueryRequest request) { Page 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.setCreateTime(new Date()); user.setStatus(User.STATUS_VALID); user.setAvatar(User.DEFAULT_AVATAR); user.setTheme(User.THEME_BLACK); user.setIsTab(User.TAB_OPEN); user.setPassword(Md5Util.encrypt(user.getUsername(), User.DEFAULT_PASSWORD)); userMapper.insert(user); UserRole userRole = new UserRole(); userRole.setRoleId(81L); userRole.setUserId(user.getUserId()); userRoleMapper.insert(userRole); User currentUser = FebsUtil.getCurrentUser(); DappUserMemberRelateEntity relate = new DappUserMemberRelateEntity(); 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 idsList = StrUtil.split(ids, ','); userMapper.deleteBatchIds(idsList); dappUserMemberRelateDao.deleteByUserIds(idsList); } }