소스 검색

删除全景素材时,需要判断是否被作品引用
删除无用代码

wuweihao 4 년 전
부모
커밋
0b75a363ba

+ 30 - 27
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkEntity.java

@@ -39,26 +39,26 @@ public class WorkEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "作品密码, 默认0:不需要密码")
     private String password;
 
-    @ApiModelProperty(value = "PC端提示语")
-    private String pcIcon;
-
-    @ApiModelProperty(value = "移动端提示语")
-    private String appIcon;
-
-    @ApiModelProperty(value = "提醒开关:0:不提醒, 1:提醒")
-    private Integer isRemind;
-
-    @ApiModelProperty(value = "提醒时间,单位秒")
-    private Integer remindTime;
-
-    @ApiModelProperty(value = "自定义logo")
-    private String logo;
-
-    @ApiModelProperty(value = "显示logo, 0:关,1:开")
-    private Integer isLogo;
-
-    @ApiModelProperty(value = "自动巡游, 0:关,1:开")
-    private Integer isAuto;
+//    @ApiModelProperty(value = "PC端提示语")
+//    private String pcIcon;
+//
+//    @ApiModelProperty(value = "移动端提示语")
+//    private String appIcon;
+//
+//    @ApiModelProperty(value = "提醒开关:0:不提醒, 1:提醒")
+//    private Integer isRemind;
+//
+//    @ApiModelProperty(value = "提醒时间,单位秒")
+//    private Integer remindTime;
+
+//    @ApiModelProperty(value = "自定义logo")
+//    private String logo;
+
+//    @ApiModelProperty(value = "显示logo, 0:关,1:开")
+//    private Integer isLogo;
+//
+//    @ApiModelProperty(value = "自动巡游, 0:关,1:开")
+//    private Integer isAuto;
 
     @ApiModelProperty(value = "二维码")
     private String qrCode;
@@ -66,19 +66,22 @@ public class WorkEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "分享地址(二维码扫描后地址)")
     private String share;
 
-    @ApiModelProperty(value = "初始场景id(场景id)")
-    private String sceneIndex;
+//    @ApiModelProperty(value = "初始场景id(场景id)")
+//    private String sceneIndex;
 
     @ApiModelProperty(value = "是否有密码,0:没有, 1:有")
     private Integer isPassword;
 
-
+    /** 用来关联删除素材时使用*/
+    @ApiModelProperty(value = "场景码")
+    private String sceneCodes;
 
 /**********************************************************/
-    @ApiModelProperty(value = "someData OSS路径")
-    private String ossSomeData;
+//    @ApiModelProperty(value = "someData OSS路径")
+//    private String ossSomeData;
 
-//    @ApiModelProperty(value = "someData 服务器路径")
-//    private String serverPath;
+    /** 用来关联删除素材时使用*/
+//    @ApiModelProperty(value = "场景码")
+//    private String scenes;
 
 }

+ 4 - 0
720yun_fd_manage/gis_mapper/src/main/java/com/gis/mapper/WorkMapper.java

@@ -5,6 +5,7 @@ import com.gis.domain.dto.PageDto;
 import com.gis.domain.entity.WorkEntity;
 import com.gis.mapper.provider.WorkProvider;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.SelectProvider;
 import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Component;
@@ -23,4 +24,7 @@ public interface WorkMapper extends IBaseMapper<WorkEntity, Long> {
 
     @Update("UPDATE tb_work SET visit= visit + 1 where id = #{id}")
     void addVisit(Long id);
+
+    @Select("select id, name, scene_codes from tb_work where is_delete = 0 and user_id = #{userId} and scene_codes like #{sceneCode}")
+    List<WorkEntity> likeSceneCode(String sceneCode, String userId);
 }

+ 4 - 4
720yun_fd_manage/gis_service/src/main/java/com/gis/service/SceneService.java

