From 4c6bdb8c18e27d7fa48b4a98236a1f5a8a12a479 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 11 七月 2024 11:57:57 +0800
Subject: [PATCH] 单独提出用户接口做共用接口
---
src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java | 81 +++++++++++++++++++++++++++++++++-------
1 files changed, 67 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..1d7b664 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
@@ -86,6 +89,7 @@
@Override
public void insertUser(User user) {
+ user.setLastUpdatePasswordTime(new Date());
userMapper.insert(user);
eventPublisher.publishEvent(new OnRegistrationCompleteEvent(user));
}
@@ -93,6 +97,9 @@
@Override
@Transactional(rollbackFor = BusinessException.class)
public void insertUsers(List<User> users) {
+ users.stream().forEach(item -> {
+ item.setLastUpdatePasswordTime(new Date());
+ });
userMapper.insertUsers(users);
throw new BusinessException("test BusinessException roll back");
}
@@ -143,4 +150,50 @@
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::getLastUpdatePasswordTime, new Date())
+ .update();
+ }
}
--
Gitblit v1.8.0