SpecialCollectionController.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. package com.ruoyi.project.VRdemo.controller;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import javax.servlet.http.HttpServletResponse;
  6. import com.alibaba.excel.EasyExcel;
  7. import com.ruoyi.common.utils.excel.ExcelReadUtil;
  8. import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
  9. import com.ruoyi.framework.web.page.TableDataInfo;
  10. import com.ruoyi.project.VRdemo.domain.SpecialCollection;
  11. import com.ruoyi.project.VRdemo.domain.imData.SpecialCollectionImData;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.GetMapping;
  15. import org.springframework.web.bind.annotation.PostMapping;
  16. import org.springframework.web.bind.annotation.PutMapping;
  17. import org.springframework.web.bind.annotation.DeleteMapping;
  18. import org.springframework.web.bind.annotation.PathVariable;
  19. import org.springframework.web.bind.annotation.RequestBody;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.RestController;
  22. import com.ruoyi.framework.aspectj.lang.annotation.Log;
  23. import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
  24. import com.ruoyi.project.VRdemo.service.ISpecialCollectionService;
  25. import com.ruoyi.framework.web.controller.BaseController;
  26. import com.ruoyi.framework.web.domain.AjaxResult;
  27. import com.ruoyi.common.utils.poi.ExcelUtil;
  28. import org.springframework.web.multipart.MultipartFile;
  29. /**
  30. * 东南亚大型特藏Controller
  31. *
  32. * @author ruoyi
  33. * @date 2024-10-06
  34. */
  35. @RestController
  36. @RequestMapping("/vr/specialCollection")
  37. public class SpecialCollectionController extends BaseController {
  38. private final ISpecialCollectionService collectionService;
  39. public SpecialCollectionController(@Autowired ISpecialCollectionService collectionService) {
  40. this.collectionService = collectionService;
  41. }
  42. /**
  43. * 查询东南亚大型特藏列表
  44. */
  45. @Anonymous
  46. @GetMapping("/list")
  47. public AjaxResult list(SpecialCollection specialCollection) {
  48. List<SpecialCollection> list = collectionService.selectCollectionList(specialCollection);
  49. AjaxResult ajaxResult = new AjaxResult();
  50. ajaxResult.put("code", 200);
  51. ajaxResult.put("rows", list);
  52. ajaxResult.put("total", list.size());
  53. return ajaxResult;
  54. }
  55. /**
  56. * 查询分页列表
  57. */
  58. @PreAuthorize("@ss.hasAnyRoles('admin,xmg')")
  59. @GetMapping("/pageList")
  60. public TableDataInfo pageList(SpecialCollection specialCollection) {
  61. startPage();
  62. List<SpecialCollection> list = collectionService.selectCollectionList(specialCollection);
  63. return getDataTable(list);
  64. }
  65. /**
  66. * 获取东南亚大型特藏详细信息
  67. */
  68. @Anonymous
  69. @GetMapping(value = "/{id}")
  70. public AjaxResult getInfo(@PathVariable("id") Long id) {
  71. return success(collectionService.selectCollectionById(id));
  72. }
  73. /**
  74. * 新增东南亚大型特藏
  75. */
  76. @PreAuthorize("@ss.hasAnyRoles('admin,xmg')")
  77. @Log(title = "东南亚大型特藏", businessType = BusinessType.INSERT)
  78. @PostMapping
  79. public AjaxResult add(@RequestBody SpecialCollection specialCollection) {
  80. return toAjax(collectionService.insertCollection(specialCollection));
  81. }
  82. /**
  83. * 修改东南亚大型特藏
  84. */
  85. @PreAuthorize("@ss.hasAnyRoles('admin,xmg')")
  86. @Log(title = "东南亚大型特藏", businessType = BusinessType.UPDATE)
  87. @PutMapping
  88. public AjaxResult edit(@RequestBody SpecialCollection specialCollection) {
  89. return toAjax(collectionService.updateCollection(specialCollection));
  90. }
  91. /**
  92. * 删除东南亚大型特藏
  93. */
  94. @PreAuthorize("@ss.hasAnyRoles('admin,xmg')")
  95. @Log(title = "东南亚大型特藏", businessType = BusinessType.DELETE)
  96. @DeleteMapping("/{ids}")
  97. public AjaxResult remove(@PathVariable Long[] ids) {
  98. return toAjax(collectionService.deleteCollectionByIds(ids));
  99. }
  100. /**
  101. * 导出东南亚大型特藏列表
  102. */
  103. @PreAuthorize("@ss.hasAnyRoles('admin,xmg')")
  104. @Log(title = "东南亚大型特藏", businessType = BusinessType.EXPORT)
  105. @PostMapping("/export")
  106. public void export(HttpServletResponse response, SpecialCollection specialCollection) {
  107. List<SpecialCollection> list = collectionService.selectCollectionList(specialCollection);
  108. ExcelUtil<SpecialCollection> util = new ExcelUtil<>(SpecialCollection.class);
  109. util.exportExcel(response, list, "东南亚大型特藏数据");
  110. }
  111. /**
  112. * 下载导入模板
  113. */
  114. @Anonymous
  115. @PostMapping("/importTemplate")
  116. public void importTemplate(HttpServletResponse response) throws IOException {
  117. List<SpecialCollectionImData> dataList = new ArrayList<>();
  118. EasyExcel.write(response.getOutputStream(), SpecialCollectionImData.class).sheet("Sheet1").doWrite(dataList);
  119. }
  120. /**
  121. * 导入数据
  122. */
  123. @Anonymous
  124. @PostMapping("/import")
  125. public AjaxResult importData(MultipartFile file, boolean updateSupport) throws IOException {
  126. List<SpecialCollection> list = ExcelReadUtil.read(file, SpecialCollectionImData.class, SpecialCollection.class);
  127. // 调用服务层方法进行数据导入处理
  128. String message = collectionService.importData(list, updateSupport);
  129. // 返回成功响应,携带导入结果信息
  130. return AjaxResult.success(message);
  131. }
  132. }