package cc.mrbird.febs.mall.controller;
|
|
import cc.mrbird.febs.common.entity.FebsResponse;
|
import cc.mrbird.febs.mall.dto.AddOrderDto;
|
import cc.mrbird.febs.mall.dto.OrderListDto;
|
import cc.mrbird.febs.mall.dto.PayOrderDto;
|
import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author wzy
|
* @date 2021-09-18
|
**/
|
@Slf4j
|
@Validated
|
@RestController
|
@RequiredArgsConstructor
|
@RequestMapping(value = "/api/order")
|
@Api(value = "ApiMallOrderController", tags = "订单接口类")
|
public class ApiMallOrderController {
|
|
private final IApiMallOrderInfoService mallOrderInfoService;
|
|
@ApiOperation(value = "创建订单", notes = "创建订单")
|
@PostMapping(value = "/createOrder")
|
public FebsResponse createOrder(@RequestBody AddOrderDto addOrderDto) {
|
Long orderId = mallOrderInfoService.createOrder(addOrderDto);
|
|
return new FebsResponse().success().data(orderId).message("创建订单成功");
|
}
|
|
@ApiOperation(value = "取消订单", notes = "取消订单")
|
@PostMapping(value = "/cancelOrder/{id}")
|
public FebsResponse cancelOrder(@PathVariable("id") Long id) {
|
mallOrderInfoService.cancelOrder(id);
|
return new FebsResponse().success();
|
}
|
|
@ApiOperation(value = "支付订单", notes = "支付订单")
|
@PostMapping(value = "/payOrder")
|
public FebsResponse payOrder(@RequestBody PayOrderDto payOrderDto) {
|
String result = mallOrderInfoService.payOrder(payOrderDto);
|
|
Map<String, Object> map = new HashMap<>();
|
map.put("orderNo", result);
|
map.put("type", payOrderDto.getType());
|
return new FebsResponse().success().data(map).message("支付成功");
|
}
|
|
@ApiOperation(value = "订单列表", notes = "订单列表")
|
@PostMapping(value = "/orderList")
|
public FebsResponse orderList(@RequestBody OrderListDto orderListDto) {
|
return new FebsResponse().success().data(mallOrderInfoService.findOrderList(orderListDto));
|
}
|
|
@ApiOperation(value = "订单详情", notes = "订单详情")
|
@GetMapping(value = "/orderDetails/{id}")
|
public FebsResponse orderDetails(@PathVariable("id") Long id) {
|
return new FebsResponse().success().data(mallOrderInfoService.findOrderDetailsById(id));
|
}
|
|
}
|