From 8546b3d285af4235a0ef615a0c6e89486ae2c806 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 17 十月 2024 21:01:37 +0800 Subject: [PATCH] 达梦不支持value改为values --- src/main/java/com/ycl/jxkg/controller/admin/UserController.java | 85 ++++++++++++++++++++++++++++++------------ 1 files changed, 60 insertions(+), 25 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 380770b..deac41d 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/UserController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/UserController.java @@ -1,30 +1,37 @@ package com.ycl.jxkg.controller.admin; +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.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.other.KeyValue; -import com.ycl.jxkg.domain.User; -import com.ycl.jxkg.domain.UserEventLog; -import com.ycl.jxkg.domain.enums.UserStatusEnum; +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.vo.admin.user.*; import com.ycl.jxkg.utils.PageInfoHelper; -import com.github.pagehelper.PageInfo; - +import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Date; import java.util.List; import java.util.UUID; +import java.util.stream.Collectors; - +@RequiredArgsConstructor @RestController("AdminUserController") @RequestMapping(value = "/api/admin/user") public class UserController extends BaseApiController { @@ -32,22 +39,41 @@ private final UserService userService; private final UserEventLogService userEventLogService; private final AuthenticationService authenticationService; - - @Autowired - public UserController(UserService userService, UserEventLogService userEventLogService, AuthenticationService authenticationService) { - this.userService = userService; - this.userEventLogService = userEventLogService; - this.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); } + @RequestMapping(value = "/student/list", method = RequestMethod.GET) + public Result<com.ycl.jxkg.domain.vo.student.user.UserResponseVO> studentList() { + List<User> studentList = new LambdaQueryChainWrapper<>(userService.getBaseMapper()) + .eq(User::getRole, RoleEnum.STUDENT.getCode()) + .orderByDesc(User::getCreateTime) + .list(); + List<StudentVO> studentVOS = studentList.stream().map(item -> { + StudentVO student = new StudentVO(); + BeanUtils.copyProperties(item, student); + return student; + }).collect(Collectors.toList()); + return Result.ok().data(studentVOS); + } + + @RequestMapping(value = "/classes/students", method = RequestMethod.GET) + public Result<com.ycl.jxkg.domain.vo.student.user.UserResponseVO> classesStudent(@RequestParam Integer classesId) { + List<StudentVO> studentList = userService.classesStudent(classesId); + return Result.ok().data(studentList); + } @RequestMapping(value = "/event/page/list", method = RequestMethod.POST) public Result<PageInfo<UserEventLogVO>> eventPageList(@RequestBody UserEventPageRequestVO model) { @@ -100,15 +126,14 @@ user.setUserUuid(UUID.randomUUID().toString()); user.setCreateTime(new Date()); user.setLastActiveTime(new Date()); - user.setDeleted(false); - userService.insertByFilter(user); + userService.insertUser(user); } else { if (!StringUtils.isBlank(model.getPassword())) { String encodePwd = authenticationService.pwdEncode(model.getPassword()); user.setPassword(encodePwd); } user.setModifyTime(new Date()); - userService.updateByIdFilter(user); + userService.updateById(user); } return Result.ok(user); } @@ -116,10 +141,10 @@ @RequestMapping(value = "/update", method = RequestMethod.POST) public Result update(@RequestBody @Valid UserUpdateVO model) { - User user = userService.selectById(getCurrentUser().getId()); + User user = userService.getById(getCurrentUser().getId()); BeanUtils.copyProperties(model, user); user.setModifyTime(new Date()); - userService.updateByIdFilter(user); + userService.updateById(user); return Result.ok(); } @@ -131,7 +156,7 @@ Integer newStatus = userStatusEnum == UserStatusEnum.Enable ? UserStatusEnum.Disable.getCode() : UserStatusEnum.Enable.getCode(); user.setStatus(newStatus); user.setModifyTime(new Date()); - userService.updateByIdFilter(user); + userService.updateById(user); return Result.ok(newStatus); } @@ -139,8 +164,7 @@ @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public Result delete(@PathVariable Integer id) { User user = userService.getUserById(id); - user.setDeleted(true); - userService.updateByIdFilter(user); + userService.updateById(user); return Result.ok(); } @@ -151,4 +175,15 @@ return Result.ok(keyValues); } + @GetMapping("importTemplate") + public void importTemplate(HttpServletResponse response) { + userService.importTemplate(response); + } + + @PostMapping("import") + public Result<String> importExcel(MultipartFile file) { + return Result.ok(userService.importExcel(file)); + } + + } -- Gitblit v1.8.0