package com.ydd.app.controller; import com.ydd.app.dto.*; import com.ydd.app.dto.OrderCreateReq; import com.ydd.app.dto.OrderValuationReq; import com.ydd.app.service.OpenApiOrderService; import com.ydd.app.service.OpenApiOrderValuationService; import com.ydd.common.annotation.ControllerLog; import com.ydd.common.annotation.RepeatSubmit; import com.ydd.common.core.domain.ResponseResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; /** * 开放接口-订单模块 * @author 叶君翔 * @date 2022/04/07 16:35 */ @Api(value = "开放接口-订单模块", tags = {"开放接口-订单模块"}) @RestController @RequestMapping("/order") @RequiredArgsConstructor(onConstructor_ = @Autowired) public class OrderOpenApi { private final OpenApiOrderService openApiOrderService; private final OpenApiOrderValuationService openApiOrderValuationService; @ApiOperation("开放接口-计价") @RequestMapping(value = "/valuation", method = RequestMethod.POST) @RepeatSubmit @ControllerLog("开放接口-计价") public ResponseResult valuation(@RequestBody @Valid OrderValuationReq valuationReq) { return openApiOrderValuationService.valuation(valuationReq); } @ApiOperation("开放接口-创建订单") @RequestMapping(value = "/create", method = RequestMethod.POST) @RepeatSubmit @ControllerLog("开放接口-创建订单") public ResponseResult create(@RequestBody @Valid OrderCreateReq orderCreateReq) { return openApiOrderService.createOrder(orderCreateReq); } @ApiOperation("开放接口-推送订单") @RequestMapping(value = "/push", method = RequestMethod.POST) public ResponseResult pushOrder(@RequestBody @Valid OrderPushReq pushReq) { return openApiOrderService.pushOrder(pushReq); } @ApiOperation("开放接口-取消订单") @RequestMapping(value = "/cancel", method = RequestMethod.POST) public ResponseResult cancelOrder(@RequestBody @Valid OrderCancelReq cancelReq) { return openApiOrderService.cancelOrder(cancelReq); } @ApiOperation("开放接口-骑手位置") @RequestMapping(value = "/rider/location", method = RequestMethod.POST) public ResponseResult location(@RequestBody @Valid OrderLocationReq locationReq) { return openApiOrderService.riderLocation(locationReq); } }