一、商品信息CRUD 接口



package com.yhh.goods.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.yhh.common.base.ret.ApiResult;import com.yhh.common.entity.goods.dto.ProductDto;import com.yhh.common.entity.goods.model.Product;import com.yhh.common.utils.FieldsFilter;import com.yhh.goods.service.IProductService;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.validation.annotation.Validated;import org.springframework.web.bind.annotation.*;import org.springframework.stereotype.Controller;import java.util.Arrays;import java.util.Date;import java.util.List;/** * <p> * 商品信息服务API * </p> * * @author yhh * @since 2021-04-21 */@RestController@RequestMapping("goods/product/api/v1")@Api(tags = "商品信息服务API")@Slf4jpublic class ProductController { @Autowired private IProductService productService; @ApiOperation(value = "查询商品信息") @GetMapping("getProducts") public ApiResult getProducts(ProductDto dto){ if(dto == null) return ApiResult.error("没有查询到您需要的信息"); if(dto.getPageNum() == null || dto.getPageSize() == null){ return ApiResult.error("请传入分页参数"); } IPage page = new Page(dto.getPageNum(), dto.getPageSize()); QueryWrapper wrapper = new QueryWrapper(); if(dto.getName() != null){ wrapper.like("name",dto.getName()); } if(dto.getMinPrice() !=null){ wrapper.ge("price",dto.getMinPrice()); } if(dto.getMaxPrice() !=null){ wrapper.le("price",dto.getMaxPrice()); } wrapper.eq("status",dto.getStatus()); page = productService.page(page,wrapper); List records = page.getRecords(); return ApiResult.success().put("products",page.setRecords(FieldsFilter.filter(records, Arrays.asList("id","name","price","mainImg")))); } @ApiOperation(value = "根据ID查询商品信息") @GetMapping("getProductById") public ApiResult getProductById(Integer id){ return ApiResult.success().put("product",productService.getById(id)); } @ApiOperation(value = "添加商品信息") @PostMapping("addProduct") public ApiResult addProduct(@Validated({Product.Save.class}) @RequestBody Product product){ product.setCreateTime(new Date()); product.setUpdateTime(new Date()); product.setStatus(1); if(productService.save(product)){ return ApiResult.success(); } return ApiResult.error("添加商品信息失败"); } @ApiOperation(value = "修改商品信息") @PostMapping("updateProduct") public ApiResult updateProduct(@Validated({Product.Update.class}) @RequestBody Product product){ product.setUpdateTime(new Date()); if(productService.updateById(product)){ return ApiResult.success(); } return ApiResult.error("添加商品信息失败"); } @ApiOperation(value = "删除商品信息") @PostMapping("delProduct") public ApiResult delProduct(Integer id){ if(productService.removeById(id)){ return ApiResult.success(); } return ApiResult.error("删除商品信息失败"); }}
二、添加网关
