package com.casic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.dao.NbAlarmConfigMapper; import com.casic.dao.NbDeviceMapper; import com.casic.entity.NbAlarmConfig; import com.casic.model.AlarmConfigParam; import com.casic.model.AlarmContent; import com.casic.model.ResponseData; import com.casic.service.AepCommandSend; import com.casic.service.AlarmConfigService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @AllArgsConstructor @Slf4j @Service public class AlarmConfigServiceImpl extends ServiceImpl<NbAlarmConfigMapper, NbAlarmConfig> implements AlarmConfigService { private final AepCommandSend aepCommandSend; private final NbDeviceMapper nbDeviceMapper; @Override public ResponseData gasBatchConfig( List<AlarmConfigParam> alarmConfigParamList){ ResponseData responseData = new ResponseData(); try { for (AlarmConfigParam alarmConfigParam : alarmConfigParamList) { String status = aepCommandSend.sendAlarmConfig(alarmConfigParam); builderNbAlarmConfig(alarmConfigParam, status); } responseData.setCode(200); responseData.setMessage("配置成功"); } catch (Exception dex) { log.error("主题:哈尔滨燃气设备下发异常,异常信息:{}", dex.getMessage()); responseData.setCode(500); responseData.setMessage("配置异常"); } return responseData; } @Override public ResponseData configList(String devcode, String beginTime,String endTime,Integer currentIndex,Integer pageSize,String status,Boolean sortDevcode){ devcode = StringUtils.isEmpty(devcode) ? "" : devcode; status = StringUtils.isEmpty(status) ? "" : status; ResponseData responseData = new ResponseData(); try { QueryWrapper<NbAlarmConfig> nbConfigWrapper = new QueryWrapper<NbAlarmConfig>().like("devcode", devcode) .like("status",status); if (!StringUtils.isEmpty(beginTime)) { nbConfigWrapper = nbConfigWrapper.gt("logtime", beginTime); } if (!StringUtils.isEmpty(endTime)) { nbConfigWrapper = nbConfigWrapper.lt("logtime", endTime); } nbConfigWrapper = sortDevcode ? nbConfigWrapper.orderByAsc("devcode") : nbConfigWrapper.orderByDesc("logtime"); Page<NbAlarmConfig> userPage = new Page<>(currentIndex, pageSize); IPage<NbAlarmConfig> configIPage = this.baseMapper.selectPage(userPage, nbConfigWrapper); Map<String, Object> page = new HashMap(); page.put("total", configIPage.getTotal()); page.put("rows", configIPage.getRecords()); page.put("current", configIPage.getCurrent()); responseData.setCode(200); responseData.setData(page); responseData.setMessage("查询成功"); } catch (Exception dex) { log.error("主题:哈尔滨燃气报警下发查询异常,异常信息:{}", dex.getMessage()); responseData.setCode(500); responseData.setMessage("查询异常"); } return responseData; } private void builderNbAlarmConfig(AlarmConfigParam alarmConfigParam,String status){ nbDeviceMapper.updateRecentByDevciceId(alarmConfigParam.getDeviceId(), "2"); AlarmContent queryContent = alarmConfigParam.getQueryContent(); NbAlarmConfig nbConfig= NbAlarmConfig.builder() .devcode(alarmConfigParam.getDevcode()) .deviceId(alarmConfigParam.getDeviceId()) .alarmcount(queryContent.getAlarmcount()) .alarmperiod(queryContent.getAlarmperiod()) .status(status) .logtime(new Date()) .build(); this.baseMapper.insert(nbConfig); } }