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 | 108 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 72 insertions(+), 36 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 08e7159..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,66 +1,55 @@ 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.repository.UserMapper; +import com.ycl.jxkg.mapper.UserMapper; +import com.ycl.jxkg.service.AuthenticationService; import com.ycl.jxkg.service.UserService; -import com.ycl.jxkg.viewmodel.admin.user.UserPageRequestVM; +import com.ycl.jxkg.domain.vo.admin.user.UserPageRequestVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; +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 -public class UserServiceImpl extends BaseServiceImpl<User> implements UserService { +@RequiredArgsConstructor +public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { private final UserMapper userMapper; private final ApplicationEventPublisher eventPublisher; - - @Autowired - public UserServiceImpl(UserMapper userMapper, ApplicationEventPublisher eventPublisher) { - super(userMapper); - this.userMapper = userMapper; - this.eventPublisher = eventPublisher; - } + private final AuthenticationService authenticationService; - @Override public List<User> getUsers() { return userMapper.getAllUser(); } - @Override public User getUserById(Integer id) { return userMapper.getUserById(id); } - @Override public User getUserByUserName(String username) { return userMapper.getUserByUserName(username); - } - - @Override - public int insertByFilter(User record) { - return super.insertByFilter(record); - } - - @Override - public int updateByIdFilter(User record) { - return super.updateByIdFilter(record); - } - - @Override - public int updateById(User record) { - return super.updateById(record); } @Override @@ -91,7 +80,7 @@ @Override - public PageInfo<User> userPage(UserPageRequestVM requestVM) { + public PageInfo<User> userPage(UserPageRequestVO requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> userMapper.userPage(requestVM) ); @@ -100,7 +89,7 @@ @Override public void insertUser(User user) { - userMapper.insertSelective(user); + userMapper.insert(user); eventPublisher.publishEvent(new OnRegistrationCompleteEvent(user)); } @@ -155,6 +144,53 @@ User changePictureUser = new User(); changePictureUser.setId(user.getId()); changePictureUser.setImagePath(imagePath); - userMapper.updateByPrimaryKeySelective(changePictureUser); + 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