From 347909bae241fff128b628ea6d12992d7e5b4b10 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Fri, 30 May 2025 18:35:43 +0800
Subject: [PATCH] 响应信息主体

---
 oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java b/oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java
new file mode 100644
index 0000000..6d47589
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/pc/product/rest/ProductController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.pc.product.rest;
+
+import com.oying.annotation.Log;
+import com.oying.utils.R;
+import com.oying.modules.pc.product.domain.Product;
+import com.oying.modules.pc.product.service.ProductService;
+import com.oying.modules.pc.product.domain.dto.ProductQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author lzp
+* @date 2025-04-30
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "商品")
+@RequestMapping("/api/product")
+public class ProductController {
+
+    private final ProductService productService;
+
+    @ApiOperation("导出数据")
+    @GetMapping(value = "/download")
+    @PreAuthorize("@el.check('product:list')")
+    public void exportProduct(HttpServletResponse response, ProductQueryCriteria criteria) throws IOException {
+        productService.download(productService.queryAll(criteria), response);
+    }
+
+    @GetMapping
+    @ApiOperation("查询商品")
+    @PreAuthorize("@el.check('product:list')")
+    public R<PageResult<Product>> queryProduct(ProductQueryCriteria criteria){
+        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+        return R.success(productService.queryAll(criteria,page));
+    }
+
+    @PostMapping
+    @Log("新增商品")
+    @ApiOperation("新增商品")
+    @PreAuthorize("@el.check('product:add')")
+    public R<?> createProduct(@Validated @RequestBody Product resources){
+        productService.create(resources);
+        return R.success();
+    }
+
+    @PutMapping
+    @Log("修改商品")
+    @ApiOperation("修改商品")
+    @PreAuthorize("@el.check('product:edit')")
+    public R<?> updateProduct(@Validated @RequestBody Product resources){
+        productService.update(resources);
+        return R.success();
+    }
+
+    @DeleteMapping
+    @Log("删除商品")
+    @ApiOperation("删除商品")
+    @PreAuthorize("@el.check('product:del')")
+    public R<?> deleteProduct(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+        productService.deleteAll(ids);
+        return R.success();
+    }
+}

--
Gitblit v1.9.3