From 5073a245f53fd5ca936e779be8c6b9b19d42f67d Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 11 七月 2024 09:47:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java | 78 ++++++++++++++++++++++++++++++++------- 1 files changed, 64 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java index b626e92..a329a2b 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java @@ -1,24 +1,34 @@ package com.ycl.jxkg.service.impl; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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.User; +import com.ycl.jxkg.domain.entity.User; import com.ycl.jxkg.event.OnRegistrationCompleteEvent; import com.ycl.jxkg.mapper.UserMapper; +import com.ycl.jxkg.service.AuthenticationService; import com.ycl.jxkg.service.UserService; -import com.ycl.jxkg.vo.admin.user.UserPageRequestVO; +import com.ycl.jxkg.domain.vo.admin.user.UserPageRequestVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.BeanUtils; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.nio.charset.StandardCharsets; +import java.util.*; @Service @@ -27,6 +37,7 @@ private final UserMapper userMapper; private final ApplicationEventPublisher eventPublisher; + private final AuthenticationService authenticationService; public List<User> getUsers() { @@ -39,14 +50,6 @@ public User getUserByUserName(String username) { return userMapper.getUserByUserName(username); - } - - public int insertByFilter(User record) { - return baseMapper.insert(record); - } - - public int updateByIdFilter(User record) { - return baseMapper.updateById(record); } @Override @@ -143,4 +146,51 @@ changePictureUser.setImagePath(imagePath); userMapper.updateById(changePictureUser); } + + @Override + public void teacherRegister(RegisterForm form) { + User teacher = new User(); + BeanUtils.copyProperties(form, teacher); + teacher.setRole(RoleEnum.ADMIN.getCode()); + 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 + public void studentRegister(RegisterForm form) { + User student = new User(); + BeanUtils.copyProperties(form, student); + student.setRole(RoleEnum.ADMIN.getCode()); + 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(); + } } -- Gitblit v1.8.0