BaseStudentPunishmentInfoController.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package com.xjrsoft.module.student.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import cn.hutool.core.bean.BeanUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.metadata.IPage;
  6. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  7. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8. import com.xjrsoft.common.annotation.XjrLog;
  9. import com.xjrsoft.common.model.result.RT;
  10. import com.xjrsoft.common.page.ConventPage;
  11. import com.xjrsoft.common.page.PageOutput;
  12. import com.xjrsoft.module.student.dto.*;
  13. import com.xjrsoft.module.student.entity.BasePunishmentStudentHandle;
  14. import com.xjrsoft.module.student.entity.BasePunishmentType;
  15. import com.xjrsoft.module.student.entity.BaseStudentPunishmentInfo;
  16. import com.xjrsoft.module.student.service.IBasePunishmentStudentHandleService;
  17. import com.xjrsoft.module.student.service.IBasePunishmentTypeService;
  18. import com.xjrsoft.module.student.service.IBaseStudentPunishmentInfoService;
  19. import com.xjrsoft.module.student.vo.*;
  20. import com.xjrsoft.module.system.entity.File;
  21. import com.xjrsoft.module.system.service.IFileService;
  22. import io.swagger.annotations.Api;
  23. import io.swagger.annotations.ApiOperation;
  24. import lombok.AllArgsConstructor;
  25. import org.springframework.web.bind.annotation.*;
  26. import javax.validation.Valid;
  27. import java.util.ArrayList;
  28. import java.util.Date;
  29. import java.util.List;
  30. import java.util.Map;
  31. import java.util.stream.Collectors;
  32. /**
  33. * @title: 学生处分信息管理
  34. * @Author dzx
  35. * @Date: 2023-11-15
  36. * @Version 1.0
  37. */
  38. @RestController
  39. @RequestMapping("/student" + "/basestudentpunishmentinfo")
  40. @Api(value = "/student" + "/basestudentpunishmentinfo", tags = "学生处分信息管理代码")
  41. @AllArgsConstructor
  42. public class BaseStudentPunishmentInfoController {
  43. private final IBasePunishmentTypeService punishmentTypeService;
  44. private final IBaseStudentPunishmentInfoService baseStudentPunishmentInfoService;
  45. private final IBasePunishmentStudentHandleService handleService;
  46. private final IFileService fileService;
  47. @GetMapping(value = "/page")
  48. @ApiOperation(value = "学生处分信息管理列表(分页)")
  49. @SaCheckPermission("basestudentpunishmentinfo:detail")
  50. @XjrLog(value = "学生处分信息管理列表(分页)")
  51. public RT<PageOutput<BaseStudentPunishmentInfoPageVo>> page(@Valid BaseStudentPunishmentInfoPageDto dto) {
  52. IPage<BaseStudentPunishmentInfoPageVo> pageList = baseStudentPunishmentInfoService.selectJoinListPagePc(dto);
  53. PageOutput<BaseStudentPunishmentInfoPageVo> pageOutput = ConventPage.getPageOutput(pageList, BaseStudentPunishmentInfoPageVo.class);
  54. return RT.ok(pageOutput);
  55. }
  56. @GetMapping(value = "/mobile-page")
  57. @ApiOperation(value = "学生处分信息管理列表(移动端分页)")
  58. @SaCheckPermission("basestudentpunishmentinfo:detail")
  59. @XjrLog(value = "学生处分信息管理列表(移动端分页)")
  60. public RT<PageOutput<BaseStudentPunishmentInfoMobilePageVo>> mobilePage(@Valid BaseStudentPunishmentInfoMobilePageDto dto) {
  61. IPage<BaseStudentPunishmentInfoMobilePageVo> paglIst = baseStudentPunishmentInfoService.getMobilePage(new Page<>(dto.getLimit(), dto.getSize()), dto);
  62. PageOutput<BaseStudentPunishmentInfoMobilePageVo> pageOutput = ConventPage.getPageOutput(paglIst, BaseStudentPunishmentInfoMobilePageVo.class);
  63. return RT.ok(pageOutput);
  64. }
  65. @GetMapping(value = "/info")
  66. @ApiOperation(value = "根据id查询学生处分信息管理信息")
  67. @SaCheckPermission("basestudentpunishmentinfo:detail")
  68. @XjrLog(value = "根据id查询学生处分信息管理信息", saveResponseData = true)
  69. public RT<BaseStudentPunishmentInfoDetailVo> info(@RequestParam Long id) {
  70. BaseStudentPunishmentInfoDetailVo baseStudentPunishmentInfoDetailVo = baseStudentPunishmentInfoService.getDetailById(id);
  71. if (baseStudentPunishmentInfoDetailVo == null) {
  72. return RT.error("找不到此数据!");
  73. }
  74. if (baseStudentPunishmentInfoDetailVo.getFileId() != null) {
  75. List<File> list = fileService.list(Wrappers.lambdaQuery(File.class).eq(File::getFolderId, baseStudentPunishmentInfoDetailVo.getFileId()));
  76. baseStudentPunishmentInfoDetailVo.setFileList(list);
  77. }
  78. return RT.ok(BeanUtil.toBean(baseStudentPunishmentInfoDetailVo, BaseStudentPunishmentInfoDetailVo.class));
  79. }
  80. @GetMapping(value = "/mobile-info")
  81. @ApiOperation(value = "根据id查询学生处分信息管理信息(移动端)")
  82. @SaCheckPermission("basestudentpunishmentinfo:detail")
  83. @XjrLog(value = "根据id查询学生处分信息管理信息(移动端)", saveResponseData = true)
  84. public RT<BaseStudentPunishmentInfoMobileDetailVo> mobileInfo(@RequestParam Long id) {
  85. BaseStudentPunishmentInfoMobileDetailVo baseStudentPunishmentInfoMobileDetailVo = baseStudentPunishmentInfoService.getMobileInfo(id);
  86. if (baseStudentPunishmentInfoMobileDetailVo == null) {
  87. return RT.error("找不到此数据!");
  88. }
  89. return RT.ok(BeanUtil.toBean(baseStudentPunishmentInfoMobileDetailVo, BaseStudentPunishmentInfoMobileDetailVo.class));
  90. }
  91. @PostMapping
  92. @ApiOperation(value = "新增学生处分信息管理")
  93. @SaCheckPermission("basestudentpunishmentinfo:add")
  94. @XjrLog(value = "新增学生处分信息管理", saveResponseData = true)
  95. public RT<Boolean> add(@Valid @RequestBody AddBaseStudentPunishmentInfoDto dto) {
  96. boolean isSuccess = baseStudentPunishmentInfoService.add(dto);
  97. return RT.ok(isSuccess);
  98. }
  99. @PutMapping
  100. @ApiOperation(value = "修改学生处分信息管理")
  101. @SaCheckPermission("basestudentpunishmentinfo:edit")
  102. @XjrLog(value = "修改学生处分信息管理", saveResponseData = true)
  103. public RT<Boolean> update(@Valid @RequestBody UpdateBaseStudentPunishmentInfoDto dto) {
  104. BaseStudentPunishmentInfo baseStudentPunishmentInfo = BeanUtil.toBean(dto, BaseStudentPunishmentInfo.class);
  105. return RT.ok(baseStudentPunishmentInfoService.update(baseStudentPunishmentInfo));
  106. }
  107. @DeleteMapping
  108. @ApiOperation(value = "删除学生处分信息管理")
  109. @SaCheckPermission("basestudentpunishmentinfo:delete")
  110. @XjrLog(value = "删除学生处分信息管理", saveResponseData = true)
  111. public RT<Boolean> delete(@Valid @RequestBody List<Long> ids) {
  112. return RT.ok(baseStudentPunishmentInfoService.delete(ids));
  113. }
  114. @GetMapping("/handle-list")
  115. @ApiOperation(value = "处分处理情况查询")
  116. @SaCheckPermission("basestudentpunishmentinfo:handle-list")
  117. @XjrLog(value = "处分处理情况查询")
  118. public RT<List<BasePunishmentStudentHandleVo>> handleList(@RequestParam Long id) {
  119. List<BasePunishmentStudentHandle> list = handleService.list(
  120. new QueryWrapper<BasePunishmentStudentHandle>().lambda()
  121. .eq(BasePunishmentStudentHandle::getBaseStudentPunishmentInfoId, id)
  122. );
  123. Map<Long, String> punishmentTypeMap = punishmentTypeService.list().stream().collect(Collectors.toMap(BasePunishmentType::getId, BasePunishmentType::getPunishmentType));
  124. List<BasePunishmentStudentHandleVo> resultList = new ArrayList<>();
  125. for (BasePunishmentStudentHandle el : list) {
  126. BasePunishmentStudentHandleVo bean = BeanUtil.toBean(el, BasePunishmentStudentHandleVo.class);
  127. String adjustType = null;
  128. if (el.getAdjustType() == 1) {
  129. adjustType = "升级(" + punishmentTypeMap.get(el.getPunishmentTypeId()) + ")";
  130. } else if (el.getAdjustType() == 2) {
  131. adjustType = "降级(" + punishmentTypeMap.get(el.getPunishmentTypeId()) + ")";
  132. } else if (el.getAdjustType() == 3) {
  133. adjustType = "撤销";
  134. }
  135. bean.setAdjustType(adjustType);
  136. resultList.add(bean);
  137. }
  138. return RT.ok(resultList);
  139. }
  140. @PostMapping("/handle")
  141. @ApiOperation(value = "处理")
  142. @SaCheckPermission("basestudentpunishmentinfo:handle")
  143. @XjrLog(value = "处理", saveResponseData = true)
  144. public RT<Boolean> handle(@Valid @RequestBody AddBasePunishmentStudentHandleDto dto) {
  145. BasePunishmentStudentHandle handle = BeanUtil.toBean(dto, BasePunishmentStudentHandle.class);
  146. handle.setCreateDate(new Date());
  147. handle.setBaseStudentPunishmentInfoId(dto.getPunishmentInfoId());
  148. boolean save = handleService.save(handle);
  149. return RT.ok(save);
  150. }
  151. }