From f9ec390d20bdb433e7a9dcf198988bb7fb505a43 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 25 一月 2025 16:09:20 +0800
Subject: [PATCH] bug修改

---
 manage/src/main/java/com/jilongda/manage/controller/TModelController.java |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 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 a2e2e5a..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;
@@ -94,7 +95,7 @@
         List<String> colorList = dto.getColorList();
         if (list.size()<colorList.size()){
             for (int i = 0; i < colorList.size(); i++) {
-                if (i>list.size()){
+                if (i>list.size()-1){
                     TModel model = new TModel();
                     BeanUtils.copyProperties(dto, model);
                     model.setId(null);
@@ -105,10 +106,19 @@
                 }
             }
         }else if (list.size()>colorList.size()){
-            list = list.subList(0, colorList.size());
-            for (int i = 0; i < colorList.size(); i++) {
-                list.get(i).setColor(colorList.get(i));
+            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));

--
Gitblit v1.7.1