From 392831be1e2839045d7e69345671b8326367cf05 Mon Sep 17 00:00:00 2001 From: zxh <599622719@qq.com> Date: Wed, 5 Apr 2023 17:42:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=A5=E6=84=9F=E5=BD=B1=E5=83=8F=E8=81=94?= =?UTF-8?q?=E5=8A=A8=EF=BC=8C=E4=BB=A5=E5=8F=8A=E6=95=B0=E6=8D=AE=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/kening/vordm/vo/groupByUse.java | 22 ++++++++++ .../controller/DisasterInfoController.java | 44 ++++++------------- .../RemoteSensingSourceDataController.java | 25 +++++++++-- .../vordm/mapper/DisasterInfoMapper.xml | 13 +++--- .../vordm/service/DisasterInfoService.java | 7 +++ .../service/impl/DisasterInfoServiceImpl.java | 27 ++++++++++++ 6 files changed, 99 insertions(+), 39 deletions(-) create mode 100644 kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/groupByUse.java diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/groupByUse.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/groupByUse.java new file mode 100644 index 0000000..1ba8bc3 --- /dev/null +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/vo/groupByUse.java @@ -0,0 +1,22 @@ +package com.kening.vordm.vo; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import javax.swing.*; + +@Data +@Getter +@Setter +public class groupByUse { + /** + * 名称 + */ + private String name; + + /** + * 数量 + */ + private String count; +} diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java index 6e25b98..add0dd3 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/DisasterInfoController.java @@ -26,44 +26,27 @@ public class DisasterInfoController { private final DisasterInfoService disasterInfoService; private final NewsService newsService; + /** - * 查询条件封装 + * 灾害查询条件,时间,类型,灾害联动 * @param disasterInfo * @return */ @GetMapping("/select-condition") - public List getCountryOrTypeOrTime(DisasterInfo disasterInfo){ - QueryWrapper qw = new QueryWrapper<>(); - if (disasterInfo.getDisasterType()!=null){ - qw.like("disaster_type",disasterInfo.getDisasterType()); - } - if (disasterInfo.getDisasterCountry()!=null){ - qw.like("disaster_country",disasterInfo.getDisasterCountry()); - } + public R> getSelectCondition(DisasterInfo disasterInfo){ + String disaster_time=null; if (disasterInfo.getDisasterTime()!=null){ - qw.like("disaster_time",disasterInfo.getDisasterTime()); + disaster_time=disasterInfo.getDisasterTime().toString(); } - List disasterInfos = disasterInfoService.list(qw); - return disasterInfos; - } - /** - * 灾害id - * @param disasterInfo - * @return - */ - public List getDisasterIds(DisasterInfo disasterInfo){ - List disasterInfos = getCountryOrTypeOrTime(disasterInfo); -// List disasterInfos = disasterInfoService.list(Condition.getQueryWrapper(disasterInfo)); - if (!disasterInfos.isEmpty()){ - List ids = new ArrayList<>(); - disasterInfos.stream().forEach(disasterInfo1 -> { - ids.add(disasterInfo1.getId()); - }); - return ids; - } - return null; + return R.data(disasterInfoService.getConditionData(disasterInfo.getDisasterType(),disasterInfo.getDisasterCountry(),disaster_time,disasterInfo.getName() + )); } + + /** + * 测试 + * @return + */ @GetMapping("/getAllData") public R> getalldata(){ return R.data(disasterInfoService.getAllData()); @@ -74,9 +57,10 @@ public class DisasterInfoController { * @param disasterInfo * @return */ + @GetMapping("/test") public R> getdata(Query query, DisasterInfo disasterInfo){ - List disasterIds = getDisasterIds(disasterInfo); + List disasterIds = disasterInfoService.getDisasterId(disasterInfo); return R.data(newsService.page(Condition.getPage(query),new QueryWrapper().in("disaster_id",disasterIds))); } } 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 ff0448c..dd7c280 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,5 +1,13 @@ package com.kening.vordm.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.kening.vordm.entity.News; +import com.kening.vordm.service.DisasterInfoService; +import javafx.beans.binding.LongExpression; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.RemoteSensingSourceData; import com.kening.vordm.service.RemoteSensingSourceDataService; import io.swagger.models.auth.In; @@ -7,18 +15,29 @@ import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @AllArgsConstructor +@RequestMapping("/remoteSensing") public class RemoteSensingSourceDataController { private RemoteSensingSourceDataService remoteSensingSourceDataService; + private DisasterInfoService disasterInfoService; - @GetMapping("/remoteSensingSourceData") - public R> getRemoteSensingSourceData(String disasterType, String disasterCountry, String disasterTime){ - return R.data(remoteSensingSourceDataService.getRemoteSensingSourceData(disasterType, disasterCountry, disasterTime)); + /** + * 根据页码和灾害信息查出遥感影像源数据,可多个灾害 + * @param disasterInfo + * @param query + * @return + */ + @GetMapping("/SourceData") + public R> getRemoteSensingSourceData(DisasterInfo disasterInfo, Query query){ + List disasterIds=disasterInfoService.getDisasterId(disasterInfo); + return R.data(remoteSensingSourceDataService.page(Condition.getPage(query),new QueryWrapper().in("disaster_id",disasterIds))); } + } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml index b85ee0d..dd8d44e 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/DisasterInfoMapper.xml @@ -36,14 +36,15 @@ select * from new_vordm.disaster_info - + select distinct ${name} as name from disaster_info - where + where + disaster_type=#{disaster_type} - and - disaster_country=#{disaster_country} + and + disaster_country like concat('%',#{disaster_country},'%') and - disaster_time like #{disaster_time} + disaster_time like concat('%',#{disaster_time},'%') diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java index 9a85f9e..cc919fa 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/DisasterInfoService.java @@ -14,6 +14,13 @@ import java.util.List; public interface DisasterInfoService extends IService { List getAllData(); + List getConditionData(String type,String country,String time,String name); // Long getDisasterId(DisasterInfo disasterInfo); + /** + * 根据灾害信息获取灾害id + * @param disasterInfo + * @return + */ + List getDisasterId(DisasterInfo disasterInfo); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java index 393052a..4c54a29 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/DisasterInfoServiceImpl.java @@ -9,6 +9,7 @@ import lombok.RequiredArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -28,7 +29,33 @@ implements DisasterInfoService { public List getAllData(){ return this.baseMapper.getHomeDisasterInfo(); } + public List getConditionData(String type,String country,String time,String name){ + List disasterInfos=this.baseMapper.getSelectCondition(type,country,time,name); + return disasterInfos; + } + public List getDisasterId(DisasterInfo disasterInfo){ + QueryWrapper qw = new QueryWrapper<>(); + if (disasterInfo.getDisasterType()!=null){ + qw.like("disaster_type",disasterInfo.getDisasterType()); + } + if (disasterInfo.getDisasterCountry()!=null){ + qw.like("disaster_country",disasterInfo.getDisasterCountry()); + } + if (disasterInfo.getDisasterTime()!=null){ + qw.like("disaster_time",disasterInfo.getDisasterTime()); + } + List disasterInfos = this.baseMapper.selectList(qw); +// List disasterInfos = disasterInfoService.list(Condition.getQueryWrapper(disasterInfo)); + if (!disasterInfos.isEmpty()){ + List ids = new ArrayList<>(); + disasterInfos.stream().forEach(disasterInfo1 -> { + ids.add(disasterInfo1.getId()); + }); + return ids; + } + return null; + } // public Long getDisasterId(DisasterInfo disasterInfo){ // QueryWrapper qw=new QueryWrapper<>(disasterInfo); // Long va=;