From 1ae471941bbdf9dde5dba668d33acf415fc6ec07 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 21 十月 2024 16:54:48 +0800 Subject: [PATCH] 最新版本541200007 --- server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 49 insertions(+), 4 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java index 71edf44..20e8eda 100644 --- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java +++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java @@ -1,37 +1,48 @@ package com.doumee.biz.system.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.biz.system.SystemUserBiz; +import com.doumee.config.jwt.JwtProperties; import com.doumee.core.annotation.excel.ExcelImporter; import com.doumee.core.exception.BusinessException; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.PwdCheckUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.system.SystemDepartmentUserMapper; import com.doumee.dao.system.dto.*; import com.doumee.dao.system.dto.UpdatePwdDto; import com.doumee.dao.system.model.*; import com.doumee.service.system.*; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @Service +@Slf4j public class SystemUserBizImpl implements SystemUserBiz { - + @Autowired + private RedisTemplate<String,Object> redisTemplate; + @Autowired + private JwtProperties jwtProperties; @Autowired private SystemUserService systemUserService; @@ -81,6 +92,13 @@ @Override public void updatePwd(UpdatePwdDto dto) { + //鐧诲綍瀵嗙爜澶嶆潅搴︽牎楠岋細6-20涓瓧绗︼紝鑷冲皯鍖呭惈瀛楁瘝銆佹暟瀛楀強鐗规畩瀛楃2绉� + if(StringUtils.isBlank(dto.getNewPwd()) + ||dto.getNewPwd().length()>20 + ||dto.getNewPwd().length()<6 + ||!PwdCheckUtil.checkPassword(dto.getNewPwd())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝瀵嗙爜澶嶆潅搴︿笉婊¤冻瑕佹眰锛�6-20涓瓧绗︼紝鑷冲皯鍖呭惈瀛楁瘝銆佹暟瀛楀強鐗规畩瀛楃2绉�"); + } SystemUser user = systemUserService.findById(dto.getUserId()); if (user.getDeleted()) { throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鐢ㄦ埛涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎"); @@ -93,7 +111,21 @@ SystemUser newUser = new SystemUser(); newUser.setId(dto.getUserId()); newUser.setPassword(Utils.Secure.encryptPassword(dto.getNewPwd(), user.getSalt())); + newUser.setNeedChangePwd(Constants.ONE); systemUserService.updateById(newUser); + + log.info("===================鏇存柊淇℃伅"); + try { +// log.error("redisTemplate:["+redisTemplate+"]\njwtProperties=:["+jwtProperties+"]\n"+"token:["+dto.getToken()+"]\nuser:"+dto.getLoginUserInfo()); + if(redisTemplate!=null&&dto.getToken() !=null &&dto.getLoginUserInfo()!=null && jwtProperties!=null){ + dto.getLoginUserInfo().setNeedChangePwd(Constants.ONE); + redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+dto.getToken(),JSONObject.toJSONString(dto.getLoginUserInfo()),jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); + } + }catch (Exception e){ +// log.error("redisTemplate:["+redisTemplate+"]\njwtProperties=:["+jwtProperties+"]\n"+"token:["+dto.getToken()+"]\nuser:"+dto.getLoginUserInfo()); + e.printStackTrace(); + } + } @Override @@ -108,6 +140,7 @@ updateUserDto.setId(dto.getId()); updateUserDto.setUpdateUser(dto.getOperaUserId()); updateUserDto.setPassword(Utils.Secure.encryptPassword(dto.getPassword(), systemUser.getSalt())); + updateUserDto.setNeedChangePwd(Constants.ZERO); systemUserService.updateById(updateUserDto); } @@ -138,6 +171,7 @@ systemUser.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt)); systemUser.setSalt(salt); systemUser.setSource(Constants.ZERO); + systemUser.setNeedChangePwd(Constants.ZERO); // 鍒涘缓鐢ㄦ埛璁板綍 systemUser.setType(Constants.ZERO); @@ -263,20 +297,27 @@ .filter(s->StringUtils.isNotBlank(s)) .distinct() .collect(Collectors.toList()); + String pwd =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(); if (!CollectionUtils.isEmpty(collect)){ QueryWrapper<SystemDepartment> wrapper = new QueryWrapper<>(); wrapper.lambda().in(SystemDepartment::getName,collect); List<SystemDepartment> systemDepartments = systemDepartmentService.findList(wrapper); Map<Integer, String> collect1 = systemDepartments.stream().collect(Collectors.toMap(s -> s.getId(), s -> s.getName())); - + // 鐢熸垚瀵嗙爜鐩� dataList.forEach(s->{ + CreateSystemUserDTO systemUser = new CreateSystemUserDTO(); systemUser.setDepartmentId(getKey(collect1,s.getDepartmentName())); systemUser.setUsername(s.getUsername()); systemUser.setRealname(s.getUsername()); systemUser.setEmpNo(s.getEmpNo()); systemUser.setMobile(s.getMobile()); - systemUser.setPassword(s.getMobile()); + String salt = RandomStringUtils.randomAlphabetic(6); +// systemUser.setPassword(s.getMobile()); + // 鐢熸垚瀵嗙爜 String pwd =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(); + systemUser.setPassword(Utils.Secure.encryptPassword(pwd, salt)); + systemUser.setNeedChangePwd(Constants.ZERO); + systemUser.setSalt(salt); systemUser.setCreateUser(loginUserInfo.getId()); systemUser.setUpdateUser(loginUserInfo.getId()); systemUser.setType(Constants.ZERO); @@ -297,7 +338,11 @@ systemUser.setRealname(s.getUsername()); systemUser.setEmpNo(s.getEmpNo()); systemUser.setMobile(s.getMobile()); - systemUser.setPassword(s.getMobile()); + // 鐢熸垚瀵嗙爜 String pwd =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(); + String salt = RandomStringUtils.randomAlphabetic(6); + systemUser.setPassword(Utils.Secure.encryptPassword(pwd, salt)); + systemUser.setNeedChangePwd(Constants.ZERO); +// systemUser.setPassword(s.getMobile()); systemUser.setCreateUser(loginUserInfo.getId()); systemUser.setUpdateUser(loginUserInfo.getId()); systemUser.setType(Constants.ZERO); -- Gitblit v1.9.3