ZQN
2024-06-24 3e11f3d28421cf9401bb42e68ed49e118e0ce5dc
用户导入
4个文件已修改
101 ■■■■ 已修改文件
project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysUserMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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'