From 931e45f5f78494c7af4cab75053da49b57f22fbe Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期一, 13 十月 2025 14:31:43 +0800 Subject: [PATCH] 定时自动叫号 与 WMS获取车辆是否在园接口开发 --- server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 76 +++++++++++++++++++++++++++++++++++--- 1 files changed, 70 insertions(+), 6 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 5b6a153..24784ff 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,24 +1,28 @@ 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.service.business.third.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; @@ -27,13 +31,18 @@ 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 SystemUserService systemUserService; + @Autowired + private JwtProperties jwtProperties; @Autowired private SystemUserRoleService systemUserRoleService; @@ -81,6 +90,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 +109,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 +138,7 @@ updateUserDto.setId(dto.getId()); updateUserDto.setUpdateUser(dto.getOperaUserId()); updateUserDto.setPassword(Utils.Secure.encryptPassword(dto.getPassword(), systemUser.getSalt())); + updateUserDto.setNeedChangePwd(dto.getNeedChangePwd()); systemUserService.updateById(updateUserDto); } @@ -132,11 +163,23 @@ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿銆�"+systemUser.getEmpNo()+"銆戝凡瀛樺湪"); } } + //楠岃瘉鎵嬫満鍙� + if (StringUtils.isNotBlank(systemUser.getMobile())) { + queryUserDto = new SystemUser(); + queryUserDto.setDeleted(Boolean.FALSE); + queryUserDto.setMobile(systemUser.getMobile()); + user = systemUserService.findOne(queryUserDto); + if (user != null) { + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+systemUser.getMobile()+"銆戝凡瀛樺湪"); + } + } // 鐢熸垚瀵嗙爜鐩� String salt = RandomStringUtils.randomAlphabetic(6); // 鐢熸垚瀵嗙爜 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); @@ -196,6 +239,16 @@ user = systemUserService.findOne(queryUserDto); if (user != null && !user.getId().equals(systemUser.getId())) { throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿銆�"+systemUser.getEmpNo()+"銆戝凡瀛樺湪"); + } + } + //楠岃瘉鎵嬫満鍙� + if (StringUtils.isNotBlank(systemUser.getMobile())) { + queryUserDto = new SystemUser(); + queryUserDto.setMobile(systemUser.getMobile()); + queryUserDto.setDeleted(Boolean.FALSE); + user = systemUserService.findOne(queryUserDto); + if (user != null && !user.getId().equals(systemUser.getId())) { + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+systemUser.getMobile()+"銆戝凡瀛樺湪"); } } // 淇敼鐢ㄦ埛 @@ -262,20 +315,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); @@ -296,7 +356,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