Pārlūkot izejas kodu

解决删除素材问题

xiewj 2 gadi atpakaļ
vecāks
revīzija
a4a35153d7

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkHotsFodderService.java

@@ -15,6 +15,7 @@ public interface WorkHotsFodderService extends IBaseService<WorkHotsFodderEntity
 
 
     boolean getCountByDirId(String dirIds);
+    boolean getCountByFodderId(Long fodderId);
 
     void removeBySceneCodeAndWorkIdAndTitleAndName(String sceneCode, String workId,String name);
 }

+ 8 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/FodderServiceImpl.java

@@ -72,6 +72,9 @@ public class FodderServiceImpl extends IBaseServiceImpl<FodderEntity, Long> impl
     WorkService workService;
 
     @Autowired
+    WorkHotsFodderServiceImpl workHotsFodderService;
+
+    @Autowired
     FileAndOssUtil fileAndOssUtil;
 
     @Lazy
@@ -341,6 +344,11 @@ public class FodderServiceImpl extends IBaseServiceImpl<FodderEntity, Long> impl
             if (list.size() > 0) {
                 return Result.failure(ErrorEnum.FAILURE_CODE_3101.code(), "素材已经被引用, 不能删除");
             }
+        }else {
+           boolean flag=workHotsFodderService.getCountByFodderId(id);
+            if (flag) {
+                return Result.failure(ErrorEnum.FAILURE_CODE_3101.code(), "素材已经被引用, 不能删除");
+            }
         }
 
         // 2022-06-09 删除服务器文件, 目前只有全景图

+ 8 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkHotsFodderServiceImpl.java

@@ -84,6 +84,14 @@ public class WorkHotsFodderServiceImpl extends IBaseServiceImpl<WorkHotsFodderEn
     }
 
     @Override
+    public boolean getCountByFodderId(Long fodderId) {
+        String format = StrUtil.format(" SELECT count(a.id) FROM tb_work_hots_fodder a WHERE a.fodder_id ={}",
+                fodderId);
+        Integer count = workHotsFodderMapper.getCountStr(format);
+        return count > 0;
+    }
+
+    @Override
     public void removeBySceneCodeAndWorkIdAndTitleAndName(String sceneCode, String workId, String name) {
         WorkHotsFodderEntity one=new WorkHotsFodderEntity();
         one.setSceneCode(sceneCode);