package com.mzl.flower.web.supplier; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.request.flower.*; import com.mzl.flower.dto.response.flower.FlowerSupplierDTO; import com.mzl.flower.dto.response.flower.FlowerSupplierListDTO; import com.mzl.flower.dto.response.flower.ParamItemDTO; import com.mzl.flower.service.flower.FlowerParamService; import com.mzl.flower.service.flower.FlowerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.util.List; @RestController @RequestMapping("/api/supplier/flower") @Api(value = "商品管理-花农(供应商)", tags = "商品管理-花农(供应商)") @Validated @Slf4j public class FlowerSupplierController extends BaseController { @Autowired private FlowerService flowerService; @Autowired private FlowerParamService paramService; @GetMapping("/params") @ApiOperation(value = "获取分类参数列表") @ApiImplicitParams({ @ApiImplicitParam(name = "categoryId", value = "商品分类id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity>> getParamItemListByCategoryId(Long categoryId){ return returnData(R.SUCCESS.getCode(), paramService.getParamItemListByCategoryId(categoryId)); } @GetMapping("/list") @ApiOperation(value = "商品列表") public ResponseEntity>> selectFlowerList(Page page, FlowerQueryDTO dto){ return returnData(R.SUCCESS.getCode(), flowerService.selectFlowerSupplierList(page, dto, 0)); } @GetMapping("/list/rc") @ApiOperation(value = "回收站商品列表") public ResponseEntity>> selectFlowerRcList(Page page, FlowerQueryDTO dto){ return returnData(R.SUCCESS.getCode(), flowerService.selectFlowerSupplierList(page, dto, 1)); } @PostMapping("/list/new") @ApiOperation(value = "添加商品提交审核") public ResponseEntity commitFlower(@RequestBody FlowerCreateDTO dto) { return returnData(R.SUCCESS.getCode(), flowerService.commitFlower(dto)); } @PostMapping("/list/edit") @ApiOperation(value = "编辑商品") public ResponseEntity editFlower(@RequestBody FlowerUpdateDTO dto) { return returnData(R.SUCCESS.getCode(), flowerService.editFlower(dto)); } @GetMapping("/list/view") @ApiOperation(value = "商品详情") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> getFlowerSupplierDetail(@NotNull(message = "id不能为空") Long id) { return returnData(R.SUCCESS.getCode(), flowerService.getFlowerSupplierDetail(id)); } @GetMapping("/list/copy") @ApiOperation(value = "获取复制商品信息") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> getFlowerCopyDetail(Long id) { FlowerSupplierDTO dto = flowerService.getFlowerSupplierDetail(id); dto.setId(null); dto.setStatus(null); dto.setSales(null); return returnData(R.SUCCESS.getCode(), dto); } @GetMapping("/list/up") @ApiOperation(value = "商品上架") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> setOn(Long id) { flowerService.setOffOn(id, Constants.FLOWER_STATUS.UP.name()); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/list/off") @ApiOperation(value = "商品下架") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> setOff(Long id) { flowerService.setOffOn(id, Constants.FLOWER_STATUS.OFF.name()); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/list/delete") @ApiOperation(value = "商品删除") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> deleteFlower(Long id) { flowerService.deleteFlower(id); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/list/restore") @ApiOperation(value = "商品恢复") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> restoreFlower(Long id) { flowerService.restoreFlower(id); return returnData(R.SUCCESS.getCode(), null); } @PostMapping("/list/price") @ApiOperation(value = "修改价格") public ResponseEntity editFlowerPrice(@RequestBody FlowerPriceDTO dto) { flowerService.editFlowerPrice(dto); return returnData(R.SUCCESS.getCode(), null); } @PostMapping("/list/stock") @ApiOperation(value = "修改库存") public ResponseEntity editFlowerStock(@RequestBody FlowerStockDTO dto) { flowerService.editFlowerStock(dto); return returnData(R.SUCCESS.getCode(), null); } }