package cc.mrbird.febs.mall.controller; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.mall.dto.ApiMallGoodsCommentDto; import cc.mrbird.febs.mall.dto.MallGoodsQueryDto; import cc.mrbird.febs.mall.service.IApiMallGoodsService; import cc.mrbird.febs.mall.vo.ApiMallGoodsDeliveryVo; import cc.mrbird.febs.mall.vo.MallGoodsCommentVo; import cc.mrbird.febs.mall.vo.MallGoodsDetailsVo; import cc.mrbird.febs.mall.vo.MallGoodsListVo; 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.*; /** * @author wzy * @date 2021-09-17 **/ @Slf4j @Validated @RestController @RequiredArgsConstructor @RequestMapping(value = "/api/goods") @Api(value = "ApiMallGoodsController", tags = "商城商品接口类") public class ApiMallGoodsController { private final IApiMallGoodsService mallGoodsService; @ApiOperation(value = "获取商城商品列表", notes = "获取商城商品列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MallGoodsListVo.class) }) @PostMapping(value = "/findMallGoodsList") public FebsResponse findMallGoodsList(@RequestBody MallGoodsQueryDto queryDto) { return new FebsResponse().success().data(mallGoodsService.findMallGoodsListInPage(queryDto)); } @ApiOperation(value = "获取商城商品", notes = "获取商城商品") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MallGoodsListVo.class) }) @PostMapping(value = "/goodsListNoPage") public FebsResponse goodsListNoPage(@RequestBody MallGoodsQueryDto queryDto) { return new FebsResponse().success().data(mallGoodsService.findMallGoodsListNoPage(queryDto)); } @ApiOperation(value = "获取商品详情", notes = "获取商品详情") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MallGoodsDetailsVo.class) }) @GetMapping(value = "/findMallGoodsDetailsById/{id}") public FebsResponse findMallGoodsDetailsById(@PathVariable("id") Long id) { return new FebsResponse().success().data(mallGoodsService.findMallGoodsDetailsById(id)); } @ApiOperation(value = "获取商品评价", notes = "获取商品评价") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MallGoodsCommentVo.class) }) @PostMapping(value = "/commentByGoodsId") public FebsResponse commentByGoodsId(@RequestBody ApiMallGoodsCommentDto queryDto) { return new FebsResponse().success().data(mallGoodsService.findMallGoodsCommentByGoodsId(queryDto)); } @ApiOperation(value = "获取商品评价等级数量", notes = "获取商品评价等级数量") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MallGoodsCommentVo.class) }) @GetMapping(value = "/commentLevelByGoodsId/{id}") public FebsResponse commentLevelByGoodsId(@PathVariable("id") Long id) { return new FebsResponse().success().data(mallGoodsService.findMallGoodsCommentLevelByGoodsId(id)); } @ApiOperation(value = "配送设置", notes = "配送设置") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiMallGoodsDeliveryVo.class) }) @GetMapping(value = "/deliverySetting") public FebsResponse deliverySetting() { return new FebsResponse().success().data(mallGoodsService.findDeliverySetting()); } }