add:首页接口

main
qh 8 months ago
parent 584056c038
commit f9dc28e838

@ -2,6 +2,8 @@ package com.cuit.solarenergy.controller;
import com.cuit.solarenergy.base.annotation.AopLog;
import com.cuit.solarenergy.base.annotation.AuthToken;
import com.cuit.solarenergy.entity.MonitorRet;
import com.cuit.solarenergy.entity.TGeoserverinfo;
import com.cuit.solarenergy.entity.vo.ret.RetResponse;
import com.cuit.solarenergy.entity.vo.ret.RetResult;
import com.cuit.solarenergy.exception.ParamsException;
@ -49,13 +51,145 @@ public class DataController {
@ApiResponse(code = 500, message = "服务器内部错误"),
@ApiResponse(code = 900, message = "失败")
})
public RetResult<List<String>> getRefionInfo() {
public RetResult<List<TGeoserverinfo>> getRefionInfo(String region) {
try {
log.info("区域查询");
List<String> regionInfo = dataImportService.getRefionInfo();
List<TGeoserverinfo> regionInfo = dataImportService.getRefionInfo(region);
return RetResponse.makeOKRsp(regionInfo);
}catch (ParamsException e){
return RetResponse.makeErrRsp("查询错误!"+e.getMessage());
}
}
@AopLog
@AuthToken
@ApiOperation("2、根据区域查询tif文件")
@PreAuthorize("hasAuthority('minio:upload')")
@RequestMapping(value = "/dataimport/getTifByRegion", method = {RequestMethod.GET})
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = 401, message = "访问未经授权"),
@ApiResponse(code = 403, message = "访问被禁止的"),
@ApiResponse(code = 404, message = "未找到访问接口"),
@ApiResponse(code = 500, message = "服务器内部错误"),
@ApiResponse(code = 900, message = "失败")
})
public RetResult<List<String>> getTifByRegion(String region) {
try {
log.info("Tif查询");
List<String> regionInfo = dataImportService.getTifByRegion(region);
return RetResponse.makeOKRsp(regionInfo);
}catch (ParamsException e){
return RetResponse.makeErrRsp("查询tif文件失败"+e.getMessage());
}
}
@AopLog
@AuthToken
@ApiOperation("3、图层查询")
@PreAuthorize("hasAuthority('minio:upload')")
@RequestMapping(value = "/dataimport/getLayer", method = {RequestMethod.GET})
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = 401, message = "访问未经授权"),
@ApiResponse(code = 403, message = "访问被禁止的"),
@ApiResponse(code = 404, message = "未找到访问接口"),
@ApiResponse(code = 500, message = "服务器内部错误"),
@ApiResponse(code = 900, message = "失败")
})
public RetResult<List<String>> getLayer() {
try {
log.info("图层查询");
List<String> layer = dataImportService.getLayer();
return RetResponse.makeOKRsp(layer);
}catch (ParamsException e){
return RetResponse.makeErrRsp("查询tif文件失败"+e.getMessage());
}
}
@AopLog
@AuthToken
@ApiOperation("4、图层查询tif文件")
@PreAuthorize("hasAuthority('minio:upload')")
@RequestMapping(value = "/dataimport/getTifByLayer", method = {RequestMethod.GET})
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = 401, message = "访问未经授权"),
@ApiResponse(code = 403, message = "访问被禁止的"),
@ApiResponse(code = 404, message = "未找到访问接口"),
@ApiResponse(code = 500, message = "服务器内部错误"),
@ApiResponse(code = 900, message = "失败")
})
public RetResult<List<String>> getTifByLayer(String Layer) {
try {
log.info("图层查询Tif文件");
List<String> layerTif = dataImportService.getTifByLayer(Layer);
return RetResponse.makeOKRsp(layerTif);
}catch (ParamsException e){
return RetResponse.makeErrRsp("查询tif文件失败"+e.getMessage());
}
}
@AopLog
@AuthToken
@ApiOperation("5、查询要素详情")
@PreAuthorize("hasAuthority('minio:upload')")
@RequestMapping(value = "/dataimport/getElementInfo", method = {RequestMethod.GET})
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = 401, message = "访问未经授权"),
@ApiResponse(code = 403, message = "访问被禁止的"),
@ApiResponse(code = 404, message = "未找到访问接口"),
@ApiResponse(code = 500, message = "服务器内部错误"),
@ApiResponse(code = 900, message = "失败")
})
public RetResult<List<String>> getElementInfo() {
try {
log.info("查询要素详情");
List<String> element = dataImportService.getElementInfo();
return RetResponse.makeOKRsp(element);
}catch (ParamsException e){
return RetResponse.makeErrRsp("查询要素失败!"+e.getMessage());
}
}
@AopLog
@AuthToken
@ApiOperation("6、根据要素详情查询具体值")
@PreAuthorize("hasAuthority('minio:upload')")
@RequestMapping(value = "/dataimport/getValueByElement", method = {RequestMethod.GET})
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = 401, message = "访问未经授权"),
@ApiResponse(code = 403, message = "访问被禁止的"),
@ApiResponse(code = 404, message = "未找到访问接口"),
@ApiResponse(code = 500, message = "服务器内部错误"),
@ApiResponse(code = 900, message = "失败")
})
public RetResult<List<String>> getValueByElement(String Element) {
try {
log.info("根据要素详情查询具体值");
List<String> value = dataImportService.getValueByElement(Element);
return RetResponse.makeOKRsp(value);
}catch (ParamsException e){
return RetResponse.makeErrRsp("查询数据失败!"+e.getMessage());
}
}
@AopLog
@AuthToken
@ApiOperation("7、监测排序")
@PreAuthorize("hasAuthority('minio:upload')")
@RequestMapping(value = "/dataimport/getMonitorInfo", method = {RequestMethod.GET})
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = 401, message = "访问未经授权"),
@ApiResponse(code = 403, message = "访问被禁止的"),
@ApiResponse(code = 404, message = "未找到访问接口"),
@ApiResponse(code = 500, message = "服务器内部错误"),
@ApiResponse(code = 900, message = "失败")
})
public RetResult<List<MonitorRet>> getMonitorInfo() {
try {
log.info("根据要素详情查询具体值");
List<MonitorRet> monitor = dataImportService.getMonitorInfo();
return RetResponse.makeOKRsp(monitor);
}catch (ParamsException e){
return RetResponse.makeErrRsp("查询监测点详情失败!"+e.getMessage());
}
}
}

