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