gunshi-project-ss/src/main/java/com/gunshi/project/hsz/service/BroadcastWarnService.java

58 lines
2.0 KiB
Java

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<BroadcastWarnMapper, BroadcastWarn>
{
@Autowired
private BroadcastStationMapper stationMapper;
public Page<BroadcastWarn> pageQuery(BroadcastWarnPageSo page) {
return this.baseMapper.pageQuery(page.getPageSo().toPage(),page);
}
public Boolean saveData(BroadcastWarn dto) {
String ctrlPass = dto.getCtrlPass();
List<Long> stationIds = dto.getStationIds();
BroadcastStation broadcastStation = stationMapper.selectById(stationIds.get(0));
if(!ctrlPass.equals(broadcastStation.getCtrlPass())){
throw new IllegalArgumentException("密码不正确");
}
List<BroadcastWarn> 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);
}
}