package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.CreateOrderDto; import com.ruoyi.system.dto.CreateOrderRequest; import com.ruoyi.system.query.AppletOrderListQuery; import com.ruoyi.system.service.TAppUserService; import com.ruoyi.system.service.TTicketOrderService; import com.ruoyi.system.vo.AppletOrderListVO; import com.ruoyi.system.vo.TTicketOrderVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Lazy; 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; /** * 下单接口 * * @author mitao * @since 2025-12-16 */ @Slf4j @RestController @RequestMapping("/order") @Api(tags = "订单模块") @Validated @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class OrderController { private final TokenService tokenService; private final TAppUserService appUserService; private final TTicketOrderService tTicketOrderService; /** * 订单列表分页查询 * * @param query 查询条件 * @return 订单列表 */ @ApiOperation(value = "订单列表分页查询", response = AppletOrderListVO.class) @PostMapping("/list") public R> getOrderList(@RequestBody AppletOrderListQuery query) { Integer userId = tokenService.getLoginUserApplet().getUserId(); Page page = tTicketOrderService.getOrderList(query, userId); return R.ok(page); } /** * 下单 * */ @ApiOperation(value = "下单") @PostMapping("/addOrder") public R addOrder(@RequestBody CreateOrderDto request) throws Exception { Integer userId = tokenService.getLoginUserApplet().getUserId(); boolean save = tTicketOrderService.addOrder(request, userId); if (!save) { return R.fail("下单失败"); } return R.ok(); } }