package com.gunshi.project.hsz.service; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.hsz.entity.so.BroadcastWarnPageSo; import com.gunshi.project.hsz.mapper.BroadcastStationMapper; import com.gunshi.project.hsz.mapper.BroadcastWarnMapper; import com.gunshi.project.hsz.model.BroadcastStation; import com.gunshi.project.hsz.model.BroadcastWarn; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 描述: 广播预警信息 * author: xusan * date: 2024-09-25 10:17:54 */ @Service @Slf4j @Transactional(rollbackFor = Exception.class) public class BroadcastWarnService extends ServiceImpl { @Autowired private BroadcastStationMapper stationMapper; public Page pageQuery(BroadcastWarnPageSo page) { return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); } public Boolean saveData(BroadcastWarn dto) { String ctrlPass = dto.getCtrlPass(); List stationIds = dto.getStationIds(); BroadcastStation broadcastStation = stationMapper.selectById(stationIds.get(0)); if(!ctrlPass.equals(broadcastStation.getCtrlPass())){ throw new IllegalArgumentException("密码不正确"); } List list = stationIds.stream().map(stationId->{ BroadcastWarn warn = new BroadcastWarn(); BeanUtils.copyProperties(dto,warn); warn.setId(IdWorker.getId()); warn.setStationId(stationId); warn.setCreateTime(new Date()); return warn; }).collect(Collectors.toList()); return this.saveBatch(list); } }