From 9a7ee496344f044c89deddb70600b7e4d6017e1f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 09 七月 2024 17:37:16 +0800
Subject: [PATCH] 密码强制修改实现

---
 src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 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 1b25a59..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,17 +1,22 @@
 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.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.domain.vo.admin.user.UserPageRequestVO;
 import com.github.pagehelper.PageHelper;
@@ -22,6 +27,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.nio.charset.StandardCharsets;
 import java.util.*;
 
 
@@ -31,6 +37,7 @@
 
     private final UserMapper userMapper;
     private final ApplicationEventPublisher eventPublisher;
+    private final AuthenticationService authenticationService;
 
 
     public List<User> getUsers() {
@@ -176,4 +183,14 @@
     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