From 343ce02b6e92d00245711add3c9d286837a534ce Mon Sep 17 00:00:00 2001 From: litao Date: Sat, 10 Jun 2023 17:44:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/controller/ReportController.java | 1 + .../modules/business/entity/DataEntity.java | 11 +++++++ .../business/service/ILargeScreenService.java | 3 +- .../service/impl/LargeScreenServiceImpl.java | 32 +++++++++++++------ 4 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 src/main/java/org/springblade/modules/business/entity/DataEntity.java diff --git a/src/main/java/org/springblade/modules/business/controller/ReportController.java b/src/main/java/org/springblade/modules/business/controller/ReportController.java index d7b4e38..e187733 100644 --- a/src/main/java/org/springblade/modules/business/controller/ReportController.java +++ b/src/main/java/org/springblade/modules/business/controller/ReportController.java @@ -41,6 +41,7 @@ import java.util.Date; @TenantDS @RestController @RequestMapping(CommonConstant.APPLICATION_NAME_BUSINESS + "/report") +//@RequestMapping("/report") @AllArgsConstructor @ApiSort(1) @Api(value = "统计报表", tags = "统计报表接口") diff --git a/src/main/java/org/springblade/modules/business/entity/DataEntity.java b/src/main/java/org/springblade/modules/business/entity/DataEntity.java new file mode 100644 index 0000000..3bcf330 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/entity/DataEntity.java @@ -0,0 +1,11 @@ +package org.springblade.modules.business.entity; + +import lombok.Data; + +@Data +public class DataEntity { + + private String name; + + private Integer num; +} diff --git a/src/main/java/org/springblade/modules/business/service/ILargeScreenService.java b/src/main/java/org/springblade/modules/business/service/ILargeScreenService.java index 775e391..ad2a50f 100644 --- a/src/main/java/org/springblade/modules/business/service/ILargeScreenService.java +++ b/src/main/java/org/springblade/modules/business/service/ILargeScreenService.java @@ -19,6 +19,7 @@ package org.springblade.modules.business.service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.modules.business.entity.Appeal; +import org.springblade.modules.business.entity.DataEntity; import java.text.ParseException; import java.util.Date; @@ -48,7 +49,7 @@ public interface ILargeScreenService { Map getImmediateCountByLoc(Integer timeFrame, String startTime, String endTime) throws ParseException; - Map> getAppealHot(); + Map> getAppealHot(); IPage getImmediateList(String streetId, IPage page); } diff --git a/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java index a60fd93..3946211 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java @@ -24,6 +24,7 @@ import org.apache.commons.lang3.StringUtils; import org.springblade.common.cache.DictBizCache; import org.springblade.modules.business.entity.Appeal; import org.springblade.modules.business.entity.AppealVisitor; +import org.springblade.modules.business.entity.DataEntity; import org.springblade.modules.business.service.IAppealService; import org.springblade.modules.business.service.IAppealVisitorService; import org.springblade.modules.business.service.ILargeScreenService; @@ -315,6 +316,7 @@ public class LargeScreenServiceImpl implements ILargeScreenService { wrapper.select(Appeal::getId, Appeal::getFirstRegTime, Appeal::getDisputeName); wrapper.eq(Appeal::getStreetId, streetId); wrapper.eq(Appeal::getSkipGrant, 1); + wrapper.orderByDesc(Appeal::getCreateTime); IPage iPage = appealService.page(page, wrapper); // 给每条数据赋值来访人姓名 @@ -333,8 +335,8 @@ public class LargeScreenServiceImpl implements ILargeScreenService { } @Override - public Map> getAppealHot() { - Map> map = new HashMap(); + public Map> getAppealHot() { + Map> map = new HashMap(); // 化解成功状态数组 List state = new ArrayList<>(); state.add(2); @@ -352,23 +354,33 @@ public class LargeScreenServiceImpl implements ILargeScreenService { Map> street = appeals.stream().collect(Collectors.groupingBy(Appeal::getStreet)); Set names = street.keySet(); - // 街道对应的数量 - Map streetMap = new HashMap<>(); + // 封装到数据对象 + List strees = new ArrayList<>(); for (String name : names) { - streetMap.put(name, street.get(name).size()); + DataEntity entity = new DataEntity(); + entity.setName(name); + entity.setNum(street.get(name).size()); + strees.add(entity); } - map.put("street", streetMap); + // 倒序 + List streeList = strees.stream().sorted(Comparator.comparing(DataEntity::getNum).reversed()).collect(Collectors.toList()); + map.put("street", streeList); // 根据部门分组 Map> town = appeals.stream().collect(Collectors.groupingBy(Appeal::getName)); Set depts = town.keySet(); - // 部门对应的数量 - Map townMap = new HashMap<>(); + // 封装到数据对象 + List towns = new ArrayList<>(); for (String name : depts) { - townMap.put(name, town.get(name).size()); + DataEntity entity = new DataEntity(); + entity.setName(name); + entity.setNum(town.get(name).size()); + towns.add(entity); } - map.put("town", townMap); + // 倒序 + List townList = towns.stream().sorted(Comparator.comparing(DataEntity::getNum).reversed()).collect(Collectors.toList()); + map.put("town", townList); return map; }