| package com.moral.api.service.impl; | 
|   | 
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
| import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
| import com.moral.api.entity.OrganizationUnitAlarm; | 
| import com.moral.api.mapper.OrganizationUnitAlarmMapper; | 
| import com.moral.api.pojo.dto.organizationUnitAlarm.OrganizationUnitAlarmDTO; | 
| import com.moral.api.pojo.dto.organizationUnitAlarm.OrganizationUnitAlarmQueryDTO; | 
| import com.moral.api.pojo.form.organizationUnitAlarm.OrganizationUnitAlarmQueryForm; | 
| import com.moral.api.pojo.form.organizationUnitAlarm.OrganizationUnitAlarmUpdateForm; | 
| import com.moral.api.service.OrganizationUnitAlarmService; | 
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
| import com.moral.api.util.CacheUtils; | 
| import com.moral.constant.Constants; | 
| import com.moral.constant.ResponseCodeEnum; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.transaction.annotation.Transactional; | 
|   | 
| import java.util.ArrayList; | 
| import java.util.List; | 
|   | 
| /** | 
|  * <p> | 
|  * 组织显示单位以及报警等级表 服务实现类 | 
|  * </p> | 
|  * | 
|  * @author moral | 
|  * @since 2021-06-17 | 
|  */ | 
| @Service | 
| public class OrganizationUnitAlarmServiceImpl extends ServiceImpl<OrganizationUnitAlarmMapper, OrganizationUnitAlarm> implements OrganizationUnitAlarmService { | 
|   | 
|     @Autowired | 
|     OrganizationUnitAlarmMapper organizationUnitAlarmMapper; | 
|   | 
|     @Override | 
|     public OrganizationUnitAlarmQueryDTO query(OrganizationUnitAlarmQueryForm form) { | 
|         //创建返回对象 | 
|         OrganizationUnitAlarmQueryDTO dto = new OrganizationUnitAlarmQueryDTO(); | 
|         //取参 | 
|         Integer pageCount = form.getPage(); | 
|         Integer size = form.getSize(); | 
|         Integer organizationId = form.getOrganizationId(); | 
|         Integer versionId = form.getVersionId(); | 
|         //构造查询条件 | 
|         QueryWrapper<OrganizationUnitAlarm> wrapper = new QueryWrapper<>(); | 
|         wrapper.eq("is_delete", Constants.NOT_DELETE); | 
|         wrapper.eq("organization_id",organizationId); | 
|         wrapper.eq("version_id",versionId); | 
|         Page<OrganizationUnitAlarm> wrapperPage = new Page<>(pageCount, size); | 
|         Page<OrganizationUnitAlarm> resultPage = organizationUnitAlarmMapper.selectPage(wrapperPage, wrapper); | 
|         List<OrganizationUnitAlarm> records = resultPage.getRecords(); | 
|         //封装返回结果 | 
|         List<OrganizationUnitAlarmDTO> dtos = new ArrayList<>(); | 
|         records.forEach(value->dtos.add(new OrganizationUnitAlarmDTO(value))); | 
|         dto.setOrganizationUnitAlarmDTOS(dtos); | 
|         dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); | 
|         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); | 
|         dto.setCurrent(resultPage.getCurrent()); | 
|         dto.setPages(resultPage.getPages()); | 
|         dto.setSize(resultPage.getSize()); | 
|         dto.setTotal(resultPage.getTotal()); | 
|         return dto; | 
|     } | 
|   | 
|     @Override | 
|     @Transactional | 
|     public OrganizationUnitAlarmDTO update(OrganizationUnitAlarmUpdateForm form) { | 
|         //创建返回对象 | 
|         OrganizationUnitAlarmDTO dto = new OrganizationUnitAlarmDTO(); | 
|         //取参 | 
|         OrganizationUnitAlarm organizationUnitAlarm = form.formConvertEntity(); | 
|         //查询更新前的记录用于插入日志 | 
|         OrganizationUnitAlarm oldRecord = organizationUnitAlarmMapper.selectById(organizationUnitAlarm.getId()); | 
|         //更新 | 
|         UpdateWrapper updateWrapper = new UpdateWrapper(); | 
|   | 
|         if(organizationUnitAlarm.getAlarmLevel().equals("[]")) | 
|             updateWrapper.set("alarm_level",null); | 
|         else | 
|             updateWrapper.set("alarm_level",organizationUnitAlarm.getAlarmLevel()); | 
|   | 
|         if(organizationUnitAlarm.getShowUnitKey()!=null) | 
|             updateWrapper.set("show_unit_key",organizationUnitAlarm.getShowUnitKey()); | 
|   | 
|         updateWrapper.eq("id",organizationUnitAlarm.getId()); | 
|   | 
|         organizationUnitAlarmMapper.update(null,updateWrapper); | 
|         //获取更新后的记录用于插入日志 | 
|         OrganizationUnitAlarm newRecord = organizationUnitAlarmMapper.selectById(organizationUnitAlarm.getId()); | 
|         //刷新deviceInfo缓存 | 
|         CacheUtils.refreshDeviceAlarmInfo(); | 
|         CacheUtils.refreshSpecialDeviceAlarmInfo(); | 
|         //封装返回对象 | 
|         dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); | 
|         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); | 
|         return dto; | 
|     } | 
| } |