RegionDevelopController.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.project.VRdemo.domain.imData.RegionDevelopImData;
  10. import org.springframework.security.access.prepost.PreAuthorize;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.GetMapping;
  13. import org.springframework.web.bind.annotation.PostMapping;
  14. import org.springframework.web.bind.annotation.PutMapping;
  15. import org.springframework.web.bind.annotation.DeleteMapping;
  16. import org.springframework.web.bind.annotation.PathVariable;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RestController;
  20. import com.ruoyi.framework.aspectj.lang.annotation.Log;
  21. import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
  22. import com.ruoyi.project.VRdemo.domain.RegionDevelop;
  23. import com.ruoyi.project.VRdemo.service.IRegionDevelopService;
  24. import com.ruoyi.framework.web.controller.BaseController;
  25. import com.ruoyi.framework.web.domain.AjaxResult;
  26. import com.ruoyi.common.utils.poi.ExcelUtil;
  27. import com.ruoyi.framework.web.page.TableDataInfo;
  28. import org.springframework.web.multipart.MultipartFile;
  29. /**
  30. * 东南亚地区发展报告Controller
  31. *
  32. * @author ruoyi
  33. * @date 2024-10-30
  34. */
  35. @RestController
  36. @RequestMapping("/vr/regionDevelop")
  37. public class RegionDevelopController extends BaseController {
  38. private final IRegionDevelopService regionDevelopService;
  39. public RegionDevelopController(@Autowired IRegionDevelopService regionDevelopService) {
  40. this.regionDevelopService = regionDevelopService;
  41. }
  42. /**
  43. * 查询东南亚地区发展报告列表
  44. */
  45. @Anonymous
  46. @GetMapping("/list")
  47. public AjaxResult list(RegionDevelop regionDevelop) {
  48. List<RegionDevelop> list = regionDevelopService.selectRegionDevelopList(regionDevelop);
  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(RegionDevelop regionDevelop) {
  61. startPage();
  62. List<RegionDevelop> list = regionDevelopService.selectRegionDevelopList(regionDevelop);
  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(regionDevelopService.selectRegionDevelopById(id));
  72. }
  73. /**
  74. * 新增东南亚地区发展报告
  75. */
  76. @PreAuthorize("@ss.hasAnyRoles('admin,xmg')")
  77. @Log(title = "东南亚地区发展报告", businessType = BusinessType.INSERT)
  78. @PostMapping
  79. public AjaxResult add(@RequestBody RegionDevelop regionDevelop) {
  80. return toAjax(regionDevelopService.insertRegionDevelop(regionDevelop));
  81. }
  82. /**
  83. * 修改东南亚地区发展报告
  84. */
  85. @PreAuthorize("@ss.hasAnyRoles('admin,xmg')")
  86. @Log(title = "东南亚地区发展报告", businessType = BusinessType.UPDATE)
  87. @PutMapping
  88. public AjaxResult edit(@RequestBody RegionDevelop regionDevelop) {
  89. return toAjax(regionDevelopService.updateRegionDevelop(regionDevelop));
  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(regionDevelopService.deleteRegionDevelopByIds(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, RegionDevelop regionDevelop) {
  107. List<RegionDevelop> list = regionDevelopService.selectRegionDevelopList(regionDevelop);
  108. ExcelUtil<RegionDevelop> util = new ExcelUtil<RegionDevelop>(RegionDevelop.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<RegionDevelopImData> dataList = new ArrayList<>();
  118. EasyExcel.write(response.getOutputStream(), RegionDevelopImData.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<RegionDevelop> list = ExcelReadUtil.read(file, RegionDevelopImData.class, RegionDevelop.class);
  127. // 调用服务层方法进行数据导入处理
  128. String message = regionDevelopService.importData(list, updateSupport);
  129. // 返回成功响应,携带导入结果信息
  130. return AjaxResult.success(message);
  131. }
  132. }