|
|
|
@ -11,6 +11,7 @@ import com.whdc.model.entity.QXWarning;
|
|
|
|
import com.whdc.model.entity.WarnMsgFB;
|
|
|
|
import com.whdc.model.entity.WarnMsgFB;
|
|
|
|
import com.whdc.model.vo.*;
|
|
|
|
import com.whdc.model.vo.*;
|
|
|
|
import com.whdc.service.*;
|
|
|
|
import com.whdc.service.*;
|
|
|
|
|
|
|
|
import com.whdc.utils.DateUtils;
|
|
|
|
import com.whdc.utils.HttpUtil;
|
|
|
|
import com.whdc.utils.HttpUtil;
|
|
|
|
import com.whdc.utils.ResultJson;
|
|
|
|
import com.whdc.utils.ResultJson;
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
@ -23,12 +24,11 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.apache.http.HttpStatus;
|
|
|
|
import org.apache.http.HttpStatus;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
|
|
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
|
|
import java.time.ZoneId;
|
|
|
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
@ -69,6 +69,49 @@ public class QXWarnController {
|
|
|
|
return ResultJson.ok(save);
|
|
|
|
return ResultJson.ok(save);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Scheduled(cron = "0/5 * * * * ?")
|
|
|
|
|
|
|
|
public void syncData() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ApiDto apiDto = new ApiDto();
|
|
|
|
|
|
|
|
apiDto.setFilter(Lists.newArrayList());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String str = HttpUtil.sendPost("http://127.0.0.1:20000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
|
|
|
|
|
|
|
JSONObject json = JSON.parseObject(str);
|
|
|
|
|
|
|
|
if (json != null && json.getInteger("code") == HttpStatus.SC_OK) {
|
|
|
|
|
|
|
|
List<WarningData> data = json.getJSONArray("data").toJavaList(WarningData.class);
|
|
|
|
|
|
|
|
List<QXWarningVO> warningList = getList(data, null, null, null);
|
|
|
|
|
|
|
|
List<Integer> warnIds = warningList.stream().map(QXWarningVO::getWarnid).collect(Collectors.toList());
|
|
|
|
|
|
|
|
List<QXWarning> list = service.lambdaQuery().in(QXWarning::getWarnid, warnIds).list();
|
|
|
|
|
|
|
|
Set<Integer> dbWarnSet = list.stream().map(QXWarning::getWarnid).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<QXWarning> adds = Lists.newArrayList();
|
|
|
|
|
|
|
|
for (QXWarningVO warningVO : warningList) {
|
|
|
|
|
|
|
|
if (!dbWarnSet.contains(warningVO.getWarnid())) {
|
|
|
|
|
|
|
|
QXWarning qxwarning = new QXWarning();
|
|
|
|
|
|
|
|
qxwarning.setCreateTime(DateUtils.dateToStrYMDHds(warningVO.getCreateTime()));
|
|
|
|
|
|
|
|
qxwarning.setPublishTime(DateUtils.dateToStrYMDHds(warningVO.getPublishTime()));
|
|
|
|
|
|
|
|
qxwarning.setStartTime(DateUtils.dateToStrYMDHds(warningVO.getStartTime()));
|
|
|
|
|
|
|
|
qxwarning.setEndTime(DateUtils.dateToStrYMDHds(warningVO.getEndTime()));
|
|
|
|
|
|
|
|
qxwarning.setWarnSignalType(warningVO.getWarnSignalType());
|
|
|
|
|
|
|
|
qxwarning.setWarnSignalLevel(warningVO.getWarnSignalLevel());
|
|
|
|
|
|
|
|
qxwarning.setPublishUnit(warningVO.getPublishUnit());
|
|
|
|
|
|
|
|
qxwarning.setContent(warningVO.getContent());
|
|
|
|
|
|
|
|
qxwarning.setWarnid(warningVO.getWarnid());
|
|
|
|
|
|
|
|
qxwarning.setCtnm(warningVO.getCtnm());
|
|
|
|
|
|
|
|
qxwarning.setCnnm(warningVO.getCnnm());
|
|
|
|
|
|
|
|
adds.add(qxwarning);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(adds)) {
|
|
|
|
|
|
|
|
if (this.service.saveBatch(adds)) {
|
|
|
|
|
|
|
|
log.info("添加成功 " + adds.size());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 气象预警-正在生效的预警信息
|
|
|
|
* 气象预警-正在生效的预警信息
|
|
|
|
*
|
|
|
|
*
|
|
|
|
@ -77,51 +120,65 @@ public class QXWarnController {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@ApiOperation(value = "气象预警-正在生效的预警信息")
|
|
|
|
@ApiOperation(value = "气象预警-正在生效的预警信息")
|
|
|
|
@PostMapping("/getGroupWarning")
|
|
|
|
@PostMapping("/getGroupWarning")
|
|
|
|
@Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()")
|
|
|
|
// @Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()")
|
|
|
|
public ResultJson<List<QXWarningVO>> getGroupWarning(
|
|
|
|
public ResultJson<List<QXWarningVO>> getGroupWarning() {
|
|
|
|
@RequestBody GroupWarningDto dto) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ApiDto apiDto = new ApiDto();
|
|
|
|
return ResultJson.ok(service.find());
|
|
|
|
apiDto.setStartTime(dto.getStartTime());//!!!!!!需要注释掉!!!!!!
|
|
|
|
|
|
|
|
apiDto.setEndTime(dto.getEndTime());//!!!!!!需要注释掉!!!!!!
|
|
|
|
|
|
|
|
apiDto.setPageNumber(dto.getPageNumber());
|
|
|
|
|
|
|
|
apiDto.setPageSize(dto.getPageSize());
|
|
|
|
|
|
|
|
ArrayList<ApiDto.Filter> filter = Lists.newArrayList();
|
|
|
|
|
|
|
|
String publishUnit = dto.getPublishUnit();
|
|
|
|
|
|
|
|
String warnSignalLevel = dto.getWarnSignalLevel();
|
|
|
|
|
|
|
|
String warnSignalType = dto.getWarnSignalType();
|
|
|
|
|
|
|
|
apiDto.setFilter(filter);
|
|
|
|
|
|
|
|
System.out.println(apiDto);
|
|
|
|
|
|
|
|
String str = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
|
|
|
|
|
|
|
// String str = HttpUtil.sendPost("http://127.0.0.1:20000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
|
|
|
|
|
|
|
JSONObject json = JSON.parseObject(str);
|
|
|
|
|
|
|
|
if (json != null && json.getInteger("code") == HttpStatus.SC_OK) {
|
|
|
|
|
|
|
|
List<WarningData> data = json.getJSONArray("data").toJavaList(WarningData.class);
|
|
|
|
|
|
|
|
List<QXWarningVO> warningList = getList(data, publishUnit, warnSignalLevel, warnSignalType);
|
|
|
|
|
|
|
|
//将warningList存起来
|
|
|
|
|
|
|
|
for (int i = 0; i < warningList.size(); i++) {
|
|
|
|
|
|
|
|
DateTimeFormatter SECOND_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
QXWarningVO warningVO = warningList.get(i);
|
|
|
|
|
|
|
|
QXWarning qxwarning = new QXWarning();
|
|
|
|
|
|
|
|
qxwarning.setCreateTime(Date.from(LocalDateTime.parse(warningVO.getCreateTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
qxwarning.setPublishTime(Date.from(LocalDateTime.parse(warningVO.getPublishTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
qxwarning.setStartTime(Date.from(LocalDateTime.parse(warningVO.getStartTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
qxwarning.setEndTime(Date.from(LocalDateTime.parse(warningVO.getEndTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
qxwarning.setWarnSignalType(warningVO.getWarnSignalType());
|
|
|
|
|
|
|
|
qxwarning.setWarnSignalLevel(warningVO.getWarnSignalLevel());
|
|
|
|
|
|
|
|
qxwarning.setPublishUnit(warningVO.getPublishUnit());
|
|
|
|
|
|
|
|
qxwarning.setContent(warningVO.getContent());
|
|
|
|
|
|
|
|
qxwarning.setWarnid(warningVO.getWarnid());
|
|
|
|
|
|
|
|
qxwarning.setCtnm(warningVO.getCtnm());
|
|
|
|
|
|
|
|
qxwarning.setCnnm(warningVO.getCnnm());
|
|
|
|
|
|
|
|
insert(qxwarning);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
warningList = warningList.stream().filter(o -> o.getStatus().equals("0")).collect(Collectors.toList());
|
|
|
|
|
|
|
|
return ResultJson.ok(warningList);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ResultJson.ok(json);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// /**
|
|
|
|
|
|
|
|
// * 气象预警-正在生效的预警信息
|
|
|
|
|
|
|
|
// *
|
|
|
|
|
|
|
|
// * @param dto
|
|
|
|
|
|
|
|
// * @return
|
|
|
|
|
|
|
|
// */
|
|
|
|
|
|
|
|
// @ApiOperation(value = "气象预警-正在生效的预警信息")
|
|
|
|
|
|
|
|
// @PostMapping("/getGroupWarning")
|
|
|
|
|
|
|
|
//// @Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()")
|
|
|
|
|
|
|
|
// public ResultJson<List<QXWarningVO>> getGroupWarning(
|
|
|
|
|
|
|
|
// @RequestBody GroupWarningDto dto) {
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// ApiDto apiDto = new ApiDto();
|
|
|
|
|
|
|
|
// apiDto.setStartTime(dto.getStartTime());//!!!!!!需要注释掉!!!!!!
|
|
|
|
|
|
|
|
// apiDto.setEndTime(dto.getEndTime());//!!!!!!需要注释掉!!!!!!
|
|
|
|
|
|
|
|
// apiDto.setPageNumber(dto.getPageNumber());
|
|
|
|
|
|
|
|
// apiDto.setPageSize(dto.getPageSize());
|
|
|
|
|
|
|
|
// ArrayList<ApiDto.Filter> filter = Lists.newArrayList();
|
|
|
|
|
|
|
|
// String publishUnit = dto.getPublishUnit();
|
|
|
|
|
|
|
|
// String warnSignalLevel = dto.getWarnSignalLevel();
|
|
|
|
|
|
|
|
// String warnSignalType = dto.getWarnSignalType();
|
|
|
|
|
|
|
|
// apiDto.setFilter(filter);
|
|
|
|
|
|
|
|
// System.out.println(apiDto);
|
|
|
|
|
|
|
|
// String str = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
|
|
|
|
|
|
|
//// String str = HttpUtil.sendPost("http://127.0.0.1:20000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
|
|
|
|
|
|
|
// JSONObject json = JSON.parseObject(str);
|
|
|
|
|
|
|
|
// if (json != null && json.getInteger("code") == HttpStatus.SC_OK) {
|
|
|
|
|
|
|
|
// List<WarningData> data = json.getJSONArray("data").toJavaList(WarningData.class);
|
|
|
|
|
|
|
|
// List<QXWarningVO> warningList = getList(data, publishUnit, warnSignalLevel, warnSignalType);
|
|
|
|
|
|
|
|
// //将warningList存起来
|
|
|
|
|
|
|
|
// for (int i = 0; i < warningList.size(); i++) {
|
|
|
|
|
|
|
|
// DateTimeFormatter SECOND_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
// QXWarningVO warningVO = warningList.get(i);
|
|
|
|
|
|
|
|
// QXWarning qxwarning = new QXWarning();
|
|
|
|
|
|
|
|
// qxwarning.setCreateTime(Date.from(LocalDateTime.parse(warningVO.getCreateTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
// qxwarning.setPublishTime(Date.from(LocalDateTime.parse(warningVO.getPublishTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
// qxwarning.setStartTime(Date.from(LocalDateTime.parse(warningVO.getStartTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
// qxwarning.setEndTime(Date.from(LocalDateTime.parse(warningVO.getEndTime(), SECOND_FORMATTER).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
|
// qxwarning.setWarnSignalType(warningVO.getWarnSignalType());
|
|
|
|
|
|
|
|
// qxwarning.setWarnSignalLevel(warningVO.getWarnSignalLevel());
|
|
|
|
|
|
|
|
// qxwarning.setPublishUnit(warningVO.getPublishUnit());
|
|
|
|
|
|
|
|
// qxwarning.setContent(warningVO.getContent());
|
|
|
|
|
|
|
|
// qxwarning.setWarnid(warningVO.getWarnid());
|
|
|
|
|
|
|
|
// qxwarning.setCtnm(warningVO.getCtnm());
|
|
|
|
|
|
|
|
// qxwarning.setCnnm(warningVO.getCnnm());
|
|
|
|
|
|
|
|
// insert(qxwarning);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// warningList = warningList.stream().filter(o -> o.getStatus().equals("0")).collect(Collectors.toList());
|
|
|
|
|
|
|
|
// return ResultJson.ok(warningList);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// return ResultJson.ok(json);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 获取联系人
|
|
|
|
* 获取联系人
|
|
|
|
|