StadiumController.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package beilv.web.controller.stadium;
  2. import beilv.common.core.controller.BaseController;
  3. import beilv.common.core.domain.AjaxResult;
  4. import beilv.common.core.page.TableDataInfo;
  5. import beilv.common.utils.StringUtils;
  6. import beilv.common.utils.uuid.IdUtils;
  7. import beilv.competition.domain.Competition;
  8. import beilv.competition.service.ICompetitionService;
  9. import beilv.stadium.domain.Stadium;
  10. import beilv.stadium.domain.StadiumBO;
  11. import beilv.stadium.service.IStadiumService;
  12. import org.apache.shiro.authz.annotation.RequiresPermissions;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.text.SimpleDateFormat;
  16. import java.util.Date;
  17. import java.util.List;
  18. @RestController
  19. @RequestMapping("/stadium")
  20. public class StadiumController extends BaseController {
  21. @Autowired
  22. private IStadiumService stadiumService;
  23. @Autowired
  24. private ICompetitionService competitionService;
  25. /**
  26. * 查询赛事发布列表
  27. */
  28. @PostMapping("/getCompetitionList")
  29. @ResponseBody
  30. public AjaxResult getCompetitionList(Competition competition) {
  31. startPage();
  32. competition.setCompetitionState("competiton_state_2");
  33. List<Competition> list = competitionService.selectCompetitionList(competition);
  34. return AjaxResult.success(list);
  35. }
  36. /**
  37. * 添加订单
  38. * 写入订单信息: 下单人id, 订单编号, 下单时间, 支付状态:待支付
  39. * 调用者传递参数: 用户id, 联系人, 联系电话, 赛事id, 订单类型,
  40. * return orderId 订单id
  41. */
  42. @PostMapping("/toBeStadium")
  43. public AjaxResult addStadium(@RequestBody Stadium stadium) {
  44. String orderId = stadiumService.toBeStadium(stadium);
  45. if (StringUtils.isNotEmpty(orderId)) {
  46. return AjaxResult.success("下单成功",orderId);
  47. } else {
  48. return AjaxResult.error("下单失败");
  49. }
  50. }
  51. /**
  52. * 通过订单id取消订单
  53. * 调用者传递参数: 订单id,
  54. * 注: 取消订单时在下单后没有支付时, 可以执行的操作. 如果已经支付了, 则需要调用申请退款接口
  55. */
  56. @PostMapping("/cancellStadium")
  57. public AjaxResult cancellStadium(@RequestBody Stadium stadium) {
  58. return toAjax(stadiumService.cancellStadium(stadium));
  59. }
  60. /**
  61. * 查询订单
  62. * 调用者传递参数: 用户id, 订单状态, 订单类型
  63. */
  64. @GetMapping("/getStadiumList")
  65. public AjaxResult getStadiumList(StadiumBO stadiumBO) {
  66. startPage();
  67. return AjaxResult.success(stadiumService.getStadiumList(stadiumBO));
  68. }
  69. /**
  70. * 支付回调
  71. * 调用着传递: 订单编号, 支付状态
  72. */
  73. @PostMapping("/havePaidStadium")
  74. public AjaxResult havePaidStadium(@RequestBody Stadium stadium) {
  75. return toAjax(stadiumService.havePaidStadium(stadium));
  76. }
  77. /**
  78. * 退款回调
  79. * 调用者传递参数: 订单id, 用户id
  80. */
  81. @PostMapping("/refundStadium")
  82. public AjaxResult refundStadium(@RequestBody Stadium stadium) {
  83. return toAjax(stadiumService.refundStadium(stadium));
  84. }
  85. /**
  86. * 支付验证
  87. * 支付之前调用方法, 检测是否可以进行支付
  88. *
  89. * @return Boolean true: 可以支付; false: 不可以支付
  90. */
  91. @PostMapping("/paymentVerification")
  92. public Boolean paymentVerification(@RequestBody Stadium stadium) {
  93. return stadiumService.paymentVerification(stadium);
  94. }
  95. /**
  96. * 查询购票记录
  97. */
  98. /*@PostMapping("/getTakePartList")
  99. @ResponseBody
  100. public TableDataInfo getTakePartList(Stadium stadium) {
  101. startPage();
  102. //通过id获取参赛集合
  103. List<Stadium> stadiumList = stadiumService.getTakePartList(stadium);
  104. return getDataTable(stadiumList);
  105. }
  106. */
  107. /**
  108. * 针对某个购票记录进行退票处理
  109. *
  110. * @param orderId 购票记录id
  111. * @return
  112. */
  113. @GetMapping("/close/{orderId}")
  114. @ResponseBody
  115. public AjaxResult closeStadiumById(@PathVariable("orderId") String orderId) {
  116. return toAjax(stadiumService.closeStadiumById(orderId));
  117. }
  118. }