From 3e11f3d28421cf9401bb42e68ed49e118e0ce5dc Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期一, 24 六月 2024 16:40:08 +0800
Subject: [PATCH] 用户导入

---
 project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 2 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..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;
     }
 }

--
Gitblit v1.9.1