xiangpei
2024-04-15 75cf6d5a2484cc13ad78898e26e452ffa664f2cb
阈值修改、阈值计算方法定义
4个文件已修改
3个文件已添加
127 ■■■■■ 已修改文件
ycl-common/src/main/java/enumeration/general/BusinessTypeEnum.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/CarDTO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/FaceDTO.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/VideoDTO.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwThreshold.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/enumeration/general/BusinessTypeEnum.java
@@ -11,13 +11,13 @@
 */
public enum BusinessTypeEnum {
    VIDEO("video", "视频"),
    CAR("CAR", "车辆"),
    CAR("car", "车辆"),
    FACE("face", "人脸");
    @EnumValue // 标明该字段存入数据库
    private final String code;
    @JsonValue // 标明在转JSON时使用该字段,即响应时
    @JsonValue // 标明在转JSON时使用该字段
    private final String desc;
    BusinessTypeEnum(String code, String desc) {
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/CarDTO.java
New file
@@ -0,0 +1,13 @@
package com.ycl.platform.domain.dto;
import lombok.Data;
/**
 * 请求到得车辆数据,用于判断满足工单阈值
 *
 * @author:xp
 * @date:2024/4/15 11:05
 */
@Data
public class CarDTO {
}
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/FaceDTO.java
New file
@@ -0,0 +1,14 @@
package com.ycl.platform.domain.dto;
import lombok.Data;
/**
 * 请求到得人脸数据,用于判断满足工单阈值
 *
 * @author:xp
 * @date:2024/4/15 11:05
 */
@Data
public class FaceDTO {
}
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/VideoDTO.java
New file
@@ -0,0 +1,14 @@
package com.ycl.platform.domain.dto;
import lombok.Data;
/**
 * 请求到得视频数据,用于判断满足工单阈值
 *
 * @author:xp
 * @date:2024/4/15 11:05
 */
@Data
public class VideoDTO {
}
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwThreshold.java
@@ -7,9 +7,8 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.system.entity.BaseEntity;
import enumeration.general.BusinessTypeEnum;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
 * 运维阈值对象 t_yw_threshold
@@ -32,9 +31,9 @@
    /**
     * 设备类型:1人脸 2车辆 3视频
     */
    @Excel(name = "设备类型:1人脸 2车辆 3视频")
    @Excel(name = "设备类型")
    @TableField("monitor_type")
    private String monitorType;
    private BusinessTypeEnum monitorType;
    /**
     * 超时天数
@@ -53,7 +52,6 @@
    /**
     * 逻辑删除:0未删除 1删除
     */
    @TableField("deleted")
    private String deleted;
ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java
@@ -2,6 +2,9 @@
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;
@@ -88,4 +91,28 @@
     * @return
     */
    int editVideo(VideoThresholdForm form);
    /**
     * 检查人脸数据是否要生成工单
     *
     * @param faceList 人脸数据
     * @return 是否生成工单
     */
    Boolean checkFace(List<FaceDTO> faceList);
    /**
     * 检查车辆数据是否要生成工单
     *
     * @param carList 车辆数据
     * @return 是否生成工单
     */
    Boolean checkCar(List<CarDTO> carList);
    /**
     * 检查视频数据是否要生成工单
     *
     * @param videoList
     * @return 是否生成工单
     */
    Boolean checkVideo(List<VideoDTO> videoList);
}
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
@@ -1,7 +1,11 @@
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,6 +13,8 @@
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;
@@ -23,9 +29,10 @@
 * @date 2024-03-25
 */
@Service
@RequiredArgsConstructor
public class YwThresholdServiceImpl extends ServiceImpl<YwThresholdMapper, YwThreshold> implements IYwThresholdService {
    @Autowired
    private YwThresholdMapper ywThresholdMapper;
    private final YwThresholdMapper ywThresholdMapper;
    /**
     * 查询运维阈值
@@ -127,4 +134,40 @@
        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;
    }
}