From d5a2ec36fa56559a364e1a60c4b75c707cb7463a Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 22 七月 2024 18:25:01 +0800
Subject: [PATCH] feat:用户导入

---
 src/main/java/com/ycl/jxkg/controller/admin/UserController.java |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java
index d9aa558..29ae991 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java
@@ -1,28 +1,36 @@
 package com.ycl.jxkg.controller.admin;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.github.pagehelper.PageInfo;
 import com.ycl.jxkg.base.BaseApiController;
 import com.ycl.jxkg.base.Result;
-import com.ycl.jxkg.domain.enums.RoleEnum;
-import com.ycl.jxkg.domain.other.KeyValue;
+import com.ycl.jxkg.base.SystemCode;
+import com.ycl.jxkg.context.WebContext;
 import com.ycl.jxkg.domain.entity.User;
 import com.ycl.jxkg.domain.entity.UserEventLog;
-import com.ycl.jxkg.domain.enums.UserStatusEnum;
+import com.ycl.jxkg.domain.other.KeyValue;
 import com.ycl.jxkg.domain.vo.StudentVO;
+import com.ycl.jxkg.domain.vo.admin.user.*;
+import com.ycl.jxkg.enums.RoleEnum;
+import com.ycl.jxkg.enums.UserStatusEnum;
 import com.ycl.jxkg.service.AuthenticationService;
 import com.ycl.jxkg.service.UserEventLogService;
 import com.ycl.jxkg.service.UserService;
 import com.ycl.jxkg.utils.DateTimeUtil;
-import com.ycl.jxkg.domain.vo.admin.user.*;
 import com.ycl.jxkg.utils.PageInfoHelper;
-import com.github.pagehelper.PageInfo;
-
 import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
@@ -36,9 +44,17 @@
     private final UserService userService;
     private final UserEventLogService userEventLogService;
     private final AuthenticationService authenticationService;
-
+    private final WebContext webContext;
+    private final Integer teacher = 2;
+    private final Integer student = 1;
     @RequestMapping(value = "/page/list", method = RequestMethod.POST)
     public Result<PageInfo<UserResponseVO>> pageList(@RequestBody UserPageRequestVO model) {
+        if(!student.equals(model.getRole())) {
+            User currentUser = webContext.getCurrentUser();
+            if (teacher.equals(currentUser.getRole())) {
+                return Result.fail(SystemCode.InnerError.getCode(), "鎮ㄦ病鏈夎闂潈闄�");
+            }
+        }
         PageInfo<User> pageInfo = userService.userPage(model);
         PageInfo<UserResponseVO> page = PageInfoHelper.copyMap(pageInfo, d -> UserResponseVO.from(d));
         return Result.ok(page);
@@ -164,4 +180,21 @@
         return Result.ok(keyValues);
     }
 
+    @GetMapping("importTemplate")
+    @SneakyThrows
+    public void importTemplate(HttpServletResponse response) {
+        List<UserExcelVo> list = new ArrayList<>();
+        list.add(new UserExcelVo().setUserName("zhangSan").setPassword("123456").setRealName("寮犱笁").setSex(1).setRole(1).setPhone("12345678901").setAge(24).setBirthDay("2000-01-01"));
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), UserExcelVo.class).build();
+        WriteSheet writeSheet = EasyExcel.writerSheet(0, "鐢ㄦ埛淇℃伅").build();
+        excelWriter.write(list, writeSheet);
+        excelWriter.finish();
+    }
+
+    @PostMapping("import")
+    public Result<String> importExcel(MultipartFile file) {
+        return Result.ok(userService.importExcel(file));
+    }
+
+
 }

--
Gitblit v1.8.0