zqq:遥感影像接口

This commit is contained in:
qqGroup0 2023-04-15 16:32:04 +08:00
parent 6b3056fd08
commit bf2b77b657
6 changed files with 113 additions and 26 deletions

View File

@ -3,10 +3,12 @@ package com.kening.vordm.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.kening.vordm.vo.productResolutionVo;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 遥感影像源数据 * 遥感影像源数据
@ -154,7 +156,40 @@ public class RemoteSensingSourceData implements Serializable {
*/ */
private String sourceOrganization; private String sourceOrganization;
/**
* 分辨率集合最大值
*/
@TableField(exist = false)
private Double productResolutionMax;
/**
* 分辨率集合最小值
*/
@TableField(exist = false)
private Double productResolutionMin;
/**
* 卫星类型集合
*/
@TableField(exist = false)
private String satelliteCodeList;
/**
* 卫星类型集合
*/
@TableField(exist = false)
private List<String> satelliteCodeListNew;
/**
* 卫星类型集合
*/
@TableField(exist = false)
private List<productResolutionVo> productResolutionVos;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@ -0,0 +1,12 @@
package com.kening.vordm.vo;
import lombok.Data;
@Data
public class productResolutionVo {
private Double productResolutionMin;
private Double productResolutionMax;
}

View File

@ -1,10 +1,9 @@
package com.kening.vordm.controller; package com.kening.vordm.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.*;
import com.kening.vordm.entity.EntityData;
import com.kening.vordm.entity.RemoteSensingSourceData;
import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.DisasterInfoService;
import com.kening.vordm.service.RemoteSensingSourceDataService; import com.kening.vordm.service.RemoteSensingSourceDataService;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
@ -13,11 +12,10 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Map;
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor
@ -45,23 +43,27 @@ public class RemoteSensingSourceDataController {
/** /**
* 实体数据列表信息 * 实体数据列表信息
* @param remoteSensingSourceData 实体数据条件信息 * @param optionsJson 实体数据条件信息
* @param query current当前页 size 每页数据量 * @param query current当前页 size 每页数据量
* @return * @return
*/ */
@GetMapping("/Condition") @GetMapping("/Condition")
public R<IPage<RemoteSensingSourceData>> getRemoteSensingSourceDataByCondition(RemoteSensingSourceData remoteSensingSourceData, Query query) { public R<IPage<RemoteSensingSourceData>> getRemoteSensingSourceDataByCondition( String optionsJson, Query query) {
RemoteSensingSourceData remoteSensingSourceData = new RemoteSensingSourceData();
if (optionsJson!=null){
remoteSensingSourceData = (RemoteSensingSourceData)JSON.parseObject(optionsJson, RemoteSensingSourceData.class);
}
return R.data(remoteSensingSourceDataService.getRemoteSensingSourceDataByCondition(Condition.getPage(query), remoteSensingSourceData)); return R.data(remoteSensingSourceDataService.getRemoteSensingSourceDataByCondition(Condition.getPage(query), remoteSensingSourceData));
} }
// /** /**
// * 根据页码和灾害信息查出遥感影像源数据可多个灾害 * 实体数据列表信息
// * @param remoteSensingSourceData * @param params
// * @param query * @param query
// * @return * @return
// */ */
// @GetMapping("/Condition1") @GetMapping("/PagesData")
// public R<IPage<RemoteSensingSourceData>> getRemoteSensingSourceDataByCondition(RemoteSensingSourceData remoteSensingSourceData, Query query){ public R<IPage<RemoteSensingSourceData>> Pages(@RequestParam Map<String,Object> params, Query query){
// return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),Condition.getQueryWrapper(remoteSensingSourceData))); return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),Condition.getQueryWrapper(params,RemoteSensingSourceData.class)));
// } }
} }

View File

@ -21,5 +21,4 @@ public interface RemoteSensingSourceDataMapper extends BaseMapper<RemoteSensingS
List<RemoteSensingSourceData> getRemoteSensingSourceData(@Param("disasterType") String disasterType,@Param("disasterCountry") String disasterCountry,@Param("disasterTime") String disasterTime); List<RemoteSensingSourceData> getRemoteSensingSourceData(@Param("disasterType") String disasterType,@Param("disasterCountry") String disasterCountry,@Param("disasterTime") String disasterTime);
IPage<RemoteSensingSourceData> getRemoteSensingSourceDataByCondition(@Param("remoteSensingSourceData") RemoteSensingSourceData remoteSensingSourceData, IPage<Object> page); IPage<RemoteSensingSourceData> getRemoteSensingSourceDataByCondition(@Param("remoteSensingSourceData") RemoteSensingSourceData remoteSensingSourceData, IPage<Object> page);
} }

View File

