消防站

This commit is contained in:
wzy-warehouse
2026-04-18 20:48:43 +08:00
parent d948f729e6
commit eb8ed414dc
10 changed files with 881 additions and 1 deletions
@@ -0,0 +1,28 @@
package com.gis.xian.controller;
import com.gis.xian.domain.ApiResponse;
import com.gis.xian.vo.XianFirefighterBasePointVo;
import com.gis.xian.vo.XianFirefighterPointDetailVo;
import com.gis.xian.service.XianFirefighterService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/firefighter")
public class XianFirefighterController extends BaseController{
@Resource
private XianFirefighterService xianFirefighterService;
@GetMapping("/base-points")
public ApiResponse<List<XianFirefighterBasePointVo>> getBasePoints() {
return ApiResponse.ok(xianFirefighterService.getBasePoints());
}
@GetMapping("/point-detail/{id}")
public ApiResponse<XianFirefighterPointDetailVo> getPointDetailById(@PathVariable String id) {
return ApiResponse.ok(xianFirefighterService.getPointDetailById(Long.parseLong(id)));
}
}
@@ -0,0 +1,489 @@
package com.gis.xian.entity;
import lombok.Data;
/**
* 政府消防队伍
* @TableName xian_firefighter
*/
@Data
public class XianFirefighter {
/**
* id
*/
private Long id;
/**
* 队伍名称
*/
private String teamName;
/**
* 队伍编号
*/
private String teamId;
/**
* 队伍类型
*/
private String teamType;
/**
* 消防站类型
*/
private String fireType;
/**
* 详细地址
*/
private String address;
/**
* 建立时间
*/
private String standTime;
/**
* 总面积
*/
private Float area;
/**
* 建筑面积
*/
private Float structionArea;
/**
* 总人数
*/
private Integer teamNum;
/**
* 指挥人数
*/
private Integer leaderNum;
/**
* 技术人数
*/
private Integer techNum;
/**
* 消防员人数
*/
private Integer firerNum;
/**
* 消防员平均年龄
*/
private Integer averageAge;
/**
* 消防车总数
*/
private Integer cars;
/**
* 水罐消防车数
*/
private Integer waterCars;
/**
* 泡沫消防车数
*/
private Integer foamCars;
/**
* 举高消防车数
*/
private Integer highCars;
/**
* 专勤消防车数
*/
private Integer dedicateCars;
/**
* 器材总数
*/
private Integer devices;
/**
* 侦检器材数
*/
private Integer detectionDevice;
/**
* 救援器材数
*/
private Integer saveDevice;
/**
* 破拆器材数
*/
private Integer destructionDevice;
/**
* 堵漏器材数
*/
private Integer fillDevice;
/**
* 转移器材数
*/
private Integer transferDevice;
/**
* 洗消器材数
*/
private Integer washDevice;
/**
* 照明器材数
*/
private Integer lightDevice;
/**
* 灭火器材数
*/
private Integer fireDevice;
/**
* 上一年出警次数
*/
private Integer goOut;
/**
* 上一年出警人次
*/
private Integer outPeople;
/**
* 上一年出警车次
*/
private Integer outCar;
/**
* 上报时间
*/
private String reportTime;
/**
* 单位负责人
*/
private String unitHead;
/**
* 行政区划代码
*/
private String governmentCode;
/**
* 创建时间
*/
private String createTime;
/**
* 县
*/
private String county;
/**
* 乡
*/
private String country;
/**
* 村
*/
private String village;
/**
* 空间点坐标
*/
private String position;
/**
* 联系电话
*/
private String telephone;
/**
* 创建人名称
*/
private String createName;
/**
* 市
*/
private String city;
/**
* 统计负责人
*/
private String statisticHead;
/**
* 街道
*/
private String street;
/**
* 填表人
*/
private String fillName;
/**
* 省
*/
private String province;
/**
* 物理主键
*/
private String fxpcDataidSjgl;
/**
* 省编码
*/
private Integer provinceCode;
/**
* 市编码
*/
private Integer cityCode;
/**
* 县编码
*/
private Integer countyCode;
/**
* 更新时间
*/
private String updateTime;
/**
* 写入时间
*/
private String writeTime;
/**
* 经度
*/
private Float lon;
/**
* 纬度
*/
private Float lat;
/**
*
*/
private Object point;
/**
* 逻辑删除标识,0未删除,1已删除
*/
private Integer isDelete;
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
XianFirefighter other = (XianFirefighter) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getTeamName() == null ? other.getTeamName() == null : this.getTeamName().equals(other.getTeamName()))
&& (this.getTeamId() == null ? other.getTeamId() == null : this.getTeamId().equals(other.getTeamId()))
&& (this.getTeamType() == null ? other.getTeamType() == null : this.getTeamType().equals(other.getTeamType()))
&& (this.getFireType() == null ? other.getFireType() == null : this.getFireType().equals(other.getFireType()))
&& (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
&& (this.getStandTime() == null ? other.getStandTime() == null : this.getStandTime().equals(other.getStandTime()))
&& (this.getArea() == null ? other.getArea() == null : this.getArea().equals(other.getArea()))
&& (this.getStructionArea() == null ? other.getStructionArea() == null : this.getStructionArea().equals(other.getStructionArea()))
&& (this.getTeamNum() == null ? other.getTeamNum() == null : this.getTeamNum().equals(other.getTeamNum()))
&& (this.getLeaderNum() == null ? other.getLeaderNum() == null : this.getLeaderNum().equals(other.getLeaderNum()))
&& (this.getTechNum() == null ? other.getTechNum() == null : this.getTechNum().equals(other.getTechNum()))
&& (this.getFirerNum() == null ? other.getFirerNum() == null : this.getFirerNum().equals(other.getFirerNum()))
&& (this.getAverageAge() == null ? other.getAverageAge() == null : this.getAverageAge().equals(other.getAverageAge()))
&& (this.getCars() == null ? other.getCars() == null : this.getCars().equals(other.getCars()))
&& (this.getWaterCars() == null ? other.getWaterCars() == null : this.getWaterCars().equals(other.getWaterCars()))
&& (this.getFoamCars() == null ? other.getFoamCars() == null : this.getFoamCars().equals(other.getFoamCars()))
&& (this.getHighCars() == null ? other.getHighCars() == null : this.getHighCars().equals(other.getHighCars()))
&& (this.getDedicateCars() == null ? other.getDedicateCars() == null : this.getDedicateCars().equals(other.getDedicateCars()))
&& (this.getDevices() == null ? other.getDevices() == null : this.getDevices().equals(other.getDevices()))
&& (this.getDetectionDevice() == null ? other.getDetectionDevice() == null : this.getDetectionDevice().equals(other.getDetectionDevice()))
&& (this.getSaveDevice() == null ? other.getSaveDevice() == null : this.getSaveDevice().equals(other.getSaveDevice()))
&& (this.getDestructionDevice() == null ? other.getDestructionDevice() == null : this.getDestructionDevice().equals(other.getDestructionDevice()))
&& (this.getFillDevice() == null ? other.getFillDevice() == null : this.getFillDevice().equals(other.getFillDevice()))
&& (this.getTransferDevice() == null ? other.getTransferDevice() == null : this.getTransferDevice().equals(other.getTransferDevice()))
&& (this.getWashDevice() == null ? other.getWashDevice() == null : this.getWashDevice().equals(other.getWashDevice()))
&& (this.getLightDevice() == null ? other.getLightDevice() == null : this.getLightDevice().equals(other.getLightDevice()))
&& (this.getFireDevice() == null ? other.getFireDevice() == null : this.getFireDevice().equals(other.getFireDevice()))
&& (this.getGoOut() == null ? other.getGoOut() == null : this.getGoOut().equals(other.getGoOut()))
&& (this.getOutPeople() == null ? other.getOutPeople() == null : this.getOutPeople().equals(other.getOutPeople()))
&& (this.getOutCar() == null ? other.getOutCar() == null : this.getOutCar().equals(other.getOutCar()))
&& (this.getReportTime() == null ? other.getReportTime() == null : this.getReportTime().equals(other.getReportTime()))
&& (this.getUnitHead() == null ? other.getUnitHead() == null : this.getUnitHead().equals(other.getUnitHead()))
&& (this.getGovernmentCode() == null ? other.getGovernmentCode() == null : this.getGovernmentCode().equals(other.getGovernmentCode()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getCounty() == null ? other.getCounty() == null : this.getCounty().equals(other.getCounty()))
&& (this.getCountry() == null ? other.getCountry() == null : this.getCountry().equals(other.getCountry()))
&& (this.getVillage() == null ? other.getVillage() == null : this.getVillage().equals(other.getVillage()))
&& (this.getPosition() == null ? other.getPosition() == null : this.getPosition().equals(other.getPosition()))
&& (this.getTelephone() == null ? other.getTelephone() == null : this.getTelephone().equals(other.getTelephone()))
&& (this.getCreateName() == null ? other.getCreateName() == null : this.getCreateName().equals(other.getCreateName()))
&& (this.getCity() == null ? other.getCity() == null : this.getCity().equals(other.getCity()))
&& (this.getStatisticHead() == null ? other.getStatisticHead() == null : this.getStatisticHead().equals(other.getStatisticHead()))
&& (this.getStreet() == null ? other.getStreet() == null : this.getStreet().equals(other.getStreet()))
&& (this.getFillName() == null ? other.getFillName() == null : this.getFillName().equals(other.getFillName()))
&& (this.getProvince() == null ? other.getProvince() == null : this.getProvince().equals(other.getProvince()))
&& (this.getFxpcDataidSjgl() == null ? other.getFxpcDataidSjgl() == null : this.getFxpcDataidSjgl().equals(other.getFxpcDataidSjgl()))
&& (this.getProvinceCode() == null ? other.getProvinceCode() == null : this.getProvinceCode().equals(other.getProvinceCode()))
&& (this.getCityCode() == null ? other.getCityCode() == null : this.getCityCode().equals(other.getCityCode()))
&& (this.getCountyCode() == null ? other.getCountyCode() == null : this.getCountyCode().equals(other.getCountyCode()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getWriteTime() == null ? other.getWriteTime() == null : this.getWriteTime().equals(other.getWriteTime()))
&& (this.getLon() == null ? other.getLon() == null : this.getLon().equals(other.getLon()))
&& (this.getLat() == null ? other.getLat() == null : this.getLat().equals(other.getLat()))
&& (this.getPoint() == null ? other.getPoint() == null : this.getPoint().equals(other.getPoint()))
&& (this.getIsDelete() == null ? other.getIsDelete() == null : this.getIsDelete().equals(other.getIsDelete()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getTeamName() == null) ? 0 : getTeamName().hashCode());
result = prime * result + ((getTeamId() == null) ? 0 : getTeamId().hashCode());
result = prime * result + ((getTeamType() == null) ? 0 : getTeamType().hashCode());
result = prime * result + ((getFireType() == null) ? 0 : getFireType().hashCode());
result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
result = prime * result + ((getStandTime() == null) ? 0 : getStandTime().hashCode());
result = prime * result + ((getArea() == null) ? 0 : getArea().hashCode());
result = prime * result + ((getStructionArea() == null) ? 0 : getStructionArea().hashCode());
result = prime * result + ((getTeamNum() == null) ? 0 : getTeamNum().hashCode());
result = prime * result + ((getLeaderNum() == null) ? 0 : getLeaderNum().hashCode());
result = prime * result + ((getTechNum() == null) ? 0 : getTechNum().hashCode());
result = prime * result + ((getFirerNum() == null) ? 0 : getFirerNum().hashCode());
result = prime * result + ((getAverageAge() == null) ? 0 : getAverageAge().hashCode());
result = prime * result + ((getCars() == null) ? 0 : getCars().hashCode());
result = prime * result + ((getWaterCars() == null) ? 0 : getWaterCars().hashCode());
result = prime * result + ((getFoamCars() == null) ? 0 : getFoamCars().hashCode());
result = prime * result + ((getHighCars() == null) ? 0 : getHighCars().hashCode());
result = prime * result + ((getDedicateCars() == null) ? 0 : getDedicateCars().hashCode());
result = prime * result + ((getDevices() == null) ? 0 : getDevices().hashCode());
result = prime * result + ((getDetectionDevice() == null) ? 0 : getDetectionDevice().hashCode());
result = prime * result + ((getSaveDevice() == null) ? 0 : getSaveDevice().hashCode());
result = prime * result + ((getDestructionDevice() == null) ? 0 : getDestructionDevice().hashCode());
result = prime * result + ((getFillDevice() == null) ? 0 : getFillDevice().hashCode());
result = prime * result + ((getTransferDevice() == null) ? 0 : getTransferDevice().hashCode());
result = prime * result + ((getWashDevice() == null) ? 0 : getWashDevice().hashCode());
result = prime * result + ((getLightDevice() == null) ? 0 : getLightDevice().hashCode());
result = prime * result + ((getFireDevice() == null) ? 0 : getFireDevice().hashCode());
result = prime * result + ((getGoOut() == null) ? 0 : getGoOut().hashCode());
result = prime * result + ((getOutPeople() == null) ? 0 : getOutPeople().hashCode());
result = prime * result + ((getOutCar() == null) ? 0 : getOutCar().hashCode());
result = prime * result + ((getReportTime() == null) ? 0 : getReportTime().hashCode());
result = prime * result + ((getUnitHead() == null) ? 0 : getUnitHead().hashCode());
result = prime * result + ((getGovernmentCode() == null) ? 0 : getGovernmentCode().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getCounty() == null) ? 0 : getCounty().hashCode());
result = prime * result + ((getCountry() == null) ? 0 : getCountry().hashCode());
result = prime * result + ((getVillage() == null) ? 0 : getVillage().hashCode());
result = prime * result + ((getPosition() == null) ? 0 : getPosition().hashCode());
result = prime * result + ((getTelephone() == null) ? 0 : getTelephone().hashCode());
result = prime * result + ((getCreateName() == null) ? 0 : getCreateName().hashCode());
result = prime * result + ((getCity() == null) ? 0 : getCity().hashCode());
result = prime * result + ((getStatisticHead() == null) ? 0 : getStatisticHead().hashCode());
result = prime * result + ((getStreet() == null) ? 0 : getStreet().hashCode());
result = prime * result + ((getFillName() == null) ? 0 : getFillName().hashCode());
result = prime * result + ((getProvince() == null) ? 0 : getProvince().hashCode());
result = prime * result + ((getFxpcDataidSjgl() == null) ? 0 : getFxpcDataidSjgl().hashCode());
result = prime * result + ((getProvinceCode() == null) ? 0 : getProvinceCode().hashCode());
result = prime * result + ((getCityCode() == null) ? 0 : getCityCode().hashCode());
result = prime * result + ((getCountyCode() == null) ? 0 : getCountyCode().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getWriteTime() == null) ? 0 : getWriteTime().hashCode());
result = prime * result + ((getLon() == null) ? 0 : getLon().hashCode());
result = prime * result + ((getLat() == null) ? 0 : getLat().hashCode());
result = prime * result + ((getPoint() == null) ? 0 : getPoint().hashCode());
result = prime * result + ((getIsDelete() == null) ? 0 : getIsDelete().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", teamName=").append(teamName);
sb.append(", teamId=").append(teamId);
sb.append(", teamType=").append(teamType);
sb.append(", fireType=").append(fireType);
sb.append(", address=").append(address);
sb.append(", standTime=").append(standTime);
sb.append(", area=").append(area);
sb.append(", structionArea=").append(structionArea);
sb.append(", teamNum=").append(teamNum);
sb.append(", leaderNum=").append(leaderNum);
sb.append(", techNum=").append(techNum);
sb.append(", firerNum=").append(firerNum);
sb.append(", averageAge=").append(averageAge);
sb.append(", cars=").append(cars);
sb.append(", waterCars=").append(waterCars);
sb.append(", foamCars=").append(foamCars);
sb.append(", highCars=").append(highCars);
sb.append(", dedicateCars=").append(dedicateCars);
sb.append(", devices=").append(devices);
sb.append(", detectionDevice=").append(detectionDevice);
sb.append(", saveDevice=").append(saveDevice);
sb.append(", destructionDevice=").append(destructionDevice);
sb.append(", fillDevice=").append(fillDevice);
sb.append(", transferDevice=").append(transferDevice);
sb.append(", washDevice=").append(washDevice);
sb.append(", lightDevice=").append(lightDevice);
sb.append(", fireDevice=").append(fireDevice);
sb.append(", goOut=").append(goOut);
sb.append(", outPeople=").append(outPeople);
sb.append(", outCar=").append(outCar);
sb.append(", reportTime=").append(reportTime);
sb.append(", unitHead=").append(unitHead);
sb.append(", governmentCode=").append(governmentCode);
sb.append(", createTime=").append(createTime);
sb.append(", county=").append(county);
sb.append(", country=").append(country);
sb.append(", village=").append(village);
sb.append(", position=").append(position);
sb.append(", telephone=").append(telephone);
sb.append(", createName=").append(createName);
sb.append(", city=").append(city);
sb.append(", statisticHead=").append(statisticHead);
sb.append(", street=").append(street);
sb.append(", fillName=").append(fillName);
sb.append(", province=").append(province);
sb.append(", fxpcDataidSjgl=").append(fxpcDataidSjgl);
sb.append(", provinceCode=").append(provinceCode);
sb.append(", cityCode=").append(cityCode);
sb.append(", countyCode=").append(countyCode);
sb.append(", updateTime=").append(updateTime);
sb.append(", writeTime=").append(writeTime);
sb.append(", lon=").append(lon);
sb.append(", lat=").append(lat);
sb.append(", point=").append(point);
sb.append(", isDelete=").append(isDelete);
sb.append("]");
return sb.toString();
}
}
@@ -0,0 +1,30 @@
package com.gis.xian.mapper;
import com.gis.xian.entity.XianFirefighter;
import java.util.List;
/**
* @author wzy
* @description 针对表【xian_firefighter(政府消防队伍)】的数据库操作Mapper
* @createDate 2026-04-18 20:19:23
* @Entity com.gis.xian.entity.XianFirefighter
*/
public interface XianFirefighterMapper {
/**
* 获取所有消防站基础点
* @return 基础点列表
*/
List<XianFirefighter> getBasePoints();
/**
* 根据id获取消防站详情
* @param id 消防站id
* @return 消防站详情
*/
XianFirefighter getPointDetailById(Long id);
}
@@ -0,0 +1,22 @@
package com.gis.xian.service;
import com.gis.xian.vo.XianFirefighterBasePointVo;
import com.gis.xian.vo.XianFirefighterPointDetailVo;
import java.util.List;
public interface XianFirefighterService {
/**
* 获取所有消防站基础点
* @return 基础点列表
*/
List<XianFirefighterBasePointVo> getBasePoints();
/**
* 根据id获取消防站详情
* @param id 消防站id
* @return 消防站详情
*/
XianFirefighterPointDetailVo getPointDetailById(Long id);
}
@@ -0,0 +1,46 @@
package com.gis.xian.service.impl;
import com.alibaba.fastjson2.JSON;
import com.gis.xian.entity.XianFirefighter;
import com.gis.xian.vo.XianFirefighterBasePointVo;
import com.gis.xian.vo.XianFirefighterPointDetailVo;
import com.gis.xian.mapper.XianFirefighterMapper;
import com.gis.xian.service.XianFirefighterService;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class IXianFirefighterServiceImpl implements XianFirefighterService {
@Resource
private RedisTemplate<String, Object> redisTemplate;
@Resource
private XianFirefighterMapper xianFirefighterMapper;
@Value("${init.data.base-points.firefighter}")
private String firefighterBasePointsKey;
@Override
public List<XianFirefighterBasePointVo> getBasePoints() {
// 从redis中读取基础点信息
Object data = redisTemplate.opsForValue().get(firefighterBasePointsKey);
if (data == null) {
List<XianFirefighterBasePointVo> basePoints = XianFirefighterBasePointVo.entity2Vo(xianFirefighterMapper.getBasePoints());
redisTemplate.opsForValue().set(firefighterBasePointsKey, JSON.toJSONString(basePoints));
return basePoints;
}
return JSON.parseArray(data.toString(), XianFirefighterBasePointVo.class);
}
@Override
public XianFirefighterPointDetailVo getPointDetailById(Long id) {
return XianFirefighterPointDetailVo.entity2Vo(xianFirefighterMapper.getPointDetailById(id));
}
}
@@ -4,11 +4,13 @@ import com.alibaba.fastjson2.JSON;
import com.gis.xian.enums.DisasterTypeEnum; import com.gis.xian.enums.DisasterTypeEnum;
import com.gis.xian.mapper.XianDangerousSourceMapper; import com.gis.xian.mapper.XianDangerousSourceMapper;
import com.gis.xian.mapper.XianEmergencyShelterMapper; import com.gis.xian.mapper.XianEmergencyShelterMapper;
import com.gis.xian.mapper.XianFirefighterMapper;
import com.gis.xian.mapper.XianHiddenDangerSpotsMapper; import com.gis.xian.mapper.XianHiddenDangerSpotsMapper;
import com.gis.xian.mapper.XianHospitalsMapper; import com.gis.xian.mapper.XianHospitalsMapper;
import com.gis.xian.mapper.XianRiskSpotsMapper; import com.gis.xian.mapper.XianRiskSpotsMapper;
import com.gis.xian.vo.XianDangerousSourceBasePointVo; import com.gis.xian.vo.XianDangerousSourceBasePointVo;
import com.gis.xian.vo.XianEmergencyShelterBasePointVo; import com.gis.xian.vo.XianEmergencyShelterBasePointVo;
import com.gis.xian.vo.XianFirefighterBasePointVo;
import com.gis.xian.vo.XianHiddenDangerSpotsBasePointVo; import com.gis.xian.vo.XianHiddenDangerSpotsBasePointVo;
import com.gis.xian.vo.XianHospitalsBasePointVo; import com.gis.xian.vo.XianHospitalsBasePointVo;
import com.gis.xian.vo.XianRiskSpotsBasePointVo; import com.gis.xian.vo.XianRiskSpotsBasePointVo;
@@ -42,6 +44,9 @@ public class InitializeData {
@Resource @Resource
private XianEmergencyShelterMapper xianEmergencyShelterMapper; private XianEmergencyShelterMapper xianEmergencyShelterMapper;
@Resource
private XianFirefighterMapper xianFirefighterMapper;
@Resource @Resource
RedisTemplate<String, Object> redisTemplate; RedisTemplate<String, Object> redisTemplate;
@@ -63,6 +68,9 @@ public class InitializeData {
@Value("${init.data.base-points.emergency-shelter}") @Value("${init.data.base-points.emergency-shelter}")
private String emergencyShelterBasePointsKey; private String emergencyShelterBasePointsKey;
@Value("${init.data.base-points.firefighter}")
private String firefighterBasePointsKey;
@PostConstruct @PostConstruct
@Async("xianPool") @Async("xianPool")
public void init() { public void init() {
@@ -107,6 +115,13 @@ public class InitializeData {
xianEmergencyShelterMapper.getBasePoints()) xianEmergencyShelterMapper.getBasePoints())
) )
); );
// 加载消防站基本信息写入redis
redisTemplate.opsForValue().set(firefighterBasePointsKey, JSON.toJSONString(
XianFirefighterBasePointVo.entity2Vo(
xianFirefighterMapper.getBasePoints())
)
);
log.info("初始化数据完成"); log.info("初始化数据完成");
} }
} }
@@ -0,0 +1,59 @@
package com.gis.xian.vo;
import com.gis.xian.entity.XianFirefighter;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 消防站-基本点信息
* @TableName xian_firefighter
*/
@Data
public class XianFirefighterBasePointVo {
/**
* id
*/
private Long id;
/**
* 经度
*/
private Double lon;
/**
* 纬度
*/
private Double lat;
public static XianFirefighterBasePointVo entity2Vo(XianFirefighter entity) {
XianFirefighterBasePointVo vo = new XianFirefighterBasePointVo();
vo.setId(entity.getId());
vo.setLon(entity.getLon() != null ? entity.getLon().doubleValue() : null);
vo.setLat(entity.getLat() != null ? entity.getLat().doubleValue() : null);
return vo;
}
public static List<XianFirefighterBasePointVo> entity2Vo(List<XianFirefighter> entityList) {
List<XianFirefighterBasePointVo> voList = new ArrayList<>();
for (XianFirefighter entity : entityList) {
voList.add(entity2Vo(entity));
}
return voList;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
XianFirefighterBasePointVo that = (XianFirefighterBasePointVo) o;
return Objects.equals(id, that.id) && Objects.equals(lon, that.lon) && Objects.equals(lat, that.lat);
}
@Override
public int hashCode() {
return Objects.hash(id, lon, lat);
}
}
@@ -0,0 +1,107 @@
package com.gis.xian.vo;
import com.gis.xian.entity.XianFirefighter;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 消防站-详细信息
* @TableName xian_firefighter
*/
@Data
public class XianFirefighterPointDetailVo {
/**
* id
*/
private Long id;
/**
* 队伍名称
*/
private String teamName;
/**
* 队伍类型
*/
private String teamType;
/**
* 详细地址
*/
private String address;
/**
* 经度
*/
private Double lon;
/**
* 纬度
*/
private Double lat;
/**
* 总人数
*/
private Integer teamNum;
/**
* 消防车总数
*/
private Integer cars;
/**
* 消防器材数量
*/
private Integer devices;
/**
* 单位负责人
*/
private String unitHead;
/**
* 联系电话
*/
private String telephone;
public static XianFirefighterPointDetailVo entity2Vo(XianFirefighter entity) {
XianFirefighterPointDetailVo vo = new XianFirefighterPointDetailVo();
vo.setId(entity.getId());
vo.setTeamName(entity.getTeamName());
vo.setTeamType(entity.getTeamType());
vo.setAddress(entity.getAddress());
vo.setLon(entity.getLon() != null ? entity.getLon().doubleValue() : null);
vo.setLat(entity.getLat() != null ? entity.getLat().doubleValue() : null);
vo.setTeamNum(entity.getTeamNum());
vo.setCars(entity.getCars());
vo.setDevices(entity.getDevices());
vo.setUnitHead(entity.getUnitHead());
vo.setTelephone(entity.getTelephone());
return vo;
}
public static List<XianFirefighterPointDetailVo> entity2Vo(List<XianFirefighter> entityList) {
List<XianFirefighterPointDetailVo> voList = new ArrayList<>();
for (XianFirefighter entity : entityList) {
voList.add(entity2Vo(entity));
}
return voList;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
XianFirefighterPointDetailVo that = (XianFirefighterPointDetailVo) o;
return Objects.equals(id, that.id) && Objects.equals(teamName, that.teamName) && Objects.equals(teamType, that.teamType) && Objects.equals(address, that.address) && Objects.equals(lon, that.lon) && Objects.equals(lat, that.lat) && Objects.equals(teamNum, that.teamNum) && Objects.equals(cars, that.cars) && Objects.equals(devices, that.devices) && Objects.equals(unitHead, that.unitHead) && Objects.equals(telephone, that.telephone);
}
@Override
public int hashCode() {
return Objects.hash(id, teamName, teamType, address, lon, lat, teamNum, cars, devices, unitHead, telephone);
}
}
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gis.xian.mapper.XianFirefighterMapper">
<resultMap id="BaseResultMap" type="com.gis.xian.entity.XianFirefighter">
<id property="id" column="id" />
<result property="teamName" column="team_name" />
<result property="teamId" column="team_id" />
<result property="teamType" column="team_type" />
<result property="fireType" column="fire_type" />
<result property="address" column="address" />
<result property="standTime" column="stand_time" />
<result property="area" column="area" />
<result property="structionArea" column="struction_area" />
<result property="teamNum" column="team_num" />
<result property="leaderNum" column="leader_num" />
<result property="techNum" column="tech_num" />
<result property="firerNum" column="firer_num" />
<result property="averageAge" column="average_age" />
<result property="cars" column="cars" />
<result property="waterCars" column="water_cars" />
<result property="foamCars" column="foam_cars" />
<result property="highCars" column="high_cars" />
<result property="dedicateCars" column="dedicate_cars" />
<result property="devices" column="devices" />
<result property="detectionDevice" column="detection_device" />
<result property="saveDevice" column="save_device" />
<result property="destructionDevice" column="destruction_device" />
<result property="fillDevice" column="fill_device" />
<result property="transferDevice" column="transfer_device" />
<result property="washDevice" column="wash_device" />
<result property="lightDevice" column="light_device" />
<result property="fireDevice" column="fire_device" />
<result property="goOut" column="go_out" />
<result property="outPeople" column="out_people" />
<result property="outCar" column="out_car" />
<result property="reportTime" column="report_time" />
<result property="unitHead" column="unit_head" />
<result property="governmentCode" column="government_code" />
<result property="createTime" column="create_time" />
<result property="county" column="county" />
<result property="country" column="country" />
<result property="village" column="village" />
<result property="position" column="position" />
<result property="telephone" column="telephone" />
<result property="createName" column="create_name" />
<result property="city" column="city" />
<result property="statisticHead" column="statistic_head" />
<result property="street" column="street" />
<result property="fillName" column="fill_name" />
<result property="province" column="province" />
<result property="fxpcDataidSjgl" column="fxpc_dataid_sjgl" />
<result property="provinceCode" column="province_code" />
<result property="cityCode" column="city_code" />
<result property="countyCode" column="county_code" />
<result property="updateTime" column="update_time" />
<result property="writeTime" column="write_time" />
<result property="lon" column="lon" />
<result property="lat" column="lat" />
<result property="point" column="point" />
<result property="isDelete" column="is_delete" />
</resultMap>
<!-- 获取所有消防站基础点 -->
<select id="getBasePoints" resultMap="BaseResultMap">
SELECT id, lon, lat FROM xian_firefighter
<where>
is_delete = 0
<!-- 确定落在西安境内 -->
AND ST_Within(point, (SELECT geom FROM xian_district WHERE id = 1))
</where>
</select>
<!-- 根据id获取消防站详情 -->
<select id="getPointDetailById" resultMap="BaseResultMap">
SELECT id, team_name, team_type, address, lon, lat, team_num, cars, devices, unit_head, telephone FROM xian_firefighter
<where>
id = #{id} AND is_delete = 0
</where>
</select>
</mapper>
@@ -16,4 +16,5 @@ init:
risk: 'xian:init:data:base-points:risk' risk: 'xian:init:data:base-points:risk'
hospitals: 'xian:init:data:base-points:hospitals' hospitals: 'xian:init:data:base-points:hospitals'
dangerous-source: 'xian:init:data:base-points:dangerous-source' dangerous-source: 'xian:init:data:base-points:dangerous-source'
emergency-shelter: 'xian:init:data:base-points:emergency-shelter' emergency-shelter: 'xian:init:data:base-points:emergency-shelter'
firefighter: 'xian:init:data:base-points:firefighter'