package cc.mrbird.febs.mall.controller.clothes; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.mall.dto.OrderListDto; import cc.mrbird.febs.mall.dto.PayOrderDto; import cc.mrbird.febs.mall.dto.clothes.*; import cc.mrbird.febs.mall.service.ApiClothesOrderService; import cc.mrbird.febs.mall.service.ApiClothesService; import cc.mrbird.febs.mall.vo.OrderDetailVo; import cc.mrbird.febs.mall.vo.OrderListVo; import cc.mrbird.febs.mall.vo.clothes.*; 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; @Slf4j @Validated @RestController @RequiredArgsConstructor @RequestMapping(value = "/api/clothes/order") @Api(value = "ApiClothesOrderController", tags = "设计衣服订单") public class ApiClothesOrderController { private final ApiClothesOrderService apiClothesOrderService; @ApiOperation(value = "我的草稿", notes = "我的草稿") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiMyDraftVo.class) }) @PostMapping(value = "/myDraft") public FebsResponse myDraft(@RequestBody @Validated ApiMyDraftPageDto dto) { return apiClothesOrderService.myDraft(dto); } @ApiOperation(value = "我的草稿-跳转到开始设计", notes = "我的草稿-跳转到开始设计") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiMyDraftVo.class) }) @PostMapping(value = "/draftToDesign") public FebsResponse draftToDesign(@RequestBody @Validated ApiClothesOrderDraftDto dto) { return apiClothesOrderService.draftToDesign(dto); } @ApiOperation(value = "我的草稿-删除", notes = "我的草稿-删除") @PostMapping(value = "/draftDel") public FebsResponse draftDel(@RequestBody @Validated ApiClothesOrderDraftDto dto) { return apiClothesOrderService.draftDel(dto); } @ApiOperation(value = "创建订单", notes = "创建订单") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiClothesOrderInfoVo.class) }) @PostMapping(value = "/createOrder") public FebsResponse createOrder(@RequestBody @Validated ApiClothesOrderInfoDto dto) { return apiClothesOrderService.createOrder(dto); } @ApiOperation(value = "取消订单", notes = "取消订单") @PostMapping(value = "/cancelOrder/{id}") public FebsResponse cancelOrder(@PathVariable("id") Long id) { return apiClothesOrderService.cancelOrder(id); } @ApiOperation(value = "删除订单", notes = "删除订单") @PostMapping(value = "/delOrder/{id}") public FebsResponse delOrder(@PathVariable("id") Long id) { return apiClothesOrderService.delOrder(id); } @ApiOperation(value = "支付订单", notes = "支付订单") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiClothesOrderPayVo.class) }) @PostMapping(value = "/payOrder") public FebsResponse payOrder(@RequestBody @Validated ApiClothesOrderPayDto dto) { return apiClothesOrderService.payOrder(dto); } @ApiOperation(value = "订单列表", notes = "订单列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiClothesOrderListVo.class) }) @PostMapping(value = "/orderList") public FebsResponse orderList(@RequestBody @Validated ApiClothesOrderListVoDto dto) { return apiClothesOrderService.findOrderList(dto); } @ApiOperation(value = "获取订单角标数量") @GetMapping(value = "/findMarkCnt") public FebsResponse findMarkCnt() { return apiClothesOrderService.findMarkCnt(); } @ApiOperation(value = "订单详情", notes = "订单详情") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiClothesOrderListInfoVo.class) }) @GetMapping(value = "/orderDetails/{id}") public FebsResponse orderDetails(@PathVariable("id") Long id) { return apiClothesOrderService.orderDetails(id); } @ApiOperation(value = "确认收货", notes = "确认收货") @PostMapping(value = "/confirm/{id}") public FebsResponse confirm(@PathVariable("id") Long id) { return apiClothesOrderService.confirmOrder(id); } }