From b2e1bfd923974c64516f1b0ef46c4a2070a817bf Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期二, 25 六月 2024 18:03:59 +0800 Subject: [PATCH] 修改企业手机 --- project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 84 insertions(+), 10 deletions(-) diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java index dfc53ff..59b3733 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java @@ -1,5 +1,6 @@ package com.project.system.service.impl; +import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.common.annotation.DataScope; @@ -15,6 +16,7 @@ import com.project.common.utils.bean.BeanValidators; import com.project.common.utils.spring.SpringUtils; import com.project.system.domain.*; +import com.project.system.domain.bo.editBo.UserDeptBo; import com.project.system.domain.vo.SysUserResultVo; import com.project.system.domain.vo.SysUserVo; import com.project.system.mapper.*; @@ -295,9 +297,9 @@ userPostMapper.deleteUserPostByUserId(userId); // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞� insertUserPost(user); - + SysUser old = this.selectUserById(userId); // 鏂板鐢ㄦ埛涓庨儴闂ㄧ鐞� - if (!"02".equals(user.getUserType())){ + if (!"02".equals(user.getUserType()) && !old.getDeptId().equals(user.getDeptId())){ insertUserDept(user); } return userMapper.updateUser(user); @@ -396,12 +398,20 @@ */ public void insertUserDept(SysUser user) { - userDeptService.remove(userDeptService.lq() - .eq(SysUserDept::getUserId, user.getUserId()) - .eq(SysUserDept::getDeptId, user.getDeptId()) - ); - SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId()); - userDeptService.save(userDept); + if (deptService.getCheckDeptIdByLoginDeptId(user.getDeptId()).equals(user.getDeptId())) { //鍒嗙灞�鍐呮墍鏈夐儴闂� + List<SysDept> list = deptService.list(deptService.lq().eq(SysDept::getParentId, user.getDeptId())); + List<Long> deptIds = list.stream().map(SysDept::getDeptId).collect(Collectors.toList()); + deptIds.add(user.getDeptId()); + UserDeptBo bo = new UserDeptBo(); + bo.setUserId(user.getUserId()); + bo.setDeptIds(deptIds); + userDeptService.batchUserDeptSave(bo); + } else { //鍒嗙鍗曠嫭閮ㄩ棬 + userDeptService.remove(userDeptService.lq().eq(SysUserDept::getUserId, user.getUserId())); + SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId()); + userDeptService.save(userDept); + } + } /** @@ -587,6 +597,12 @@ return userMapper.resetPhone(userId, phone); } + /** + * 澶勭悊瀵煎叆鏁版嵁 + * @param list 鏁版嵁 + * @param deptId 瀵煎叆閮ㄩ棬id + * @return 缁撴灉 + */ @Override public SysUserResultVo doImport(List<SysUserVo> list, Long deptId) { @@ -602,6 +618,11 @@ return this.checkImport(resultVo); } + /** + * 鏍¢獙瀵煎叆鏁版嵁 + * @param resultVo 鏁版嵁 + * @return 缁撴灉 + */ @Override public SysUserResultVo checkImport(SysUserResultVo resultVo) { @@ -616,6 +637,11 @@ return resultVo; } + /** + * 楠岃瘉鍙傛暟 + * @param entity 鏁版嵁 + * @param errorList 閿欒鏁版嵁 + */ private void validEntityBeforeImport(SysUserVo entity, List<ImportError> errorList) { if (StringUtils.isEmpty(entity.getNickName())){ @@ -644,10 +670,58 @@ } } } + if (StringUtils.isNotEmpty(entity.getEmail())){ + SysUser check = new SysUser(); + check.setPhonenumber(entity.getPhonenumber()); + String s = checkEmailUnique(check); + if (UserConstants.NOT_UNIQUE.equals(s)) { + errorList.add(new ImportError(3, "閭宸插瓨鍦紒")); + } + } + if (StringUtils.isNotEmpty(entity.getImportSex())){ + switch (entity.getImportSex().trim()){ + case "鐢�": + entity.setSex("0"); + break; + case "濂�": + entity.setSex("1"); + break; + case "鏈煡": + entity.setSex("2"); + break; + } + } else { + entity.setSex("2"); + } + } + + /** + * 淇濆瓨瀵煎叆缁撴灉 + * @param resultVo 鏁版嵁 + * @return 缁撴灉 + */ + @Override + @Transactional + public Boolean saveImport(SysUserResultVo resultVo) + { + if (resultVo==null || StringUtils.isEmpty(resultVo.getVoList())){ + throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�"); + } + resultVo.getVoList().forEach(e-> { + if (StringUtils.isNotEmpty(e.getErrorList())) { + throw new BaseException("杩樻湁鏈鐞嗛敊璇俊鎭紒"); + } + }); + List<SysUser> users = Convert.toList(SysUser.class, resultVo.getVoList()); + for (SysUser user : users) { + this.insertUser(user); + } + return true; } @Override - public Boolean saveImport(SysUserResultVo resultVo) { - return null; + public String getDeptNameByUserId(Long userId) + { + return deptService.selectDeptById(selectUserById(userId).getDeptId()).getDeptName(); } } -- Gitblit v1.9.1