Browse Source

修改模版,资源修改和删除bug

liaoyitao 2 weeks ago
parent
commit
b72beee41b

+ 7 - 1
src/main/java/com/lqkj/link/module/zone/repository/ModelInfoRepository.java

@@ -36,9 +36,15 @@ public interface ModelInfoRepository extends JpaRepository<ModelInfo, Integer> {
36 36
 
37 37
     @Modifying
38 38
     @Query(nativeQuery = true,
39
-        value = "delete from model_info where template_id in :templateIds"
39
+        value = "update model_info set template_id = null where template_id in :templateIds"
40 40
     )
41 41
     void deleteAllByTemplateIds(@Param("templateIds") List<Integer> templateIds);
42 42
 
43 43
     List<ModelInfo> findByCategoryIdIn(List<Integer> categoryId);
44
+
45
+    @Modifying
46
+    @Query(nativeQuery = true,
47
+        value = "update model_info set category_id = null where model_id in :deleteList"
48
+    )
49
+    void updateAllByIdInBatch(List<Integer> deleteList);
44 50
 }

+ 1 - 1
src/main/java/com/lqkj/link/module/zone/service/ResourceService.java

@@ -114,7 +114,7 @@ public class ResourceService {
114 114
                         .map(ModelInfo::getModelId)
115 115
                         .toList();
116 116
 
117
-                infoRepository.deleteAllByIdInBatch(deleteList);
117
+                infoRepository.updateAllByIdInBatch(deleteList);
118 118
             }
119 119
         }
120 120
         // 更新用户资源刷新状态

+ 2 - 2
src/main/java/com/lqkj/link/module/zone/service/ZoneInfoService.java

@@ -154,8 +154,8 @@ public class ZoneInfoService {
154 154
                 Unzipper.unZipFiles(new File("." + zoneInfo.getTemplateFilePath()), "./upload/template/" + zoneInfo1.getZoneId() + "/");
155 155
                 geomJsonString = Files.readString(Paths.get("./upload/template/" + zoneInfo1.getZoneId() + "/geom.json"));
156 156
             } catch (IOException e) {
157
-                modelInfoRepository.deleteAllByTemplateIds(Collections.singletonList(zoneInfo1.getZoneId()));
158
-                zoneInfoRepository.delete(zoneInfo1);
157
+//                modelInfoRepository.deleteAllByTemplateIds(Collections.singletonList(zoneInfo1.getZoneId()));
158
+//                zoneInfoRepository.delete(zoneInfo1);
159 159
                 result.put("msg", "模板压缩文件解压失败!");
160 160
                 return result;
161 161
             }

+ 14 - 2
src/main/resources/db/migration/V14__2.0.8.sql

@@ -1,4 +1,4 @@
1
-create table tmp_layer_info (
1
+create table if not exists tmp_layer_info (
2 2
                                 tmp_layer_id         SERIAL               not null,
3 3
                                 zone_id              INT4                 null,
4 4
                                 layer_name           VARCHAR(255)         null,
@@ -38,7 +38,7 @@ comment on column tmp_layer_info.layer_id is
38 38
 '图层ID';
39 39
 
40 40
 
41
-create table tmp_geom_info (
41
+create table if not exists tmp_geom_info (
42 42
                                tmp_id               SERIAL               not null,
43 43
                                zone_id              INT4                 null,
44 44
                                model_id             INT4                 null,
@@ -157,3 +157,15 @@ alter table tmp_geom_info
157 157
     add constraint FK_TMP_GEOM_REF_LAYER foreign key (tmp_layer_id)
158 158
         references tmp_layer_info (tmp_layer_id)
159 159
         on delete cascade on update cascade;
160
+
161
+
162
+ALTER TABLE model_info
163
+DROP CONSTRAINT FK_MODEL_REF_MODEL_CATEGORY;
164
+
165
+
166
+ALTER TABLE model_info
167
+    ADD CONSTRAINT FK_MODEL_REF_MODEL_CATEGORY
168
+        FOREIGN KEY (category_id)
169
+            REFERENCES model_category (category_id)
170
+            ON DELETE SET NULL
171
+            ON UPDATE CASCADE;