OdsZzxxgkjcsjController.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package com.xjrsoft.module.base.controller;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.ObjectUtil;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.core.metadata.IPage;
  7. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  8. import com.xjrsoft.common.constant.GlobalConstant;
  9. import com.baomidou.mybatisplus.core.toolkit.StringPool;
  10. import com.xjrsoft.common.page.ConventPage;
  11. import com.xjrsoft.common.page.PageOutput;
  12. import com.xjrsoft.common.model.result.RT;
  13. import com.xjrsoft.common.utils.VoToColumnUtil;
  14. import com.xjrsoft.module.base.dto.AddOdsZzxxgkjcsjDto;
  15. import com.xjrsoft.module.base.dto.UpdateOdsZzxxgkjcsjDto;
  16. import cn.dev33.satoken.annotation.SaCheckPermission;
  17. import com.alibaba.excel.EasyExcel;
  18. import org.springframework.web.multipart.MultipartFile;
  19. import java.io.IOException;
  20. import com.alibaba.excel.support.ExcelTypeEnum;
  21. import org.springframework.http.ResponseEntity;
  22. import java.io.ByteArrayOutputStream;
  23. import java.util.ArrayList;
  24. import com.xjrsoft.module.base.dto.OdsZzxxgkjcsjListDto;
  25. import com.xjrsoft.module.base.entity.OdsZzxxgkjcsj;
  26. import com.xjrsoft.module.base.service.IOdsZzxxgkjcsjService;
  27. import com.xjrsoft.module.base.vo.OdsZzxxgkjcsjListVo;
  28. import com.xjrsoft.module.base.vo.OdsZzxxgkjcsjVo;
  29. import io.swagger.annotations.Api;
  30. import io.swagger.annotations.ApiOperation;
  31. import lombok.AllArgsConstructor;
  32. import org.springframework.web.bind.annotation.*;
  33. import javax.validation.Valid;
  34. import javax.validation.constraints.NotNull;
  35. import java.util.List;
  36. /**
  37. * @title: 学校基本数据子类表
  38. * @Author dzx
  39. * @Date: 2024-12-12
  40. * @Version 1.0
  41. */
  42. @RestController
  43. @RequestMapping("/base" + "/odsZzxxgkjcsj")
  44. @Api(value = "/base" + "/odsZzxxgkjcsj",tags = "学校基本数据子类表代码")
  45. @AllArgsConstructor
  46. public class OdsZzxxgkjcsjController {
  47. private final IOdsZzxxgkjcsjService odsZzxxgkjcsjService;
  48. @GetMapping(value = "/list")
  49. @ApiOperation(value="学校基本数据子类表列表(不分页)")
  50. @SaCheckPermission("odszzxxgkjcsj:detail")
  51. public RT<List<OdsZzxxgkjcsjListVo>> list(@Valid OdsZzxxgkjcsjListDto dto){
  52. LambdaQueryWrapper<OdsZzxxgkjcsj> queryWrapper = new LambdaQueryWrapper<>();
  53. queryWrapper
  54. .orderByDesc(OdsZzxxgkjcsj::getId)
  55. .select(OdsZzxxgkjcsj.class,x -> VoToColumnUtil.fieldsToColumns(OdsZzxxgkjcsjListVo.class).contains(x.getProperty()));
  56. List<OdsZzxxgkjcsj> list = odsZzxxgkjcsjService.list(queryWrapper);
  57. List<OdsZzxxgkjcsjListVo> listVos = BeanUtil.copyToList(list, OdsZzxxgkjcsjListVo.class);
  58. return RT.ok(listVos);
  59. }
  60. @GetMapping(value = "/info")
  61. @ApiOperation(value="根据id查询学校基本数据子类表信息")
  62. @SaCheckPermission("odszzxxgkjcsj:detail")
  63. public RT<OdsZzxxgkjcsjVo> info(@RequestParam Long id){
  64. OdsZzxxgkjcsj odsZzxxgkjcsj = odsZzxxgkjcsjService.getById(id);
  65. if (odsZzxxgkjcsj == null) {
  66. return RT.error("找不到此数据!");
  67. }
  68. return RT.ok(BeanUtil.toBean(odsZzxxgkjcsj, OdsZzxxgkjcsjVo.class));
  69. }
  70. @PostMapping
  71. @ApiOperation(value = "新增学校基本数据子类表")
  72. @SaCheckPermission("odszzxxgkjcsj:add")
  73. public RT<Boolean> add(@Valid @RequestBody AddOdsZzxxgkjcsjDto dto){
  74. OdsZzxxgkjcsj odsZzxxgkjcsj = BeanUtil.toBean(dto, OdsZzxxgkjcsj.class);
  75. boolean isSuccess = odsZzxxgkjcsjService.save(odsZzxxgkjcsj);
  76. return RT.ok(isSuccess);
  77. }
  78. @PutMapping
  79. @ApiOperation(value = "修改学校基本数据子类表")
  80. @SaCheckPermission("odszzxxgkjcsj:edit")
  81. public RT<Boolean> update(@Valid @RequestBody UpdateOdsZzxxgkjcsjDto dto){
  82. OdsZzxxgkjcsj odsZzxxgkjcsj = BeanUtil.toBean(dto, OdsZzxxgkjcsj.class);
  83. return RT.ok(odsZzxxgkjcsjService.updateById(odsZzxxgkjcsj));
  84. }
  85. @DeleteMapping
  86. @ApiOperation(value = "删除学校基本数据子类表")
  87. @SaCheckPermission("odszzxxgkjcsj:delete")
  88. public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
  89. return RT.ok(odsZzxxgkjcsjService.removeBatchByIds(ids));
  90. }
  91. @PostMapping("/import")
  92. @ApiOperation(value = "导入")
  93. public RT<Boolean> importData(@RequestParam MultipartFile file) throws IOException {
  94. List<OdsZzxxgkjcsjListVo> savedDataList = EasyExcel.read(file.getInputStream()).head(OdsZzxxgkjcsjListVo.class).sheet().doReadSync();
  95. Boolean result = odsZzxxgkjcsjService.saveBatch(BeanUtil.copyToList(savedDataList, OdsZzxxgkjcsj.class));
  96. return RT.ok(result);
  97. }
  98. @GetMapping("/export")
  99. @ApiOperation(value = "导出")
  100. public ResponseEntity<byte[]> exportData(@Valid OdsZzxxgkjcsjListDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
  101. List<OdsZzxxgkjcsjListVo> customerList = (List<OdsZzxxgkjcsjListVo>) list(dto).getData();
  102. ByteArrayOutputStream bot = new ByteArrayOutputStream();
  103. EasyExcel.write(bot, OdsZzxxgkjcsjListVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
  104. return RT.fileStream(bot.toByteArray(), "OdsZzxxgkjcsj" + ExcelTypeEnum.XLSX.getValue());
  105. }
  106. }