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