dongyukun
2025-06-11 668fc62ed7fa383b3b9fb35acb3baba89ff5c770
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
package com.iailab.module.model.mcs.sche.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.service.impl.BaseServiceImpl;
import com.iailab.framework.common.util.object.BeanUtils;
import com.iailab.framework.common.util.object.ConvertUtils;
import com.iailab.module.model.api.mcs.dto.ScheduleSuggestReqDTO;
import com.iailab.module.model.api.mcs.dto.ScheduleSuggestRespDTO;
import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestReqVO;
import com.iailab.module.model.common.enums.ScheduleSuggestStatusEnum;
import com.iailab.module.model.mcs.sche.dao.StScheduleSuggestDao;
import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity;
import com.iailab.module.model.mcs.sche.service.StScheduleSuggestService;
import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestPageReqVO;
import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestSaveReqVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
 
/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年09月06日
 */
@Service
public class StScheduleSuggestServiceImpl extends BaseServiceImpl<StScheduleSuggestDao, StScheduleSuggestEntity>
        implements StScheduleSuggestService {
 
    @Override
    public PageResult<StScheduleSuggestEntity> page(StScheduleSuggestPageReqVO reqVO) {
        return baseDao.selectPage(reqVO);
    }
 
    @Override
    public void create(StScheduleSuggestSaveReqVO createReqVO) {
        StScheduleSuggestEntity entity = BeanUtils.toBean(createReqVO, StScheduleSuggestEntity.class);
        entity.setStatus(ScheduleSuggestStatusEnum.S0.getCode());
        baseDao.insert(entity);
    }
 
    @Override
    public void update(StScheduleSuggestSaveReqVO createReqVO) {
        StScheduleSuggestEntity entity = BeanUtils.toBean(createReqVO, StScheduleSuggestEntity.class);
        baseDao.updateById(entity);
    }
 
    @Override
    public void delete(String id) {
        baseDao.deleteById(id);
    }
 
    @Override
    public StScheduleSuggestEntity getInfo(String id) {
        return baseDao.selectById(id);
    }
 
    @Override
    public List<StScheduleSuggestEntity> getList(String scheduleObj, Integer limit) {
        QueryWrapper<StScheduleSuggestEntity> queryWrapper = new QueryWrapper<>();
        limit = limit == null ? 1 : limit;
        queryWrapper.eq("schedule_obj", scheduleObj)
                .orderByDesc("create_time")
                .last("limit " + limit);
        return baseDao.selectList(queryWrapper);
    }
 
    @Override
    public void cleanScheduleSuggest(Map<String, Date> tMap) {
        baseDao.cleanScheduleSuggest(tMap);
    }
 
    @Override
    public List<ScheduleSuggestRespDTO> list(ScheduleSuggestReqDTO vo) {
        QueryWrapper<StScheduleSuggestEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq(StringUtils.isNotBlank(vo.getScheduleObj()),"schedule_obj", vo.getScheduleObj())
                .ge(null != vo.getStartTime(),"schedule_time",vo.getStartTime())
                .le(null != vo.getEndTime(),"schedule_time",vo.getEndTime());
        return ConvertUtils.sourceToTarget(baseDao.selectList(queryWrapper),ScheduleSuggestRespDTO.class);
    }
 
    @Override
    public List<StScheduleSuggestEntity> getList(List<String> scheduleObjList, Date predictTime) {
        if (CollectionUtils.isEmpty(scheduleObjList)) {
            return new ArrayList<>();
        }
        QueryWrapper<StScheduleSuggestEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.in("schedule_obj", scheduleObjList);
        queryWrapper.eq("schedule_time", predictTime);
        return baseDao.selectList(queryWrapper);
    }
 
    @Override
    public Boolean useSuggest(StAlarmAndSuggestReqVO reqVO) {
        StScheduleSuggestEntity entity = new StScheduleSuggestEntity();
        entity.setId(reqVO.getId());
        entity.setStatus(ScheduleSuggestStatusEnum.S1.getCode());
        entity.setHandleTime(new Date());
        baseDao.updateById(entity);
        return true;
    }
 
    @Override
    public Boolean cancelUseSuggest(StAlarmAndSuggestReqVO reqVO) {
        StScheduleSuggestEntity entity = new StScheduleSuggestEntity();
        entity.setId(reqVO.getId());
        entity.setStatus(ScheduleSuggestStatusEnum.S0.getCode());
        entity.setHandleTime(new Date());
        baseDao.updateById(entity);
        return true;
    }
 
    @Override
    public Boolean ignoreSuggest(StAlarmAndSuggestReqVO reqVO) {
        StScheduleSuggestEntity entity = new StScheduleSuggestEntity();
        entity.setId(reqVO.getId());
        entity.setStatus(ScheduleSuggestStatusEnum.S2.getCode());
        entity.setHandleTime(new Date());
        baseDao.updateById(entity);
        return true;
    }
 
    @Override
    public List<ScheduleSuggestRespDTO> getLastSuggest(Map<String, Object> params) {
        return baseDao.getLastSuggest(params);
    }
}