From bef4f6d51bff03c0512a75f43e79699b7296f1fa Mon Sep 17 00:00:00 2001 From: EricsHu <hrr145632> Date: 星期四, 23 十一月 2023 18:00:53 +0800 Subject: [PATCH] 修改系统角色逻辑、和老师身份逻辑 --- src/main/java/com/qxueyou/scc/user/service/impl/UserService.java | 71 ++++++++++++++++++++++++++++++----- 1 files changed, 60 insertions(+), 11 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 3610bfb..467e05d 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,7 +1,9 @@ package com.qxueyou.scc.user.service.impl; import java.util.List; +import java.util.UUID; +import com.qxueyou.scc.base.dao.CommonDAO; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +22,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; @@ -36,6 +39,9 @@ @Autowired IOrganizationService organizationService; + + @Autowired + private CommonDAO commonDAO; /** * 鍒濆鍖栫敤鎴穡rapper @@ -63,8 +69,12 @@ System.out.println(user.getOrganizationId()); System.out.println(user.getUserId()); +// String hql = "from UserReRoleUser u where deleteFlag is false and userId = ? "; +// +// find(hql, CollectionUtils.newList(param.getUserId()), UserReRoleUser.class); + ClsClass objClsClass = this.findUnique("select c from StuStudent t," - + " ClsClass c where c.classId = t.classId " + + "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); wrapper.setUser(user); wrapper.setOrg(org); @@ -85,13 +95,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); @@ -124,12 +139,25 @@ @Override public Result updatePassword(String userId, String usedPass, String pass) { + String hql = null; + + List<Object> params = null; + User user = read(User.class, userId); + //闅忔満瀛楃涓� + String salt= UUID.randomUUID().toString(); + + String salts = user.getSalt(); + //鐩愬�� + user.setSalt(salt); + //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞� + String newPassword= DigestUtils.md5DigestAsHex((salt+pass).getBytes()); + String newPasswords= DigestUtils.md5DigestAsHex((salts+usedPass).getBytes()); if (StringUtils.isNotBlank(usedPass) && StringUtils.isNotBlank(pass)) { - if (!user.getPassword().equals(usedPass)) { + if (!user.getPassword().equals(newPasswords)) { return new Result(false, "杈撳叆鐨勬棫瀵嗙爜閿欒"); } - user.setPassword(pass); + user.setPassword(newPassword); } TraceUtils.setUpdateTrace(user); save(user); @@ -159,7 +187,7 @@ /** * 鐢ㄦ埛璁剧疆鎵嬫満鍙� * - * @param headPath + * @param * @return */ public Result updateUserInfo(String userId, String mobilePhone) { @@ -177,8 +205,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); @@ -217,13 +251,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"); @@ -236,7 +275,7 @@ 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"); @@ -247,4 +286,14 @@ return findCount("from User where account = ?", CollectionUtils.newList(account)) > 0; } + @Override + public Result countUser() { + String hql = "from count User where sex=? and deleteFlag is false"; + return new Result(true,findCount(hql,CollectionUtils.newList(1))); + } + @Override + public Result countUsersex() { + String hql = "from count User where sex=? and deleteFlag is false"; + return new Result(true,findCount(hql,CollectionUtils.newList(0))); + } } -- Gitblit v1.8.0