@@ -26,9 +26,9 @@ public interface SceneService extends IBaseService<SceneEntity, Long> {
 
     Result editSomeData(EditSomeDataDto param);
 
-    Result setIndex(String id, Long workId);
-
-    Result getIndex(Long workId);
+//    Result setIndex(String id, Long workId);
+//
+//    Result getIndex(Long workId);
 
     Result setSort(Map<String, String> param);
 
@@ -51,7 +51,7 @@ public interface SceneService extends IBaseService<SceneEntity, Long> {
 
     List<SceneEntity> findByWorkId(Long workId);
 
-    Result getVoIndex(Long workId);
+//    Result getVoIndex(Long workId);
 
     Result editEntity(BaseDto param);
 }

+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkService.java

@@ -9,6 +9,8 @@ import com.gis.domain.entity.WorkEntity;
 import com.gis.domain.vo.WorkInfoVo;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
@@ -33,4 +35,7 @@ public interface WorkService extends IBaseService<WorkEntity, Long> {
     Result select4dkk(PageDto param, Long workId);
 
     Result editUpload(MultipartFile file);
+
+
+    List<WorkEntity> likeSceneCode(String sceneCode);
 }

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

@@ -243,7 +243,7 @@ public class FodderServiceImpl extends IBaseServiceImpl<FodderEntity, Long> impl
 
 
 
-                FileUtil.writeFromStream(file.getInputStream(), savePath);
+
 
             log.info("pano serverPath: " + savePath);
                 log.info("全景图片写入完成");

+ 47 - 47
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/SceneServiceImpl.java

@@ -293,37 +293,37 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, Long> implem
     }
 
 
-    @Override
-    public Result setIndex(String id, Long workId) {
-        WorkEntity entity = workService.findById(workId);
-
-        if (entity == null) {
-            log.error("作品不存在,id:  {}", workId);
-            return Result.failure("作品不存在");
-        }
-        entity.setSceneIndex(id);
-        entity.setUpdateTime(new Date());
-        workService.update(entity);
-
-        return Result.success();
-    }
-
-    @Override
-    public Result getIndex(Long workId) {
-        WorkEntity entity = workService.findById(workId);
+//    @Override
+//    public Result setIndex(String id, Long workId) {
+//        WorkEntity entity = workService.findById(workId);
+//
+//        if (entity == null) {
+//            log.error("作品不存在,id:  {}", workId);
+//            return Result.failure("作品不存在");
+//        }
+//        entity.setSceneIndex(id);
+//        entity.setUpdateTime(new Date());
+//        workService.update(entity);
+//
+//        return Result.success();
+//    }
 
-        if (entity == null) {
-            log.error("作品不存在,id:  {}", workId);
-            return Result.failure("作品不存在");
-        }
-        String sceneIndex = entity.getSceneIndex();
-        SceneEntity sceneEntity = null;
-        // 字符串判断需要用isNotBlank
-        if (StringUtils.isNotBlank(sceneIndex)) {
-            sceneEntity = this.findById(Long.valueOf(sceneIndex));
-        }
-        return Result.success(sceneEntity);
-    }
+//    @Override
+//    public Result getIndex(Long workId) {
+//        WorkEntity entity = workService.findById(workId);
+//
+//        if (entity == null) {
+//            log.error("作品不存在,id:  {}", workId);
+//            return Result.failure("作品不存在");
+//        }
+//        String sceneIndex = entity.getSceneIndex();
+//        SceneEntity sceneEntity = null;
+//        // 字符串判断需要用isNotBlank
+//        if (StringUtils.isNotBlank(sceneIndex)) {
+//            sceneEntity = this.findById(Long.valueOf(sceneIndex));
+//        }
+//        return Result.success(sceneEntity);
+//    }
 
 
     @Override
@@ -455,23 +455,23 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, Long> implem
         return entityMapper.findByWorkId(workId);
     }
 
