Procházet zdrojové kódy

场景迁移 场景文件夹关系删除

lyhzzz před 2 roky
rodič
revize
4474621c9a

+ 1 - 0
src/main/java/com/fdkankan/manage/common/ResultCode.java

@@ -58,6 +58,7 @@ public enum ResultCode  {
     AGENT_NEW_EMPTY(50041, "代理商不存在!"),
     SS_NO_COPY(50042, "深时场景暂不支持复制!"),
     AGENT_NOT_EMPTY(50043, "经销商名称已存在!"),
+    CAMERA_NOT_MOVE(50044, "场景在改相机中,无需迁移!"),
 
     ;
 

+ 48 - 0
src/main/java/com/fdkankan/manage/entity/FolderScene.java

@@ -0,0 +1,48 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 文件夹和场景关联表
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-18
+ */
+@Getter
+@Setter
+@TableName("t_folder_scene")
+public class FolderScene implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @TableField("folder_id")
+    private Long folderId;
+
+    @TableField("scene_id")
+    private Long sceneId;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"manage", getTables(new String[]{
-                "t_agent_new_log",
+                "t_folder_scene",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/IFolderSceneMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.FolderScene;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 文件夹和场景关联表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-18
+ */
+@Mapper
+public interface IFolderSceneMapper extends BaseMapper<FolderScene> {
+
+}

+ 17 - 0
src/main/java/com/fdkankan/manage/service/IFolderSceneService.java

@@ -0,0 +1,17 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.FolderScene;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 文件夹和场景关联表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-18
+ */
+public interface IFolderSceneService extends IService<FolderScene> {
+
+    void delBySceneId(Long sceneId);
+}

+ 27 - 0
src/main/java/com/fdkankan/manage/service/impl/FolderSceneServiceImpl.java

@@ -0,0 +1,27 @@
+package com.fdkankan.manage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.manage.entity.FolderScene;
+import com.fdkankan.manage.mapper.IFolderSceneMapper;
+import com.fdkankan.manage.service.IFolderSceneService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 文件夹和场景关联表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-18
+ */
+@Service
+public class FolderSceneServiceImpl extends ServiceImpl<IFolderSceneMapper, FolderScene> implements IFolderSceneService {
+
+    @Override
+    public void delBySceneId(Long sceneId) {
+        LambdaQueryWrapper<FolderScene> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(FolderScene::getSceneId,sceneId);
+        this.remove(wrapper);
+    }
+}

+ 11 - 1
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -76,8 +76,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     IScenePlusExtService scenePlusExtService;
     @Autowired
     LaserService laserService;
-   @Autowired
+    @Autowired
     FdKKClient fdKKClient;
+    @Autowired
+    IFolderSceneService folderSceneService;
 
 
     @Override
@@ -363,6 +365,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(oldCameraDetail == null){
             throw new BusinessException(ResultCode.CAMERA_NOT_EXIST);
         }
+        if(oldCameraDetail.getCameraId().equals(cameraDetail.getCameraId())){
+            throw new BusinessException(ResultCode.CAMERA_NOT_MOVE);
+        }
         if(!oldCameraDetail.getType().equals(cameraDetail.getType())){
             throw new BusinessException(ResultCode.CAMERA_TYPE_NOT_ERROR);
         }
@@ -378,12 +383,16 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         cameraDetail.setUsedSpace(newUseSpace);
         cameraDetailService.updateById(cameraDetail);
 
+
+
         if(scenePro!=null){
             LambdaUpdateWrapper<ScenePro> wrapper = new LambdaUpdateWrapper<>();
             wrapper.eq(ScenePro::getId,scenePro.getId());
             wrapper.set(ScenePro::getCameraId,camera.getId());
             wrapper.set(ScenePro::getUserId,cameraDetail.getUserId());
             this.update(wrapper);
+            //场景迁移到另外的相机清除本身在的文件夹
+            folderSceneService.delBySceneId(scenePro.getId());
         }
         if(scenePlus!=null){
             LambdaUpdateWrapper<ScenePlus> wrapper = new LambdaUpdateWrapper<>();
@@ -391,6 +400,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             wrapper.set(ScenePlus::getCameraId,camera.getId());
             wrapper.set(ScenePlus::getUserId,cameraDetail.getUserId());
             scenePlusService.update(wrapper);
+            folderSceneService.delBySceneId(scenePlus.getId());
         }
         if(cameraDetail.getType() == 10){       //深时场景
             laserService.move(param.getNum(),oldCamera.getSnCode(),camera.getSnCode());

+ 5 - 0
src/main/resources/mapper/manage/FolderSceneMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.manage.mapper.IFolderSceneMapper">
+
+</mapper>