package com.ycl.platform.service.impl; 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; import com.ycl.platform.domain.form.VideoThresholdForm; 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.stereotype.Service; import java.util.List; import java.util.Objects; /** * 运维阈值Service业务层处理 * * @author gonghl * @date 2024-03-25 */ @Service @RequiredArgsConstructor public class YwThresholdServiceImpl extends ServiceImpl implements IYwThresholdService { private final YwThresholdMapper ywThresholdMapper; /** * 查询运维阈值 * * @param id 运维阈值主键 * @return 运维阈值 */ @Override public YwThreshold selectYwThresholdById(Integer id) { return ywThresholdMapper.selectYwThresholdById(id); } /** * 查询运维阈值列表 * * @param ywThreshold 运维阈值 * @return 运维阈值 */ @Override public List selectYwThresholdList(YwThreshold ywThreshold) { return ywThresholdMapper.selectYwThresholdList(ywThreshold); } /** * 新增运维阈值 * * @param ywThreshold 运维阈值 * @return 结果 */ @Override public int insertYwThreshold(YwThreshold ywThreshold) { ywThreshold.setCreateTime(DateUtils.getNowDate()); return ywThresholdMapper.insertYwThreshold(ywThreshold); } /** * 修改运维阈值 * * @param ywThreshold 运维阈值 * @return 结果 */ @Override public int updateYwThreshold(YwThreshold ywThreshold) { ywThreshold.setUpdateTime(DateUtils.getNowDate()); return ywThresholdMapper.updateYwThreshold(ywThreshold); } /** * 批量删除运维阈值 * * @param ids 需要删除的运维阈值主键 * @return 结果 */ @Override public int deleteYwThresholdByIds(Integer[] ids) { return ywThresholdMapper.deleteYwThresholdByIds(ids); } /** * 删除运维阈值信息 * * @param id 运维阈值主键 * @return 结果 */ @Override public int deleteYwThresholdById(Integer id) { return ywThresholdMapper.deleteYwThresholdById(id); } @Override public int editFace(FaceThresholdForm form) { YwThreshold ywThreshold = baseMapper.selectById(form.getId()); if (Objects.isNull(ywThreshold)) { throw new RuntimeException("数据不存在"); } BeanUtils.copyProperties(form, ywThreshold); // ywThreshold.setIndicator(JSON.toJSONString(form)); return baseMapper.updateById(ywThreshold); } @Override public int editCar(CarThresholdForm form) { YwThreshold ywThreshold = baseMapper.selectById(form.getId()); if (Objects.isNull(ywThreshold)) { throw new RuntimeException("数据不存在"); } BeanUtils.copyProperties(form, ywThreshold); // ywThreshold.setIndicator(JSON.toJSONString(form)); return baseMapper.updateById(ywThreshold); } @Override public int editVideo(VideoThresholdForm form) { YwThreshold ywThreshold = baseMapper.selectById(form.getId()); if (Objects.isNull(ywThreshold)) { throw new RuntimeException("数据不存在"); } BeanUtils.copyProperties(form, ywThreshold); // ywThreshold.setIndicator(JSON.toJSONString(form)); return baseMapper.updateById(ywThreshold); } @Override public Boolean checkFace(List 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 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 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; } }