浏览代码

更新关联先删除后保存

xiewj 2 年之前
父节点
当前提交
47318a1312

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

@@ -16,4 +16,5 @@ public interface WorkHotsFodderService extends IBaseService<WorkHotsFodderEntity
 
     boolean getCountByDirId(String dirIds);
 
+    void removeBySceneCodeAndWorkIdAndTitleAndName(String sceneCode, String workId,String name);
 }

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

@@ -82,4 +82,14 @@ public class WorkHotsFodderServiceImpl extends IBaseServiceImpl<WorkHotsFodderEn
             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);
+        one.setWorkId(workId);
+        one.setName(name);
+        one.setIsDelete(0);
+        getBaseMapper().delete(one)   ;
+    }
 }

+ 6 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkServiceImpl.java

@@ -564,7 +564,13 @@ public class WorkServiceImpl extends IBaseStrServiceImpl<WorkEntity, String> imp
                             JSONObject hotspotJson = JSONObject.parseObject(hotspot.toString());
                             JSONArray fodderId = hotspotJson.getJSONArray("fodderId");
                             String hotspotTitle = hotspotJson.getString("hotspotTitle");
+                            //热点唯一ID
                             String name = hotspotJson.getString("name");
+
+                            if (fodderId.size()>0){
+                                //需要更新时候,先删除关联,在保存关联
+                                workHotsFodderService.removeBySceneCodeAndWorkIdAndTitleAndName(sceneCode,workId,name);
+                            }
                             for (Object id : fodderId) {
                                 WorkHotsFodderEntity entity= workHotsFodderService.findBySceneCodeAndWorkIdAndTitleAndNameAndFodderId(sceneCode,workId,hotspotTitle,name,Long.valueOf(String.valueOf(id)));
                                 if (ObjectUtil.isNotNull(entity)){