|
@@ -10,7 +10,11 @@ import com.zjugis.framework.common.exception.ServiceException;
|
|
|
import com.zjugis.framework.common.pojo.PageResult;
|
|
|
import com.zjugis.framework.common.util.collection.CollectionUtils;
|
|
|
import com.zjugis.framework.datapermission.core.util.DataPermissionUtils;
|
|
|
+import com.zjugis.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
+import com.zjugis.framework.web.core.util.WebFrameworkUtils;
|
|
|
import com.zjugis.module.infra.api.file.FileApi;
|
|
|
+import com.zjugis.module.system.api.user.dto.UserBaseDTO;
|
|
|
+import com.zjugis.module.system.api.user.dto.UserUpdateDTO;
|
|
|
import com.zjugis.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
|
|
import com.zjugis.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
|
|
import com.zjugis.module.system.controller.admin.user.vo.user.*;
|
|
@@ -43,6 +47,7 @@ import java.util.*;
|
|
|
import static com.zjugis.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static com.zjugis.framework.common.util.collection.CollectionUtils.convertList;
|
|
|
import static com.zjugis.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
+import static com.zjugis.framework.common.util.collection.SetUtils.asSet;
|
|
|
import static com.zjugis.module.system.enums.ErrorCodeConstants.*;
|
|
|
|
|
|
/**
|
|
@@ -499,7 +504,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
userDept.setDeptId(reqVO.getMinorDeptId());
|
|
|
userDeptMapper.insert(userDept);
|
|
|
List<String> deptIds = adminUserDO.getDeptIds();
|
|
|
- if(CollectionUtil.isEmpty(deptIds)){
|
|
|
+ if (CollectionUtil.isEmpty(deptIds)) {
|
|
|
deptIds = new ArrayList<>();
|
|
|
}
|
|
|
deptIds.add(reqVO.getMinorDeptId());
|
|
@@ -521,6 +526,64 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
userMapper.updateById(adminUserDO);
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public void updateUserDept(UserUpdateDTO dto) {
|
|
|
+ //校验用户是否存在
|
|
|
+ AdminUserDO user = validateUserExists(dto.getUserId());
|
|
|
+
|
|
|
+ //查看企业是否有变更 有就更新没有就新增
|
|
|
+ if (!user.getDeptId().equals(dto.getDeptId())) {
|
|
|
+ //查部门关联关系
|
|
|
+ UserDeptDO userDeptDO = userDeptMapper.getByUserIdAndDeptId(user.getId(), user.getDeptId());
|
|
|
+ if (userDeptDO != null) {
|
|
|
+ userDeptDO.setDeptId(dto.getDeptId());
|
|
|
+ userDeptMapper.updateById(userDeptDO);
|
|
|
+ } else {
|
|
|
+ userDeptDO = new UserDeptDO();
|
|
|
+ userDeptDO.setUserId(dto.getUserId());
|
|
|
+ userDeptDO.setDeptId(dto.getDeptId());
|
|
|
+ userDeptMapper.insert(userDeptDO);
|
|
|
+ }
|
|
|
+ user.setDeptId(dto.getDeptId());
|
|
|
+ userMapper.updateById(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public String createUserAndDeptPost(UserBaseDTO dto) {
|
|
|
+ String userId;
|
|
|
+ //员工账号 存在就变更状态 不存在就新增
|
|
|
+ if (StrUtil.isNotEmpty(dto.getUserId())) {
|
|
|
+ AdminUserDO user = validateUserExists(dto.getUserId());
|
|
|
+ user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 开启账号
|
|
|
+ user.setPassword(encodePassword(userInitPassword)); // 默认密码
|
|
|
+ user.setUpdateTime(LocalDateTime.now());
|
|
|
+ user.setUpdater(WebFrameworkUtils.getLoginUserId());
|
|
|
+ userMapper.updateById(user); //数据更新
|
|
|
+ userId = dto.getUserId();
|
|
|
+ } else {
|
|
|
+ //新增用户
|
|
|
+ UserCreateReqVO vo = UserConvert.INSTANCE.convertRPC(dto);
|
|
|
+ vo.setPassword(userInitPassword);
|
|
|
+ userId = createUser(vo); //新增
|
|
|
+ }
|
|
|
+
|
|
|
+ //员工部门
|
|
|
+ UserUpdateDTO userDept = new UserUpdateDTO();
|
|
|
+ userDept.setUserId(userId);
|
|
|
+ userDept.setDeptId(dto.getDeptId());
|
|
|
+ updateUserDept(userDept);
|
|
|
+
|
|
|
+
|
|
|
+ //员工角色新增
|
|
|
+ Set<Long> roleIds = asSet(2L); //角色全部默认为普通员工
|
|
|
+ permissionService.assignUserRole(userId, roleIds);
|
|
|
+ return userId;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 对密码进行加密
|
|
|
*
|