显示学校

This commit is contained in:
wzy-warehouse
2026-04-21 20:56:44 +08:00
parent 5a3cb23818
commit 4e925bedb0
10 changed files with 803 additions and 2 deletions
@@ -0,0 +1,28 @@
package com.gis.xian.controller;
import com.gis.xian.domain.ApiResponse;
import com.gis.xian.vo.XianSchoolBasePointVo;
import com.gis.xian.vo.XianSchoolPointDetailVo;
import com.gis.xian.service.XianSchoolService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/school")
public class XianSchoolController extends BaseController{
@Resource
private XianSchoolService xianSchoolService;
@GetMapping("/base-points")
public ApiResponse<List<XianSchoolBasePointVo>> getBasePoints() {
return ApiResponse.ok(xianSchoolService.getBasePoints());
}
@GetMapping("/point-detail/{id}")
public ApiResponse<XianSchoolPointDetailVo> getPointDetailById(@PathVariable String id) {
return ApiResponse.ok(xianSchoolService.getPointDetailById(Long.parseLong(id)));
}
}
@@ -0,0 +1,426 @@
package com.gis.xian.entity;
import java.time.LocalTime;
import lombok.Data;
/**
* 西安学校表
* @TableName xian_school
*/
@Data
public class XianSchool {
/**
*
*/
private Long id;
/**
* 学校名称
*/
private String schoolName;
/**
* 学校地址
*/
private String schoolAddress;
/**
* 学校编码
*/
private String schoolCode;
/**
* 学校类型
*/
private String schoolType;
/**
* 所属部门
*/
private String schoolCreater;
/**
* 学校面积
*/
private Double area;
/**
* 建筑物面积
*/
private Double constructionArea;
/**
* 设施
*/
private Integer devices;
/**
*
*/
private String isImportant;
/**
* 工作人员
*/
private Integer staff;
/**
* 学生
*/
private Integer students;
/**
* 留校生
*/
private Integer boarder;
/**
* 留学生
*/
private Integer foreignStudents;
/**
* 教室数量
*/
private Integer classrooms;
/**
* 避难所面积
*/
private Double shelterArea;
/**
* 是否有医院
*/
private String isHaveHospital;
/**
* 医生数量
*/
private Integer doctorNum;
/**
* 安全员数量
*/
private Integer securityStaffNum;
/**
* 应急电力
*/
private String emergencyElectric;
/**
* 供水
*/
private String waterMethod;
/**
* 供暖
*/
private String heatingMethod;
/**
* 应急通信
*/
private String emergencyConnectionMethod;
/**
* 灾害记录
*/
private String isDisasterType;
/**
* 灾害预案
*/
private String haveEmergencyPlanType;
/**
* 设施编码
*/
private String institutionCode;
/**
* 创造时间
*/
private String createTime;
/**
* 市
*/
private String city;
/**
* 区县
*/
private String county;
/**
* 联系电话
*/
private String telephone;
/**
* 区县编码
*/
private String code;
/**
* 单位负责人
*/
private String unitHead;
/**
* 街道/乡镇
*/
private String country;
/**
* 负责人
*/
private String fillName;
/**
* 承建单位
*/
private String createName;
/**
* 省
*/
private String province;
/**
* 记录人
*/
private String statisticsHead;
/**
* 报告时间
*/
private String reportTime;
/**
* 物理主键
*/
private String physicalKey;
/**
* 省编码
*/
private Integer provinceCode;
/**
* 市编码
*/
private Integer cityCode;
/**
* 区县编码
*/
private Integer countyCode;
/**
* 更新时间
*/
private String updateTime;
/**
* 写入时间
*/
private LocalTime writeTime;
/**
* 位置
*/
private Object geom;
/**
* 经度
*/
private Double lon;
/**
* 纬度
*/
private Double lat;
/**
* 逻辑删除标识,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;
}
XianSchool other = (XianSchool) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getSchoolName() == null ? other.getSchoolName() == null : this.getSchoolName().equals(other.getSchoolName()))
&& (this.getSchoolAddress() == null ? other.getSchoolAddress() == null : this.getSchoolAddress().equals(other.getSchoolAddress()))
&& (this.getSchoolCode() == null ? other.getSchoolCode() == null : this.getSchoolCode().equals(other.getSchoolCode()))
&& (this.getSchoolType() == null ? other.getSchoolType() == null : this.getSchoolType().equals(other.getSchoolType()))
&& (this.getSchoolCreater() == null ? other.getSchoolCreater() == null : this.getSchoolCreater().equals(other.getSchoolCreater()))
&& (this.getArea() == null ? other.getArea() == null : this.getArea().equals(other.getArea()))
&& (this.getConstructionArea() == null ? other.getConstructionArea() == null : this.getConstructionArea().equals(other.getConstructionArea()))
&& (this.getDevices() == null ? other.getDevices() == null : this.getDevices().equals(other.getDevices()))
&& (this.getIsImportant() == null ? other.getIsImportant() == null : this.getIsImportant().equals(other.getIsImportant()))
&& (this.getStaff() == null ? other.getStaff() == null : this.getStaff().equals(other.getStaff()))
&& (this.getStudents() == null ? other.getStudents() == null : this.getStudents().equals(other.getStudents()))
&& (this.getBoarder() == null ? other.getBoarder() == null : this.getBoarder().equals(other.getBoarder()))
&& (this.getForeignStudents() == null ? other.getForeignStudents() == null : this.getForeignStudents().equals(other.getForeignStudents()))
&& (this.getClassrooms() == null ? other.getClassrooms() == null : this.getClassrooms().equals(other.getClassrooms()))
&& (this.getShelterArea() == null ? other.getShelterArea() == null : this.getShelterArea().equals(other.getShelterArea()))
&& (this.getIsHaveHospital() == null ? other.getIsHaveHospital() == null : this.getIsHaveHospital().equals(other.getIsHaveHospital()))
&& (this.getDoctorNum() == null ? other.getDoctorNum() == null : this.getDoctorNum().equals(other.getDoctorNum()))
&& (this.getSecurityStaffNum() == null ? other.getSecurityStaffNum() == null : this.getSecurityStaffNum().equals(other.getSecurityStaffNum()))
&& (this.getEmergencyElectric() == null ? other.getEmergencyElectric() == null : this.getEmergencyElectric().equals(other.getEmergencyElectric()))
&& (this.getWaterMethod() == null ? other.getWaterMethod() == null : this.getWaterMethod().equals(other.getWaterMethod()))
&& (this.getHeatingMethod() == null ? other.getHeatingMethod() == null : this.getHeatingMethod().equals(other.getHeatingMethod()))
&& (this.getEmergencyConnectionMethod() == null ? other.getEmergencyConnectionMethod() == null : this.getEmergencyConnectionMethod().equals(other.getEmergencyConnectionMethod()))
&& (this.getIsDisasterType() == null ? other.getIsDisasterType() == null : this.getIsDisasterType().equals(other.getIsDisasterType()))
&& (this.getHaveEmergencyPlanType() == null ? other.getHaveEmergencyPlanType() == null : this.getHaveEmergencyPlanType().equals(other.getHaveEmergencyPlanType()))
&& (this.getInstitutionCode() == null ? other.getInstitutionCode() == null : this.getInstitutionCode().equals(other.getInstitutionCode()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getCity() == null ? other.getCity() == null : this.getCity().equals(other.getCity()))
&& (this.getCounty() == null ? other.getCounty() == null : this.getCounty().equals(other.getCounty()))
&& (this.getTelephone() == null ? other.getTelephone() == null : this.getTelephone().equals(other.getTelephone()))
&& (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
&& (this.getUnitHead() == null ? other.getUnitHead() == null : this.getUnitHead().equals(other.getUnitHead()))
&& (this.getCountry() == null ? other.getCountry() == null : this.getCountry().equals(other.getCountry()))
&& (this.getFillName() == null ? other.getFillName() == null : this.getFillName().equals(other.getFillName()))
&& (this.getCreateName() == null ? other.getCreateName() == null : this.getCreateName().equals(other.getCreateName()))
&& (this.getProvince() == null ? other.getProvince() == null : this.getProvince().equals(other.getProvince()))
&& (this.getStatisticsHead() == null ? other.getStatisticsHead() == null : this.getStatisticsHead().equals(other.getStatisticsHead()))
&& (this.getReportTime() == null ? other.getReportTime() == null : this.getReportTime().equals(other.getReportTime()))
&& (this.getPhysicalKey() == null ? other.getPhysicalKey() == null : this.getPhysicalKey().equals(other.getPhysicalKey()))
&& (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.getGeom() == null ? other.getGeom() == null : this.getGeom().equals(other.getGeom()))
&& (this.getLon() == null ? other.getLon() == null : this.getLon().equals(other.getLon()))
&& (this.getLat() == null ? other.getLat() == null : this.getLat().equals(other.getLat()))
&& (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 + ((getSchoolName() == null) ? 0 : getSchoolName().hashCode());
result = prime * result + ((getSchoolAddress() == null) ? 0 : getSchoolAddress().hashCode());
result = prime * result + ((getSchoolCode() == null) ? 0 : getSchoolCode().hashCode());
result = prime * result + ((getSchoolType() == null) ? 0 : getSchoolType().hashCode());
result = prime * result + ((getSchoolCreater() == null) ? 0 : getSchoolCreater().hashCode());
result = prime * result + ((getArea() == null) ? 0 : getArea().hashCode());
result = prime * result + ((getConstructionArea() == null) ? 0 : getConstructionArea().hashCode());
result = prime * result + ((getDevices() == null) ? 0 : getDevices().hashCode());
result = prime * result + ((getIsImportant() == null) ? 0 : getIsImportant().hashCode());
result = prime * result + ((getStaff() == null) ? 0 : getStaff().hashCode());
result = prime * result + ((getStudents() == null) ? 0 : getStudents().hashCode());
result = prime * result + ((getBoarder() == null) ? 0 : getBoarder().hashCode());
result = prime * result + ((getForeignStudents() == null) ? 0 : getForeignStudents().hashCode());
result = prime * result + ((getClassrooms() == null) ? 0 : getClassrooms().hashCode());
result = prime * result + ((getShelterArea() == null) ? 0 : getShelterArea().hashCode());
result = prime * result + ((getIsHaveHospital() == null) ? 0 : getIsHaveHospital().hashCode());
result = prime * result + ((getDoctorNum() == null) ? 0 : getDoctorNum().hashCode());
result = prime * result + ((getSecurityStaffNum() == null) ? 0 : getSecurityStaffNum().hashCode());
result = prime * result + ((getEmergencyElectric() == null) ? 0 : getEmergencyElectric().hashCode());
result = prime * result + ((getWaterMethod() == null) ? 0 : getWaterMethod().hashCode());
result = prime * result + ((getHeatingMethod() == null) ? 0 : getHeatingMethod().hashCode());
result = prime * result + ((getEmergencyConnectionMethod() == null) ? 0 : getEmergencyConnectionMethod().hashCode());
result = prime * result + ((getIsDisasterType() == null) ? 0 : getIsDisasterType().hashCode());
result = prime * result + ((getHaveEmergencyPlanType() == null) ? 0 : getHaveEmergencyPlanType().hashCode());
result = prime * result + ((getInstitutionCode() == null) ? 0 : getInstitutionCode().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getCity() == null) ? 0 : getCity().hashCode());
result = prime * result + ((getCounty() == null) ? 0 : getCounty().hashCode());
result = prime * result + ((getTelephone() == null) ? 0 : getTelephone().hashCode());
result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
result = prime * result + ((getUnitHead() == null) ? 0 : getUnitHead().hashCode());
result = prime * result + ((getCountry() == null) ? 0 : getCountry().hashCode());
result = prime * result + ((getFillName() == null) ? 0 : getFillName().hashCode());
result = prime * result + ((getCreateName() == null) ? 0 : getCreateName().hashCode());
result = prime * result + ((getProvince() == null) ? 0 : getProvince().hashCode());
result = prime * result + ((getStatisticsHead() == null) ? 0 : getStatisticsHead().hashCode());
result = prime * result + ((getReportTime() == null) ? 0 : getReportTime().hashCode());
result = prime * result + ((getPhysicalKey() == null) ? 0 : getPhysicalKey().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 + ((getGeom() == null) ? 0 : getGeom().hashCode());
result = prime * result + ((getLon() == null) ? 0 : getLon().hashCode());
result = prime * result + ((getLat() == null) ? 0 : getLat().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(", schoolName=").append(schoolName);
sb.append(", schoolAddress=").append(schoolAddress);
sb.append(", schoolCode=").append(schoolCode);
sb.append(", schoolType=").append(schoolType);
sb.append(", schoolCreater=").append(schoolCreater);
sb.append(", area=").append(area);
sb.append(", constructionArea=").append(constructionArea);
sb.append(", devices=").append(devices);
sb.append(", isImportant=").append(isImportant);
sb.append(", staff=").append(staff);
sb.append(", students=").append(students);
sb.append(", boarder=").append(boarder);
sb.append(", foreignStudents=").append(foreignStudents);
sb.append(", classrooms=").append(classrooms);
sb.append(", shelterArea=").append(shelterArea);
sb.append(", isHaveHospital=").append(isHaveHospital);
sb.append(", doctorNum=").append(doctorNum);
sb.append(", securityStaffNum=").append(securityStaffNum);
sb.append(", emergencyElectric=").append(emergencyElectric);
sb.append(", waterMethod=").append(waterMethod);
sb.append(", heatingMethod=").append(heatingMethod);
sb.append(", emergencyConnectionMethod=").append(emergencyConnectionMethod);
sb.append(", isDisasterType=").append(isDisasterType);
sb.append(", haveEmergencyPlanType=").append(haveEmergencyPlanType);
sb.append(", institutionCode=").append(institutionCode);
sb.append(", createTime=").append(createTime);
sb.append(", city=").append(city);
sb.append(", county=").append(county);
sb.append(", telephone=").append(telephone);
sb.append(", code=").append(code);
sb.append(", unitHead=").append(unitHead);
sb.append(", country=").append(country);
sb.append(", fillName=").append(fillName);
sb.append(", createName=").append(createName);
sb.append(", province=").append(province);
sb.append(", statisticsHead=").append(statisticsHead);
sb.append(", reportTime=").append(reportTime);
sb.append(", physicalKey=").append(physicalKey);
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(", geom=").append(geom);
sb.append(", lon=").append(lon);
sb.append(", lat=").append(lat);
sb.append(", isDelete=").append(isDelete);
sb.append("]");
return sb.toString();
}
}
@@ -0,0 +1,30 @@
package com.gis.xian.mapper;
import com.gis.xian.entity.XianSchool;
import java.util.List;
/**
* @author wzy
* @description 针对表【xian_school(西安学校表)】的数据库操作Mapper
* @createDate 2026-04-21 20:30:50
* @Entity com.gis.xian.entity.XianSchool
*/
public interface XianSchoolMapper {
/**
* 获取所有学校基础点
* @return 基础点列表
*/
List<XianSchool> getBasePoints();
/**
* 根据id获取学校详情
* @param id 学校id
* @return 学校详情
*/
XianSchool getPointDetailById(Long id);
}
@@ -0,0 +1,22 @@
package com.gis.xian.service;
import com.gis.xian.vo.XianSchoolBasePointVo;
import com.gis.xian.vo.XianSchoolPointDetailVo;
import java.util.List;
public interface XianSchoolService {
/**
* 获取所有学校基础点
* @return 基础点列表
*/
List<XianSchoolBasePointVo> getBasePoints();
/**
* 根据id获取学校详情
* @param id 学校id
* @return 学校详情
*/
XianSchoolPointDetailVo getPointDetailById(Long id);
}
@@ -0,0 +1,46 @@
package com.gis.xian.service.impl;
import com.alibaba.fastjson2.JSON;
import com.gis.xian.entity.XianSchool;
import com.gis.xian.vo.XianSchoolBasePointVo;
import com.gis.xian.vo.XianSchoolPointDetailVo;
import com.gis.xian.mapper.XianSchoolMapper;
import com.gis.xian.service.XianSchoolService;
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 IXianSchoolServiceImpl implements XianSchoolService {
@Resource
private RedisTemplate<String, Object> redisTemplate;
@Resource
private XianSchoolMapper xianSchoolMapper;
@Value("${init.data.base-points.school}")
private String schoolBasePointsKey;
@Override
public List<XianSchoolBasePointVo> getBasePoints() {
// 从redis中读取基础点信息
Object data = redisTemplate.opsForValue().get(schoolBasePointsKey);
if (data == null) {
List<XianSchoolBasePointVo> basePoints = XianSchoolBasePointVo.entity2Vo(xianSchoolMapper.getBasePoints());
redisTemplate.opsForValue().set(schoolBasePointsKey, JSON.toJSONString(basePoints));
return basePoints;
}
return JSON.parseArray(data.toString(), XianSchoolBasePointVo.class);
}
@Override
public XianSchoolPointDetailVo getPointDetailById(Long id) {
return XianSchoolPointDetailVo.entity2Vo(xianSchoolMapper.getPointDetailById(id));
}
}
@@ -8,6 +8,7 @@ import com.gis.xian.mapper.XianFirefighterMapper;
import com.gis.xian.mapper.XianHiddenDangerSpotsMapper;
import com.gis.xian.mapper.XianHospitalsMapper;
import com.gis.xian.mapper.XianRiskSpotsMapper;
import com.gis.xian.mapper.XianSchoolMapper;
import com.gis.xian.mapper.XianStorePointsMapper;
import com.gis.xian.vo.XianDangerousSourceBasePointVo;
import com.gis.xian.vo.XianEmergencyShelterBasePointVo;
@@ -15,6 +16,7 @@ import com.gis.xian.vo.XianFirefighterBasePointVo;
import com.gis.xian.vo.XianHiddenDangerSpotsBasePointVo;
import com.gis.xian.vo.XianHospitalsBasePointVo;
import com.gis.xian.vo.XianRiskSpotsBasePointVo;
import com.gis.xian.vo.XianSchoolBasePointVo;
import com.gis.xian.vo.XianStorePointsBasePointVo;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -55,6 +57,9 @@ public class InitializeData {
@Resource
private XianStorePointsMapper xianStorePointsMapper;
@Resource
private XianSchoolMapper xianSchoolMapper;
@Resource
RedisTemplate<String, Object> redisTemplate;
@@ -82,6 +87,9 @@ public class InitializeData {
@Value("${init.data.base-points.store-points}")
private String storePointsBasePointsKey;
@Value("${init.data.base-points.school}")
private String schoolBasePointsKey;
@EventListener(ApplicationReadyEvent.class)
@Async("xianPool")
public void init() {
@@ -159,10 +167,19 @@ public class InitializeData {
log.info("加载物资储备点基本信息写入redis完成");
});
CompletableFuture<Void> schoolFuture = CompletableFuture.runAsync(() -> {
redisTemplate.opsForValue().set(schoolBasePointsKey, JSON.toJSONString(
XianSchoolBasePointVo.entity2Vo(
xianSchoolMapper.getBasePoints())
)
);
log.info("加载学校基本信息写入redis完成");
});
// 等待所有任务完成
CompletableFuture.allOf(
rainstormFuture, earthquakeFuture, riskFuture, hospitalsFuture,
dangerousSourceFuture, emergencyShelterFuture, firefighterFuture, storePointsFuture
dangerousSourceFuture, emergencyShelterFuture, firefighterFuture, storePointsFuture, schoolFuture
).join();
log.info("初始化数据完成");
@@ -0,0 +1,59 @@
package com.gis.xian.vo;
import com.gis.xian.entity.XianSchool;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 学校-基本点信息
* @TableName xian_school
*/
@Data
public class XianSchoolBasePointVo {
/**
* id
*/
private Long id;
/**
* 经度
*/
private Double lon;
/**
* 纬度
*/
private Double lat;
public static XianSchoolBasePointVo entity2Vo(XianSchool entity) {
XianSchoolBasePointVo vo = new XianSchoolBasePointVo();
vo.setId(entity.getId());
vo.setLon(entity.getLon());
vo.setLat(entity.getLat());
return vo;
}
public static List<XianSchoolBasePointVo> entity2Vo(List<XianSchool> entityList) {
List<XianSchoolBasePointVo> voList = new ArrayList<>();
for (XianSchool 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;
XianSchoolBasePointVo that = (XianSchoolBasePointVo) 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,99 @@
package com.gis.xian.vo;
import com.gis.xian.entity.XianSchool;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 学校-详细信息
* @TableName xian_school
*/
@Data
public class XianSchoolPointDetailVo {
/**
* id
*/
private Long id;
/**
* 学校名称
*/
private String schoolName;
/**
* 学校类型
*/
private String schoolType;
/**
* 经度
*/
private Double lon;
/**
* 纬度
*/
private Double lat;
/**
* 学生数
*/
private Integer students;
/**
* 是否有重点保护目标
*/
private String isImportant;
/**
* 单位负责人
*/
private String unitHead;
/**
* 手机号
*/
private String telephone;
public static XianSchoolPointDetailVo entity2Vo(XianSchool entity) {
XianSchoolPointDetailVo vo = new XianSchoolPointDetailVo();
vo.setId(entity.getId());
vo.setSchoolName(entity.getSchoolName());
vo.setSchoolType(entity.getSchoolType());
vo.setLon(entity.getLon());
vo.setLat(entity.getLat());
vo.setStudents(entity.getStudents());
vo.setIsImportant(entity.getIsImportant());
vo.setUnitHead(entity.getUnitHead());
vo.setTelephone(entity.getTelephone());
return vo;
}
public static List<XianSchoolPointDetailVo> entity2Vo(List<XianSchool> entityList) {
List<XianSchoolPointDetailVo> voList = new ArrayList<>();
for (XianSchool 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;
XianSchoolPointDetailVo that = (XianSchoolPointDetailVo) o;
return Objects.equals(id, that.id) && Objects.equals(schoolName, that.schoolName)
&& Objects.equals(schoolType, that.schoolType) && Objects.equals(lon, that.lon)
&& Objects.equals(lat, that.lat) && Objects.equals(students, that.students)
&& Objects.equals(isImportant, that.isImportant) && Objects.equals(unitHead, that.unitHead)
&& Objects.equals(telephone, that.telephone);
}
@Override
public int hashCode() {
return Objects.hash(id, schoolName, schoolType, lon, lat, students, isImportant, unitHead, telephone);
}
}
@@ -0,0 +1,73 @@
<?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.XianSchoolMapper">
<resultMap id="BaseResultMap" type="com.gis.xian.entity.XianSchool">
<id property="id" column="id" />
<result property="schoolName" column="school_name" />
<result property="schoolAddress" column="school_address" />
<result property="schoolCode" column="school_code" />
<result property="schoolType" column="school_type" />
<result property="schoolCreater" column="school_creater" />
<result property="area" column="area" />
<result property="constructionArea" column="construction_area" />
<result property="devices" column="devices" />
<result property="isImportant" column="is_important" />
<result property="staff" column="staff" />
<result property="students" column="students" />
<result property="boarder" column="boarder" />
<result property="foreignStudents" column="foreign_students" />
<result property="classrooms" column="classrooms" />
<result property="shelterArea" column="shelter_area" />
<result property="isHaveHospital" column="is_have_hospital" />
<result property="doctorNum" column="doctor_num" />
<result property="securityStaffNum" column="security_staff_num" />
<result property="emergencyElectric" column="emergency_electric" />
<result property="waterMethod" column="water_method" />
<result property="heatingMethod" column="heating_method" />
<result property="emergencyConnectionMethod" column="emergency_connection_method" />
<result property="isDisasterType" column="is_disaster_type" />
<result property="haveEmergencyPlanType" column="have_emergency_plan_type" />
<result property="institutionCode" column="institution_code" />
<result property="createTime" column="create_time" />
<result property="city" column="city" />
<result property="county" column="county" />
<result property="telephone" column="telephone" />
<result property="code" column="code" />
<result property="unitHead" column="unit_head" />
<result property="country" column="country" />
<result property="fillName" column="fill_name" />
<result property="createName" column="create_name" />
<result property="province" column="province" />
<result property="statisticsHead" column="statistics_head" />
<result property="reportTime" column="report_time" />
<result property="physicalKey" column="physical_key" />
<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="geom" column="geom" />
<result property="lon" column="lon" />
<result property="lat" column="lat" />
<result property="isDelete" column="is_delete" />
</resultMap>
<!-- 获取所有学校基础点 -->
<select id="getBasePoints" resultMap="BaseResultMap">
SELECT id, lon, lat FROM xian_school
<where>
is_delete = 0
</where>
</select>
<!-- 根据id获取学校详情 -->
<select id="getPointDetailById" resultMap="BaseResultMap">
SELECT id, school_name, school_type, lon, lat, students, is_important, unit_head, telephone FROM xian_school
<where>
id = #{id} AND is_delete = 0
</where>
</select>
</mapper>
@@ -19,3 +19,4 @@ init:
emergency-shelter: 'xian:init:data:base-points:emergency-shelter'
firefighter: 'xian:init:data:base-points:firefighter'
store-points: 'xian:init:data:base-points:store-points'
school: 'xian:init:data:base-points:school'