| | |
| | | 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.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.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.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") |
| | |
| | | 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); |
| | | } |
| | | |
| | | @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) { |
| | |
| | | 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)); |
| | | } |
| | | |
| | | |
| | | } |