ProductInfoController.java 3.8 KB

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