package com.fdkankan.contro.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.common.constant.CameraConstant; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.contro.entity.Camera; import com.fdkankan.contro.entity.SceneUploadCount; import com.fdkankan.contro.mapper.ISceneUploadCountMapper; import com.fdkankan.contro.service.ICameraService; import com.fdkankan.contro.service.ISceneUploadCountService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.contro.vo.SceneUploadCountParamVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Objects; /** *

* app触发场景上传统计表 服务实现类 *

* * @author * @since 2024-05-20 */ @Service public class SceneUploadCountServiceImpl extends ServiceImpl implements ISceneUploadCountService { @Autowired private ICameraService cameraService; @Override public void increSceneUploadCount(SceneUploadCountParamVO param) { String uuid = param.getUuid(); String snCode = uuid.split("_")[0]; Camera camera = cameraService.getBySnCode(snCode); if (camera == null) { throw new BusinessException(CameraConstant.FAILURE_6003); } SceneUploadCount sceneUploadCount = this.getByUUid(uuid); if(Objects.isNull(sceneUploadCount)){ sceneUploadCount = new SceneUploadCount(); sceneUploadCount.setUuid(uuid); sceneUploadCount.setSnCode(snCode); sceneUploadCount.setCount(1); }else{ sceneUploadCount.setCount(sceneUploadCount.getCount() + 1); } this.saveOrUpdate(sceneUploadCount); } @Override public void resetCountByUuid(String uuid) { SceneUploadCount sceneUploadCount = this.getByUUid(uuid); if(Objects.isNull(sceneUploadCount)){ return; } sceneUploadCount.setCount(0); this.updateById(sceneUploadCount); } @Override public SceneUploadCount getByUUid(String uuid) { return this.getOne(new LambdaQueryWrapper().eq(SceneUploadCount::getUuid, uuid)); } }