package cc.mrbird.febs.mall.controller;
|
|
import cc.mrbird.febs.common.entity.FebsResponse;
|
import cc.mrbird.febs.mall.dto.*;
|
import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
|
import cc.mrbird.febs.mall.vo.OrderDetailVo;
|
import cc.mrbird.febs.mall.vo.OrderListVo;
|
import cc.mrbird.febs.pay.service.IXcxPayService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponses;
|
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.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;
|
private final IXcxPayService iXcxPayService;
|
|
@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) {
|
Map<String, Object> result = mallOrderInfoService.payOrder(payOrderDto);
|
|
Map<String, Object> map = new HashMap<>();
|
map.put("order", result);
|
map.put("type", payOrderDto.getType());
|
return new FebsResponse().success().data(map).message("支付成功");
|
}
|
|
@ApiOperation(value = "订单列表", notes = "订单列表")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = OrderListVo.class)
|
})
|
@PostMapping(value = "/orderList")
|
public FebsResponse orderList(@RequestBody OrderListDto orderListDto) {
|
return new FebsResponse().success().data(mallOrderInfoService.findOrderList(orderListDto));
|
}
|
|
@ApiOperation(value = "订单详情", notes = "订单详情")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = OrderDetailVo.class)
|
})
|
@GetMapping(value = "/orderDetails/{id}")
|
public FebsResponse orderDetails(@PathVariable("id") Long id) {
|
return new FebsResponse().success().data(mallOrderInfoService.findOrderDetailsById(id));
|
}
|
|
@ApiOperation(value = "确认收货", notes = "确认收货")
|
@PostMapping(value = "/confirm/{id}")
|
public FebsResponse confirm(@PathVariable("id") Long id) {
|
mallOrderInfoService.confirmOrder(id);
|
return new FebsResponse().success().message("确认成功");
|
}
|
|
@ApiOperation(value = "删除订单", notes = "删除订单")
|
@PostMapping(value = "/delOrder/{id}")
|
public FebsResponse delOrder(@PathVariable("id") Long id) {
|
mallOrderInfoService.delOrder(id);
|
return new FebsResponse().success().message("删除成功");
|
}
|
|
@ApiOperation(value = "用户退款", notes = "用户退款")
|
@PostMapping(value = "/refundOrder/{id}")
|
public FebsResponse refundOrder(@PathVariable("id") Long id) {
|
return mallOrderInfoService.refundOrder(id);
|
}
|
|
@ApiOperation(value = "用户退款--提交退款申请", notes = "用户退款--提交退款申请")
|
@PostMapping(value = "/applyRefundOrder")
|
public FebsResponse applyRefundOrder(@RequestBody ApplyRefundOrderDto applyRefundOrderDto) {
|
return mallOrderInfoService.applyRefundOrder(applyRefundOrderDto);
|
}
|
|
@ApiOperation(value = "用户退款--取消退款申请", notes = "用户退款--取消退款申请")
|
@PostMapping(value = "/cancelRefundOrder/{id}")
|
public FebsResponse cancelRefundOrder(@PathVariable("id") Long id) {
|
return mallOrderInfoService.cancelRefundOrder(id);
|
}
|
|
@ApiOperation(value = "提交退款申请", notes = "提交退款申请")
|
@PostMapping(value = "/applyRefund")
|
public FebsResponse applyRefund(@RequestBody AddRefundDto addRefundDto) {
|
mallOrderInfoService.applyRefund(addRefundDto);
|
return new FebsResponse().success().message("提交成功");
|
}
|
|
@ApiOperation(value = "提交退款物流信息", notes = "提交退款物流信息")
|
@PostMapping(value = "/refundExpress")
|
public FebsResponse refundExpress(@RequestBody RefundExpressDto refundExpressDto) {
|
mallOrderInfoService.refundExpress(refundExpressDto);
|
return new FebsResponse().success().message("提交成功");
|
}
|
|
@ApiOperation(value = "评价", notes = "评价")
|
@PostMapping(value = "/goodsComment")
|
public FebsResponse goodsComment(@RequestBody ApiAddCommentDtos addCommentDtos) {
|
mallOrderInfoService.goodsComment(addCommentDtos);
|
return new FebsResponse().success().message("评价成功");
|
}
|
|
@ApiOperation(value = "获取微信订阅TemplateId")
|
@GetMapping(value = "/getTemplateId")
|
public FebsResponse getTemplateId() {
|
return new FebsResponse().success().data(iXcxPayService.getTemplateId());
|
}
|
|
}
|