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 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 configInfo) { String userId =(String) configInfo.get("userId"); if(userId==null) { return 0; } ardAlarmTypeConfigMapper.deleteArdAlarmTypeConfigByCurrentUserId(userId); List commands=(List) 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 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; } }