MerchantOrderController.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.ylx.order.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.ylx.common.core.domain.R;
  4. import com.ylx.massage.service.AlarmService;
  5. import com.ylx.order.domain.dto.*;
  6. import com.ylx.order.domain.vo.merchant.MerchantCancelOrderDTO;
  7. import com.ylx.order.domain.vo.merchant.MerchantOrderDetailVO;
  8. import com.ylx.order.domain.vo.merchant.OrderCustomerPhoneVO;
  9. import com.ylx.order.domain.vo.merchant.OrderPageVO;
  10. import com.ylx.order.service.TOrderService;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.security.access.prepost.PreAuthorize;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.annotation.Resource;
  18. @RestController
  19. @RequestMapping("/merchant/order")
  20. @Api(tags = {"商户端订单模块"})
  21. @Slf4j
  22. @PreAuthorize("@merchantAuth.isMerchant()")
  23. public class MerchantOrderController {
  24. @Resource
  25. private TOrderService orderService;
  26. @Resource
  27. private AlarmService alarmService;
  28. @ApiOperation("商户端查询订单分页列表")
  29. @PostMapping("/queryByDate")
  30. public R<Page<OrderPageVO>> queryOrderByDate(@Validated @RequestBody OrderDateQueryDTO dto) {
  31. Page<OrderPageVO> page = orderService.queryMerchantOrderList(dto);
  32. return R.ok(page);
  33. }
  34. @ApiOperation("商户端接单接口")
  35. @PostMapping("/accept")
  36. public R<Void> acceptOrder(@Validated @RequestBody OrderAcceptDTO dto) {
  37. this.orderService.acceptOrder(dto);
  38. return R.ok();
  39. }
  40. @ApiOperation("商户端拒绝接单接口")
  41. @PostMapping("/reject")
  42. public R<Void> rejectOrder(@Validated @RequestBody OrderRejectDTO dto) {
  43. this.orderService.rejectOrder(dto);
  44. return R.ok();
  45. }
  46. @PostMapping("/getCustomerPhone")
  47. @ApiOperation("根据订单ID获取客户完整手机号(用于电话联系)")
  48. public R<OrderCustomerPhoneVO> getCustomerPhone(@Validated @RequestBody OrderPhoneQueryDTO dto) {
  49. OrderCustomerPhoneVO vo = orderService.getCustomerPhoneByOrderId(dto);
  50. return R.ok(vo);
  51. }
  52. @PostMapping("/startGoOut")
  53. @ApiOperation("商户出发")
  54. public R<Void> startGoOut(@Validated @RequestBody MerchantOrderOperateDTO dto) {
  55. this.orderService.startGoOut(dto);
  56. return R.ok();
  57. }
  58. @PostMapping("/arriveSign")
  59. @ApiOperation("商户签到到达客户地址")
  60. public R<Void> orderArriveSign(@Validated @RequestBody MerchantOrderOperateDTO dto) {
  61. this.orderService.merchantArriveSign(dto);
  62. return R.ok();
  63. }
  64. @PostMapping("/cancelAfterReceive")
  65. @ApiOperation("商户接单后取消订单")
  66. public R<Void> merchantCancelOrder(@Validated @RequestBody MerchantCancelOrderDTO dto) {
  67. this.orderService.merchantCancelOrderToAfterSale(dto);
  68. return R.ok();
  69. }
  70. @PostMapping("/startService")
  71. @ApiOperation("商户开始服务,订单流转服务中")
  72. public R<Void> startService(@Validated @RequestBody MerchantOrderOperateDTO dto) {
  73. this.orderService.startService(dto);
  74. return R.ok();
  75. }
  76. @PostMapping("/finishService")
  77. @ApiOperation("商户完成服务,订单流转已完成")
  78. public R<Void> finishService(@Validated @RequestBody MerchantOrderOperateDTO dto) {
  79. this.orderService.finishService(dto);
  80. return R.ok();
  81. }
  82. @PostMapping("/detail")
  83. @ApiOperation("商户端订单详情接口")
  84. public R<MerchantOrderDetailVO> getMerchantOrderDetail(@Validated @RequestBody MerchantOrderDetailDTO dto) {
  85. MerchantOrderDetailVO vo = this.orderService.getMerchantOrderDetail(dto);
  86. return R.ok(vo);
  87. }
  88. @PostMapping("/alarm")
  89. @ApiOperation("商户端订单一键报警")
  90. public R<Boolean> submitAlarm(@Validated @RequestBody AlarmSubmitDTO dto) {
  91. Boolean result = this.alarmService.submitAlarm(dto);
  92. return R.ok(result);
  93. }
  94. }