lyhzzz 1 năm trước cách đây
mục cha
commit
7b4f086d35

+ 2 - 0
src/main/java/com/fdkankan/agent/service/IScenePlusService.java

@@ -14,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IScenePlusService extends IService<ScenePlus> {
 
     ScenePlus getByNum(String sceneNum);
+
+    Long getCountByCameraId(Long cameraId);
 }

+ 1 - 0
src/main/java/com/fdkankan/agent/service/ISceneProService.java

@@ -21,4 +21,5 @@ public interface ISceneProService extends IService<ScenePro> {
 
     ScenePro getByNum(String sceneNum);
 
+    Long getCountByCameraId(Long cameraId);
 }

+ 8 - 5
src/main/java/com/fdkankan/agent/service/impl/CameraDetailServiceImpl.java

@@ -7,11 +7,8 @@ import com.fdkankan.agent.entity.User;
 import com.fdkankan.agent.entity.UserIncrement;
 import com.fdkankan.agent.mapper.ICameraDetailMapper;
 import com.fdkankan.agent.mapper.IUserMapper;
-import com.fdkankan.agent.service.ICameraDetailService;
+import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.agent.service.IIncrementTypeService;
-import com.fdkankan.agent.service.IUserIncrementService;
-import com.fdkankan.agent.service.IUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -37,6 +34,10 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     IIncrementTypeService incrementTypeService;
     @Autowired
     IUserIncrementService userIncrementService;
+    @Autowired
+    ISceneProService sceneProService;
+    @Autowired
+    IScenePlusService scenePlusService;
 
     @Override
     public List<CameraDetail> getByUserName(Integer agentId,String userName) {
@@ -95,7 +96,9 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
                 return true;
             }
             totalSpace = incrementType != null ?incrementType.getCameraSpace() : detailEntity.getTotalSpace();
-            return detailEntity.getUsedSpace() + 1 <= totalSpace;
+            Long proCount = sceneProService.getCountByCameraId(detailEntity.getCameraId());
+            Long plusCount = scenePlusService.getCountByCameraId(detailEntity.getCameraId());
+            return proCount + plusCount + 1 <= totalSpace;
         }
         if("GB".equals(detailEntity.getUnit())){
             if(incrementType!=null && incrementType.getCameraCapacity() == -1){

+ 8 - 0
src/main/java/com/fdkankan/agent/service/impl/ScenePlusServiceImpl.java

@@ -31,4 +31,12 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         }
         return null;
     }
+
+    @Override
+    public Long getCountByCameraId(Long cameraId) {
+        LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePlus::getCameraId,cameraId);
+        wrapper.in(ScenePlus::getSceneStatus,0,-2);
+        return this.count(wrapper);
+    }
 }

+ 8 - 3
src/main/java/com/fdkankan/agent/service/impl/SceneProServiceImpl.java

@@ -151,7 +151,12 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         return list.get(0);
     }
 
-
-
-
+    @Override
+    public Long getCountByCameraId(Long cameraId) {
+        LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePro::getIsUpgrade,0);
+        wrapper.eq(ScenePro::getCameraId,cameraId);
+        wrapper.in(ScenePro::getStatus,0,-2);
+        return this.count(wrapper);
+    }
 }