package com.ylx.order.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ylx.common.core.domain.R; import com.ylx.order.domain.dto.*; import com.ylx.order.domain.vo.merchant.MerchantCancelOrderDTO; import com.ylx.order.domain.vo.merchant.OrderCustomerPhoneVO; import com.ylx.order.domain.vo.merchant.OrderPageVO; import com.ylx.order.service.TOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @RestController @RequestMapping("/merchant/order") @Api(tags = {"商户端订单模块"}) @Slf4j @PreAuthorize("@merchantAuth.isMerchant()") public class MerchantOrderController { @Resource private TOrderService orderService; @ApiOperation("商户端查询订单分页列表") @PostMapping("/queryByDate") public R> queryOrderByDate(@Validated @RequestBody OrderDateQueryDTO dto) { Page page = orderService.queryMerchantOrderList(dto); return R.ok(page); } @ApiOperation("商户端拒绝接单接口") @PostMapping("/reject") public R rejectOrder(@Validated @RequestBody OrderRejectDTO dto) { this.orderService.rejectOrder(dto); return R.ok(); } @PostMapping("/getCustomerPhone") @ApiOperation("根据订单ID获取客户完整手机号(用于电话联系)") public R getCustomerPhone(@Validated @RequestBody OrderPhoneQueryDTO dto) { OrderCustomerPhoneVO vo = orderService.getCustomerPhoneByOrderId(dto); return R.ok(vo); } @PostMapping("/arriveSign") @ApiOperation("商户签到到达客户地址") public R orderArriveSign(@Validated @RequestBody MerchantOrderOperateDTO dto) { this.orderService.merchantArriveSign(dto); return R.ok(); } @PostMapping("/cancelAfterReceive") @ApiOperation("商户接单后取消订单") public R merchantCancelOrder(@Validated @RequestBody MerchantCancelOrderDTO dto) { this.orderService.merchantCancelOrderToAfterSale(dto); return R.ok(); } @PostMapping("/startService") @ApiOperation("商户开始服务,订单流转服务中") public R startService(@Validated @RequestBody MerchantOrderOperateDTO dto) { this.orderService.startService(dto); return R.ok(); } @PostMapping("/finishService") @ApiOperation("商户完成服务,订单流转已完成") public R finishService(@Validated @RequestBody MerchantOrderOperateDTO dto) { this.orderService.finishService(dto); return R.ok(); } }