| 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.*; | 
| 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()); | 
|     } | 
|   | 
|     @ApiOperation(value = "获取运费模板信息", notes = "获取运费模板信息") | 
|     @ApiResponses({ | 
|             @ApiResponse(code = 200, message = "success", response = ApiMallCarriageRuleVo.class) | 
|     }) | 
|     @GetMapping(value = "/findMallCarriageRuleById/{id}") | 
|     public FebsResponse findMallCarriageRuleById(@PathVariable("id") Long id) { | 
|         return new FebsResponse().success().data(mallGoodsService.findMallCarriageRuleById(id)); | 
|     } | 
|   | 
| } |