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.model.TTicketOrder;
|
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.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* 下单接口
|
*
|
* @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<Page<TTicketOrderVo>> getOrderList(@RequestBody AppletOrderListQuery query) {
|
Integer userId = tokenService.getLoginUserApplet().getUserId();
|
Page<TTicketOrderVo> page = tTicketOrderService.getOrderList(query, userId);
|
return R.ok(page);
|
}
|
|
|
/**
|
* 下单
|
*
|
*/
|
@ApiOperation(value = "下单")
|
@PostMapping("/addOrder")
|
public R<Void> 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();
|
}
|
|
|
/**
|
* 退单
|
*/
|
@ApiOperation(value = "退单")
|
@PostMapping("/refundOrder")
|
public R<Void> refundOrder(@RequestParam Integer orderId) throws Exception {
|
Integer userId = tokenService.getLoginUserApplet().getUserId();
|
TTicketOrder order = tTicketOrderService.getById(orderId);
|
if(order.getAppUserId().equals(userId)){
|
boolean refund = tTicketOrderService.refundOrder(order);
|
if(refund){
|
return R.ok();
|
}
|
}
|
return R.fail("退单失败");
|
}
|
|
|
/**
|
* 验票通知
|
*/
|
@ApiOperation(value = "验票通知")
|
@PostMapping("/verifyTicket")
|
public R<Void> verifyTicket(HttpServletRequest request) throws Exception {
|
|
return R.ok();
|
}
|
|
}
|