From 21dd439cfdac103566045fea4f0398148595f4ff Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 20 Apr 2022 17:51:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E9=A2=84=E8=AD=A6=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/StatsResiWarnFormDTO.java | 10 +-- .../result/IcStatsResiWarnUserResultDTO.java | 1 + .../dto/result/UserWarnNameListResultDTO.java | 9 +++ .../controller/StatsResiWarnController.java | 9 +++ .../epmet/service/StatsResiWarnService.java | 5 ++ .../impl/StatsResiWarnServiceImpl.java | 65 +++++++++++++++---- .../resources/mapper/IcStatsResiWarnDao.xml | 4 ++ 7 files changed, 84 insertions(+), 19 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java index 174fc429b2..58acc41b0f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StatsResiWarnFormDTO.java @@ -22,7 +22,6 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; -import java.util.Date; import java.util.List; @@ -40,7 +39,7 @@ public class StatsResiWarnFormDTO implements Serializable { public interface ListSelectedBuilding {} public interface ListSelectedUser {} - + public interface AllUser {} /** * 当前页 @@ -57,10 +56,11 @@ public class StatsResiWarnFormDTO implements Serializable { @NotBlank(message = "组织id不能为空",groups = {ListSelectedBuilding.class}) private String agencyId; - @NotBlank(message = "配置id不能为空",groups = {ListSelectedUser.class}) + @NotBlank(message = "配置id不能为空",groups = {ListSelectedUser.class, AllUser.class}) private String configId; @NotNull(message = "楼栋不能为空",groups = {ListSelectedUser.class}) private List buildingIdList; - - + @NotBlank(message = "楼栋不能为空",groups = {AllUser.class}) + private String buildingId; + private String customerId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java index 63d55d69c0..9e87b11df7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcStatsResiWarnUserResultDTO.java @@ -43,6 +43,7 @@ public class IcStatsResiWarnUserResultDTO implements Serializable { private String neighborhoodName; private String buildingName; private String residentNames; + private Integer count; private List userList; } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java index f1d6690b46..b4b1e6547e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserWarnNameListResultDTO.java @@ -21,4 +21,13 @@ public class UserWarnNameListResultDTO implements Serializable { private String residentName; private String userId; + + @JsonIgnore + private String unitId; + private String unitName; + @JsonIgnore + private String homeId; + private String doorName; + private String mobile; + private String idCard; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java index 5f7ea56e4a..866e4a9d46 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java @@ -18,6 +18,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -29,6 +30,7 @@ import com.epmet.dto.form.StatsResiWarnFormDTO; import com.epmet.dto.result.IcStatsResiResultDTO; import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; import com.epmet.dto.result.IcUserWarnNoticeResultDTO; +import com.epmet.dto.result.UserWarnNameListResultDTO; import com.epmet.service.IcStatsResiWarnService; import com.epmet.service.StatsResiWarnService; import org.springframework.beans.factory.annotation.Autowired; @@ -115,6 +117,13 @@ public class StatsResiWarnController { return new Result().ok(statsResiWarnService.userWarnList(customerId,formDTO.getConfigId(), formDTO.getBuildingIdList(),formDTO.getPageNo(),formDTO.getPageSize())); } + @PostMapping("alluserwarnlist") + public Result> allUserWarnList(@LoginUser TokenDto tokenDto, @RequestBody StatsResiWarnFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, StatsResiWarnFormDTO.AllUser.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result>().ok(statsResiWarnService.allUserWarnList(formDTO)); + } + /** * 统计所有 * @return diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java index babce11f37..33a41f51a5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java @@ -17,11 +17,14 @@ package com.epmet.service; +import com.epmet.commons.tools.page.PageData; import com.epmet.dto.form.IcUserWarnNoticeFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; +import com.epmet.dto.form.StatsResiWarnFormDTO; import com.epmet.dto.result.IcStatsResiResultDTO; import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; import com.epmet.dto.result.IcUserWarnNoticeResultDTO; +import com.epmet.dto.result.UserWarnNameListResultDTO; import java.util.List; import java.util.Map; @@ -53,6 +56,8 @@ public interface StatsResiWarnService{ */ Map userWarnList(String customerId, String configId, List buildingIdList, Integer pageNo, Integer pageSize); + PageData allUserWarnList(StatsResiWarnFormDTO formDTO); + List list(String customerId,String id, String level); List list2(StatsResiListFormDTO formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java index 08685568dc..13645f9047 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java @@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; @@ -16,6 +18,7 @@ import com.epmet.dto.IcResiCategoryWarnConfigDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; import com.epmet.dto.form.IcUserWarnNoticeFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; +import com.epmet.dto.form.StatsResiWarnFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcStatsResiWarnEntity; @@ -24,12 +27,13 @@ import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcStatsResiWarnService; import com.epmet.service.StatsResiWarnService; import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -173,20 +177,18 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { //根据buildingID,tableName he columnName获取名字 //限制条数 一栋楼内最多显示1000 即可 for (String s : buildingIdList) { - PageHelper.startPage(NumConstant.ONE,NumConstant.ONE_HUNDRED,false).doSelectPage(()->{ - List dtos = icStatsResiWarnDao.userWarnListDTO(customerId, Arrays.asList(s), icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); - if (!CollectionUtils.isEmpty(dtos)){ - Map> groupByBuild = dtos.stream().collect(Collectors.groupingBy(UserWarnNameListResultDTO::getBuildingId)); - result.forEach(item->{ - item.setConfigId(configId); - groupByBuild.forEach((k,v) -> { - if (item.getBuildingId().equals(k)){ - item.setUserList(v); - } - }); + List dtos = icStatsResiWarnDao.userWarnListDTO(customerId, Arrays.asList(s), icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); + if (!CollectionUtils.isEmpty(dtos)){ + Map> groupByBuild = dtos.stream().collect(Collectors.groupingBy(UserWarnNameListResultDTO::getBuildingId)); + result.forEach(item->{ + item.setConfigId(configId); + groupByBuild.forEach((k,v) -> { + if (item.getBuildingId().equals(k)){ + item.setCount(v.size()); + } }); - } - }); + }); + } } /*PageHelper.startPage(NumConstant.ONE,NumConstant.ONE_THOUSAND,false).doSelectPage(()->{ List dtos = icStatsResiWarnDao.userWarnListDTO(customerId, buildingIdList, icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); @@ -205,6 +207,41 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { return mapResult; } + @Override + public PageData allUserWarnList(StatsResiWarnFormDTO formDTO) { + //获取configId预警配置信息 + IcResiCategoryWarnConfigDTO formDto = new IcResiCategoryWarnConfigDTO(); + formDto.setId(formDTO.getConfigId()); + Result warnResult = operCustomizeOpenFeignClient.resiCategoryWarnInfoById(formDto); + if (!warnResult.success() || null == warnResult.getData()) { + throw new RenException("获取预警配置信息失败,configId="+ formDTO.getConfigId()); + } + IcResiCategoryWarnConfigDTO icResiCategoryWarnConfigDTO = warnResult.getData(); + + PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize()); + List list = icStatsResiWarnDao.userWarnListDTO(formDTO.getCustomerId(), + Collections.singletonList(formDTO.getBuildingId()), + icResiCategoryWarnConfigDTO.getTableName(), + icResiCategoryWarnConfigDTO.getColumnName()); + PageInfo pageInfo = new PageInfo<>(list); + if (CollectionUtils.isNotEmpty(list)) { + Set homeIds = list.stream().map(UserWarnNameListResultDTO::getHomeId).collect(Collectors.toSet()); + Result> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(homeIds, formDTO.getCustomerId()); + if (!houseInfoRes.success() || CollectionUtils.isEmpty(houseInfoRes.getData())){ + throw new EpmetException("查询居民所属房屋失败..."); + } + Map houseMap = houseInfoRes.getData().stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); + list.forEach(item -> { + HouseInfoDTO houseInfo = houseMap.get(item.getHomeId()); + if (null != houseInfo) { + item.setUnitName(houseInfo.getUnitName()); + item.setDoorName(houseInfo.getDoorName()); + } + }); + } + return new PageData<>(list, pageInfo.getTotal()); + } + @Override public List list(String customerId,String id, String level) { //获取所有配置类项 getshow diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml index 4e2dae8afa..1c1355a8a7 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml @@ -153,6 +153,10 @@