Commit 5d7ef7fd authored by 周健威's avatar 周健威

修改代码

parent 154279bb
......@@ -6,6 +6,7 @@ import com.upyuns.platform.rs.datacenter.entity.RscpAreaInfo;
import com.upyuns.platform.rs.datacenter.entity.RscpImageDataTotal;
import com.upyuns.platform.rs.datacenter.pojo.ImageDataVO;
import com.upyuns.platform.rs.datacenter.pojo.ImagePageFeginDTO;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.QueryDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -36,4 +37,7 @@ public interface DatacenterFeign {
@RequestMapping(value = "/web/gtdata/app/unauth/register", method = RequestMethod.GET)
public ObjectRestResponse<Map<String, String>> dataRegister(@RequestParam("id") Integer id);
@RequestMapping(value = "/web/gtdata/app/unauth/queryGeomsJsonFegin", method = RequestMethod.POST)
public String queryGeomsJsonFegin(@RequestBody QueryDTO dto);
}
package com.upyuns.platform.rs.datacenter.pojo.imagedata;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class QueryDTO {
public static final int TYPE_AREA = 1;
public static final int TYPE_GEOM = 2;
public static final int TYPE_SHP = 3;
String shpKey;
Integer type;
String startDate;
String endDate;
BigDecimal resolution;
String startDateTime;
String endDateTime;
String geom;
List<String> geoms;
String areaNo;
String provinceNo;
List<SatelliteDTO> saSensor;
BigDecimal cloud;
public void setStartDate(String startDate) {
this.startDate = startDate;
if(StrUtil.isNotBlank(startDate)) {
this.startDateTime = DateUtil.beginOfDay(DateUtil.parseDate(startDate)).toString();
}
}
public void setEndDate(String endDate) {
this.endDate = endDate;
if(StrUtil.isNotBlank(endDate)) {
this.endDateTime = DateUtil.endOfDay(DateUtil.parseDate(endDate)).toString();
}
}
public void setAreaNo(String areaNo) {
this.areaNo = areaNo;
if(StrUtil.isNotBlank(areaNo)) {
if(!areaNo.substring(2, 6).equals("0000")){
provinceNo = areaNo.substring(0, 2)+ "0000";
}
}
}
@Data
static public class SatelliteDTO {
String satellite;
List<String> sensors = CollUtil.newArrayList();
}
}
\ No newline at end of file
......@@ -13,6 +13,7 @@ import com.upyuns.platform.rs.datacenter.mapper.RscpAreaImageTotalMapper;
import com.upyuns.platform.rs.datacenter.mapper.RscpAreaInfoMapper;
import com.upyuns.platform.rs.datacenter.mapper.RscpImageDataTotalMapper;
import com.upyuns.platform.rs.datacenter.pojo.ImageTotalInputDTO;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.QueryDTO;
import com.upyuns.platform.rs.datacenter.rest.RscpImageDataTotalController;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
......@@ -38,7 +39,7 @@ public class RscpAreaImageTotalBiz extends BaseBiz<RscpAreaImageTotalMapper, Rsc
@Autowired
RscpImageDataTotalBiz rscpImageDataTotalBiz;
public List<RscpAreaImageTotal> queryDataList(RscpImageDataTotalController.QueryDTO dto) {
public List<RscpAreaImageTotal> queryDataList(QueryDTO dto) {
return mapper.queryDataList(dto);
}
......
......@@ -15,12 +15,14 @@ import com.upyuns.platform.rs.datacenter.mapper.RscpAreaInfoMapper;
import com.upyuns.platform.rs.datacenter.mapper.RscpImageDataTotalMapper;
import com.upyuns.platform.rs.datacenter.pojo.ImageTotalInputDTO;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.BgImageQueryDTO;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.QueryDTO;
import com.upyuns.platform.rs.datacenter.rest.RscpImageDataTotalController;
import com.upyuns.platform.rs.datacenter.vo.ImageInputVO;
import com.upyuns.platform.rs.datacenter.vo.MaxMinVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
......@@ -113,7 +115,7 @@ public class RscpImageDataTotalBiz extends BaseBiz<RscpImageDataTotalMapper, Rsc
});
}
public List<RscpImageDataTotal> queryDataList(RscpImageDataTotalController.QueryDTO dto) {
public List<RscpImageDataTotal> queryDataList(QueryDTO dto) {
return mapper.queryDataList(dto);
}
......@@ -131,7 +133,7 @@ public class RscpImageDataTotalBiz extends BaseBiz<RscpImageDataTotalMapper, Rsc
throw new BaseException("数据不存在", PARAM_ILLEGAL_CODE);
}
public List<RscpAreaImageTotal> queryDataAreaList(RscpImageDataTotalController.QueryDTO dto) {
public List<RscpAreaImageTotal> queryDataAreaList(QueryDTO dto) {
List<RscpImageDataTotal> list = mapper.queryDataList(dto);
List<RscpAreaImageTotal> list2 = CollUtil.newArrayList();
if(CollUtil.isNotEmpty(list)) {
......@@ -168,4 +170,8 @@ public class RscpImageDataTotalBiz extends BaseBiz<RscpImageDataTotalMapper, Rsc
// dto.setRange(getBinNameByGId(dto));
List<RscpAreaInfo> imageAreaInfoList = rscpAreaInfoMapper.getIntersectAreaInfo(dto.getLeftTopLon(), dto.getLeftTopLat(), dto.getLeftBottomLon(), dto.getLeftBottomLat(), dto.getRightBottomLon(), dto.getRightBottomLat(), dto.getRightTopLon(), dto.getRightTopLat());
}
public String queryGeomsJson(QueryDTO dto){
return mapper.queryGeomsJson(dto);
}
}
......@@ -2,6 +2,7 @@ package com.upyuns.platform.rs.datacenter.mapper;
import com.upyuns.platform.rs.datacenter.entity.RscpAreaImageTotal;
import com.upyuns.platform.rs.datacenter.entity.RscpImageDataTotal;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.QueryDTO;
import com.upyuns.platform.rs.datacenter.rest.RscpImageDataTotalController;
import org.apache.ibatis.annotations.Update;
import tk.mybatis.mapper.common.Mapper;
......@@ -10,7 +11,7 @@ import java.math.BigDecimal;
import java.util.List;
public interface RscpAreaImageTotalMapper extends Mapper<RscpAreaImageTotal> {
public List<RscpAreaImageTotal> queryDataList(RscpImageDataTotalController.QueryDTO dto);
public List<RscpAreaImageTotal> queryDataList(QueryDTO dto);
@Update("update rscp_area_image_total set range = st_GeomFromText('MULTIPOLYGON(((${leftTopLon} ${leftTopLat} ,${leftBottomLon} ${leftBottomLat} , ${rightBottomLon} ${rightBottomLat} ,${rightTopLon} ${rightTopLat}, ${leftTopLon} ${leftTopLat})))',4326) where id = #{id}")
Integer updateGeom(BigDecimal leftTopLon, BigDecimal leftTopLat, BigDecimal leftBottomLon, BigDecimal leftBottomLat, BigDecimal rightBottomLon, BigDecimal rightBottomLat, BigDecimal rightTopLon, BigDecimal rightTopLat, String id);
......
......@@ -3,6 +3,7 @@ package com.upyuns.platform.rs.datacenter.mapper;
import com.upyuns.platform.rs.datacenter.entity.RscpAreaInfo;
import com.upyuns.platform.rs.datacenter.entity.RscpImageDataTotal;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.BgImageQueryDTO;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.QueryDTO;
import com.upyuns.platform.rs.datacenter.rest.RscpImageDataTotalController;
import com.upyuns.platform.rs.datacenter.vo.MaxMinVO;
import lombok.Data;
......@@ -18,11 +19,12 @@ import java.util.Set;
public interface RscpImageDataTotalMapper extends Mapper<RscpImageDataTotal> {
public List<RscpImageDataTotal> queryDataList(RscpImageDataTotalController.QueryDTO dto);
public List<RscpImageDataTotal> queryDataList(QueryDTO dto);
public List<RscpImageDataTotal> bgQueryDataList(BgImageQueryDTO dto);
public List<RscpImageDataTotal> queryDataById(@Param("id")Long id );
public String queryGeomsJson(QueryDTO dto);
// //左上角经度
// private BigDecimal leftTopLon;
......
......@@ -27,6 +27,7 @@ import com.upyuns.platform.rs.datacenter.mapper.RscpAreaInfoMapper;
import com.upyuns.platform.rs.datacenter.pojo.ImageDataVO;
import com.upyuns.platform.rs.datacenter.pojo.ImagePageFeginDTO;
import com.upyuns.platform.rs.datacenter.pojo.ImageTotalInputDTO;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.QueryDTO;
import com.upyuns.platform.rs.datacenter.utils.ShpToGeojson;
import com.upyuns.platform.rs.datacenter.vo.ImageInputVO;
import com.upyuns.platform.rs.gtdata.GtDataRestClient;
......@@ -130,6 +131,18 @@ public class RscpImageDataTotalController extends BaseController<RscpImageDataTo
}
}
@RequestMapping(value = "/app/unauth/queryGeomsJsonFegin", method = RequestMethod.POST)
@IgnoreUserToken
public String queryGeomsJsonFegin(@RequestBody QueryDTO dto){
String redisStr = redisTemplate.opsForValue().get(dto.getShpKey()).toString();
ShpDTO shpDTO = JSONUtil.toBean(redisStr, ShpDTO.class);
if(CollUtil.isNotEmpty(shpDTO.getFeatures())) {
dto.setGeoms(shpDTO.getFeatures());
return baseBiz.queryGeomsJson(dto);
}
return null;
}
@Data
public static class ShpDTO {
List<String> features;
......@@ -179,55 +192,6 @@ public class RscpImageDataTotalController extends BaseController<RscpImageDataTo
);
}
@Data
static public class QueryDTO {
public static final int TYPE_AREA = 1;
public static final int TYPE_GEOM = 2;
public static final int TYPE_SHP = 3;
String shpKey;
Integer type;
String startDate;
String endDate;
BigDecimal resolution;
String startDateTime;
String endDateTime;
String geom;
List<String> geoms;
String areaNo;
String provinceNo;
List<satelliteDTO> saSensor;
BigDecimal cloud;
public void setStartDate(String startDate) {
this.startDate = startDate;
if(StrUtil.isNotBlank(startDate)) {
this.startDateTime = DateUtil.beginOfDay(DateUtil.parseDate(startDate)).toString();
}
}
public void setEndDate(String endDate) {
this.endDate = endDate;
if(StrUtil.isNotBlank(endDate)) {
this.endDateTime = DateUtil.endOfDay(DateUtil.parseDate(endDate)).toString();
}
}
public void setAreaNo(String areaNo) {
this.areaNo = areaNo;
if(StrUtil.isNotBlank(areaNo)) {
if(!areaNo.substring(2, 6).equals("0000")){
provinceNo = areaNo.substring(0, 2)+ "0000";
}
}
}
}
@Data
static public class satelliteDTO {
String satellite;
List<String> sensors = CollUtil.newArrayList();
}
public static void main(String[] args) {
String str = StrUtil.sub("UPDATE rscp_image_data_total SET name = '20200914_044205_SN8_L1_Changji-China',range = '0106000020E6100000010000000103000000010000000500000067DB7B39E40246409EF388EF35D1554067DB7B39E4024640F471672F30D5554083ABCD721BFD4540F471672F30D5554083ABCD721BFD45409EF388EF35D1554067DB7B39E40246409EF388EF35D15540',thumbnail_path = '/rscloudmart/thumbnail/data/sateLLogic/20200914/20200914_044205_SN8_L1_Changji-China',image_resolution = [1, 1],image_spectrum_type = [{QS, DGP}],image_spectrum_type_display = [{全色, 多光谱}],image_file_path = '/rscloudmart/data/sateLLogic/20200914/20200914_044205_SN8_L1_Changji-China//20200914_044205_SN8_L1_Changji-China.zip',image_projection = ?,image_satellite_type = ?,image_satellite_type_display = ?,image_take_time = ?,image_cloudage = ?,image_sensor_type = ?,files = ?,image_sensor_id = ?,image_scene_id = ?,image_product_format = ?,image_product_time = ?,image_start_time = ?,image_end_time = ?,image_center_time = ?,image_width_in_pixels = ?,image_height_in_pixels = ? WHERE id = ?", 569, 589);
System.out.println(str);
......
......@@ -127,6 +127,15 @@
where id = #{id}
</select>
<select id="queryGeomsJson" resultType="String">
select st_union(item_geom) geoms_input
from
<foreach collection="geoms" index="geomsIndex" item="geomsItem" open="(" close=")" separator=" UNION ALL ">
select geojsontowkt(#{geomsItem}, 'true') item_geom
</foreach>
as item_temp
</select>
<sql id="geomSelectSql" >
from rscp_image_data_total
<if test="geom != null">
......
......@@ -101,7 +101,8 @@
)
(
select temp.unrange, #{type}, #{name}, cast(((cover_acreage/region_acreage) * 100) as numeric(5,2)), #{dateYear}, #{dateMonth}, #{crtTime}, #{updTime}, #{areaCode}, #{areaName},
cover_acreage, region_acreage, #{imageNum}, ST_SimplifyPreserveTopology(temp.unrange,0.05)
cover_acreage, region_acreage, #{imageNum}
<!-- , ST_SimplifyPreserveTopology(temp.unrange,0.05)-->
from
......
......@@ -12,6 +12,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.upyuns.platform.rs.datacenter.fegin.DatacenterFeign;
import com.upyuns.platform.rs.datacenter.pojo.imagedata.QueryDTO;
import com.upyuns.platform.rs.website.biz.CustomFormBiz;
import com.upyuns.platform.rs.website.dto.custom.CustomQueryDTO;
import com.upyuns.platform.rs.website.entity.CustomForm;
......@@ -75,7 +76,16 @@ public class CustomFormWebController extends BaseController<CustomFormBiz,Custom
}
@RequestMapping(value = "customImageData",method = RequestMethod.POST)
public ObjectRestResponse customImageData(@RequestBody CustomForm entity) {
public ObjectRestResponse customImageData(@RequestBody CustomFormDTO entity) {
if(StrUtil.isNotBlank(entity.getShpKey())) {
String geoms = datacenterFegin.queryGeomsJsonFegin(new QueryDTO(){{
setShpKey(entity.getShpKey());
}});
if(null == geoms) {
throw new BaseException("请重新上传shp文件", ResultCode.FAILED_CODE);
}
entity.setGeojson(geoms);
}
if(StrUtil.isNotBlank(entity.getProvinceCode())) {
entity.setProvinceName(datacenterFegin.queryByCode(entity.getProvinceCode()).getData().getName());
}
......@@ -91,6 +101,11 @@ public class CustomFormWebController extends BaseController<CustomFormBiz,Custom
return ObjectRestResponse.succ();
}
@Data
static public class CustomFormDTO extends CustomForm {
String shpKey;
}
@RequestMapping(value = "myCustoms",method = RequestMethod.GET)
public ObjectRestResponse<PageDataVO<CustomForm>> myCustoms(CustomQueryDTO dto) {
return ObjectRestResponse.succ(PageDataVO.pageInfo(dto.initQuery(), () -> baseBiz.selectByWeekend(w -> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment