OrderController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. package com.usky.dxtop.controller.web;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.usky.dxtop.common.annotation.RepeatSubmit;
  4. import com.usky.dxtop.common.core.domain.AjaxResult;
  5. import com.usky.dxtop.common.utils.DateUtils;
  6. import com.usky.dxtop.controller.BaseController;
  7. import com.usky.dxtop.model.Order;
  8. import com.usky.dxtop.service.OrderService;
  9. import com.usky.dxtop.service.emun.OrderStatus;
  10. import com.usky.dxtop.service.vo.OrderRequest;
  11. import org.aspectj.weaver.loadtime.Aj;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.util.Date;
  16. /**
  17. * <p>
  18. * 订单表 前端控制器
  19. * </p>
  20. *
  21. * @author yq
  22. * @since 2021-08-26
  23. */
  24. @RestController
  25. @RequestMapping("/dxtop/order")
  26. public class OrderController extends BaseController {
  27. @Autowired
  28. private OrderService orderService;
  29. /**
  30. * 添加订单(现金支付)
  31. * @param order
  32. * @return
  33. */
  34. @RepeatSubmit
  35. @PostMapping
  36. public AjaxResult add(@RequestBody Order order){
  37. return toAjax(orderService.add(order));
  38. }
  39. /**
  40. * 修改订单状态
  41. * @param order
  42. * @return
  43. */
  44. @PutMapping
  45. public AjaxResult update(@RequestBody Order order){
  46. order.setOrderFlag(OrderStatus.COMPLETE.getCode());
  47. return toAjax(orderService.updateById(order));
  48. }
  49. /**
  50. * 删除订单
  51. * @param orderNumber
  52. * @return
  53. */
  54. @DeleteMapping("/{orderNumber}")
  55. public AjaxResult remove(@PathVariable("orderNumber") String orderNumber){
  56. return toAjax(orderService.remove(orderNumber));
  57. }
  58. /**
  59. * 分页
  60. * @param orderRequest
  61. * @return
  62. */
  63. @PostMapping("/list")
  64. public AjaxResult list(@RequestBody OrderRequest orderRequest){
  65. return AjaxResult.success(orderService.list(orderRequest));
  66. }
  67. /**
  68. * 扫码支付api
  69. * @param order
  70. * @return
  71. */
  72. @RepeatSubmit
  73. @PostMapping("/topScanPayApi")
  74. public AjaxResult getTopScanPayApi(@RequestBody Order order){
  75. return AjaxResult.success(orderService.getTopScanPayApi(order));
  76. }
  77. /**
  78. * 生成扫码支付二维码
  79. * @param order
  80. * @return
  81. */
  82. @RepeatSubmit
  83. @PostMapping("/topScanPayQr")
  84. public AjaxResult getTopScanPayQr(@RequestBody Order order){
  85. return AjaxResult.success(orderService.getTopScanPayQr(order));
  86. }
  87. /**
  88. * 查看订单详情api
  89. * @param orderNumber
  90. * @return
  91. */
  92. @GetMapping("/{orderNumber}")
  93. public AjaxResult callTopFindOrderInfoApi(@PathVariable("orderNumber") String orderNumber){
  94. return AjaxResult.success(orderService.callTopFindOrderInfoApi(orderNumber));
  95. }
  96. @PostMapping("/exportDetail")
  97. public AjaxResult exportDetail(@RequestBody OrderRequest orderRequest){
  98. return AjaxResult.success(orderService.exportDetail(orderRequest));
  99. }
  100. /**
  101. * 订单报表
  102. * @param current
  103. * @param size
  104. * @param startTime
  105. * @param endTime
  106. * @param type
  107. * @return
  108. */
  109. @GetMapping("/orderReportList")
  110. public AjaxResult orderReportList(@RequestParam Integer current,
  111. @RequestParam Integer size,
  112. @RequestParam(required = false) Date startTime,
  113. @RequestParam(required = false) Date endTime,
  114. @RequestParam Integer type){
  115. return AjaxResult.success(orderService.orderReportList(current,size,startTime,endTime,type));
  116. }
  117. /**
  118. * 报表导出
  119. * @param startTime
  120. * @param endTime
  121. * @param type
  122. * @return
  123. */
  124. @GetMapping("/reportExport")
  125. public AjaxResult reportExport(@RequestParam(required = false) Date startTime,
  126. @RequestParam(required = false) Date endTime,
  127. @RequestParam Integer type){
  128. return AjaxResult.success(orderService.reportExport(startTime, endTime, type));
  129. }
  130. /**
  131. * 统一支付
  132. * @param order
  133. * @return
  134. */
  135. @RepeatSubmit
  136. @PostMapping("/callUnifiedPay")
  137. public AjaxResult callUnifiedPay(@RequestBody Order order){
  138. return AjaxResult.success(orderService.callUnifiedPay(order));
  139. }
  140. /**
  141. * 支付方式汇总
  142. * @return
  143. */
  144. @GetMapping("/payTypeCollect")
  145. public AjaxResult payTypeCollect(){
  146. return AjaxResult.success(orderService.payTypeCollect());
  147. }
  148. /**
  149. * 充值金额/充值次数
  150. * @return
  151. */
  152. @GetMapping("/orderMoney")
  153. public AjaxResult orderMoney(){
  154. Date date = new Date();
  155. QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
  156. queryWrapper.select("IFNULL(sum(money),0) as total","count(*) as count")
  157. .between("create_time",DateUtils.getDayStartTime(date),date);
  158. return AjaxResult.success(orderService.getMap(queryWrapper));
  159. }
  160. /**
  161. * 日期汇总
  162. * @param type
  163. * @return
  164. */
  165. @GetMapping("/dateCollect")
  166. public AjaxResult dateCollect(@RequestParam Integer type,
  167. @RequestParam Date startTime,
  168. @RequestParam Date endTime){
  169. return AjaxResult.success(orderService.dateCollect(type,startTime,endTime));
  170. }
  171. }