气象预警历史气象预警新增
parent
e0cdd77f19
commit
5b0ce3dc41
|
|
@ -21,12 +21,15 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
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.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static com.whdc.model.MyConstant.REDIS_KEY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xusan
|
* @author xusan
|
||||||
* @date 2024-05-11
|
* @date 2024-05-11
|
||||||
|
|
@ -38,6 +41,8 @@ import java.util.Objects;
|
||||||
@Transactional
|
@Transactional
|
||||||
public class AddressBookController {
|
public class AddressBookController {
|
||||||
|
|
||||||
|
public static final String ADDRESS_BOOK_REDIS_KEY = REDIS_KEY + "addressbook:";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAddressBookService service;
|
private IAddressBookService service;
|
||||||
|
|
||||||
|
|
@ -54,7 +59,6 @@ public class AddressBookController {
|
||||||
private IAbUdRService abUdRService;
|
private IAbUdRService abUdRService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// @ApiOperation(value = "查询所有")
|
// @ApiOperation(value = "查询所有")
|
||||||
// @PostMapping(value = "find")
|
// @PostMapping(value = "find")
|
||||||
// public ResultJson<AddressBook> find(@RequestBody AddressBook dto) {
|
// public ResultJson<AddressBook> find(@RequestBody AddressBook dto) {
|
||||||
|
|
@ -77,67 +81,77 @@ public class AddressBookController {
|
||||||
|
|
||||||
@ApiOperation(value = "添加")
|
@ApiOperation(value = "添加")
|
||||||
@PostMapping(value = "save")
|
@PostMapping(value = "save")
|
||||||
|
@CacheEvict(value = ADDRESS_BOOK_REDIS_KEY, allEntries = true)
|
||||||
public ResultJson insert(@RequestBody @Validated(Insert.class) AddressBook model) {
|
public ResultJson insert(@RequestBody @Validated(Insert.class) AddressBook model) {
|
||||||
User user = userService.getRole(Integer.valueOf(String.valueOf(StpUtil.getLoginId())));
|
User user = userService.getRole(Integer.valueOf(String.valueOf(StpUtil.getLoginId())));
|
||||||
|
|
||||||
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
||||||
case R000:return ResultJson.error("权限不足");
|
case R000:
|
||||||
|
return ResultJson.error("权限不足");
|
||||||
case R001:
|
case R001:
|
||||||
case R099:break;
|
case R099:
|
||||||
default:return ResultJson.error("权限不足!!");
|
break;
|
||||||
|
default:
|
||||||
|
return ResultJson.error("权限不足!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(model.getRole())){
|
if (StringUtils.isNotBlank(model.getRole())) {
|
||||||
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
||||||
case R000:
|
case R000:
|
||||||
case R001:
|
case R001:
|
||||||
case R099:break;
|
case R099:
|
||||||
default:return ResultJson.error("权限不匹配");
|
break;
|
||||||
|
default:
|
||||||
|
return ResultJson.error("权限不匹配");
|
||||||
}
|
}
|
||||||
if(Integer.parseInt(user.getRole()) < Integer.parseInt(model.getRole())){
|
if (Integer.parseInt(user.getRole()) < Integer.parseInt(model.getRole())) {
|
||||||
return ResultJson.error("权限不足!");
|
return ResultJson.error("权限不足!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(AddressBook::getName,String.valueOf(model.getName()).trim())
|
.eq(AddressBook::getName, String.valueOf(model.getName()).trim())
|
||||||
.list())
|
.list())
|
||||||
){
|
) {
|
||||||
return ResultJson.error("该名称重复");
|
return ResultJson.error("该名称重复");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(model.getPhone()) && CollectionUtils.isNotEmpty(
|
if (StringUtils.isNotBlank(model.getPhone()) && CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(AddressBook::getPhone,model.getPhone().trim())
|
.eq(AddressBook::getPhone, model.getPhone().trim())
|
||||||
.list())
|
.list())
|
||||||
){
|
) {
|
||||||
return ResultJson.error("该手机号已存在");
|
return ResultJson.error("该手机号已存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加日志
|
// 添加日志
|
||||||
versionsService.saveInfo(model,VersionsType.ADD);
|
versionsService.saveInfo(model, VersionsType.ADD);
|
||||||
model.setId(null);
|
model.setId(null);
|
||||||
|
|
||||||
boolean save = service.save(model);
|
boolean save = service.save(model);
|
||||||
|
|
||||||
if (save){
|
if (save) {
|
||||||
// 没有手机号用名字注册
|
// 没有手机号用名字注册
|
||||||
//"省防指".equals(organizationsService.getById(model.getOrganization()).getName())
|
//"省防指".equals(organizationsService.getById(model.getOrganization()).getName())
|
||||||
// &&
|
// &&
|
||||||
if (StringUtils.isBlank(model.getPhone())){
|
if (StringUtils.isBlank(model.getPhone())) {
|
||||||
if (StringUtils.isNotBlank(model.getTel())){
|
if (StringUtils.isNotBlank(model.getTel())) {
|
||||||
userService.register( model.getTel(), model.getId(),model.getRole());
|
userService.register(model.getTel(), model.getId(), model.getRole());
|
||||||
}else{
|
} else {
|
||||||
userService.register( model.getName(), model.getId(),model.getRole());
|
userService.register(model.getName(), model.getId(), model.getRole());
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
userService.register( model.getPhone(), model.getId(),model.getRole());
|
userService.register(model.getPhone(), model.getId(), model.getRole());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加关联关系
|
if (StringUtils.isNotBlank(model.getAdcd())) {
|
||||||
abUdRService.save(new AbUdR(model.getId(),Integer.valueOf(model.getOrganization()),null,model.getType()));
|
abUdRService.save(new AbUdR(model.getId(), Integer.valueOf(model.getAdcd().replaceFirst("000000", "")), model.getSort(), model.getType()));
|
||||||
|
} else {
|
||||||
|
// 添加关联关系`
|
||||||
|
abUdRService.save(new AbUdR(model.getId(), Integer.valueOf(model.getOrganization()), model.getSort(), model.getType()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ResultJson.ok(save);
|
return ResultJson.ok(save);
|
||||||
|
|
@ -146,54 +160,60 @@ public class AddressBookController {
|
||||||
|
|
||||||
@ApiOperation(value = "修改")
|
@ApiOperation(value = "修改")
|
||||||
@PostMapping(value = "edit")
|
@PostMapping(value = "edit")
|
||||||
|
@CacheEvict(value = ADDRESS_BOOK_REDIS_KEY, allEntries = true)
|
||||||
public ResultJson update(@RequestBody @Validated(Update.class) AddressBook model) {
|
public ResultJson update(@RequestBody @Validated(Update.class) AddressBook model) {
|
||||||
|
|
||||||
Integer loginId = Integer.valueOf(String.valueOf(StpUtil.getLoginId()));
|
Integer loginId = Integer.valueOf(String.valueOf(StpUtil.getLoginId()));
|
||||||
User user = userService.getRole(loginId);
|
User user = userService.getRole(loginId);
|
||||||
|
|
||||||
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
||||||
case R000:{
|
case R000: {
|
||||||
// 不是修改自己
|
// 不是修改自己
|
||||||
if (!model.getId().equals(user.getAbId())){
|
if (!model.getId().equals(user.getAbId())) {
|
||||||
return ResultJson.error("权限不足");
|
return ResultJson.error("权限不足");
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
;
|
||||||
case R001:
|
case R001:
|
||||||
case R099:break;
|
case R099:
|
||||||
default:return ResultJson.error("权限不足!!");
|
break;
|
||||||
|
default:
|
||||||
|
return ResultJson.error("权限不足!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(model.getRole())){
|
if (StringUtils.isNotBlank(model.getRole())) {
|
||||||
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
||||||
case R000:
|
case R000:
|
||||||
case R001:
|
case R001:
|
||||||
case R099:break;
|
case R099:
|
||||||
default:return ResultJson.error("权限不匹配");
|
break;
|
||||||
|
default:
|
||||||
|
return ResultJson.error("权限不匹配");
|
||||||
}
|
}
|
||||||
if(Integer.parseInt(user.getRole()) < Integer.parseInt(model.getRole())){
|
if (Integer.parseInt(user.getRole()) < Integer.parseInt(model.getRole())) {
|
||||||
return ResultJson.error("权限不足!");
|
return ResultJson.error("权限不足!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
AddressBook byId = service.getById(model.getId());
|
AddressBook byId = service.getById(model.getId());
|
||||||
if (Objects.isNull(byId)){
|
if (Objects.isNull(byId)) {
|
||||||
return ResultJson.error("当前数据不存在");
|
return ResultJson.error("当前数据不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(
|
if (CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(AddressBook::getName,String.valueOf(model.getName()).trim())
|
.eq(AddressBook::getName, String.valueOf(model.getName()).trim())
|
||||||
.ne(AddressBook::getId, model.getId())
|
.ne(AddressBook::getId, model.getId())
|
||||||
.list())
|
.list())
|
||||||
){
|
) {
|
||||||
return ResultJson.error("该名称重复");
|
return ResultJson.error("该名称重复");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(model.getPhone()) && CollectionUtils.isNotEmpty(
|
if (StringUtils.isNotBlank(model.getPhone()) && CollectionUtils.isNotEmpty(
|
||||||
service.lambdaQuery()
|
service.lambdaQuery()
|
||||||
.eq(AddressBook::getPhone,model.getPhone().trim())
|
.eq(AddressBook::getPhone, model.getPhone().trim())
|
||||||
.ne(AddressBook::getId, model.getId())
|
.ne(AddressBook::getId, model.getId())
|
||||||
.list())
|
.list())
|
||||||
){
|
) {
|
||||||
return ResultJson.error("该手机号已存在");
|
return ResultJson.error("该手机号已存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -211,46 +231,53 @@ public class AddressBookController {
|
||||||
// }
|
// }
|
||||||
// // 添加日志
|
// // 添加日志
|
||||||
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE.getName()));
|
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE.getName()));
|
||||||
versionsService.saveInfo(model,VersionsType.UPDATE);
|
versionsService.saveInfo(model, VersionsType.UPDATE);
|
||||||
boolean data = service.updateById(model);
|
boolean data = service.updateById(model);
|
||||||
if (data) {
|
if (data) {
|
||||||
abUdRService.lambdaUpdate()
|
String organization = model.getOrganization();
|
||||||
.set(AbUdR::getDictId,model.getOrganization())
|
if (StringUtils.isNotBlank(model.getAdcd())) {
|
||||||
.eq(AbUdR::getAdId,model.getId());
|
organization = model.getAdcd().replaceFirst("000000", "");
|
||||||
|
}
|
||||||
|
boolean update = abUdRService.lambdaUpdate()
|
||||||
|
.set(AbUdR::getSort, model.getSort())
|
||||||
|
.set(AbUdR::getDictId, organization)
|
||||||
|
.eq(AbUdR::getAdId, model.getId())
|
||||||
|
.update();
|
||||||
|
log.info("修改abUdR: " + update);
|
||||||
|
|
||||||
User one = userService.lambdaQuery().eq(User::getAbId, model.getId()).one();
|
User one = userService.lambdaQuery().eq(User::getAbId, model.getId()).one();
|
||||||
if (Objects.nonNull(one)){
|
if (Objects.nonNull(one)) {
|
||||||
// 没有就创建账号
|
// 没有就创建账号
|
||||||
if (StringUtils.isBlank(model.getPhone())){
|
if (StringUtils.isBlank(model.getPhone())) {
|
||||||
if (StringUtils.isNotBlank(model.getTel())){
|
if (StringUtils.isNotBlank(model.getTel())) {
|
||||||
if (!one.getUsername().equals(model.getTel())) {
|
if (!one.getUsername().equals(model.getTel())) {
|
||||||
one.setUsername(model.getTel())
|
one.setUsername(model.getTel())
|
||||||
.updateById();
|
.updateById();
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
if (!one.getUsername().equals(model.getName())) {
|
if (!one.getUsername().equals(model.getName())) {
|
||||||
one.setUsername(model.getName())
|
one.setUsername(model.getName())
|
||||||
.updateById();
|
.updateById();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
if (!one.getUsername().equals(model.getPhone())) {
|
if (!one.getUsername().equals(model.getPhone())) {
|
||||||
one.setUsername(model.getPhone())
|
one.setUsername(model.getPhone())
|
||||||
.updateById();
|
.updateById();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
// 没有就创建账号
|
// 没有就创建账号
|
||||||
if (StringUtils.isBlank(model.getPhone())){
|
if (StringUtils.isBlank(model.getPhone())) {
|
||||||
if (StringUtils.isNotBlank(model.getTel())){
|
if (StringUtils.isNotBlank(model.getTel())) {
|
||||||
userService.register( model.getTel(), model.getId(),model.getRole());
|
userService.register(model.getTel(), model.getId(), model.getRole());
|
||||||
}else{
|
} else {
|
||||||
userService.register( model.getName(), model.getId(),model.getRole());
|
userService.register(model.getName(), model.getId(), model.getRole());
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
userService.register( model.getPhone(), model.getId(),model.getRole());
|
userService.register(model.getPhone(), model.getId(), model.getRole());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -267,13 +294,16 @@ public class AddressBookController {
|
||||||
|
|
||||||
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
||||||
case R000:
|
case R000:
|
||||||
case R001: return ResultJson.error("权限不足");
|
case R001:
|
||||||
case R099:break;
|
return ResultJson.error("权限不足");
|
||||||
default:return ResultJson.error("权限不足!!");
|
case R099:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return ResultJson.error("权限不足!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
AddressBook byId = service.getById(model.getAbId());
|
AddressBook byId = service.getById(model.getAbId());
|
||||||
if (Objects.isNull(byId)){
|
if (Objects.isNull(byId)) {
|
||||||
return ResultJson.error("当前数据不存在");
|
return ResultJson.error("当前数据不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -292,7 +322,7 @@ public class AddressBookController {
|
||||||
// }
|
// }
|
||||||
// // 添加日志
|
// // 添加日志
|
||||||
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE_ROLE.getName()));
|
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.UPDATE_ROLE.getName()));
|
||||||
versionsService.saveInfo(byId,VersionsType.UPDATE_ROLE);
|
versionsService.saveInfo(byId, VersionsType.UPDATE_ROLE);
|
||||||
|
|
||||||
|
|
||||||
// 只修改角色
|
// 只修改角色
|
||||||
|
|
@ -306,6 +336,7 @@ public class AddressBookController {
|
||||||
|
|
||||||
@ApiOperation(value = "删除")
|
@ApiOperation(value = "删除")
|
||||||
@GetMapping(value = "del/{id}")
|
@GetMapping(value = "del/{id}")
|
||||||
|
@CacheEvict(value = ADDRESS_BOOK_REDIS_KEY, allEntries = true)
|
||||||
public ResultJson delete(@PathVariable("id") Integer id) {
|
public ResultJson delete(@PathVariable("id") Integer id) {
|
||||||
|
|
||||||
Integer loginId = Integer.valueOf(String.valueOf(StpUtil.getLoginId()));
|
Integer loginId = Integer.valueOf(String.valueOf(StpUtil.getLoginId()));
|
||||||
|
|
@ -313,9 +344,12 @@ public class AddressBookController {
|
||||||
|
|
||||||
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
switch (Objects.requireNonNull(Role.getByName(user.getRole()))) {
|
||||||
case R000:
|
case R000:
|
||||||
case R001: return ResultJson.error("权限不足");
|
case R001:
|
||||||
case R099:break;
|
return ResultJson.error("权限不足");
|
||||||
default:return ResultJson.error("权限不足!!");
|
case R099:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return ResultJson.error("权限不足!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
AddressBook model = service.getById(id);
|
AddressBook model = service.getById(id);
|
||||||
|
|
@ -340,7 +374,7 @@ public class AddressBookController {
|
||||||
// }
|
// }
|
||||||
// // 添加日志
|
// // 添加日志
|
||||||
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.DEL.getName()));
|
// versionsService.save(new Versions(null, JSON.toJSONString(model),model.getId(),++version,model.getCreateId(),new Date(), VersionsType.DEL.getName()));
|
||||||
versionsService.saveInfo(model,VersionsType.DEL);
|
versionsService.saveInfo(model, VersionsType.DEL);
|
||||||
|
|
||||||
|
|
||||||
return ResultJson.ok(service.removeById(id));
|
return ResultJson.ok(service.removeById(id));
|
||||||
|
|
@ -352,10 +386,10 @@ public class AddressBookController {
|
||||||
public ResultJson get(@PathVariable("id") Integer id) {
|
public ResultJson get(@PathVariable("id") Integer id) {
|
||||||
|
|
||||||
AddressBook byId = service.getById(id);
|
AddressBook byId = service.getById(id);
|
||||||
if (byId != null){
|
if (byId != null) {
|
||||||
if (StringUtils.isNotBlank(byId.getOrganization())){
|
if (StringUtils.isNotBlank(byId.getOrganization())) {
|
||||||
Organization byId2 = organizationsService.getById(byId.getOrganization());
|
Organization byId2 = organizationsService.getById(byId.getOrganization());
|
||||||
if (byId2 != null){
|
if (byId2 != null) {
|
||||||
byId.setOname(byId2.getName());
|
byId.setOname(byId2.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -367,15 +401,15 @@ public class AddressBookController {
|
||||||
@GetMapping(value = "getByUser/{userId}")
|
@GetMapping(value = "getByUser/{userId}")
|
||||||
public ResultJson getByUser(@PathVariable("userId") Integer userId) {
|
public ResultJson getByUser(@PathVariable("userId") Integer userId) {
|
||||||
User byId = userService.getById(userId);
|
User byId = userService.getById(userId);
|
||||||
if (Objects.isNull(byId)){
|
if (Objects.isNull(byId)) {
|
||||||
return ResultJson.error("该用户不存在");
|
return ResultJson.error("该用户不存在");
|
||||||
}
|
}
|
||||||
// return ResultJson.ok(JSON.parseObject(JSON.toJSONString(service.getById(byId.getAbId())).replaceAll("null","")));
|
// return ResultJson.ok(JSON.parseObject(JSON.toJSONString(service.getById(byId.getAbId())).replaceAll("null","")));
|
||||||
AddressBook byId1 = service.getById(byId.getAbId());
|
AddressBook byId1 = service.getById(byId.getAbId());
|
||||||
if (byId1 != null){
|
if (byId1 != null) {
|
||||||
if (StringUtils.isNotBlank(byId1.getOrganization())){
|
if (StringUtils.isNotBlank(byId1.getOrganization())) {
|
||||||
Organization byId2 = organizationsService.getById(byId1.getOrganization());
|
Organization byId2 = organizationsService.getById(byId1.getOrganization());
|
||||||
if (byId2 != null){
|
if (byId2 != null) {
|
||||||
byId1.setOname(byId2.getName());
|
byId1.setOname(byId2.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,226 @@
|
||||||
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.whdc.exception.MyException;
|
||||||
|
import com.whdc.model.dto.ApiDto;
|
||||||
|
import com.whdc.model.dto.GroupWarningDto;
|
||||||
|
import com.whdc.model.vo.WarningData;
|
||||||
|
import com.whdc.model.vo.WarningHistoryListVo;
|
||||||
|
import com.whdc.model.vo.WarningListVo;
|
||||||
|
import com.whdc.service.IAddressBookService;
|
||||||
|
import com.whdc.utils.HttpUtil;
|
||||||
|
import com.whdc.utils.ResultJson;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.compress.utils.Lists;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.http.HttpStatus;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Created by XuSan on 2024/5/23.
|
||||||
|
*
|
||||||
|
* @author XuSan
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "预警 - Controller")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/warning")
|
||||||
|
public class WarningController {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IAddressBookService addressBookService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 气象预警
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "气象预警")
|
||||||
|
@PostMapping("/getGroupWarning")
|
||||||
|
public ResultJson<List<WarningListVo>> 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();
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(dto.getPublishUnit())) {
|
||||||
|
filter.add(new ApiDto.Filter("publishUnit", "LIKE", String.format("%s%s%s", "%", dto.getPublishUnit(), "%")));
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(dto.getWarnSignalLevel())) {
|
||||||
|
filter.add(new ApiDto.Filter("warnSignalLevel", "LIKE", String.format("%s%s%s", "%", dto.getWarnSignalLevel(), "%")));
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(dto.getWarnSignalType())) {
|
||||||
|
filter.add(new ApiDto.Filter("warnSignalType", "LIKE", String.format("%s%s%s", "%", dto.getWarnSignalType(), "%")));
|
||||||
|
}
|
||||||
|
|
||||||
|
apiDto.setFilter(filter);
|
||||||
|
// String str = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
||||||
|
String str = HttpUtil.sendPost("http://64.97.146.240:9990/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);
|
||||||
|
return ResultJson.ok(getList(data));
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultJson.ok(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 历史气象预警
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "历史气象预警")
|
||||||
|
@PostMapping("/getHistoryGroupWarning")
|
||||||
|
public ResultJson<List<WarningListVo>> getHistoryGroupWarning(@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();
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(dto.getPublishUnit())) {
|
||||||
|
filter.add(new ApiDto.Filter("publishUnit", "LIKE", String.format("%s%s%s", "%", dto.getPublishUnit(), "%")));
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(dto.getWarnSignalLevel())) {
|
||||||
|
filter.add(new ApiDto.Filter("warnSignalLevel", "LIKE", String.format("%s%s%s", "%", dto.getWarnSignalLevel(), "%")));
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(dto.getWarnSignalType())) {
|
||||||
|
filter.add(new ApiDto.Filter("warnSignalType", "LIKE", String.format("%s%s%s", "%", dto.getWarnSignalType(), "%")));
|
||||||
|
}
|
||||||
|
|
||||||
|
apiDto.setFilter(filter);
|
||||||
|
// String str = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
||||||
|
String str = HttpUtil.sendPost("http://64.97.146.240:9990/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);
|
||||||
|
return ResultJson.ok(getCount(data));
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultJson.ok(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 正在生效预警
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<WarningListVo> getList(List<WarningData> data) {
|
||||||
|
|
||||||
|
List<WarningListVo> respList = Lists.newArrayList();
|
||||||
|
for (WarningData datum : data) {
|
||||||
|
String effectArea = datum.getEffectArea();
|
||||||
|
for (WarningData.TypeList typeList : datum.getTypeList()) {
|
||||||
|
// 预警类型
|
||||||
|
String type = typeList.getType();
|
||||||
|
for (WarningData.Warning warning : typeList.getWarnList()) {
|
||||||
|
WarningListVo vo = new WarningListVo();
|
||||||
|
String publishUnit = warning.getPublishUnit();
|
||||||
|
vo.setTitle(effectArea + publishUnit + "发布" + type + "预警");
|
||||||
|
vo.setPublishTime(warning.getPublishTime());
|
||||||
|
vo.setContent(warning.getContent());
|
||||||
|
vo.setWarnSignalType(warning.getWarnSignalType());
|
||||||
|
vo.setWarnSignalLevel(warning.getWarnSignalLevel());
|
||||||
|
vo.setAddressBooks(addressBookService.getListByAdnm(publishUnit.replace("气象台", "")));
|
||||||
|
respList.add(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return respList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 正在生效预警
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<WarningHistoryListVo> getCount(List<WarningData> data) {
|
||||||
|
|
||||||
|
List<WarningHistoryListVo> respList = Lists.newArrayList();
|
||||||
|
for (WarningData datum : data) {
|
||||||
|
WarningHistoryListVo vo = new WarningHistoryListVo();
|
||||||
|
vo.setWarnSignalType("全部");
|
||||||
|
vo.setEffectArea(datum.getEffectArea());
|
||||||
|
|
||||||
|
List<WarningHistoryListVo> child = Lists.newArrayList();
|
||||||
|
for (WarningData.TypeList typeList : datum.getTypeList()) {
|
||||||
|
// 预警类型
|
||||||
|
|
||||||
|
List<WarningData.Warning> warnList = typeList.getWarnList();
|
||||||
|
|
||||||
|
// 类型分组
|
||||||
|
Map<String, List<WarningData.Warning>> types = warnList.stream()
|
||||||
|
.collect(Collectors.groupingBy(WarningData.Warning::getWarnSignalType, Collectors.toList()));
|
||||||
|
|
||||||
|
types.forEach((k, v) -> {
|
||||||
|
WarningHistoryListVo childVo = new WarningHistoryListVo();
|
||||||
|
// 等级分组
|
||||||
|
Map<String, Long> levels = v.stream()
|
||||||
|
.collect(Collectors.groupingBy(WarningData.Warning::getWarnSignalLevel, Collectors.counting()));
|
||||||
|
|
||||||
|
levels.forEach((k1, v1) -> {
|
||||||
|
switch (k1) {
|
||||||
|
case "红色":
|
||||||
|
childVo.setRedCount(v1.intValue());
|
||||||
|
vo.setRedCount(v1.intValue() + vo.getRedCount());
|
||||||
|
break;
|
||||||
|
case "橙色":
|
||||||
|
childVo.setOraCount(v1.intValue());
|
||||||
|
vo.setOraCount(v1.intValue() + vo.getOraCount());
|
||||||
|
break;
|
||||||
|
case "黄色":
|
||||||
|
childVo.setYelCount(v1.intValue());
|
||||||
|
vo.setYelCount(v1.intValue() + vo.getYelCount());
|
||||||
|
break;
|
||||||
|
case "蓝色":
|
||||||
|
childVo.setBluCount(v1.intValue());
|
||||||
|
vo.setBluCount(v1.intValue() + vo.getBluCount());
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new MyException("当前预警等级不存在: " + k1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
childVo.setSumCount(v.size());
|
||||||
|
vo.setSumCount(vo.getSumCount() + v.size());
|
||||||
|
childVo.setWarnSignalType(k);
|
||||||
|
child.add(childVo);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
vo.setSumCount(datum.getTypeList().size());
|
||||||
|
vo.setChild(child);
|
||||||
|
respList.add(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
return respList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -17,5 +17,7 @@ public interface AddressBookMapper extends BaseMapper<AddressBook> {
|
||||||
IPage<AddressBookVo> page(@Param("page") IPage<AddressBook> page, @Param("dto") AddressBootDto dto);
|
IPage<AddressBookVo> page(@Param("page") IPage<AddressBook> page, @Param("dto") AddressBootDto dto);
|
||||||
|
|
||||||
List<AddressBook> find(@Param("dto") AddressBook dto);
|
List<AddressBook> find(@Param("dto") AddressBook dto);
|
||||||
|
|
||||||
|
List<AddressBook> getListByAdnm(@Param("adnm") String adnm);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.whdc.model.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author xusan
|
||||||
|
* @Date 2023/7/4 10:28
|
||||||
|
* @Notes
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class ApiDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开始时间, 格式应为:yyyy-MM-dd HH:mm:ss", dataType = "java.lang.String", example = "2023-06-15 08:00:00")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "结束时间, 格式应为:yyyy-MM-dd HH:mm:ss", dataType = "java.lang.String", example = "2023-06-15 08:00:00")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "页数", dataType = "java.lang.Integer", example = "1")
|
||||||
|
private Integer pageNumber = 1;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "条数", dataType = "java.lang.Integer", example = "10")
|
||||||
|
private Integer pageSize = 10;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "过滤条件", dataType = "java.lang.Array", example = "[]")
|
||||||
|
private List<Filter> filter;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class Filter {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询列名 publishUnit:发布单位,warnSignalType:类型,warnSignalLevel:级别", dataType = "java.lang.String", example = "publishUnit")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "查询类型", dataType = "java.lang.String", example = "like")
|
||||||
|
private String condition;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "值", dataType = "java.lang.String", example = "%1%")
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.whdc.model.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Created by XuSan on 2024/5/23.
|
||||||
|
*
|
||||||
|
* @author XuSan
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class GroupWarningDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开始时间, 格式应为:yyyy-MM-dd HH:mm:ss", dataType = "java.lang.String", example = "2023-06-15 08:00:00")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "结束时间, 格式应为:yyyy-MM-dd HH:mm:ss", dataType = "java.lang.String", example = "2023-06-15 08:00:00")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "发布单位")
|
||||||
|
private String publishUnit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "类型")
|
||||||
|
private String warnSignalType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "级别")
|
||||||
|
private String warnSignalLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "页数", dataType = "java.lang.Integer", example = "1")
|
||||||
|
private Integer pageNumber = 1;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "条数", dataType = "java.lang.Integer", example = "999")
|
||||||
|
private Integer pageSize = 999;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author xusan
|
||||||
|
* @Date 2023/7/4 10:28
|
||||||
|
* @Notes
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "预报数据", description = "预报数据")
|
||||||
|
public class WarningData {
|
||||||
|
|
||||||
|
@ApiParam(value = "服务名")
|
||||||
|
@ApiModelProperty(value = "服务名", dataType = "java.lang.String")
|
||||||
|
private String effectArea;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警信息列表")
|
||||||
|
@ApiModelProperty(value = "预警信息列表", dataType = "array")
|
||||||
|
private List<TypeList> typeList;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class TypeList {
|
||||||
|
|
||||||
|
@ApiParam(value = "预警信息详情")
|
||||||
|
@ApiModelProperty(value = "预警信息详情", dataType = "array")
|
||||||
|
private List<Warning> warnList;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警信号")
|
||||||
|
@ApiModelProperty(value = "预警信号", dataType = "java.lang.String")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Warning {
|
||||||
|
|
||||||
|
@ApiParam(value = "ID")
|
||||||
|
@ApiModelProperty(value = "ID", dataType = "java.lang.Integer")
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
@ApiParam(value = "创建时间")
|
||||||
|
@ApiModelProperty(value = "创建时间", dataType = "java.lang.String")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
@ApiParam(value = "发布时间")
|
||||||
|
@ApiModelProperty(value = "发布时间", dataType = "java.lang.String")
|
||||||
|
private String publishTime;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警开始时间")
|
||||||
|
@ApiModelProperty(value = "预警开始时间", dataType = "java.lang.String")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警结束时间")
|
||||||
|
@ApiModelProperty(value = "预警结束时间", dataType = "java.lang.String")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警类型")
|
||||||
|
@ApiModelProperty(value = "预警类型", dataType = "java.lang.String")
|
||||||
|
private String warnSignalType;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警级别")
|
||||||
|
@ApiModelProperty(value = "预警级别", dataType = "java.lang.String")
|
||||||
|
private String warnSignalLevel;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警地区")
|
||||||
|
@ApiModelProperty(value = "预警地区", dataType = "java.lang.String")
|
||||||
|
private String effectArea;
|
||||||
|
|
||||||
|
@ApiParam(value = "发布单位")
|
||||||
|
@ApiModelProperty(value = "发布单位", dataType = "java.lang.String")
|
||||||
|
private String publishUnit;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警内容")
|
||||||
|
@ApiModelProperty(value = "预警内容", dataType = "java.lang.String")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Created by XuSan on 2024/5/24.
|
||||||
|
*
|
||||||
|
* @author XuSan
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WarningHistoryListVo {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预警类型")
|
||||||
|
private String warnSignalType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预警级别")
|
||||||
|
private String warnSignalLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预警地区")
|
||||||
|
private String effectArea;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "统计")
|
||||||
|
private Integer sumCount = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "红统计")
|
||||||
|
private Integer redCount = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "橙统计")
|
||||||
|
private Integer oraCount = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "黄统计")
|
||||||
|
private Integer yelCount = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "蓝统计")
|
||||||
|
private Integer bluCount = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "子统计")
|
||||||
|
private List<WarningHistoryListVo> child;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import com.whdc.model.entity.AddressBook;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Created by XuSan on 2024/5/24.
|
||||||
|
*
|
||||||
|
* @author XuSan
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WarningListVo {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预警标题")
|
||||||
|
public String title;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "发布时间")
|
||||||
|
private String publishTime;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警类型")
|
||||||
|
@ApiModelProperty(value = "预警类型", dataType = "java.lang.String")
|
||||||
|
private String warnSignalType;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警级别")
|
||||||
|
@ApiModelProperty(value = "预警级别", dataType = "java.lang.String")
|
||||||
|
private String warnSignalLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预警内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "防汛责任人")
|
||||||
|
private List<AddressBook> addressBooks;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -23,4 +23,6 @@ public interface IAddressBookService extends IService<AddressBook> {
|
||||||
// 获取所有规则
|
// 获取所有规则
|
||||||
List<AddressBook> find(AddressBook dto);
|
List<AddressBook> find(AddressBook dto);
|
||||||
|
|
||||||
|
List<AddressBook> getListByAdnm(String adnm);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -8,11 +8,13 @@ import com.whdc.model.entity.AddressBook;
|
||||||
import com.whdc.model.vo.AddressBookVo;
|
import com.whdc.model.vo.AddressBookVo;
|
||||||
import com.whdc.service.IAddressBookService;
|
import com.whdc.service.IAddressBookService;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static com.whdc.controller.AddressBookController.ADDRESS_BOOK_REDIS_KEY;
|
||||||
import static com.whdc.utils.AdinfoUtils.likeAdcd;
|
import static com.whdc.utils.AdinfoUtils.likeAdcd;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -57,6 +59,11 @@ public class AddressBookServiceImpl extends ServiceImpl<AddressBookMapper, Addre
|
||||||
return baseMapper.find(dto);
|
return baseMapper.find(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Cacheable(value=ADDRESS_BOOK_REDIS_KEY,key = "#root.methodname+':'+#adnm")
|
||||||
|
@Override
|
||||||
|
public List<AddressBook> getListByAdnm(String adnm) {
|
||||||
|
return baseMapper.getListByAdnm(adnm);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.whdc.mapper.AddressBookMapper">
|
<mapper namespace="com.whdc.mapper.AddressBookMapper">
|
||||||
|
|
||||||
|
<!-- AND AB.ADCD ${dto.v} #{dto.adcd}-->
|
||||||
<select id="page" resultType="com.whdc.model.vo.AddressBookVo">
|
<select id="page" resultType="com.whdc.model.vo.AddressBookVo">
|
||||||
SELECT
|
SELECT
|
||||||
AB.*,F.SORT FSORT,F.ID FCID,U.ROLE,F.TYPE FTYPE,IF(O.NAME IS NULL,UD.NAME,O.NAME) ONAME,A.ADNM
|
AB.*,F.SORT FSORT,F.ID FCID,U.ROLE,F.TYPE FTYPE,IF(O.NAME IS NULL,UD.NAME,O.NAME) ONAME,A.ADNM
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
AND AB.NAME LIKE CONCAT('%', #{dto.name}, '%')
|
AND AB.NAME LIKE CONCAT('%', #{dto.name}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="dto.adcd != null and dto.adcd != '' ">
|
<if test="dto.adcd != null and dto.adcd != '' ">
|
||||||
AND AB.ADCD ${dto.v} #{dto.adcd}
|
AND R.DICT_ID ${dto.v} #{dto.adcd}
|
||||||
</if>
|
</if>
|
||||||
<if test="dto.phone != null and dto.phone != '' ">
|
<if test="dto.phone != null and dto.phone != '' ">
|
||||||
AND AB.PHONE LIKE CONCAT('', #{dto.phone}, '%')
|
AND AB.PHONE LIKE CONCAT('', #{dto.phone}, '%')
|
||||||
|
|
@ -43,11 +43,19 @@
|
||||||
OR AB.POSITION LIKE CONCAT('%', #{dto.allLikeStr}, '%')
|
OR AB.POSITION LIKE CONCAT('%', #{dto.allLikeStr}, '%')
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
ORDER BY F.SORT NULLS LAST,F.SORT,AB.SORT
|
ORDER BY F.SORT NULLS LAST,F.SORT,R.SORT,AB.SORT
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="find" resultType="com.whdc.model.entity.AddressBook">
|
<select id="getListByAdnm" resultType="com.whdc.model.entity.AddressBook">
|
||||||
|
SELECT
|
||||||
|
AB.*,
|
||||||
|
A.ADNM
|
||||||
|
FROM
|
||||||
|
ADDRESS_BOOK AB
|
||||||
|
LEFT JOIN ADINFO A ON AB.ADCD = A.ADCD
|
||||||
|
WHERE
|
||||||
|
A.ADNM = #{adnm}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue