‘liusuyi’
2023-06-24 98505f497a12382b259f643232f2c6c63f5004f8
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
package com.ruoyi.alarm.config.service.impl;
 
 
 
import com.ruoyi.alarm.config.domain.ArdAlarmTypeConfig;
import com.ruoyi.alarm.config.mapper.ArdAlarmTypeConfigMapper;
import com.ruoyi.alarm.config.service.IArdAlarmTypeConfigService;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.system.mapper.SysDictDataMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Objects;
 
 
/**
 * 报警类型用户关联Service业务层处理
 *
 * @author ard
 * @date 2023-06-21
 */
@Service
public class ArdAlarmTypeConfigServiceImpl implements IArdAlarmTypeConfigService {
    @Autowired
    private ArdAlarmTypeConfigMapper ardAlarmTypeConfigMapper;
    @Autowired
    private SysDictDataMapper dictDataMapper;
    /**
     * 查询报警类型用户关联
     *
     * @param id 报警类型用户关联主键
     * @return 报警类型用户关联
     */
    @Override
    public ArdAlarmTypeConfig selectArdAlarmTypeConfigById(String id) {
        return ardAlarmTypeConfigMapper.selectArdAlarmTypeConfigById(id);
    }
 
    /**
     * 查询报警类型用户关联列表
     *
     * @param ardAlarmTypeConfig 报警类型用户关联
     * @return 报警类型用户关联
     */
    @Override
    public List<ArdAlarmTypeConfig> selectArdAlarmTypeConfigList(ArdAlarmTypeConfig ardAlarmTypeConfig) {
        return ardAlarmTypeConfigMapper.selectArdAlarmTypeConfigList(ardAlarmTypeConfig);
    }
 
    /**
     * 新增报警类型用户关联
     *
     * @param ardAlarmTypeConfig 报警类型用户关联
     * @return 结果
     */
    @Override
    public int insertArdAlarmTypeConfig(ArdAlarmTypeConfig ardAlarmTypeConfig) {
                ardAlarmTypeConfig.setCreateBy(SecurityUtils.getUsername());
                ardAlarmTypeConfig.setCreateTime(DateUtils.getNowDate());
                ardAlarmTypeConfig.setUserId(SecurityUtils.getUserId());
            return ardAlarmTypeConfigMapper.insertArdAlarmTypeConfig(ardAlarmTypeConfig);
    }
 
    /**
     * 修改报警类型用户关联
     *
     * @param ardAlarmTypeConfig 报警类型用户关联
     * @return 结果
     */
    @Override
    public int updateArdAlarmTypeConfig(ArdAlarmTypeConfig ardAlarmTypeConfig) {
        return ardAlarmTypeConfigMapper.updateArdAlarmTypeConfig(ardAlarmTypeConfig);
    }
 
    /**
     * 批量删除报警类型用户关联
     *
     * @param ids 需要删除的报警类型用户关联主键
     * @return 结果
     */
    @Override
    public int deleteArdAlarmTypeConfigByIds(String[] ids) {
        return ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByIds(ids);
    }
 
    /**
     * 删除报警类型用户关联信息
     *
     * @param id 报警类型用户关联主键
     * @return 结果
     */
    @Override
    public int deleteArdAlarmTypeConfigById(String id) {
        return ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigById(id);
    }
    /**
     * 批量报警类型用户关联
     *
     * @param configInfo 报警类型列表
     * @return 结果
     */
    @Override
    public int insertArdAlarmTypeConfig(Map<String,Object> configInfo) {
        String userId =(String) configInfo.get("userId");
        if(userId==null)
        {
            return 0;
        }
        ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByCurrentUserId(userId);
        List<Integer> commands=(List<Integer>) configInfo.get("commands");
        if(commands==null)
        {
            return 0;
        }
        if(commands.size()==0)
        {
            return 0;
        }
        int resNum=0;
        for(Integer command :commands)
        {
            ArdAlarmTypeConfig config=new ArdAlarmTypeConfig();
            config.setId(IdUtils.simpleUUID());
            config.setCommand(command);
            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType("alarm_type");
            SysDictData sysDictData = dictDatas.stream().filter(s -> Objects.equals(s.getDictValue(), command.toString())).findFirst().orElse(null);
            config.setAlarmType(sysDictData.getDictLabel());
            config.setUserId(userId);
            config.setCreateTime(DateUtils.getNowDate());
            int i = ardAlarmTypeConfigMapper.insertArdAlarmTypeConfig(config);
            if(i>0)
            {
                resNum++;
            }
        }
        return resNum;
    }
}