From 195bb5267a6ece13363303e177fee7d1fa3941aa Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 19 十一月 2024 15:25:25 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java |   99 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 82 insertions(+), 17 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
index 989116c..09e47a7 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
@@ -6,15 +6,22 @@
 import com.zt.common.annotation.QueryParam;
 import com.zt.common.db.query.QueryFilter;
 import com.zt.common.servlet.Result;
+import com.zt.common.utils.CacheUtils;
+import com.zt.common.utils.UUIDUtil;
 import com.zt.common.validator.AssertUtils;
 import com.zt.common.validator.ValidatorUtils;
 import com.zt.common.validator.group.AddGroup;
 import com.zt.common.validator.group.DefaultGroup;
 import com.zt.common.validator.group.UpdateGroup;
+import com.zt.life.core.service.ZtProductService;
+import com.zt.life.dto.ImportErrDto;
+import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
 import com.zt.life.modules.mainPart.basicInfo.model.ProductImg;
 import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel;
+import com.zt.life.modules.mainPart.basicInfo.service.ParamDataService;
 import com.zt.life.modules.mainPart.basicInfo.service.XhProductModelService;
 import com.zt.life.modules.mainPart.sysPictureBase.service.SysPictureBaseService;
+import com.zt.life.util.ImportUtil;
 import com.zt.modules.oss.service.SysOssService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -22,9 +29,15 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -40,11 +53,11 @@
     @Autowired
     private XhProductModelService xhProductModelService;
 
-
-    @Autowired
-    private SysOssService sysOssService;
     @Autowired
     private SysPictureBaseService sysPictureBaseService;
+
+    @Autowired
+    private ParamDataService paramDataService;
 
     @GetMapping("page")
     @ApiOperation("鍒嗛〉")
@@ -60,8 +73,9 @@
     }
 
     @GetMapping("tree")
-    public Result<List<XhProductModel>> getTreeList(Boolean showXdy) {
-        List<XhProductModel> list = xhProductModelService.getAllTree(showXdy);
+    public Result<List<XhProductModel>> getTreeList(Boolean showXdy, Integer ztShow, Long productId) {
+        List<XhProductModel> list = xhProductModelService.getAllTree(showXdy, ztShow, productId);
+
 
         return Result.ok(list);
     }
@@ -82,9 +96,23 @@
         return Result.ok(data);
     }
 
+    @GetMapping("getImg")
+    @ApiOperation("淇℃伅")
+    public void getImg(HttpServletResponse response, Long id) {
+        xhProductModelService.getImg(response, id);
+    }
+
+
     @GetMapping("getProductList")
-    public Result<List<XhProductModel>> getProductList() {
-        List<XhProductModel> list = xhProductModelService.getProductList();
+    public Result<List<XhProductModel>> getProductList(Long shipId, Integer productType) {
+        if (productType == 2) {
+            shipId = null;
+        }
+        List<XhProductModel> list = xhProductModelService.getProductList(shipId, productType - 1);
+        if (productType == 5) {
+            List<XhProductModel> list2 = xhProductModelService.getProductList(shipId, productType - 2);
+            list.addAll(list2);
+        }
         return Result.ok(list);
     }
 
@@ -94,19 +122,40 @@
         return Result.ok(list);
     }
 
+    @PostMapping("importProductExcel")
+    @ApiOperation("瀵煎叆浜у搧妯″瀷")
+    @LogOperation("瀵煎叆浜у搧妯″瀷")
+    public Result importProductExcel(MultipartFile file, String progressId, Long pid) {
+        Result<List<ImportErrDto>> result = Result.ok();
+        try {
+            List<Map<String, Object>> importResults = xhProductModelService.importProductExcel(file, progressId, pid);
+            StringBuilder str = new StringBuilder();
+            ImportUtil.importResult(result, importResults, str);
+            ImportUtil.ImportErrResult(result, importResults, str);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+
+    @GetMapping("exportData")
+    @ApiOperation("瀵煎嚭浜у搧妯″瀷")
+    @LogOperation("瀵煎嚭浜у搧妯″瀷")
+    public Result exportDataExcel(HttpServletRequest request, HttpServletResponse response, Long shipId, String fileName) {
+        xhProductModelService.exportDataExcel(request, response, shipId, fileName);
+
+        return null;
+    }
+
+
     @PostMapping
     @ApiOperation("鏂板")
     @LogOperation("鏂板")
     public Result insert(@RequestBody XhProductModel xhProductModel) {
         //鏁堥獙鏁版嵁
         ValidatorUtils.validateEntity(xhProductModel, AddGroup.class, DefaultGroup.class);
-
-        Integer no = xhProductModelService.getNo(xhProductModel.getPid(),xhProductModel.getProductType());
-        if (xhProductModel.getSort() < no) {
-            xhProductModel.setSort(no + 1);
-        }
-        xhProductModelService.insert(xhProductModel);
-
+        xhProductModelService.insertProduct(xhProductModel);
         return Result.ok();
     }
 
@@ -117,6 +166,11 @@
             xhProductModel.setId(null);
             xhProductModel.setSort(xhProductModel.getSort());
             xhProductModel.setProductType(xhProductModel.getNodeType());
+            if (xhProductModel.getNamePath() == null) {
+                xhProductModel.setNamePath(xhProductModel.getName());
+            } else {
+                xhProductModel.setNamePath(xhProductModel.getNamePath() + "," + xhProductModel.getName());
+            }
             this.insert(xhProductModel);
         }
         return Result.ok();
@@ -128,8 +182,7 @@
     public Result update(@RequestBody XhProductModel xhProductModel) {
         //鏁堥獙鏁版嵁
         ValidatorUtils.validateEntity(xhProductModel, UpdateGroup.class, DefaultGroup.class);
-        xhProductModelService.update(xhProductModel);
-
+        xhProductModelService.updateProduct(xhProductModel);
         return Result.ok();
     }
 
@@ -139,9 +192,21 @@
     public Result delete(@RequestBody Long[] ids) {
         //鏁堥獙鏁版嵁
         AssertUtils.isArrayEmpty(ids, "id");
-        xhProductModelService.delete(ids);
+        this.deleteByProduct(ids);
 
         return Result.ok();
     }
 
+    private void deleteByProduct(Long[] ids) {
+        Map<Long, XhProductModel> imgMap = new HashMap<>();
+        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+        for (Long id : ids) {
+            Long[] list = xhProductModelService.getByPid(id);
+            if (list.length > 0) {
+                this.deleteByProduct(list);
+            }
+            imgMap.remove(id);
+            xhProductModelService.deleteLogic(id);
+        }
+    }
 }

--
Gitblit v1.9.1