package com.sky.controller.user; 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 @Api("用户订单相关接口") @Slf4j @RequestMapping("/user/order") public class OrderController { @Autowired private OrderService orderService; @PostMapping("/submit") @ApiOperation("提交订单") public Result submit(@RequestBody OrdersSubmitDTO ordersSubmitDTO){ OrderSubmitVO orderSubmitVO=orderService.submit(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); orderService.paySuccess(ordersPaymentDTO.getOrderNumber()); return Result.success(orderPaymentVO); } @GetMapping("/historyOrders") @ApiOperation("查询历史订单") public Result page(int page,int pageSize,int status){ PageResult pageResult = orderService.pageQuery4User(page, pageSize, status); return Result.success(pageResult); } @GetMapping("/orderDetail/{id}") @ApiOperation("查询订单详情") public Result details(@PathVariable Integer id){ OrderVO orderVO=orderService.details(id); return Result.success(orderVO); } @PutMapping("/cancel/{id}") @ApiOperation("取消订单") public Result cancel(@PathVariable Integer id) throws Exception { orderService.cancel(id); return Result.success(); } /** * 再来一单 * * @param id * @return */ @PostMapping("/repetition/{id}") @ApiOperation("再来一单") public Result repetition(@PathVariable Long id) { orderService.repetition(id); return Result.success(); } }