CompetitionController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package beilv.web.controller.competition;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Objects;
  5. import java.util.stream.Collectors;
  6. import beilv.competition.domain.Competition;
  7. import beilv.competition.service.ICompetitionService;
  8. import beilv.site.domain.BeilvSite;
  9. import beilv.site.service.IBeilvSiteService;
  10. import beilv.stadium.domain.Stadium;
  11. import org.apache.shiro.authz.annotation.RequiresPermissions;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.ui.ModelMap;
  15. import org.springframework.web.bind.annotation.*;
  16. import beilv.common.annotation.Log;
  17. import beilv.common.enums.BusinessType;
  18. import beilv.common.core.controller.BaseController;
  19. import beilv.common.core.domain.AjaxResult;
  20. import beilv.common.utils.poi.ExcelUtil;
  21. import beilv.common.core.page.TableDataInfo;
  22. /**
  23. * 赛事发布Controller
  24. *
  25. * @author LG
  26. * @date 2024-12-31
  27. */
  28. @Controller
  29. @RequestMapping("/competition")
  30. public class CompetitionController extends BaseController {
  31. private String prefix = "competition";
  32. @Autowired
  33. private ICompetitionService competitionService;
  34. @Autowired
  35. private IBeilvSiteService siteService;
  36. @RequiresPermissions("system:competition:view")
  37. @GetMapping()
  38. public String competition() {
  39. return prefix + "/competition";
  40. }
  41. /**
  42. * 查询赛事发布列表
  43. */
  44. @PostMapping("/list")
  45. @ResponseBody
  46. public TableDataInfo list(Competition competition) {
  47. startPage();
  48. List<Competition> list = competitionService.selectCompetitionList(competition);
  49. return getDataTable(list);
  50. }
  51. /**
  52. * 导出赛事发布列表
  53. */
  54. @RequiresPermissions("system:competition:export")
  55. @Log(title = "赛事发布", businessType = BusinessType.EXPORT)
  56. @PostMapping("/export")
  57. @ResponseBody
  58. public AjaxResult export(Competition competition) {
  59. List<Competition> list = competitionService.selectCompetitionList(competition);
  60. ExcelUtil<Competition> util = new ExcelUtil<Competition>(Competition.class);
  61. return util.exportExcel(list, "赛事发布数据");
  62. }
  63. /**
  64. * 新增赛事发布
  65. */
  66. @RequiresPermissions("system:competition:add")
  67. @GetMapping("/add")
  68. public String add( ModelMap mmap) {
  69. List<BeilvSite> allToList = siteService.getAllToList();
  70. mmap.put("siteList",allToList);
  71. return prefix + "/add";
  72. }
  73. /**
  74. * 新增保存赛事发布
  75. */
  76. @RequiresPermissions("system:competition:add")
  77. @Log(title = "赛事发布", businessType = BusinessType.INSERT)
  78. @PostMapping("/add")
  79. @ResponseBody
  80. public AjaxResult addSave(Competition competition) {
  81. return toAjax(competitionService.insertCompetition(competition));
  82. }
  83. /**
  84. * 修改赛事发布
  85. */
  86. @RequiresPermissions("system:competition:edit")
  87. @GetMapping("/edit/{id}")
  88. public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
  89. Competition competition = competitionService.selectCompetitionById(id);
  90. mmap.put("competition", competition);
  91. List<BeilvSite> allToList = siteService.getAllToList();
  92. mmap.put("siteList",allToList);
  93. return prefix + "/edit";
  94. }
  95. /**
  96. * 修改保存赛事发布
  97. */
  98. @RequiresPermissions("system:competition:edit")
  99. @Log(title = "赛事发布", businessType = BusinessType.UPDATE)
  100. @PostMapping("/edit")
  101. @ResponseBody
  102. public AjaxResult editSave(Competition competition) {
  103. return toAjax(competitionService.updateCompetition(competition));
  104. }
  105. /**
  106. * 删除赛事发布
  107. */
  108. @RequiresPermissions("system:competition:remove")
  109. @Log(title = "赛事发布", businessType = BusinessType.DELETE)
  110. @PostMapping("/remove")
  111. @ResponseBody
  112. public AjaxResult remove(String ids) {
  113. return toAjax(competitionService.deleteCompetitionByIds(ids));
  114. }
  115. /**
  116. * 赛事发布
  117. */
  118. @RequiresPermissions("system:competition:publish")
  119. @Log(title="赛事发布", businessType=BusinessType.UPDATE)
  120. @PostMapping("/publish")
  121. @ResponseBody
  122. public AjaxResult publish(Competition competition){
  123. return toAjax(competitionService.publishCompetitionById(competition));
  124. }
  125. /**
  126. * 关闭赛事
  127. * @param id
  128. * @return
  129. */
  130. @RequiresPermissions("system:competition:publish")
  131. @GetMapping("/close")
  132. @ResponseBody
  133. public AjaxResult close(String id){
  134. int i = competitionService.closeCompetitionById(id);
  135. System.out.println("i = " + i);
  136. return toAjax(i);
  137. }
  138. @GetMapping("/getCompetitionList")
  139. @ResponseBody
  140. public AjaxResult getCompetitionList(){
  141. return AjaxResult.success(competitionService.getCompetitionList());
  142. }
  143. @RequiresPermissions("system:competition:view")
  144. @GetMapping("/openDetails/{id}")
  145. public String openDetails(@PathVariable("id") Integer id, ModelMap mmap) {
  146. mmap.put("competitionId", id);
  147. return prefix + "/details";
  148. }
  149. }