From cc70ac05f3fcca3b85f7860e7404bb2bfc4429a6 Mon Sep 17 00:00:00 2001 From: EricsHu <hrr145632> Date: 星期一, 29 五月 2023 14:12:10 +0800 Subject: [PATCH] 判断旧密码 --- src/main/java/com/qxueyou/scc/user/service/impl/UserService.java | 85 ++++++++++++++++++++++++++++++------------ 1 files changed, 61 insertions(+), 24 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 f22a1d7..71fab0c 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; @@ -27,9 +30,9 @@ import javax.servlet.http.HttpSession; /** - * 用户管理服务 + * 鐢ㄦ埛绠$悊鏈嶅姟 * - * @author 德虎 + * @author 寰疯檸 */ @Service public class UserService extends CommonAppService implements IUserService { @@ -37,8 +40,11 @@ @Autowired IOrganizationService organizationService; + @Autowired + private CommonDAO commonDAO; + /** - * 初始化用户wrapper + * 鍒濆鍖栫敤鎴穡rapper */ @Override public UserInfoWrapper initUserInfoWrapper(CacheParamters param, boolean needMenus) { @@ -46,20 +52,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); @@ -67,7 +76,6 @@ wrapper.setOrg(org); wrapper.setClass(objClsClass); wrapper.setLoginInfo(param.getCacheIpFlag(), param.getIp(), param.getPlatForm()); - System.out.println("aaa"+user.getUserId()); session.setAttribute(UserInfoWrapper.INF_USER_ID,user.getUserId()); session.setAttribute(UserInfoWrapper.INF_USER_NAME,user.getName()); if(objClsClass!=null){ @@ -83,13 +91,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); @@ -122,12 +135,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)) { - return new Result(false, "输入的旧密码错误"); + if (!user.getPassword().equals(newPasswords)) { + return new Result(false, "杈撳叆鐨勬棫瀵嗙爜閿欒"); } - user.setPassword(pass); + user.setPassword(newPassword); } TraceUtils.setUpdateTrace(user); save(user); @@ -136,14 +162,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); @@ -155,7 +181,7 @@ } /** - * 用户设置手机号 + * 鐢ㄦ埛璁剧疆鎵嬫満鍙� * * @param headPath * @return @@ -175,8 +201,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); @@ -215,13 +247,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"); @@ -229,12 +266,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