diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java index 61e3709..cc25f5f 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/RemoteSensingSourceData.java @@ -3,10 +3,12 @@ package com.kening.vordm.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.kening.vordm.vo.productResolutionVo; import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * 遥感影像源数据 @@ -154,7 +156,40 @@ public class RemoteSensingSourceData implements Serializable { */ 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 satelliteCodeListNew; + + + /** + * 卫星类型集合 + */ + @TableField(exist = false) + private List productResolutionVos; + + @TableField(exist = false) private static final long serialVersionUID = 1L; + } diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/productResolutionVo.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/productResolutionVo.java new file mode 100644 index 0000000..893bb60 --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/productResolutionVo.java @@ -0,0 +1,12 @@ +package com.kening.vordm.vo; + +import lombok.Data; + +@Data +public class productResolutionVo { + + private Double productResolutionMin; + + + private Double productResolutionMax; +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java index bd69049..e8bbf53 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/RemoteSensingSourceDataController.java @@ -1,10 +1,9 @@ package com.kening.vordm.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.kening.vordm.entity.DisasterInfo; -import com.kening.vordm.entity.EntityData; -import com.kening.vordm.entity.RemoteSensingSourceData; +import com.kening.vordm.entity.*; import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.RemoteSensingSourceDataService; 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.tool.api.R; import org.springblade.core.tool.utils.DateUtil; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; @RestController @AllArgsConstructor @@ -45,23 +43,27 @@ public class RemoteSensingSourceDataController { /** * 实体数据列表信息 - * @param remoteSensingSourceData 实体数据条件信息 + * @param optionsJson 实体数据条件信息 * @param query current当前页 size 每页数据量 * @return */ @GetMapping("/Condition") - public R> getRemoteSensingSourceDataByCondition(RemoteSensingSourceData remoteSensingSourceData, Query query) { + public R> 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)); } -// /** -// * 根据页码和灾害信息查出遥感影像源数据,可多个灾害 -// * @param remoteSensingSourceData -// * @param query -// * @return -// */ -// @GetMapping("/Condition1") -// public R> getRemoteSensingSourceDataByCondition(RemoteSensingSourceData remoteSensingSourceData, Query query){ -// return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),Condition.getQueryWrapper(remoteSensingSourceData))); -// } + /** + * 实体数据列表信息 + * @param params + * @param query + * @return + */ + @GetMapping("/PagesData") + public R> Pages(@RequestParam Map params, Query query){ + return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),Condition.getQueryWrapper(params,RemoteSensingSourceData.class))); + } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java index a899ac1..caeae21 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.java @@ -21,5 +21,4 @@ public interface RemoteSensingSourceDataMapper extends BaseMapper getRemoteSensingSourceData(@Param("disasterType") String disasterType,@Param("disasterCountry") String disasterCountry,@Param("disasterTime") String disasterTime); IPage getRemoteSensingSourceDataByCondition(@Param("remoteSensingSourceData") RemoteSensingSourceData remoteSensingSourceData, IPage page); - } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml index c09eb88..4a25900 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/RemoteSensingSourceDataMapper.xml @@ -71,11 +71,17 @@ r.disaster_id = #{remoteSensingSourceData.disasterId} - - and r.product_resolution = #{remoteSensingSourceData.productResolution} + + and r.product_resolution >= #{remoteSensingSourceData.productResolutionMin} and r.product_resolution < #{remoteSensingSourceData.productResolutionMax} - - and r.satellite_code = #{remoteSensingSourceData.satelliteCode} + + and r.product_resolution > #{remoteSensingSourceData.productResolutionMin} + + + and r.satellite_code in + #{AList} + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java index 701666d..878883e 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/RemoteSensingSourceDataServiceImpl.java @@ -1,15 +1,19 @@ package com.kening.vordm.service.impl; 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.kening.vordm.entity.EntityData; import com.kening.vordm.entity.RemoteSensingSourceData; import com.kening.vordm.mapper.RemoteSensingSourceDataMapper; import com.kening.vordm.service.RemoteSensingSourceDataService; -import com.kening.vordm.vo.GroupByUse; +import com.kening.vordm.vo.productResolutionVo; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Objects; +import java.util.concurrent.atomic.AtomicReference; /** * @author G1393 @@ -27,6 +31,35 @@ implements RemoteSensingSourceDataService { @Override public IPage getRemoteSensingSourceDataByCondition(IPage page, RemoteSensingSourceData remoteSensingSourceData) { - return this.baseMapper.getRemoteSensingSourceDataByCondition(remoteSensingSourceData, page); + List productResolutionVos = remoteSensingSourceData.getProductResolutionVos(); + String satelliteCodeList = remoteSensingSourceData.getSatelliteCodeList(); + List result = new ArrayList<>(); + if (satelliteCodeList!=null) { + result = Arrays.asList(satelliteCodeList.split(",")); + remoteSensingSourceData.setSatelliteCodeListNew(result); + } + IPage remoteSensingSourceDataByCondition = new Page<>(); + + if (productResolutionVos != null && !productResolutionVos.isEmpty()){ + List 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 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; } }