Kaynağa Gözat

1、代理人增加导入功能

ligang134 3 yıl önce
ebeveyn
işleme
f59122fc44

+ 85 - 4
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -13,10 +13,7 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.*;
 import com.ydtech.modules.admin.model.dto.AgentUserDto;
 import com.ydtech.modules.admin.model.dto.SysUserDto;
-import com.ydtech.modules.admin.service.SysDeptService;
-import com.ydtech.modules.admin.service.SysUserInfoService;
-import com.ydtech.modules.admin.service.SysUserRoleService;
-import com.ydtech.modules.admin.service.SysUserService;
+import com.ydtech.modules.admin.service.*;
 import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.model.vo.SysUserVO;
 import com.ydtech.modules.base.controller.BaseController;
@@ -26,18 +23,23 @@ import com.ydtech.modules.esm.model.EsmUserReferrer;
 import com.ydtech.modules.esm.model.vo.UserRegistVO;
 import com.ydtech.modules.esm.service.EsmUserInternalService;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
+import com.ydtech.modules.inv.model.dto.InvInsChinaCoalExcelDto;
 import com.ydtech.security.utils.PasswordUtils;
 import com.ydtech.utils.StringUtils;
+import com.ydtech.utils.excel.ExcelUtils2;
 import com.ydtech.utils.idgen.IdGenerate;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import static com.ydtech.constants.RedisConstant.PHONE_VERIFICATION_CODE_KEY;
 
@@ -68,6 +70,8 @@ public class SysUserController extends BaseController {
     private StringRedisTemplate stringRedisTemplate;
     @Autowired
     private EsmUserReferrerService esmUserReferrerService;
+    @Autowired
+    private SysRoleService sysRoleService;
 
 
     //    @PreAuthorize("hasAuthority('sys:user:delete')")
@@ -595,6 +599,83 @@ public class SysUserController extends BaseController {
     }
 
 
+
+
+    @PostMapping(value = "/newUserImport")
+    @ApiOperation(value = "新用户导入")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file"),
+            @ApiImplicitParam(name = "deptId", value = "机构部门ID", required = true, dataType = "String",paramType = "formData")
+    })
+    @Transactional
+    public HttpResult newUserImport(@RequestPart MultipartFile file, @RequestParam String deptId) {
+
+        SysDept sd = sysDeptService.getById(deptId);
+        if(null == sd) return HttpResult.error("机构部门不存在");
+
+        try {
+            List<SysUser> userList = ExcelUtils2.importExcel(file, SysUser.class, 0, 1, 1);
+            userList = userList.stream().filter(l -> StringUtils.isNotEmpty(l.getMobile())).collect(Collectors.toList());
+
+            userList.stream().forEach(a ->{
+
+                if (StringUtils.isNullOrEmpty(a.getMobile())) throw new SystemException("手机不能为空");
+                //处理密码
+                if (StringUtils.isNotEmpty(a.getPassword())) {
+                    String salt = PasswordUtils.getSalt();
+                    String pwd = PasswordUtils.encode(a.getPassword(), salt);
+                    a.setPassword(pwd);
+                    a.setSalt(salt);
+                }
+                a.setDeptId(sd.getId());
+                a.setDeptName(sd.getName());
+
+                //获取角色
+                LambdaQueryWrapper<SysRole> lqwRole = new LambdaQueryWrapper<>();
+                lqwRole.like(SysRole::getName,a.getRoleName());
+                SysRole sr = sysRoleService.getOne(lqwRole);
+                a.setRoleId(sr.getId().toString());
+                a.setRoleName(sr.getName());
+
+                //状态
+                if(a.getExcelStatus().equals("正常")){
+                    a.setStatus(1);
+                }
+                if(a.getExcelStatus().equals("新注册")){
+                    a.setStatus(2);
+                }
+
+                //性别
+                if(a.getSex().equals("未知")){
+                    a.setSex("U");
+                }
+                if(a.getSex().equals("男")){
+                    a.setSex("M");
+                }
+                if(a.getSex().equals("女")){
+                    a.setSex("W");
+                }
+
+
+                if (StringUtils.isNullOrEmpty(a.getDeptId())) throw new SystemException("机构ID不能为空");
+
+                sysUserService.saveUser(a);
+
+            });
+
+        } catch (IOException e) {
+            throw new SystemException(e.getMessage());
+        }
+
+
+
+        return HttpResult.ok("导入成功");
+    }
+
+
+
+
+
     /**
      * ==================用户详情=================
      */

+ 11 - 0
src/main/java/com/ydtech/modules/admin/model/SysUser.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.model;
 
 
+import cn.afterturn.easypoi.excel.annotation.Excel;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -35,6 +36,7 @@ public class SysUser extends BaseEntity {
     /**
      * 姓名
      */
+    @Excel(name = "姓名")
     @ApiModelProperty(value = "姓名")
     @NotBlank(message = "姓名不能为空")
     @Size(min = 0, max = 30, message = "姓名长度不能超过30个字符")
@@ -44,6 +46,7 @@ public class SysUser extends BaseEntity {
     /**
      * 密码
      */
+    @Excel(name = "密码")
     @ApiModelProperty(value = "密码")
     @TableField(value = "password")
     private String password;
@@ -64,6 +67,7 @@ public class SysUser extends BaseEntity {
     /**
      * 手机号
      */
+    @Excel(name = "手机号")
     @ApiModelProperty(value = "手机号")
     @NotBlank(message = "手机号不能为空")
     @TableField(value = "mobile")
@@ -87,6 +91,7 @@ public class SysUser extends BaseEntity {
     /**
      * 性别
      */
+    @Excel(name = "性别")
     @TableField(value = "sex")
     private String sex;
 
@@ -114,6 +119,7 @@ public class SysUser extends BaseEntity {
     /**
      * 角色名称
      */
+    @Excel(name = "角色")
     @ApiModelProperty(value = "角色名称")
     @TableField(exist = false)
     private String roleName;
@@ -121,6 +127,7 @@ public class SysUser extends BaseEntity {
     /**
      * 角色名称
      */
+
     @ApiModelProperty(value = "机构名称")
     @TableField(exist = false)
     private String deptName;
@@ -129,6 +136,10 @@ public class SysUser extends BaseEntity {
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 
+    @TableField(exist = false)
+    @Excel(name = "状态")
+    private String excelStatus;
+
 
 
     /**

BIN
src/main/resources/template/user_model_A.xlsx