From 87519f0df32a22a68df0941fb06dd2c34861fbe4 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期二, 07 四月 2026 14:32:17 +0800
Subject: [PATCH] feat(product): 新增根据产品ID批量查询产品规格功能
---
src/main/java/com/ruoyi/basic/controller/ProductController.java | 29 +++++++++++++++++++++++------
1 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/controller/ProductController.java b/src/main/java/com/ruoyi/basic/controller/ProductController.java
index a97bd7b..5a08b10 100644
--- a/src/main/java/com/ruoyi/basic/controller/ProductController.java
+++ b/src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -3,12 +3,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductModelDto;
+import com.ruoyi.basic.dto.ProductModelExportDto;
import com.ruoyi.basic.dto.ProductTreeDto;
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.basic.service.IProductModelService;
import com.ruoyi.basic.service.IProductService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
@@ -23,7 +26,9 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
+import java.util.stream.Collectors;
@RestController
@AllArgsConstructor
@@ -78,11 +83,12 @@
if (ids == null || ids.length == 0) {
return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
}
+ List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids));
// 妫�鏌ユ槸鍚︽湁閿�鍞晢鍝佽褰曞叧鑱旇浜у搧
LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(SalesLedgerProduct::getProductId, ids);
+ queryWrapper.in(SalesLedgerProduct::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList()));
List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
- if (salesLedgerProductList.size() > 0) {
+ if (!salesLedgerProductList.isEmpty()) {
return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
}
return toAjax(productService.delProductByIds(ids));
@@ -124,9 +130,20 @@
/**
* 瀵煎叆浜у搧
*/
- @Log(title = "瀵煎叆浜у搧",businessType = BusinessType.IMPORT)
- @PostMapping("import")
- public AjaxResult importProduct(MultipartFile file) {
- return AjaxResult.success(productModelService.importProduct(file));
+ @PostMapping("/import")
+ @Log(title = "瀵煎叆浜у搧", businessType = BusinessType.IMPORT)
+ public AjaxResult importProductModel(@RequestParam("file") MultipartFile file, Integer productId) {
+ return productModelService.importProductModel(file, productId);
+ }
+
+ /**
+ * 浜у搧瀵煎叆妯℃澘
+ */
+ @GetMapping("/export")
+ @ApiOperation("浜у搧瀵煎叆妯℃澘")
+ @Log(title = "浜у搧瀵煎叆妯℃澘", businessType = BusinessType.EXPORT)
+ public void importProduct(HttpServletResponse response) {
+ ExcelUtil<ProductModelExportDto> excelUtil = new ExcelUtil<>(ProductModelExportDto.class);
+ excelUtil.importTemplateExcel(response, "浜у搧瑙勬牸瀵煎叆妯℃澘");
}
}
--
Gitblit v1.9.3