|
@@ -1,12 +1,28 @@
|
|
|
package com.fdkankan.manage.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.fdkankan.manage.common.RedisKeyUtil;
|
|
|
+import com.fdkankan.manage.entity.CameraDetail;
|
|
|
+import com.fdkankan.manage.entity.SceneCooperation;
|
|
|
import com.fdkankan.manage.entity.SceneResourceCamera;
|
|
|
+import com.fdkankan.manage.entity.SceneResourceCooperation;
|
|
|
+import com.fdkankan.manage.httpClient.service.LaserService;
|
|
|
import com.fdkankan.manage.mapper.ISceneResourceCameraMapper;
|
|
|
+import com.fdkankan.manage.service.ISceneCooperationService;
|
|
|
import com.fdkankan.manage.service.ISceneResourceCameraService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fdkankan.manage.service.ISceneResourceCooperationService;
|
|
|
+import com.fdkankan.manage.util.Dateutils;
|
|
|
+import com.fdkankan.redis.util.RedisUtil;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.WeakHashMap;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 场景资源和相机关联表 服务实现类
|
|
@@ -18,10 +34,63 @@ import org.springframework.stereotype.Service;
|
|
|
@Service
|
|
|
public class SceneResourceCameraServiceImpl extends ServiceImpl<ISceneResourceCameraMapper, SceneResourceCamera> implements ISceneResourceCameraService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ISceneCooperationService sceneCooperationService;
|
|
|
+ @Autowired
|
|
|
+ ISceneResourceCooperationService sceneResourceCooperationService;
|
|
|
+ @Autowired
|
|
|
+ RedisUtil redisUtil;
|
|
|
+ @Autowired
|
|
|
+ LaserService laserService;
|
|
|
+
|
|
|
@Override
|
|
|
public void unbindCamera(Long cameraId) {
|
|
|
LambdaQueryWrapper<SceneResourceCamera> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(SceneResourceCamera::getCameraId,cameraId);
|
|
|
this.remove(wrapper);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setCooperationUser(CameraDetail cameraDetail, String num) {
|
|
|
+ if(cameraDetail.getCooperationUser() == null){
|
|
|
+ sceneCooperationService.delByNum(num);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<SceneResourceCamera> list = this.getByCameraId(cameraDetail.getCameraId());
|
|
|
+ if(list.size() >0){
|
|
|
+ List<Long> resourceIdList = list.stream().map(SceneResourceCamera::getSceneResourceId).collect(Collectors.toList());
|
|
|
+ if(resourceIdList.size() >0){
|
|
|
+ SceneCooperation sceneCooperationEntity = new SceneCooperation();
|
|
|
+ sceneCooperationEntity.setUserId(cameraDetail.getCooperationUser());
|
|
|
+ sceneCooperationEntity.setSceneNum(num);
|
|
|
+ sceneCooperationEntity.setRecStatus("A");
|
|
|
+ sceneCooperationEntity.setCreateTime(Dateutils.getDate(new Date()));
|
|
|
+ sceneCooperationEntity.setUpdateTime(Dateutils.getDate(new Date()));
|
|
|
+ sceneCooperationService.save(sceneCooperationEntity);
|
|
|
+ redisUtil.hset(RedisKeyUtil.SCENE_COOPERATION_NUM_USERID, sceneCooperationEntity.getSceneNum(), sceneCooperationEntity.getUserId() + "");
|
|
|
+
|
|
|
+
|
|
|
+ List<SceneResourceCooperation> resourceCooperationList = new ArrayList<>();
|
|
|
+ for (Long resourceId : resourceIdList) {
|
|
|
+ SceneResourceCooperation sceneResourceCooperation = new SceneResourceCooperation();
|
|
|
+ sceneResourceCooperation.setSceneResourceId(resourceId);
|
|
|
+ sceneResourceCooperation.setSceneCooperationId(sceneCooperationEntity.getId());
|
|
|
+ sceneResourceCooperation.setRecStatus("A");
|
|
|
+ sceneResourceCooperation.setCreateTime(Dateutils.getDate(new Date()));
|
|
|
+ sceneResourceCooperation.setUpdateTime(Dateutils.getDate(new Date()));
|
|
|
+ resourceCooperationList.add(sceneResourceCooperation);
|
|
|
+ }
|
|
|
+ if(resourceCooperationList.size() >0){
|
|
|
+ sceneResourceCooperationService.saveBatch(resourceCooperationList,10000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<SceneResourceCamera> getByCameraId(Long cameraId) {
|
|
|
+ LambdaQueryWrapper<SceneResourceCamera> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SceneResourceCamera::getCameraId,cameraId);
|
|
|
+ return this.list(wrapper);
|
|
|
+ }
|
|
|
}
|