@ -71,11 +71,17 @@
<if test="remoteSensingSourceData.disasterId != null and remoteSensingSourceData.disasterId != ''"> <if test="remoteSensingSourceData.disasterId != null and remoteSensingSourceData.disasterId != ''">
r.disaster_id = #{remoteSensingSourceData.disasterId} r.disaster_id = #{remoteSensingSourceData.disasterId}
</if> </if>
<if test="remoteSensingSourceData.productResolution != null and remoteSensingSourceData.productResolution != ''"> <if test="remoteSensingSourceData.productResolutionMax != null and remoteSensingSourceData.productResolutionMin != null">
and r.product_resolution = #{remoteSensingSourceData.productResolution} and r.product_resolution &gt;= #{remoteSensingSourceData.productResolutionMin} and r.product_resolution &lt; #{remoteSensingSourceData.productResolutionMax}
</if> </if>
<if test="remoteSensingSourceData.satelliteCode != null and remoteSensingSourceData.satelliteCode != ''"> <if test="remoteSensingSourceData.productResolutionMax == null and remoteSensingSourceData.productResolutionMin != null">
and r.satellite_code = #{remoteSensingSourceData.satelliteCode} and r.product_resolution &gt; #{remoteSensingSourceData.productResolutionMin}
</if>
<if test="remoteSensingSourceData.satelliteCodeListNew != null and remoteSensingSourceData.satelliteCodeListNew != '' and remoteSensingSourceData.satelliteCodeListNew.size() != 0">
and r.satellite_code in
<foreach item="AList" index="index" collection="remoteSensingSourceData.satelliteCodeListNew"
open="(" separator="," close=")">#{AList}
</foreach>
</if> </if>
</where> </where>
</select> </select>

View File

@ -1,15 +1,19 @@
package com.kening.vordm.service.impl; package com.kening.vordm.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.EntityData;
import com.kening.vordm.entity.RemoteSensingSourceData; import com.kening.vordm.entity.RemoteSensingSourceData;
import com.kening.vordm.mapper.RemoteSensingSourceDataMapper; import com.kening.vordm.mapper.RemoteSensingSourceDataMapper;
import com.kening.vordm.service.RemoteSensingSourceDataService; import com.kening.vordm.service.RemoteSensingSourceDataService;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.productResolutionVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
/** /**
* @author G1393 * @author G1393
@ -27,6 +31,35 @@ implements RemoteSensingSourceDataService {
@Override @Override
public IPage<RemoteSensingSourceData> getRemoteSensingSourceDataByCondition(IPage<Object> page, RemoteSensingSourceData remoteSensingSourceData) { public IPage<RemoteSensingSourceData> getRemoteSensingSourceDataByCondition(IPage<Object> page, RemoteSensingSourceData remoteSensingSourceData) {
return this.baseMapper.getRemoteSensingSourceDataByCondition(remoteSensingSourceData, page); List<productResolutionVo> productResolutionVos = remoteSensingSourceData.getProductResolutionVos();
String satelliteCodeList = remoteSensingSourceData.getSatelliteCodeList();
List<String> result = new ArrayList<>();
if (satelliteCodeList!=null) {
result = Arrays.asList(satelliteCodeList.split(","));
remoteSensingSourceData.setSatelliteCodeListNew(result);
}
IPage<RemoteSensingSourceData> remoteSensingSourceDataByCondition = new Page<>();
if (productResolutionVos != null && !productResolutionVos.isEmpty()){
List<RemoteSensingSourceData> remoteSensingSourceData1 = new ArrayList<>();
productResolutionVos.stream().forEach(productResolutionVo -> {
if (Objects.equals(productResolutionVo.getProductResolutionMax(), new Double("1000"))){
remoteSensingSourceData.setProductResolutionMax(null);
remoteSensingSourceData.setProductResolutionMin(productResolutionVo.getProductResolutionMin());
}else {
remoteSensingSourceData.setProductResolutionMin(productResolutionVo.getProductResolutionMin());
remoteSensingSourceData.setProductResolutionMax(productResolutionVo.getProductResolutionMax());
}
IPage<RemoteSensingSourceData> remoteSensingSourceDataByConditionNew = this.baseMapper.getRemoteSensingSourceDataByCondition(remoteSensingSourceData, page);
remoteSensingSourceData1.addAll(remoteSensingSourceDataByConditionNew.getRecords());
});
remoteSensingSourceDataByCondition.setRecords(remoteSensingSourceData1);
remoteSensingSourceDataByCondition.setTotal(remoteSensingSourceData1.size());
}else {
remoteSensingSourceDataByCondition = this.baseMapper.getRemoteSensingSourceDataByCondition(remoteSensingSourceData, page);
}
return remoteSensingSourceDataByCondition;
} }
} }