PbCseFeeobjupdateController.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package com.xjrsoft.module.student.controller;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.xjrsoft.common.page.ConventPage;
  6. import com.xjrsoft.common.page.PageOutput;
  7. import com.xjrsoft.common.model.result.RT;
  8. import com.xjrsoft.common.utils.VoToColumnUtil;
  9. import com.xjrsoft.module.student.dto.*;
  10. import cn.dev33.satoken.annotation.SaCheckPermission;
  11. import com.alibaba.excel.EasyExcel;
  12. import com.xjrsoft.module.student.vo.*;
  13. import org.springframework.web.multipart.MultipartFile;
  14. import java.io.IOException;
  15. import com.alibaba.excel.support.ExcelTypeEnum;
  16. import org.springframework.http.ResponseEntity;
  17. import java.io.ByteArrayOutputStream;
  18. import java.util.ArrayList;
  19. import com.xjrsoft.module.student.entity.PbCseFeeobjupdate;
  20. import com.xjrsoft.module.student.service.IPbCseFeeobjupdateService;
  21. import io.swagger.annotations.Api;
  22. import io.swagger.annotations.ApiOperation;
  23. import lombok.AllArgsConstructor;
  24. import org.springframework.web.bind.annotation.*;
  25. import javax.validation.Valid;
  26. import java.util.List;
  27. /**
  28. * @title:
  29. * @Author szs
  30. * @Date: 2024-03-29
  31. * @Version 1.0
  32. */
  33. @RestController
  34. @RequestMapping("/student" + "/pbCseFeeobjupdate")
  35. @Api(value = "/student" + "/pbCseFeeobjupdate",tags = "攀宝学生信息")
  36. @AllArgsConstructor
  37. public class PbCseFeeobjupdateController {
  38. private final IPbCseFeeobjupdateService pbCseFeeobjupdateService;
  39. @GetMapping(value = "/enrollment-statistics")
  40. @ApiOperation(value="招生统计")
  41. @SaCheckPermission("pbcsefeeobjupdate:detail")
  42. public RT<EnrollmentStatisticsInfoVo> getEnrollmentStatisticsInfo(@Valid EnrollmentStatisticsInfoDto dto){
  43. EnrollmentStatisticsInfoVo enrollmentStatisticsInfoVo = pbCseFeeobjupdateService.getEnrollmentStatisticsInfo(dto);
  44. return RT.ok(enrollmentStatisticsInfoVo);
  45. }
  46. @GetMapping(value = "/enrollment-statistics-calendar")
  47. @ApiOperation(value="招生统计每日动态数据")
  48. @SaCheckPermission("pbcsefeeobjupdate:detail")
  49. public RT<EnrollmentStatisticsCalendarInfoVo> getEnrollmentStatisticsCalendarInfo(@Valid EnrollmentStatisticsCalendarInfoDto dto){
  50. EnrollmentStatisticsCalendarInfoVo enrollmentStatisticsCalendarInfoVo = pbCseFeeobjupdateService.getEnrollmentStatisticsCalendarInfo(dto);
  51. return RT.ok(enrollmentStatisticsCalendarInfoVo);
  52. }
  53. @GetMapping(value = "/enrollment-statistics-graduation")
  54. @ApiOperation(value="招生统计毕业学校数据")
  55. @SaCheckPermission("pbcsefeeobjupdate:detail")
  56. public RT<EnrollmentStatisticsGraduationInfoVo> getEnrollmentStatisticsGraduationInfo(@Valid EnrollmentStatisticsGraduationInfoDto dto){
  57. EnrollmentStatisticsGraduationInfoVo enrollmentStatisticsGraduationInfoVo = pbCseFeeobjupdateService.getEnrollmentStatisticsGraduationInfo(dto);
  58. return RT.ok(enrollmentStatisticsGraduationInfoVo);
  59. }
  60. @GetMapping(value = "/page")
  61. @ApiOperation(value="列表(分页)")
  62. @SaCheckPermission("pbcsefeeobjupdate:detail")
  63. public RT<PageOutput<PbCseFeeobjupdatePageVo>> page(@Valid PbCseFeeobjupdatePageDto dto){
  64. LambdaQueryWrapper<PbCseFeeobjupdate> queryWrapper = new LambdaQueryWrapper<>();
  65. queryWrapper
  66. //.orderByDesc(PbCseFeeobjupdate::getId)
  67. .select(PbCseFeeobjupdate.class,x -> VoToColumnUtil.fieldsToColumns(PbCseFeeobjupdatePageVo.class).contains(x.getProperty()));
  68. IPage<PbCseFeeobjupdate> page = pbCseFeeobjupdateService.page(ConventPage.getPage(dto), queryWrapper);
  69. PageOutput<PbCseFeeobjupdatePageVo> pageOutput = ConventPage.getPageOutput(page, PbCseFeeobjupdatePageVo.class);
  70. return RT.ok(pageOutput);
  71. }
  72. @GetMapping(value = "/info")
  73. @ApiOperation(value="根据id查询信息")
  74. @SaCheckPermission("pbcsefeeobjupdate:detail")
  75. public RT<PbCseFeeobjupdateVo> info(@RequestParam Long id){
  76. PbCseFeeobjupdate pbCseFeeobjupdate = pbCseFeeobjupdateService.getById(id);
  77. if (pbCseFeeobjupdate == null) {
  78. return RT.error("找不到此数据!");
  79. }
  80. return RT.ok(BeanUtil.toBean(pbCseFeeobjupdate, PbCseFeeobjupdateVo.class));
  81. }
  82. @PostMapping
  83. @ApiOperation(value = "新增")
  84. @SaCheckPermission("pbcsefeeobjupdate:add")
  85. public RT<Boolean> add(@Valid @RequestBody AddPbCseFeeobjupdateDto dto){
  86. PbCseFeeobjupdate pbCseFeeobjupdate = BeanUtil.toBean(dto, PbCseFeeobjupdate.class);
  87. boolean isSuccess = pbCseFeeobjupdateService.save(pbCseFeeobjupdate);
  88. return RT.ok(isSuccess);
  89. }
  90. @PutMapping
  91. @ApiOperation(value = "修改")
  92. @SaCheckPermission("pbcsefeeobjupdate:edit")
  93. public RT<Boolean> update(@Valid @RequestBody UpdatePbCseFeeobjupdateDto dto){
  94. PbCseFeeobjupdate pbCseFeeobjupdate = BeanUtil.toBean(dto, PbCseFeeobjupdate.class);
  95. return RT.ok(pbCseFeeobjupdateService.updateById(pbCseFeeobjupdate));
  96. }
  97. @DeleteMapping
  98. @ApiOperation(value = "删除")
  99. @SaCheckPermission("pbcsefeeobjupdate:delete")
  100. public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
  101. return RT.ok(pbCseFeeobjupdateService.removeBatchByIds(ids));
  102. }
  103. @PostMapping("/import")
  104. @ApiOperation(value = "导入")
  105. public RT<Boolean> importData(@RequestParam MultipartFile file) throws IOException {
  106. List<PbCseFeeobjupdatePageVo> savedDataList = EasyExcel.read(file.getInputStream()).head(PbCseFeeobjupdatePageVo.class).sheet().doReadSync();
  107. Boolean result = pbCseFeeobjupdateService.saveBatch(BeanUtil.copyToList(savedDataList, PbCseFeeobjupdate.class));
  108. return RT.ok(result);
  109. }
  110. @GetMapping("/export")
  111. @ApiOperation(value = "导出")
  112. public ResponseEntity<byte[]> exportData(@Valid PbCseFeeobjupdatePageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
  113. List<PbCseFeeobjupdatePageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<PbCseFeeobjupdatePageVo>) page(dto).getData()).getList();
  114. ByteArrayOutputStream bot = new ByteArrayOutputStream();
  115. EasyExcel.write(bot, PbCseFeeobjupdatePageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
  116. return RT.fileStream(bot.toByteArray(), "PbCseFeeobjupdate" + ExcelTypeEnum.XLSX.getValue());
  117. }
  118. }