package com.sky.controller.user; import com.sky.dto.OrdersPageQueryDTO; import com.sky.dto.OrdersPaymentDTO; import com.sky.dto.OrdersSubmitDTO; import com.sky.result.PageResult; import com.sky.result.Result; import com.sky.service.OrderService; import com.sky.vo.OrderPaymentVO; import com.sky.vo.OrderSubmitVO; import com.sky.vo.OrderVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * 订单 */ @RestController("userOrderController") @RequestMapping("/user/order") @Slf4j @Api(tags = "C端订单接口") public class OrderController { @Autowired private OrderService orderService; /** * 用户下单 * * @param ordersSubmitDTO * @return */ @PostMapping("/submit") @ApiOperation("用户下单") public Result submit(@RequestBody OrdersSubmitDTO ordersSubmitDTO) { log.info("用户下单:{}", ordersSubmitDTO); OrderSubmitVO orderSubmitVO = orderService.submitOrder(ordersSubmitDTO); return Result.success(orderSubmitVO); } /** * 订单支付 * * @param ordersPaymentDTO * @return */ @PutMapping("/payment") @ApiOperation("订单支付") public Result payment(@RequestBody OrdersPaymentDTO ordersPaymentDTO) throws Exception { log.info("订单支付:{}", ordersPaymentDTO); OrderPaymentVO orderPaymentVO = orderService.payment(ordersPaymentDTO); log.info("生成预支付交易单:{}", orderPaymentVO); return Result.success(orderPaymentVO); } /** * 历史订单查询 * @return */ @GetMapping("/historyOrders") @ApiOperation("历史订单查询") public Result page(OrdersPageQueryDTO ordersPageQueryDTO) { PageResult pageResult = orderService.pageQuery4User(ordersPageQueryDTO); return Result.success(pageResult); } /** * 查询订单详情 * * @param id * @return */ @GetMapping("/orderDetail/{id}") @ApiOperation("查询订单详情") public Result details(@PathVariable("id") Long id) { OrderVO orderVO = orderService.details(id); return Result.success(orderVO); } /** * 用户取消订单 * * @return */ @PutMapping("/cancel/{id}") @ApiOperation("取消订单") public Result cancel(@PathVariable("id") Long id) throws Exception { orderService.userCancelById(id); return Result.success(); } /** * 再来一单 * * @param id * @return */ @PostMapping("/repetition/{id}") @ApiOperation("再来一单") public Result repetition(@PathVariable Long id) { orderService.repetition(id); return Result.success(); } /** * 客户催单 * @param id * @return */ @GetMapping("/reminder/{id}") @ApiOperation("客户催单") public Result reminder(@PathVariable("id") Long id){ orderService.reminder(id); return Result.success(); } }