package com.fdkankan.contro.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.common.constant.CameraConstant; import com.fdkankan.common.constant.CommonStatus; import com.fdkankan.common.constant.ConstantUrl; import com.fdkankan.common.constant.ErrorCode; import com.fdkankan.common.constant.SceneStatus; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.common.util.FileUtils; import com.fdkankan.contro.entity.Camera; import com.fdkankan.contro.entity.CameraDetail; import com.fdkankan.contro.entity.SSOUser; import com.fdkankan.contro.entity.ScenePlus; import com.fdkankan.contro.entity.ScenePlusExt; import com.fdkankan.contro.entity.ScenePro; import com.fdkankan.contro.mapper.IScenePlusMapper; import com.fdkankan.contro.service.ICameraDetailService; import com.fdkankan.contro.service.ICameraService; import com.fdkankan.contro.service.IScenePlusExtService; import com.fdkankan.contro.service.IScenePlusService; import com.fdkankan.contro.service.ISceneProService; import com.fdkankan.contro.service.IUserService; import com.fdkankan.contro.vo.ScenePlusVO; import com.fdkankan.fyun.constant.FYunTypeEnum; import com.fdkankan.fyun.face.FYunFileServiceInterface; import com.fdkankan.model.constants.ConstantFilePath; import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage; import com.fdkankan.web.response.ResultData; import java.io.File; import java.util.Date; import lombok.extern.slf4j.Slf4j; import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.Objects; import org.springframework.util.ObjectUtils; /** *

* 场景主表 服务实现类 *

* * @author * @since 2022-03-16 */ @Slf4j @Service public class ScenePlusServiceImpl extends ServiceImpl implements IScenePlusService { @Autowired private IScenePlusExtService scenePlusExtService; @Autowired private ICameraDetailService cameraDetailService; @Override public ScenePlus getScenePlusByNum(String num) { return this.getOne(new LambdaQueryWrapper().eq(ScenePlus::getNum, num)); } @Override public ResultData resetSpace(String num){ ScenePlus scenePlus = this.getScenePlusByNum(num); ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId()); if(Objects.isNull(scenePlus)){ log.info("该场景不存在无法重置容量,场景码为:" + num); return ResultData.error(ErrorCode.FAILURE_CODE_5058); } if (scenePlusExt.getSceneScheme() < 4){ log.info("该场景不属于八目相机无法重置容量,场景码为:" + num); return ResultData.error(ErrorCode.FAILURE_CODE_5057); } if(!ObjectUtils.isEmpty(scenePlusExt) && !ObjectUtils.isEmpty(scenePlusExt.getSpace())){ cameraDetailService.updateCameraDetailByCameraIdAndSpace(scenePlus.getCameraId(), -scenePlusExt.getSpace()); } scenePlusExt.setSpace(Long.parseLong("0")); scenePlusExtService.updateById(scenePlusExt); return ResultData.ok(); } @Override public String getDataSourceLikeUnicode(String unicode) { ScenePlusExt scenePlusExt = scenePlusExtService.getOne( new LambdaQueryWrapper().like(ScenePlusExt::getDataSource, unicode) .eq(ScenePlusExt::getRecStatus,"A")); if(Objects.isNull(scenePlusExt)){ return null; } return scenePlusExt.getDataSource(); } @Override public ScenePlus getByFileId(String fileId) { ScenePlusExt scenePlusExt = scenePlusExtService.getOne( new LambdaQueryWrapper().like(ScenePlusExt::getDataSource, fileId) .eq(ScenePlusExt::getRecStatus,"A")); if(Objects.isNull(scenePlusExt)){ return null; } return this.getById(scenePlusExt.getPlusId()); } }