From 2f8e70ad2884d2b6b7443dfae0af11ae9cfc8b99 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 28 二月 2025 17:44:10 +0800
Subject: [PATCH] bug修改

---
 manage/src/main/java/com/jilongda/manage/controller/TModelController.java |   54 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 43 insertions(+), 11 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/controller/TModelController.java b/manage/src/main/java/com/jilongda/manage/controller/TModelController.java
index c9a945e..7ae509d 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TModelController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TModelController.java
@@ -1,6 +1,7 @@
 package com.jilongda.manage.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.jilongda.common.basic.ApiResult;
 import com.jilongda.common.basic.PageInfo;
@@ -89,19 +90,50 @@
     @ApiOperation(value = "修改镜架型号")
     @PostMapping(value = "/update")
     public ApiResult<String> update(@RequestBody TModelDTO dto) {
-
-        modelService.remove(Wrappers.lambdaQuery(TModel.class)
-                .eq(TModel::getName,dto.getName()));
-
+        List<TModel> list = modelService.lambdaQuery()
+                .eq(TModel::getName, dto.getName()).list();
         List<String> colorList = dto.getColorList();
-        List<TModel> models = new ArrayList<>();
-        for (String s : colorList) {
-            TModel model = new TModel();
-            BeanUtils.copyProperties(dto, model);
-            model.setColor(s);
-            models.add(model);
+        if (list.size()<colorList.size()){
+            for (int i = 0; i < colorList.size(); i++) {
+                if (i>list.size()-1){
+                    TModel model = new TModel();
+                    BeanUtils.copyProperties(dto, model);
+                    model.setId(null);
+                    model.setColor(colorList.get(i));
+                    list.add(model);
+                }else {
+                    list.get(i).setColor(colorList.get(i));
+                }
+            }
+        }else if (list.size()>colorList.size()){
+            List<TModel> removeList = new ArrayList<>();
+            List<TModel> updateList = new ArrayList<>();
+            for (int i = 0; i < list.size(); i++) {
+                if (i<colorList.size()){
+                    updateList.add(list.get(i));
+                    list.get(i).setColor(colorList.get(i));
+                }else {
+                    removeList.add(list.get(i));
+                }
+            }
+            list = updateList;
+            modelService.removeByIds(removeList.stream().map(TModel::getId)
+                    .collect(Collectors.toList()));
+        }else {
+            for (int i = 0; i < list.size(); i++) {
+                list.get(i).setColor(colorList.get(i));
+            }
         }
-        modelService.saveBatch(models);
+        modelService.saveOrUpdateBatch(list);
+//        List<TModel> models = new ArrayList<>();
+//        for (String s : colorList) {
+//            TModel model = new TModel();
+//            BeanUtils.copyProperties(dto, model);
+//            model.setId(null);
+//            model.setColor(s);
+//            models.add(model);
+//        }
+//        modelService.saveBatch(models);
         return ApiResult.success();
     }
 

--
Gitblit v1.7.1