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.IApiMallProductService; import cc.mrbird.febs.mall.vo.*; 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.web.bind.annotation.*; import javax.validation.Valid; @Slf4j @RestController @CrossOrigin("*") @RequestMapping(value = "/api/product") @RequiredArgsConstructor @Api(value = "ApiMallProductController", tags = "NFT/FCM") public class ApiMallProductController { private final IApiMallProductService iApiMallProductService; @ApiOperation(value = "FCM-预约产品列表", notes = "FCM-预约产品列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiMallProductNftVo.class) }) @GetMapping(value = "/productNFTList") public FebsResponse productNFTList() { return new FebsResponse().success().data(iApiMallProductService.productNFTList()); } @ApiOperation(value = "FCM-预约", notes = "FCM-预约") @PostMapping(value = "/createNFT") public FebsResponse createNFT(@RequestBody @Valid ApiCreateNFTDto createNFTDto) { return iApiMallProductService.createNFT(createNFTDto); } @ApiOperation(value = "FCM-订单管理-列表", notes = "FCM-订单管理-列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiOrderListVo.class) }) @PostMapping(value = "/orderList") public FebsResponse orderList(@RequestBody @Valid ApiOrderListDto apiOrderListDto) { return iApiMallProductService.orderList(apiOrderListDto); } @ApiOperation(value = "FCM-订单管理-列表-新", notes = "FCM-订单管理-列表-新") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiOrderRecordListVo.class) }) @PostMapping(value = "/orderRecordList") public FebsResponse orderRecordList(@RequestBody @Valid ApiOrderRecordListDto apiOrderListDto) { return iApiMallProductService.orderRecordList(apiOrderListDto); } @ApiOperation(value = "FCM-订单管理-查看提现详情", notes = "FCM-订单管理-查看提现详情") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiOrderSellInfoVo.class) }) @PostMapping(value = "/orderSell") public FebsResponse orderSell(@RequestBody @Valid ApiOrderSellInfoDto apiOrderSellInfoDto) { return iApiMallProductService.orderSell(apiOrderSellInfoDto); } @ApiOperation(value = "FCM-订单管理-查看预约详情", notes = "FCM-订单管理-查看预约详情") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiOrderBuyInfoVo.class) }) @PostMapping(value = "/orderBuy") public FebsResponse orderBuy(@RequestBody @Valid ApiOrderBuyInfoDto apiOrderBuyInfoDto) { return iApiMallProductService.orderBuy(apiOrderBuyInfoDto); } @ApiOperation(value = "FCM-订单管理-查看预约详情-打款", notes = "FCM-订单管理-查看预约详情-打款") @PostMapping(value = "/orderBuyInsure") public FebsResponse orderBuyInsure(@RequestBody @Valid ApiOrderBuyInsureDto apiOrderBuyInsureDto) { return iApiMallProductService.orderBuyInsure(apiOrderBuyInsureDto); } @ApiOperation(value = "FCM-订单管理-查看提现详情-确认", notes = "FCM-订单管理-查看提现详情-确认") @PostMapping(value = "/orderSellInsure") public FebsResponse orderSellInsure(@RequestBody @Valid ApiOrderSellInsureDto apiOrderSellInsureDto) { return iApiMallProductService.orderSellInsure(apiOrderSellInsureDto); } @ApiOperation(value = "FCM-订单管理-查看提现详情-投诉", notes = "FCM-订单管理-查看提现详情-投诉") @PostMapping(value = "/orderSellComplain") public FebsResponse orderSellComplain(@RequestBody @Valid ApiOrderSellComplainDto apiOrderSellComplainDto) { return iApiMallProductService.orderSellComplain(apiOrderSellComplainDto); } @ApiOperation(value = "FCM-FCM提现", notes = "FCM-FCM提现") @PostMapping(value = "/outFcm") public FebsResponse outFcm(@RequestBody @Valid ApiOutFcmDto outFcmDto) { return iApiMallProductService.outFcm(outFcmDto); } @ApiOperation(value = "FCM-NFT提现", notes = "FCM-NFT提现") @PostMapping(value = "/outNFT") public FebsResponse outNFT(@RequestBody @Valid ApiOutNFTDto outNFTDto) { return iApiMallProductService.outNFT(outNFTDto); } @ApiOperation(value = "FCM-预约列表", notes = "FCM-预约列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiOrderBuyVo.class) }) @PostMapping(value = "/orderBuyList") public FebsResponse orderBuyList(@RequestBody @Valid ApiOrderBuyDto apiOrderBuyDto) { return iApiMallProductService.orderBuyList(apiOrderBuyDto); } }