孔祥富
2021-03-08 4e52cb2253af9a22571c7d0c239ee283178d2fd4
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java
@@ -15,12 +15,14 @@
import cc.mrbird.febs.server.system.service.IUserRoleService;
import cc.mrbird.febs.server.system.service.IUserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.LambdaUtil;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -76,7 +78,13 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void createUser(SystemUser user) {
    public void createUser(SystemUser user) throws FebsException {
        LambdaQueryWrapper<SystemUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(SystemUser::getCertificateNumb, user.getCertificateNumb());
        lambdaQueryWrapper.eq(SystemUser::getUsername, user.getUsername());
        if (this.count(lambdaQueryWrapper) > 0) {
            throw new FebsException("此用户已存在");
        }
        // 创建用户
        user.setCreateTime(new Date());
        user.setAvatar(SystemUser.DEFAULT_AVATAR);
@@ -96,7 +104,14 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateUser(SystemUser user) {
    public void updateUser(SystemUser user) throws FebsException {
        LambdaQueryWrapper<SystemUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(SystemUser::getCertificateNumb, user.getCertificateNumb());
        lambdaQueryWrapper.eq(SystemUser::getUsername, user.getUsername());
        lambdaQueryWrapper.ne(SystemUser::getUserId,user.getUserId());
        if (this.count(lambdaQueryWrapper) > 0) {
            throw new FebsException("此用户已存在");
        }
        // 更新用户
        user.setPassword(null);
        user.setUsername(null);
@@ -192,4 +207,15 @@
        CurrentUser currentUser = FebsUtil.getCurrentUser();
        return currentUser != null && id.equals(currentUser.getUserId());
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateUserByCertificateNumb(String certificateNumb) {
        LambdaUpdateWrapper<SystemUser> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        lambdaUpdateWrapper.eq(SystemUser::getCertificateNumb,certificateNumb);
        lambdaUpdateWrapper.set(SystemUser::getStatus,0);
        lambdaUpdateWrapper.set(SystemUser::getModifyTime,new Date());
        this.update(lambdaUpdateWrapper);
    }
}