package com.fdkankan.contro.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.common.constant.ErrorCode; import com.fdkankan.contro.entity.ScenePlus; import com.fdkankan.contro.entity.ScenePlusExt; import com.fdkankan.contro.mapper.IScenePlusMapper; import com.fdkankan.contro.service.ICameraDetailService; import com.fdkankan.contro.service.IScenePlusExtService; import com.fdkankan.contro.service.IScenePlusService; import com.fdkankan.web.response.ResultData; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import java.util.Objects; /** *

* 场景主表 服务实现类 *

* * @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)); 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)); if(Objects.isNull(scenePlusExt)){ return null; } return this.getById(scenePlusExt.getPlusId()); } }