龚焕茏
2024-04-18 b43ede1ee201c0d6aaede56e0fa3c4894c892e3c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
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;
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.beans.factory.annotation.Autowired;
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<YwThresholdMapper, YwThreshold> 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<YwThreshold> 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<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;
    }
}