project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
@@ -13,6 +13,7 @@ import com.project.common.utils.StringUtils; import com.project.common.utils.poi.ExcelUtil; 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.service.*; import io.swagger.annotations.ApiImplicitParam; @@ -313,20 +314,20 @@ return AjaxResult.success(userService.doImport(list, deptId)); } // @ApiOperation(value = "校验导入信息") // @Log(title = "导入用户信息校验" , businessType = BusinessType.OTHER) // @PostMapping("/checkImport") // public AjaxResult checkImport(@RequestBody SysCompanyResultVo resultVo) // { // return AjaxResult.success(userService.checkImport(resultVo)); // } // // @ApiOperation(value = "保存导入信息") // @Log(title = "导入用户信息保存" , businessType = BusinessType.IMPORT) // @PostMapping("/saveImport") // public AjaxResult saveImport(@RequestBody SysCompanyResultVo resultVo) // { // return toAjax(userService.saveImport(resultVo) ? 1 : 0); // } @ApiOperation(value = "校验导入信息") @Log(title = "导入用户信息校验" , businessType = BusinessType.OTHER) @PostMapping("/checkImport") public AjaxResult checkImport(@RequestBody SysUserResultVo resultVo) { return AjaxResult.success(userService.checkImport(resultVo)); } @ApiOperation(value = "保存导入信息") @Log(title = "导入用户信息保存" , businessType = BusinessType.IMPORT) @PostMapping("/saveImport") public AjaxResult saveImport(@RequestBody SysUserResultVo resultVo) { return toAjax(userService.saveImport(resultVo) ? 1 : 0); } } project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java
@@ -37,7 +37,7 @@ @Excel(name = "性别") @ApiModelProperty("性别") private String sex; private String ImportSex; @Excel(name = "备注") @ApiModelProperty("备注") @@ -50,6 +50,9 @@ @ApiModelProperty("用户id") private Long userId; @ApiModelProperty("性别") private String sex; @ApiModelProperty("错误信息数据") private List<ImportError> errorList; 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; @@ -587,6 +588,12 @@ return userMapper.resetPhone(userId, phone); } /** * 处理导入数据 * @param list 数据 * @param deptId 导入部门id * @return 结果 */ @Override public SysUserResultVo doImport(List<SysUserVo> list, Long deptId) { @@ -602,6 +609,11 @@ return this.checkImport(resultVo); } /** * 校验导入数据 * @param resultVo 数据 * @return 结果 */ @Override public SysUserResultVo checkImport(SysUserResultVo resultVo) { @@ -616,6 +628,11 @@ return resultVo; } /** * 验证参数 * @param entity 数据 * @param errorList 错误数据 */ private void validEntityBeforeImport(SysUserVo entity, List<ImportError> errorList) { if (StringUtils.isEmpty(entity.getNickName())){ @@ -644,10 +661,52 @@ } } } 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 public Boolean saveImport(SysUserResultVo resultVo) { return null; @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; } } project-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -250,7 +250,7 @@ from sys_user u join sys_user_role ur on u.user_id = ur.user_id join sys_role r on r.role_id = ur.role_id join sys_user_dept ud on u.user_id = ud.dept_id join sys_user_dept ud on u.user_id = ud.user_id where u.user_type != '02' and u.status='0'