xiangpei
2024-07-11 5073a245f53fd5ca936e779be8c6b9b19d42f67d
src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java
@@ -1,10 +1,17 @@
package com.ycl.jxkg.service.impl;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.jxkg.domain.enums.RoleEnum;
import com.ycl.jxkg.domain.enums.UserStatusEnum;
import com.qiniu.util.Md5;
import com.ycl.jxkg.domain.entity.UserEventLog;
import com.ycl.jxkg.domain.form.UpdatePwdForm;
import com.ycl.jxkg.enums.RoleEnum;
import com.ycl.jxkg.enums.UserStatusEnum;
import com.ycl.jxkg.domain.form.RegisterForm;
import com.ycl.jxkg.domain.other.KeyValue;
import com.ycl.jxkg.domain.vo.StudentVO;
import com.ycl.jxkg.enums.general.YesOrNoEnum;
import com.ycl.jxkg.event.UserEvent;
import com.ycl.jxkg.exception.BusinessException;
import com.ycl.jxkg.domain.entity.User;
import com.ycl.jxkg.event.OnRegistrationCompleteEvent;
@@ -20,6 +27,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.nio.charset.StandardCharsets;
import java.util.*;
@@ -144,12 +152,15 @@
        User teacher = new User();
        BeanUtils.copyProperties(form, teacher);
        teacher.setRole(RoleEnum.ADMIN.getCode());
        teacher.setPassword(authenticationService.pwdEncode(form.getPassword()));
        teacher.setUserUuid(UUID.randomUUID().toString());
        teacher.setLastActiveTime(new Date());
        teacher.setStatus(UserStatusEnum.Enable.getCode());
        teacher.setDeleted(0);
        this.insertUser(teacher);
        // 发布注册事件,保存注册日志
        UserEventLog userEventLog = new UserEventLog(teacher.getId(), teacher.getUserName(), teacher.getRealName(), new Date());
        userEventLog.setContent("欢迎 " + teacher.getUserName() + " 注册来到江西空管音视频培训系统");
        eventPublisher.publishEvent(new UserEvent(userEventLog));
    }
    @Override
@@ -157,11 +168,29 @@
        User student = new User();
        BeanUtils.copyProperties(form, student);
        student.setRole(RoleEnum.ADMIN.getCode());
        student.setPassword(authenticationService.pwdEncode(form.getPassword()));
        student.setUserUuid(UUID.randomUUID().toString());
        student.setLastActiveTime(new Date());
        student.setStatus(UserStatusEnum.Enable.getCode());
        student.setDeleted(0);
        this.insertUser(student);
        // 发布注册事件,保存注册日志
        UserEventLog userEventLog = new UserEventLog(student.getId(), student.getUserName(), student.getRealName(), new Date());
        userEventLog.setContent("欢迎 " + student.getUserName() + " 注册来到江西空管音视频培训系统");
        eventPublisher.publishEvent(new UserEvent(userEventLog));
    }
    @Override
    public List<StudentVO> classesStudent(Integer classesId) {
        return userMapper.classesStudent(classesId);
    }
    @Override
    public void updatePassword(UpdatePwdForm form) {
        new LambdaUpdateChainWrapper<>(baseMapper)
                .eq(User::getId, form.getUserId())
                .set(User::getPassword, authenticationService.pwdEncode(form.getNewPassword()))
                .set(User::getNeedUpdatePassword, YesOrNoEnum.NO)
                .set(User::getLastUpdatePasswordTime, new Date())
                .update();
    }
}