From 3832d2d5479e5983ccab1c132d6119252b44d64d Mon Sep 17 00:00:00 2001 From: glj Date: Fri, 17 Nov 2023 17:18:28 +0800 Subject: [PATCH] =?UTF-8?q?glj-=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kening/vordm/entity/EntityData.java | 12 +++++++ .../vordm/entity/RemoteSensingSourceData.java | 1 + .../controller/EntityDataController.java | 10 ++++++ .../kening/vordm/mapper/EntityDataMapper.java | 2 ++ .../kening/vordm/mapper/EntityDataMapper.xml | 13 ++++++++ .../vordm/service/EntityDataService.java | 2 ++ .../service/impl/EntityDataServiceImpl.java | 32 ++++++++++++++++--- 7 files changed, 68 insertions(+), 4 deletions(-) diff --git a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java index 1719c3e..e6b9abc 100644 --- a/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java +++ b/kn-service-api/biz-vordm-api/src/main/java/com/kening/vordm/entity/EntityData.java @@ -142,6 +142,18 @@ public class EntityData implements Serializable { @TableField(exist = false) private String geometry; + /** + * 受灾地区 + */ + @TableField(exist = false) + private String disasterCountry; + + /** + * 受灾类型 + */ + @TableField(exist = false) + private String disasterType; + @TableField(exist = false) private static final long serialVersionUID = 1L; 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 2fb014a..e65aef9 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 @@ -232,6 +232,7 @@ public class RemoteSensingSourceData implements Serializable { //结束时间 @TableField(exist = false) private String endTime; + //标志灾前灾后字段 0-灾前,1-灾后 @TableField(exist = false) private Integer beforeOrAfter =1; diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java index 3b16e76..5865b38 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/controller/EntityDataController.java @@ -82,5 +82,15 @@ public class EntityDataController { public R getStatisticsByUserId(Long id, String year) { return R.data(entityDataService.getStatisticsByUserId(id, year)); } + + /** + * 饼状图统计 + * @param id + * @return + */ + @GetMapping("/getStatisticsByUserIdPancake") + public R getStatisticsByUserIdPancake(Long id) { + return R.data(entityDataService.getStatisticsByUserIdPancake(id)); + } } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java index 22be465..e4d7723 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.java @@ -25,4 +25,6 @@ public interface EntityDataMapper extends BaseMapper { List getEntityDataSourceOrganization(@Param("disasterId") Long disasterId); List> getStatisticsByUserId(@Param("id") Long id,@Param("year") String year); + + List getStatisticsByUserIdPancake(@Param("id") Long id); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml index 172d865..c4fa98e 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/mapper/EntityDataMapper.xml @@ -245,4 +245,17 @@ GROUP BY d.`key` ORDER BY d.`key` + + diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java index 718a869..86b55ad 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/EntityDataService.java @@ -38,4 +38,6 @@ public interface EntityDataService extends IService { * @return */ List> getStatisticsByUserId(Long id, String year); + + Map getStatisticsByUserIdPancake(Long id); } diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java index 44fe8d4..ec62378 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataServiceImpl.java @@ -29,10 +29,8 @@ import org.springframework.web.multipart.MultipartFile; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @author G1393 @@ -153,4 +151,30 @@ public class EntityDataServiceImpl extends ServiceImpl getStatisticsByUserIdPancake(Long id) { + List entityDataList = baseMapper.getStatisticsByUserIdPancake(id); + Map> collectDisasterCountry = entityDataList.stream().collect(Collectors.groupingBy(EntityData::getDisasterCountry)); + Map> collectDisasterType = entityDataList.stream().collect(Collectors.groupingBy(EntityData::getDisasterType)); + + List> disasterCountryList = new ArrayList<>(); + Map map = new HashMap<>(); + for(String mapKey : collectDisasterCountry.keySet()){ + List entityData = collectDisasterCountry.get(mapKey); + map.put(mapKey,entityData.size()); + disasterCountryList.add(map); + } + List> disasterTypeList = new ArrayList<>(); + Map map2 = new HashMap<>(); + for(String mapKey : collectDisasterType.keySet()){ + List entityData = collectDisasterType.get(mapKey); + map2.put(mapKey,entityData.size()); + disasterTypeList.add(map2); + } + Map map3 = new HashMap<>(); + map3.put("DisasterCountry",disasterCountryList); + map3.put("DisasterType",disasterTypeList); + return map3; + } + }