ProductInfoController.java 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.poyee.controller;
  2. import com.github.pagehelper.PageInfo;
  3. import com.poyee.api.checklist.CheckListFeignClient;
  4. import com.poyee.facade.IProductInfoFacade;
  5. import com.poyee.req.*;
  6. import com.poyee.res.*;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import io.swagger.annotations.ApiParam;
  10. import lombok.AllArgsConstructor;
  11. import org.springframework.validation.annotation.Validated;
  12. import org.springframework.web.bind.annotation.*;
  13. @RestController
  14. @RequestMapping("/api/product")
  15. @Api(tags = "商品管理")
  16. @AllArgsConstructor
  17. public class ProductInfoController {
  18. private final IProductInfoFacade productInfoFacade;
  19. private final CheckListFeignClient checkListFeignClient;
  20. // @GetMapping("/type/dropdown")
  21. // @ApiOperation("商品种类下拉框")
  22. // @Deprecated
  23. // //使用字典表
  24. // public Result<List<ProductTypeRes>> dropdown() {
  25. // return Result.success(ProductTypeEnum.getAll());
  26. // }
  27. @GetMapping("/detail/{sku}")
  28. @ApiOperation("查看商品")
  29. public Result<ProductDetailRes> detail(@ApiParam("sku") @PathVariable("sku") String sku) {
  30. return Result.success(productInfoFacade.detail(sku));
  31. }
  32. @PostMapping("/list")
  33. @ApiOperation("查询基础商品库列表")
  34. public Result<PageInfo<ProductListRes>> list(@RequestBody ProductSearchReq productSearchReq) {
  35. return Result.success(productInfoFacade.list(productSearchReq));
  36. }
  37. @PostMapping("/review")
  38. @ApiOperation("审核商品")
  39. public Result<Boolean> review(@RequestBody @Validated ProductReviewReq productReviewReq) {
  40. return Result.success(productInfoFacade.review(productReviewReq));
  41. }
  42. @GetMapping("/idea/attribute/{sku}")
  43. @ApiOperation("查看闲置信息")
  44. public Result<IdleAttributeRes> idleAttribute(@ApiParam("sku") @PathVariable("sku") String sku) {
  45. return Result.success(productInfoFacade.idleAttribute(sku));
  46. }
  47. @PostMapping("/idea/attribute")
  48. @ApiOperation("编辑闲置信息")
  49. public Result<Boolean> idleAttribute(@RequestBody @Validated IdleAttributeReq idleAttributeReq) {
  50. return Result.success(productInfoFacade.idleAttribute(idleAttributeReq));
  51. }
  52. @GetMapping("/fast/sale/{sku}")
  53. @ApiOperation("查看商品闪购详情")
  54. public Result<ProductFastSaleRes> fastSale(@ApiParam("sku") @PathVariable("sku") String sku) {
  55. return Result.success(productInfoFacade.fastSale(sku));
  56. }
  57. @GetMapping("/fast/sale")
  58. @ApiOperation("编辑商品闪购")
  59. public Result<Boolean> fastSale(@RequestBody @Validated FastSaleReq fastSaleReq) {
  60. FastSaleReq.checkParam(fastSaleReq);
  61. return Result.success(productInfoFacade.fastSale(fastSaleReq));
  62. }
  63. // @PostMapping("/base")
  64. // @ApiOperation(("级联获取基础库数据"))
  65. // @Deprecated
  66. // public Result<List<BaseInfoRes>> baseInfo(@RequestBody @Validated BaseInfoReq baseInfoReq) {
  67. // return Result.success(ApiUtils.httpSuccess(checkListFeignClient::getBaseInfo, baseInfoReq, "failed_to_retrieve_checkList_basic_database_data"));
  68. // }
  69. @PostMapping("/add")
  70. @ApiOperation(("新增基础库商品"))
  71. public Result<Boolean> add(@RequestBody @Validated ProductInfoAddReq productInfoAddReq) {
  72. return Result.success(productInfoFacade.add(productInfoAddReq));
  73. }
  74. @PostMapping("/edit")
  75. @ApiOperation(("编辑基础库商品"))
  76. public Result<Boolean> edit(@RequestBody @Validated ProductInfoEditReq productInfoEditReq) {
  77. return Result.success(productInfoFacade.edit(productInfoEditReq));
  78. }
  79. }