@ -0,0 +1,24 @@
package com.cuit.solarenergy.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MonitorRet {
@ApiModelProperty(value = "监测点名称")
private String monitorPointName;
@ApiModelProperty(value = "监测点经度")
private double monitorPointLng;
@ApiModelProperty(value = "监测点纬度")
private double monitorPointLat;
@ApiModelProperty(value = "监测值")
private String monitorValue;
}

@ -0,0 +1,118 @@
package com.cuit.solarenergy.entity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
/**
*
* @TableName t_geoserverinfo
*/
@Data
public class TGeoserverinfo implements Serializable {
/**
*
*/
private Long id;
/**
* GeoServer访
*/
private String geoserverworkspaces;
/**
* GeoServer
*/
private String geoserverlayers;
/**
* GeoServer
*/
private String geoserverstyles;
/**
*
*/
private String srs;
/**
*
*/
private String bbox;
/**
*
*/
private String latlonbbox;
/**
*
*/
private String url;
/**
*
*/
private LocalDateTime createdate;
private static final long serialVersionUID = 1L;
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
TGeoserverinfo other = (TGeoserverinfo) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getGeoserverworkspaces() == null ? other.getGeoserverworkspaces() == null : this.getGeoserverworkspaces().equals(other.getGeoserverworkspaces()))
&& (this.getGeoserverlayers() == null ? other.getGeoserverlayers() == null : this.getGeoserverlayers().equals(other.getGeoserverlayers()))
&& (this.getGeoserverstyles() == null ? other.getGeoserverstyles() == null : this.getGeoserverstyles().equals(other.getGeoserverstyles()))
&& (this.getSrs() == null ? other.getSrs() == null : this.getSrs().equals(other.getSrs()))
&& (this.getBbox() == null ? other.getBbox() == null : this.getBbox().equals(other.getBbox()))
&& (this.getLatlonbbox() == null ? other.getLatlonbbox() == null : this.getLatlonbbox().equals(other.getLatlonbbox()))
&& (this.getUrl() == null ? other.getUrl() == null : this.getUrl().equals(other.getUrl()))
&& (this.getCreatedate() == null ? other.getCreatedate() == null : this.getCreatedate().equals(other.getCreatedate()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getGeoserverworkspaces() == null) ? 0 : getGeoserverworkspaces().hashCode());
result = prime * result + ((getGeoserverlayers() == null) ? 0 : getGeoserverlayers().hashCode());
result = prime * result + ((getGeoserverstyles() == null) ? 0 : getGeoserverstyles().hashCode());
result = prime * result + ((getSrs() == null) ? 0 : getSrs().hashCode());
result = prime * result + ((getBbox() == null) ? 0 : getBbox().hashCode());
result = prime * result + ((getLatlonbbox() == null) ? 0 : getLatlonbbox().hashCode());
result = prime * result + ((getUrl() == null) ? 0 : getUrl().hashCode());
result = prime * result + ((getCreatedate() == null) ? 0 : getCreatedate().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(", geoserverworkspaces=").append(geoserverworkspaces);
sb.append(", geoserverlayers=").append(geoserverlayers);
sb.append(", geoserverstyles=").append(geoserverstyles);
sb.append(", srs=").append(srs);
sb.append(", bbox=").append(bbox);
sb.append(", latlonbbox=").append(latlonbbox);
sb.append(", url=").append(url);
sb.append(", createdate=").append(createdate);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

@ -0,0 +1,28 @@
package com.cuit.solarenergy.mapper;
import com.cuit.solarenergy.entity.TGeoserverinfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author Administrator
* @description t_geoserverinfoMapper
* @createDate 2024-11-27 09:34:41
* @Entity com.cuit.solarenergy.entity.TGeoserverinfo
*/
@Mapper
public interface TGeoserverinfoMapper extends BaseMapper<TGeoserverinfo> {
/**
*
* @param region
* @return
*/
List<TGeoserverinfo> getRefionInfo(String region);
}

@ -1,6 +1,8 @@
package com.cuit.solarenergy.service;
import com.cuit.solarenergy.entity.MonitorRet;
import com.cuit.solarenergy.entity.TGeoserverinfo;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@ -63,7 +65,49 @@ public interface DataImportService {
/**
*
*
* @return
*/
List<TGeoserverinfo> getRefionInfo(String region);
/**
* tif
* @param region
* @return
*/
List<String> getTifByRegion(String region);
/**
*
* @return
*/
List<String> getRefionInfo();
List<String> getLayer();
/**
* tif
* @param layer
* @return
*/
List<String> getTifByLayer(String layer);
/**
*
* @return
*/
List<String> getElementInfo();
/**
*
* @param element
* @return
*/
List<String> getValueByElement(String element);
/**
*
*
* @return
*/
List<MonitorRet> getMonitorInfo();
}

@ -0,0 +1,13 @@
package com.cuit.solarenergy.service;
import com.cuit.solarenergy.entity.TGeoserverinfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author Administrator
* @description t_geoserverinfoService
* @createDate 2024-11-27 09:34:41
*/
public interface TGeoserverinfoService extends IService<TGeoserverinfo> {
}

@ -6,9 +6,12 @@ import com.alibaba.excel.enums.CellExtraTypeEnum;
import com.alibaba.excel.exception.ExcelAnalysisException;
import com.alibaba.excel.read.metadata.ReadSheet;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cuit.solarenergy.entity.MonitorRet;
import com.cuit.solarenergy.entity.TGeoserverinfo;
import com.cuit.solarenergy.entity.TSamplingDataDetails;
import com.cuit.solarenergy.entity.TSiteBaseInfo;
import com.cuit.solarenergy.exception.ParamsException;
import com.cuit.solarenergy.mapper.TGeoserverinfoMapper;
import com.cuit.solarenergy.mapper.TSamplingDataDetailsMapper;
import com.cuit.solarenergy.mapper.TSiteBaseInfoMapper;
import com.cuit.solarenergy.model.poi.listener.ExcelUtil;
@ -41,6 +44,9 @@ import java.util.*;
@Slf4j
public class DataImportServiceImpl implements DataImportService {
@Autowired
private TGeoserverinfoMapper tGeoserverinfoMapper;
@Autowired
private TSiteBaseInfoMapper tSiteBaseInfoMapper;
@ -50,6 +56,9 @@ public class DataImportServiceImpl implements DataImportService {
@Autowired
private TifDataDealService tifDataDealService;
@Autowired
private GeoServerPubServiceImpl geoServerPubService;
@Override
public List<String> upLoadProjectLedgerBySingleFile(MultipartFile file) throws IOException {
return null;
@ -362,21 +371,176 @@ public class DataImportServiceImpl implements DataImportService {
}
@Override
public List<String> getRefionInfo() {
public List<TGeoserverinfo> getRefionInfo(String region) {
try {
List<String> regionInfo = new ArrayList<>();
regionInfo.add("南充");
regionInfo.add("巴中");
regionInfo.add("广元");
regionInfo.add("达州");
regionInfo.add("广安");
return regionInfo;
}catch (ParamsException e){
return null;
List<TGeoserverinfo> regionInfo = tGeoserverinfoMapper.getRefionInfo(region);
if (regionInfo != null) {
for (TGeoserverinfo info : regionInfo) {
info.setUrl(geoServerPubService.getMapBox3857RasterWmsUrl(info.getId()));
}
}
return regionInfo;
} catch (ParamsException e) {
// 这里可以记录日志或者处理异常
throw new RuntimeException("Failed to get region info", e);
}
}
@Override
public List<String> getTifByRegion(String region) {
List<String> tifUrls = new ArrayList<>();
switch (region) {
case "南充":
tifUrls.add("url_to_beijing_tif");
break;
case "巴中":
tifUrls.add("url_to_shanghai_tif");
break;
case "广元":
tifUrls.add("url_to_guangzhou_tif");
break;
case "广安":
tifUrls.add("url_to_guangzhou_tif");
break;
case "达州":
tifUrls.add("url_to_guangzhou_tif");
break;
default:
// 如果输入的城市名称不在已知列表中可以返回一个空列表或者null
tifUrls = null;
break;
}
return tifUrls;
}
@Override
public List<String> getLayer() {
try{
List<String> layer = new ArrayList<>();
layer.add("城市三维模型");
layer.add("居民点");
return layer;
}catch (ParamsException e){
return null;
}
}
@Override
public List<String> getTifByLayer(String layer) {
List<String> tifUrls;
try {
tifUrls = new ArrayList<>();
switch (layer) {
case "城市三维模型":
tifUrls.add("http://111.42.18.66:8089/api/c3dserver/");
break;
case "居民点":
tifUrls.add("http://111.42.18.66:8089/api/c3dserver/");
break;
default:
// 如果输入的城市名称不在已知列表中可以返回一个空列表或者null
tifUrls = null;
break;
}
} catch (ParamsException e) {
return null;
}
return tifUrls;
}
@Override
public List<String> getElementInfo() {
try {
List<String> elementInfo = new ArrayList<>();
elementInfo.add("辐射最大值");
elementInfo.add("辐射最小值");
elementInfo.add("紫外线最大值");
elementInfo.add("紫外线最小值");
elementInfo.add("日辐射量");
return elementInfo;
}catch (ParamsException e){
return null;
}
}
@Override
public List<String> getValueByElement(String element) {
List retValue;
try {
retValue = new ArrayList<>();
switch (element) {
case "辐射最大值":
retValue.add(10);
break;
case "辐射最小值":
retValue.add(1);
break;
case "紫外线最大值":
retValue.add(20);
break;
case "紫外线最小值":
retValue.add(2);
break;
case "日辐射量":
retValue.add(5);
break;
default:
retValue = null;
break;
}
} catch (ParamsException e) {
return null;
}
return retValue;
}
@Override
public List<MonitorRet> getMonitorInfo() {
List<MonitorRet> monitorInfoList = new ArrayList<>();
try {
Map<String, String> monitorMap = new HashMap<>();
monitorMap.put("监测点1", "50");
monitorMap.put("监测点2", "45");
monitorMap.put("监测点3", "40");
monitorMap.put("监测点4", "35");
monitorMap.put("监测点5", "30");
monitorMap.put("监测点6", "25");
monitorMap.put("监测点7", "20");
monitorMap.put("监测点8", "15");
monitorMap.put("监测点9", "10");
monitorMap.put("监测点10", "5");
monitorInfoList.add(new MonitorRet("监测点1", 104.06, 30.67,"50")); // 成都
monitorInfoList.add(new MonitorRet("监测点2", 104.76, 31.46,"45")); // 绵阳
monitorInfoList.add(new MonitorRet("监测点3", 105.06, 30.87,"40")); // 德阳
monitorInfoList.add(new MonitorRet("监测点4", 105.36, 30.57,"35")); // 广元
monitorInfoList.add(new MonitorRet("监测点5", 106.06, 29.37,"30")); // 遂宁
monitorInfoList.add(new MonitorRet("监测点6", 106.76, 29.07,"25")); // 内江
monitorInfoList.add(new MonitorRet("监测点7", 107.06, 28.77,"20")); // 乐山
monitorInfoList.add(new MonitorRet("监测点8", 107.36, 28.47,"15")); // 眉山
monitorInfoList.add(new MonitorRet("监测点9", 107.66, 28.17,"10")); // 宜宾
monitorInfoList.add(new MonitorRet("监测点10", 107.96, 27.87,"5")); // 泸州
// 使用Collections.sort和自定义的Comparator进行排序
Collections.sort(monitorInfoList, new Comparator<MonitorRet>() {
@Override
public int compare(MonitorRet o1, MonitorRet o2) {
// 提取值并转换为整数
int value1 = Integer.parseInt(o1.getMonitorValue());
int value2 = Integer.parseInt(o2.getMonitorValue());
// 降序排序
return Integer.compare(value2, value1);
}
});
} catch (Exception e) {
e.printStackTrace();
return null;
}
return monitorInfoList;
}
/**
* Excel
*

@ -0,0 +1,22 @@
package com.cuit.solarenergy.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cuit.solarenergy.entity.TGeoserverinfo;
import com.cuit.solarenergy.service.TGeoserverinfoService;
import com.cuit.solarenergy.mapper.TGeoserverinfoMapper;
import org.springframework.stereotype.Service;
/**
* @author Administrator
* @description t_geoserverinfoService
* @createDate 2024-11-27 09:34:41
*/
@Service
public class TGeoserverinfoServiceImpl extends ServiceImpl<TGeoserverinfoMapper, TGeoserverinfo>
implements TGeoserverinfoService{
}

@ -0,0 +1,34 @@
<?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.cuit.solarenergy.mapper.TGeoserverinfoMapper">
<resultMap id="BaseResultMap" type="com.cuit.solarenergy.entity.TGeoserverinfo">
<id property="id" column="ID" jdbcType="BIGINT"/>
<result property="geoserverworkspaces" column="GeoServerWorkspaces" jdbcType="VARCHAR"/>
<result property="geoserverlayers" column="GeoServerLayers" jdbcType="VARCHAR"/>
<result property="geoserverstyles" column="GeoServerStyles" jdbcType="VARCHAR"/>
<result property="srs" column="Srs" jdbcType="VARCHAR"/>
<result property="bbox" column="bbox" jdbcType="VARCHAR"/>
<result property="latlonbbox" column="latlonbbox" jdbcType="VARCHAR"/>
<result property="url" column="url" jdbcType="VARCHAR"/>
<result property="createdate" column="createdate" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
ID,GeoServerWorkspaces,GeoServerLayers,
GeoServerStyles,Srs,bbox,
latlonbbox,url,createdate
</sql>
<select id="getRefionInfo" resultType="com.cuit.solarenergy.entity.TGeoserverinfo">
select
<include refid="Base_Column_List"/>
from t_geoserverinfo
<where>
<if test="region != null and region != ''">
GeoServerLayers like concat('%',#{region},'%')
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save