龚焕茏
2024-04-26 eb806b5ec0bb72536e78c1a7fcffb94bcd24cbbe
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
@@ -1,7 +1,10 @@
package com.ycl.platform.service.impl;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.dto.CarDTO;
import com.ycl.platform.domain.dto.FaceDTO;
import com.ycl.platform.domain.dto.VideoDTO;
import com.ycl.platform.domain.entity.YwThreshold;
import com.ycl.platform.domain.form.CarThresholdForm;
import com.ycl.platform.domain.form.FaceThresholdForm;
@@ -9,8 +12,9 @@
import com.ycl.platform.mapper.YwThresholdMapper;
import com.ycl.platform.service.IYwThresholdService;
import com.ycl.utils.DateUtils;
import enumeration.general.BusinessTypeEnum;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -23,9 +27,10 @@
 * @date 2024-03-25
 */
@Service
@RequiredArgsConstructor
public class YwThresholdServiceImpl extends ServiceImpl<YwThresholdMapper, YwThreshold> implements IYwThresholdService {
    @Autowired
    private YwThresholdMapper ywThresholdMapper;
    private final YwThresholdMapper ywThresholdMapper;
    /**
     * 查询运维阈值
@@ -102,7 +107,7 @@
            throw new RuntimeException("数据不存在");
        }
        BeanUtils.copyProperties(form, ywThreshold);
        ywThreshold.setIndicator(JSON.toJSONString(form));
//        ywThreshold.setIndicator(JSON.toJSONString(form));
        return baseMapper.updateById(ywThreshold);
    }
@@ -113,7 +118,7 @@
            throw new RuntimeException("数据不存在");
        }
        BeanUtils.copyProperties(form, ywThreshold);
        ywThreshold.setIndicator(JSON.toJSONString(form));
//        ywThreshold.setIndicator(JSON.toJSONString(form));
        return baseMapper.updateById(ywThreshold);
    }
@@ -124,7 +129,72 @@
            throw new RuntimeException("数据不存在");
        }
        BeanUtils.copyProperties(form, ywThreshold);
        ywThreshold.setIndicator(JSON.toJSONString(form));
//        ywThreshold.setIndicator(JSON.toJSONString(form));
        return baseMapper.updateById(ywThreshold);
    }
    @Override
    public Boolean checkFace(List<FaceDTO> faceList) {
        YwThreshold faceEntity = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(YwThreshold::getMonitorType, BusinessTypeEnum.FACE)
                .one();
        if (Objects.isNull(faceEntity)) {
            throw new RuntimeException("请配置人脸的工单阈值");
        }
        // todo 遍历条件,生成工单
        return Boolean.FALSE;
    }
    @Override
    public Boolean checkCar(List<CarDTO> faceList) {
        YwThreshold carEntity = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(YwThreshold::getMonitorType, BusinessTypeEnum.CAR)
                .one();
        if (Objects.isNull(carEntity)) {
            throw new RuntimeException("请配置车辆的工单阈值");
        }
        // todo 遍历条件,生成工单
        return Boolean.FALSE;
    }
    @Override
    public Boolean checkVideo(List<VideoDTO> faceList) {
        YwThreshold videoEntity = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(YwThreshold::getMonitorType, BusinessTypeEnum.VIDEO)
                .one();
        if (Objects.isNull(videoEntity)) {
            throw new RuntimeException("请配置视频的工单阈值");
        }
        // todo 遍历条件,生成工单
        return Boolean.FALSE;
    }
    @Override
    public FaceThresholdForm getFace(Integer id) {
        return null;
    }
    @Override
    public CarThresholdForm getCar(Integer id) {
        return null;
    }
    @Override
    public VideoThresholdForm getVideo(Integer id) {
        YwThreshold result = new LambdaQueryChainWrapper<>(baseMapper)
                .select(YwThreshold::getImageQuality,
                        YwThreshold::getId,
                        YwThreshold::getMonitorType,
                        YwThreshold::getImageQualityAuto,
                        YwThreshold::getVideoQuality,
                        YwThreshold::getVideoQualityAuto,
                        YwThreshold::getAnnotationAccuracy,
                        YwThreshold::getAnnotationAccuracyAuto)
                .eq(YwThreshold::getId, id)
                .eq(YwThreshold::getMonitorType, BusinessTypeEnum.VIDEO)
                .one();
        VideoThresholdForm form = new VideoThresholdForm();
        BeanUtils.copyProperties(result, form);
        return form;
    }
}