package com.poyee.controller; import com.github.pagehelper.PageInfo; import com.poyee.api.checklist.CheckListFeignClient; import com.poyee.facade.IProductInfoFacade; import com.poyee.req.*; import com.poyee.req.client.checklist.BaseInfoReq; import com.poyee.res.*; import com.poyee.res.client.checklist.BaseInfoRes; import com.poyee.utils.ApiUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/api/product") @Api(tags = "商品管理") @AllArgsConstructor public class ProductInfoController { private final IProductInfoFacade productInfoFacade; private final CheckListFeignClient checkListFeignClient; // @GetMapping("/type/dropdown") // @ApiOperation("商品种类下拉框") // @Deprecated // //使用字典表 // public Result> dropdown() { // return Result.success(ProductTypeEnum.getAll()); // } @GetMapping("/detail/{sku}") @ApiOperation("查看商品") public Result detail(@ApiParam("sku") @PathVariable("sku") String sku) { return Result.success(productInfoFacade.detail(sku)); } @PostMapping("/list") @ApiOperation("查询基础商品库列表") public Result> list(@RequestBody ProductSearchReq productSearchReq) { return Result.success(productInfoFacade.list(productSearchReq)); } @PostMapping("/review") @ApiOperation("审核商品") public Result review(@RequestBody @Validated ProductReviewReq productReviewReq) { return Result.success(productInfoFacade.review(productReviewReq)); } @GetMapping("/idea/attribute/{sku}") @ApiOperation("查看闲置信息") public Result idleAttribute(@ApiParam("sku") @PathVariable("sku") String sku) { return Result.success(productInfoFacade.idleAttribute(sku)); } @PostMapping("/idea/attribute") @ApiOperation("编辑闲置信息") public Result idleAttribute(@RequestBody @Validated IdleAttributeReq idleAttributeReq) { return Result.success(productInfoFacade.idleAttribute(idleAttributeReq)); } @GetMapping("/fast/sale/{sku}") @ApiOperation("查看商品闪购详情") public Result fastSale(@ApiParam("sku") @PathVariable("sku") String sku) { return Result.success(productInfoFacade.fastSale(sku)); } @GetMapping("/fast/sale") @ApiOperation("编辑商品闪购") public Result fastSale(@RequestBody @Validated FastSaleReq fastSaleReq) { FastSaleReq.checkParam(fastSaleReq); return Result.success(productInfoFacade.fastSale(fastSaleReq)); } // @PostMapping("/base") // @ApiOperation(("级联获取基础库数据")) // @Deprecated // public Result> baseInfo(@RequestBody @Validated BaseInfoReq baseInfoReq) { // return Result.success(ApiUtils.httpSuccess(checkListFeignClient::getBaseInfo, baseInfoReq, "failed_to_retrieve_checkList_basic_database_data")); // } @PostMapping("/add") @ApiOperation(("新增基础库商品")) public Result add(@RequestBody @Validated ProductInfoAddReq productInfoAddReq) { return Result.success(productInfoFacade.add(productInfoAddReq)); } @PostMapping("/edit") @ApiOperation(("编辑基础库商品")) public Result edit(@RequestBody @Validated ProductInfoEditReq productInfoEditReq) { return Result.success(productInfoFacade.edit(productInfoEditReq)); } //TODO 等ossKey ossSecret //TODO 1.搭建CI\CD环境 //TODO 3.后台订单 }