From c633da3dea47fcf096636c66e76bc470fccb7b69 Mon Sep 17 00:00:00 2001
From: yn147 <2270338776@qq.com>
Date: 星期四, 25 五月 2023 10:41:00 +0800
Subject: [PATCH] 修改学生密码

---
 src/main/java/com/qxueyou/scc/user/service/impl/UserService.java |   76 ++++++++++++++++++++++++++-----------
 1 files changed, 53 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java b/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
index ccdb50c..f17d81e 100644
--- a/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
@@ -1,6 +1,7 @@
 package com.qxueyou.scc.user.service.impl;
 
 import java.util.List;
+import java.util.UUID;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +21,7 @@
 import com.qxueyou.scc.user.model.User;
 import com.qxueyou.scc.user.model.UserReRoleUser;
 import com.qxueyou.scc.user.service.IUserService;
+import org.springframework.util.DigestUtils;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
@@ -27,9 +29,9 @@
 import javax.servlet.http.HttpSession;
 
 /**
- * 用户管理服务
+ * 鐢ㄦ埛绠$悊鏈嶅姟
  *
- * @author 德虎
+ * @author 寰疯檸
  */
 @Service
 public class UserService extends CommonAppService implements IUserService {
@@ -38,7 +40,7 @@
     IOrganizationService organizationService;
 
     /**
-     * 初始化用户wrapper
+     * 鍒濆鍖栫敤鎴穡rapper
      */
     @Override
     public UserInfoWrapper initUserInfoWrapper(CacheParamters param, boolean needMenus) {
@@ -46,20 +48,23 @@
         HttpSession session = request.getSession();
         UserInfoWrapper wrapper = new UserInfoWrapper();
         User user = read(User.class, param.getUserId());
-//        System.out.println("用户信息"+user);
-        // TODO:这里需要对应的获取组织信息
+//        System.out.println("鐢ㄦ埛淇℃伅"+user);
+        // TODO:杩欓噷闇�瑕佸搴旂殑鑾峰彇缁勭粐淇℃伅
         Organization org = read(Organization.class, user.getOrganizationId());
-//        System.out.println("组织信息"+user.getOrganizationId());
+//        System.out.println("缁勭粐淇℃伅"+user.getOrganizationId());
 
-        //TODO 设置user,添加UUNUMBER
+        //TODO 璁剧疆user锛屾坊鍔燯UNUMBER
         user.setEmail(param.getCustomRoleValue());
         user.setAge(1);
-        //TODO 设置user,添加UURENUMBER
+        //TODO 璁剧疆user锛屾坊鍔燯URENUMBER
         user.setImei(param.getCustomOrgId());
-        //查询班级信息
+        //鏌ヨ鐝骇淇℃伅
 //        System.out.println(user.getUserId());
 //        System.out.println(user.getOrganizationId());
 //        System.out.println(StuStudent.STATUS_ACTIVE);
+        System.out.println(user.getOrganizationId());
+        System.out.println(user.getUserId());
+
         ClsClass objClsClass = this.findUnique("select c from StuStudent t,"
         		+ " ClsClass c where c.classId = t.classId "
         		+ " and c.orgId = ? and t.userId = ? and t.status = ? order by t.createTime desc", CollectionUtils.newList(user.getOrganizationId(), user.getUserId(), StuStudent.STATUS_ACTIVE), ClsClass.class);
@@ -68,8 +73,10 @@
         wrapper.setClass(objClsClass);
         wrapper.setLoginInfo(param.getCacheIpFlag(), param.getIp(), param.getPlatForm());
         session.setAttribute(UserInfoWrapper.INF_USER_ID,user.getUserId());
+        session.setAttribute(UserInfoWrapper.INF_USER_NAME,user.getName());
         if(objClsClass!=null){
             session.setAttribute(UserInfoWrapper.INF_CLASS_ID,objClsClass.getClassId());
+            session.setAttribute(UserInfoWrapper.INF_CLASS_NAME,objClsClass.getName());
         }
         return wrapper;
     }
@@ -80,13 +87,18 @@
     }
 
     private User newUser(String name, String account, String mobilePhone, String password, Boolean sex, String orgId) {
-
+        //闅忔満瀛楃涓�
+        String salt= UUID.randomUUID().toString();
         User user = new User();
         TraceUtils.setCreateTrace(user);
         user.setAccount(account);
         user.setName(name);
+        //鐩愬��
+        user.setSalt(salt);
+        //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞�
+        String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
+        user.setPassword(newPassword);
         user.setMobilePhone(mobilePhone);
-        user.setPassword(password);
         user.setSex(sex);
         user.setOrganizationId(orgId);
         save(user);
@@ -120,11 +132,18 @@
     @Override
     public Result updatePassword(String userId, String usedPass, String pass) {
         User user = read(User.class, userId);
+        //闅忔満瀛楃涓�
+        String salt= UUID.randomUUID().toString();
+        //鐩愬��
+        user.setSalt(salt);
+        //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞�
+        String newPassword= DigestUtils.md5DigestAsHex((salt+pass).getBytes());
+        String newPasswords= DigestUtils.md5DigestAsHex((salt+usedPass).getBytes());
         if (StringUtils.isNotBlank(usedPass) && StringUtils.isNotBlank(pass)) {
-            if (!user.getPassword().equals(usedPass)) {
-                return new Result(false, "输入的旧密码错误");
+            if (!user.getPassword().equals(newPasswords)) {
+                return new Result(false, "杈撳叆鐨勬棫瀵嗙爜閿欒");
             }
-            user.setPassword(pass);
+            user.setPassword(newPassword);
         }
         TraceUtils.setUpdateTrace(user);
         save(user);
@@ -133,14 +152,14 @@
     }
 
     /**
-     * 用户设置头像
+     * 鐢ㄦ埛璁剧疆澶村儚
      *
      * @param headPath
      * @return
      */
     public Result updateUserHead(String userId, String headPath) {
     	 if(StringUtils.isEmpty(headPath)) {
-    		 return new Result(false, "头像地址为空");
+    		 return new Result(false, "澶村儚鍦板潃涓虹┖");
     	 }
     	 User user = read(User.class, userId);
 
@@ -152,7 +171,7 @@
     }
 
     /**
-     * 用户设置手机号
+     * 鐢ㄦ埛璁剧疆鎵嬫満鍙�
      *
      * @param headPath
      * @return
@@ -172,8 +191,14 @@
     public Result updatePassword(String userId, String password) {
         User user = read(User.class, userId);
 
+        //闅忔満瀛楃涓�
+        String salt= UUID.randomUUID().toString();
+        //鐩愬��
+        user.setSalt(salt);
+        //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞�
+        String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
         TraceUtils.setUpdateTrace(user);
-        user.setPassword(password);
+        user.setPassword(newPassword);
 
         save(user);
 
@@ -212,13 +237,18 @@
     @Override
     public Result updateUser(String userId, String name, String account, String mobilePhone, String password,
                              Boolean sex) {
-
         User dbUser = read(User.class, userId);
-
+        String salt = dbUser.getSalt();
+        if(salt == null){
+            salt= UUID.randomUUID().toString();
+            dbUser.setSalt(salt);
+            salt = dbUser.getSalt();
+        }
+		String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
         if (dbUser.getAccount().equals(account)) {
             dbUser.setName(name);
             dbUser.setMobilePhone(mobilePhone);
-            dbUser.setPassword(password);
+            dbUser.setPassword(newPassword);
             TraceUtils.setCreateTrace(dbUser);
             save(dbUser);
             return new Result(true, "success");
@@ -226,12 +256,12 @@
 
         User user = getUserByAccount(account, ClientUtils.getOrgId());
         if (null != user) {
-            return new Result(false, "用户账号已经存在");
+            return new Result(false, "鐢ㄦ埛璐﹀彿宸茬粡瀛樺湪");
         }
         dbUser.setAccount(account);
         dbUser.setName(name);
         dbUser.setMobilePhone(mobilePhone);
-        dbUser.setPassword(password);
+        dbUser.setPassword(newPassword);
         TraceUtils.setCreateTrace(dbUser);
         save(dbUser);
         return new Result(true, "success");

--
Gitblit v1.8.0