-    @Override
-    public Result getVoIndex(Long workId) {
-        WorkEntity entity = workService.findById(workId);
-
-        if (entity == null) {
-            log.error("作品不存在,id:  {}", workId);
-            return Result.failure("作品不存在");
-        }
-        String sceneIndex = entity.getSceneIndex();
-        CatalogSceneVo vo = null;
-        // 字符串判断需要用isNotBlank
-        if (StringUtils.isNotBlank(sceneIndex)) {
-            Long sceneId = Long.valueOf(sceneIndex);
-            vo = entityMapper.findVoById(sceneId);
-        }
-        return Result.success(vo);
-    }
+//    @Override
+//    public Result getVoIndex(Long workId) {
+//        WorkEntity entity = workService.findById(workId);
+//
+//        if (entity == null) {
+//            log.error("作品不存在,id:  {}", workId);
+//            return Result.failure("作品不存在");
+//        }
+//        String sceneIndex = entity.getSceneIndex();
+//        CatalogSceneVo vo = null;
+//        // 字符串判断需要用isNotBlank
+//        if (StringUtils.isNotBlank(sceneIndex)) {
+//            Long sceneId = Long.valueOf(sceneIndex);
+//            vo = entityMapper.findVoById(sceneId);
+//        }
+//        return Result.success(vo);
+//    }
 
     @Override
     public Result editEntity(BaseDto param) {

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

@@ -281,6 +281,7 @@ public class WorkServiceImpl extends IBaseServiceImpl<WorkEntity, Long> implemen
         entity.setQrCode(sd.getString("qrCode"));
         entity.setStatus(sd.getInteger("status"));
         entity.setPassword(sd.getString("password"));
+        entity.setSceneCodes(sd.getString("scenes"));
         // 更新logoQrCode
         Boolean logoChange = sd.getBoolean("logoChange");
         String logoUrl = sd.getString("logo");
@@ -409,5 +410,11 @@ public class WorkServiceImpl extends IBaseServiceImpl<WorkEntity, Long> implemen
         return Result.success(fileUtils.renameUploadOss(file, configConstant.serverBasePath, configConstant.ossBasePath, configConstant.ossDomain));
     }
 
+    @Override
+    public List<WorkEntity> likeSceneCode(String sceneCode) {
+        sceneCode = "%" + sceneCode + "%";
+        return entityMapper.likeSceneCode(sceneCode, getUserNameForToken());
+    }
+
 
 }

+ 18 - 6
720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/FodderController.java

@@ -10,6 +10,7 @@ import com.gis.domain.entity.SceneEntity;
 import com.gis.domain.entity.WorkEntity;
 import com.gis.service.FodderService;
 import com.gis.service.SceneService;
+import com.gis.service.WorkService;
 import com.gis.web.aop.WebControllerLog;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -39,8 +40,11 @@ public class FodderController extends BaseController {
     @Autowired
     private FodderService fodderService;
 
+//    @Autowired
+//    SceneService sceneService;
+
     @Autowired
-    SceneService sceneService;
+    WorkService workService;
 
     @ApiOperation(value = "上传素材", notes = "type:类型, 全景图:pano, 图片:image, 音频:audio, 视频:video, temId: 前端临时Id")
     @PostMapping("upload/{type}/{tempId}")
@@ -80,15 +84,23 @@ public class FodderController extends BaseController {
 
         // 检查全景图是否被引用
         if ("pano".equals(entity.getType())) {
-            List<SceneEntity> list = sceneService.findBySceneCode(entity.getSceneCode());
-            if (list.size() > 0) {
-                log.error("场景已使用,不能删除");
-                return Result.failure(MsgCode.e3001, MsgCode.m3001);
-            }
+//            List<SceneEntity> list = sceneService.findBySceneCode(entity.getSceneCode());
+//            if (list.size() > 0) {
+//                log.error("场景已使用,不能删除");
+//                return Result.failure(MsgCode.e3001, MsgCode.m3001);
+//            }
+
 
             if (entity.getStatus() == 1) {
                 return Result.failure("计算中的场景不能删除");
             }
+
+            List<WorkEntity> list = workService.likeSceneCode(entity.getSceneCode());
+            if (list.size() > 0) {
+                return Result.failure("素材已经被引用, 不能删除");
+            }
+
+
         }
 
         entity.setIsDelete(1);

+ 5 - 5
720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/WebController.java

@@ -86,11 +86,11 @@ public class WebController extends BaseController {
     }
 
 
-    @ApiOperation(value = "初始场景-获取", position = 3)
-    @GetMapping("getIndex/{workId}")
-    public Result getIndex(@PathVariable Long workId) {
-        return sceneService.getVoIndex(workId);
-    }
+//    @ApiOperation(value = "初始场景-获取", position = 3)
+//    @GetMapping("getIndex/{workId}")
+//    public Result getIndex(@PathVariable Long workId) {
+//        return sceneService.getVoIndex(workId);
+//    }