From 3e11f3d28421cf9401bb42e68ed49e118e0ce5dc Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期一, 24 六月 2024 16:40:08 +0800 Subject: [PATCH] 用户导入 --- project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java | 31 ++++++++------- project-system/src/main/resources/mapper/system/SysUserMapper.xml | 2 project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 63 ++++++++++++++++++++++++++++++- project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java | 5 ++ 4 files changed, 82 insertions(+), 19 deletions(-) diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java index 3175f4f..4379306 100644 --- a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java +++ b/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); + } } diff --git a/project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java b/project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java index 01ef4bf..adc0935 100644 --- a/project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java +++ b/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; 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..e928983 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; @@ -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; } } diff --git a/project-system/src/main/resources/mapper/system/SysUserMapper.xml b/project-system/src/main/resources/mapper/system/SysUserMapper.xml index 478a8c2..42e47cc 100644 --- a/project-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/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' -- Gitblit v1.9.1