diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
index 1390ed7a3a..dc3fb232bc 100644
--- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
@@ -637,7 +637,7 @@ public class RedisKeys {
return rootPrefix.concat("org:temp:orgtree").concat(agencyId);
}
- public static String getHouseInfoCacheKey(String houseId){
- return rootPrefix.concat("house:").concat(houseId);
+ public static String getHouseInfoCacheKey(String houseId,String customerId){
+ return rootPrefix.concat("house:").concat(customerId).concat(":").concat(houseId);
}
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java
index 064104b9b2..1ae7002dc4 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java
@@ -15,4 +15,5 @@ public interface DataSourceConstant {
String PARTY_MEMBER = "partyMember";
String EPMET_HEART="epmetHeart";
String EPMET_POINT = "epmetPoint";
+ String OPER_CUSTOMIZE="operCustomize";
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/customize/IcResiCategoryConfigDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/customize/IcResiCategoryConfigDTO.java
new file mode 100644
index 0000000000..ea519b9b20
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/customize/IcResiCategoryConfigDTO.java
@@ -0,0 +1,18 @@
+package com.epmet.dto.customize;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+
+@Data
+public class IcResiCategoryConfigDTO implements Serializable {
+ private String configId;
+ /**
+ * 列名
+ */
+ private String columnName;
+
+ private String itemLabel;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IcUserCategoryAnalysisDailyFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IcUserCategoryAnalysisDailyFormDTO.java
new file mode 100644
index 0000000000..4804125448
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IcUserCategoryAnalysisDailyFormDTO.java
@@ -0,0 +1,32 @@
+package com.epmet.dto.extract.form;
+
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import java.io.Serializable;
+
+/**
+ * 数字社区-人员类别分析,按天计算,入参
+ * 以下参数都可以为空
+ */
+@Data
+public class IcUserCategoryAnalysisDailyFormDTO implements Serializable {
+ public interface AddUserInternalGroup {
+ }
+
+ private String customerId;
+ @Length(max = 8, message = "日期格式:yyyyMMdd", groups = AddUserInternalGroup.class)
+ private String dateId;
+
+ /**
+ * 开始时间
+ */
+ @Length(max = 8, message = "开始日期日期格式:yyyyMMdd", groups = AddUserInternalGroup.class)
+ private String startDate;
+ /**
+ * 结束时间
+ */
+ @Length(max = 8, message = "截止日期格式:yyyyMMdd", groups = AddUserInternalGroup.class)
+ private String endDate;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/OrgIcUserTotalDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/OrgIcUserTotalDTO.java
new file mode 100644
index 0000000000..b7360d975d
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/OrgIcUserTotalDTO.java
@@ -0,0 +1,12 @@
+package com.epmet.dto.user.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class OrgIcUserTotalDTO implements Serializable {
+ private String orgId;
+ private Integer total;
+ private String columnName;
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml
index 6c21774ece..8b145da840 100644
--- a/epmet-module/data-statistical/data-statistical-server/pom.xml
+++ b/epmet-module/data-statistical/data-statistical-server/pom.xml
@@ -260,6 +260,13 @@
epmet_point_user
EpmEt-db-UsEr
+
+
+
+
+ epmet_oper_customize_user
+ EpmEt-db-UsEr
+
0
192.168.1.140
@@ -382,6 +389,13 @@
epmet_point_user
EpmEt-db-UsEr
+
+
+
+
+ epmet_oper_customize_user
+ EpmEt-db-UsEr
+
0
192.168.1.140
@@ -504,6 +518,12 @@
epmet
elink@833066
+
+
+
+ epmet
+ elink@833066
+
0
r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com
@@ -622,6 +642,12 @@
epmet_point_user
EpmEt-db-UsEr
+
+
+
+ epmet_oper_customize_user
+ EpmEt-db-UsEr
+
0
r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IcController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IcController.java
new file mode 100644
index 0000000000..5f93d62c1e
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IcController.java
@@ -0,0 +1,76 @@
+package com.epmet.controller;
+
+
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.utils.DateUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.dto.extract.form.IcUserCategoryAnalysisDailyFormDTO;
+import com.epmet.service.stats.DimCustomerService;
+import com.epmet.service.stats.FactIcuserCategoryAnalysisDailyService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description 数字社区相关统计任务可以放这,目前只有人员类别分析
+ * @Author yinzuomei
+ * @Date 2022/01/17
+ * @Version 1.0
+ */
+@RestController
+@RequestMapping("ic")
+public class IcController {
+
+ @Autowired
+ private FactIcuserCategoryAnalysisDailyService userCategoryAnalysisDailyService;
+ @Autowired
+ private DimCustomerService dimCustomerService;
+
+ /**
+ * 数字社区-基础信息-人员类别分析-每个类别的人员总数、较上月迁入迁出人数
+ * 说明:安调统计,截止到当前dateId的党员总数;+30:迁入党员+之前的居民在本月内变更为党员身份的;-10:在本月丢失党员身份的人+迁出的人
+ * @return
+ */
+ @PostMapping("/user/category-analysis-daily")
+ public Result statUserCategoryDaily(@RequestBody IcUserCategoryAnalysisDailyFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO, IcUserCategoryAnalysisDailyFormDTO.AddUserInternalGroup.class);
+ List customerIds = new ArrayList<>();
+ if (StringUtils.isNotBlank(formDTO.getCustomerId())) {
+ customerIds.add(formDTO.getCustomerId());
+ } else {
+ //未指定客户,则查询dim_customer表
+ customerIds = dimCustomerService.selectCustomerIdPage(NumConstant.ONE, NumConstant.ONE_THOUSAND);
+ }
+ if (CollectionUtils.isNotEmpty(customerIds)) {
+ customerIds.forEach(customerId -> {
+ if (StringUtils.isNotBlank(formDTO.getStartDate()) && StringUtils.isNotBlank(formDTO.getEndDate())) {
+ //[a,b]yyyyMMdd
+ List daysBetween = DateUtils.getDaysBetween(formDTO.getStartDate(), formDTO.getEndDate());
+ daysBetween.forEach(dateId -> {
+ //计算网格维度的数据
+ userCategoryAnalysisDailyService.statUserCategoryGridDaily(customerId, dateId);
+ });
+ } else if (StringUtils.isNotBlank(formDTO.getDateId())) {
+ //计算网格维度的数据
+ userCategoryAnalysisDailyService.statUserCategoryGridDaily(customerId, formDTO.getDateId());
+ } else {
+ //计算网格维度的数据
+ //当前时间的前一天yyyyMMdd
+ String dateId = LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", "");
+ userCategoryAnalysisDailyService.statUserCategoryGridDaily(customerId, dateId);
+ }
+ });
+ }
+ return new Result();
+ }
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/customize/IcResiCategoryStatsConfigDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/customize/IcResiCategoryStatsConfigDao.java
new file mode 100644
index 0000000000..43b78b9b73
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/customize/IcResiCategoryStatsConfigDao.java
@@ -0,0 +1,14 @@
+package com.epmet.dao.customize;
+
+
+import com.epmet.dto.customize.IcResiCategoryConfigDTO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface IcResiCategoryStatsConfigDao {
+
+
+ List queryDataColumn(String customerId);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactIcuserCategoryAnalysisDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactIcuserCategoryAnalysisDailyDao.java
new file mode 100644
index 0000000000..2b963f71d5
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactIcuserCategoryAnalysisDailyDao.java
@@ -0,0 +1,20 @@
+package com.epmet.dao.stats;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.stats.FactIcuserCategoryAnalysisDailyEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 人员类别分析
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-17
+ */
+@Mapper
+public interface FactIcuserCategoryAnalysisDailyDao extends BaseDao {
+
+ int limitDelete(@Param("customerId")String customerId,
+ @Param("dateId")String dateId,
+ @Param("orgType")String orgType);
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
index 547cc164b7..58c9b870ff 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
@@ -269,5 +269,19 @@ public interface UserDao {
List filterUserIds(@Param("userIds") List userIds, @Param("roleKey") String roleKey);
List selectRoutineWorkListByDateId(@Param("customerId") String customerId, @Param("dateId") String dateId);
+
+ List selectCountForGrid(@Param("customerId") String customerId,
+ @Param("columnName") String columnName);
+
+ OrgIcUserTotalDTO selectCountForAgency(@Param("customerId") String customerId,
+ @Param("columnName") String columnName,
+ @Param("agencyId") String agencyId);
+
+ List selectGridIcUserCategoryTotal(@Param("customerId")String customerId, @Param("dateId")String dateId);
+
+ List selectGridIcUserCategoryIncr(@Param("customerId")String customerId,
+ @Param("startDate")String startDate,
+ @Param("endDate")String endDate,
+ @Param("type")String type);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactIcuserCategoryAnalysisDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactIcuserCategoryAnalysisDailyEntity.java
new file mode 100644
index 0000000000..ff98e8bea5
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactIcuserCategoryAnalysisDailyEntity.java
@@ -0,0 +1,74 @@
+package com.epmet.entity.stats;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 人员类别分析
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-17
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("fact_icuser_category_analysis_daily")
+public class FactIcuserCategoryAnalysisDailyEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 预警配置ID
+ */
+ private String configId;
+ /**
+ * 类别列名,对个数据太麻烦了,在这个表存一下
+ */
+ private String columnName;
+ /**
+ * 当前数据是截止到XXX的:yyyyMMdd
+ */
+ private String dateId;
+
+ /**
+ * 网格id或者组织id
+ */
+ private String orgId;
+
+ /**
+ * grid或者agency
+ */
+ private String orgType;
+
+ /**
+ * orgid的上级
+ */
+ private String pid;
+
+ /**
+ * orgid的所有上级
+ */
+ private String pids;
+
+ /**
+ * 当前类别总人数
+ */
+ private Integer total;
+
+ /**
+ * 较上月迁出
+ */
+ private Integer qcIncr;
+
+ /**
+ * 较上月迁入
+ */
+ private Integer qrIncr;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/customize/IcResiCategoryStatsConfigService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/customize/IcResiCategoryStatsConfigService.java
new file mode 100644
index 0000000000..dfbaa5b85a
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/customize/IcResiCategoryStatsConfigService.java
@@ -0,0 +1,22 @@
+package com.epmet.service.customize;
+
+
+import com.epmet.dto.customize.IcResiCategoryConfigDTO;
+
+import java.util.List;
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+public interface IcResiCategoryStatsConfigService {
+
+ /**
+ * 返回用于数据分析的列名+居民类别配置表的id
+ * @param customerId
+ * @return
+ */
+ List queryDataColumn(String customerId);
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/customize/impl/IcResiCategoryStatsConfigServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/customize/impl/IcResiCategoryStatsConfigServiceImpl.java
new file mode 100644
index 0000000000..2aba7c4480
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/customize/impl/IcResiCategoryStatsConfigServiceImpl.java
@@ -0,0 +1,40 @@
+package com.epmet.service.customize.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.dao.customize.IcResiCategoryStatsConfigDao;
+import com.epmet.dto.customize.IcResiCategoryConfigDTO;
+import com.epmet.service.customize.IcResiCategoryStatsConfigService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * 居民类别配置表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-11-04
+ */
+@Slf4j
+@DataSource(DataSourceConstant.OPER_CUSTOMIZE)
+@Service
+public class IcResiCategoryStatsConfigServiceImpl implements IcResiCategoryStatsConfigService{
+
+ @Autowired
+ private IcResiCategoryStatsConfigDao baseDao;
+
+
+ /**
+ * 返回用于数据分析的列名+居民类别配置表的id
+ *
+ * @param customerId
+ * @return
+ */
+ @Override
+ public List queryDataColumn(String customerId) {
+ return baseDao.queryDataColumn(customerId);
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerGridService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerGridService.java
index e7e08d78b2..053dee1079 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerGridService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerGridService.java
@@ -136,4 +136,6 @@ public interface ScreenCustomerGridService extends BaseService getByCustomerId(String customerId);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java
index edf9ef160f..d184f762d1 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java
@@ -290,4 +290,11 @@ public class ScreenCustomerGridServiceImpl extends BaseServiceImpl getByCustomerId(String customerId) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ScreenCustomerGridEntity::getCustomerId, customerId);
+ return baseDao.selectList(wrapper);
+ }
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactIcuserCategoryAnalysisDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactIcuserCategoryAnalysisDailyService.java
new file mode 100644
index 0000000000..afa940d37b
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactIcuserCategoryAnalysisDailyService.java
@@ -0,0 +1,20 @@
+package com.epmet.service.stats;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.entity.stats.FactIcuserCategoryAnalysisDailyEntity;
+
+/**
+ * 人员类别分析
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-17
+ */
+public interface FactIcuserCategoryAnalysisDailyService extends BaseService {
+ /**
+ * 数字社区-基础信息-人员类别分析-每个类别的人员总数、较上月迁入迁出人数
+ * 网格
+ * @param customerId
+ * @param dateId
+ */
+ void statUserCategoryGridDaily(String customerId, String dateId);
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactIcuserCategoryAnalysisDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactIcuserCategoryAnalysisDailyServiceImpl.java
new file mode 100644
index 0000000000..a3d0b5ab26
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactIcuserCategoryAnalysisDailyServiceImpl.java
@@ -0,0 +1,198 @@
+package com.epmet.service.stats.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.enums.OrgTypeEnum;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.dao.stats.FactIcuserCategoryAnalysisDailyDao;
+import com.epmet.dto.customize.IcResiCategoryConfigDTO;
+import com.epmet.dto.user.result.OrgIcUserTotalDTO;
+import com.epmet.entity.evaluationindex.screen.ScreenCustomerGridEntity;
+import com.epmet.entity.stats.FactIcuserCategoryAnalysisDailyEntity;
+import com.epmet.service.customize.IcResiCategoryStatsConfigService;
+import com.epmet.service.evaluationindex.screen.ScreenCustomerAgencyService;
+import com.epmet.service.evaluationindex.screen.ScreenCustomerGridService;
+import com.epmet.service.stats.FactIcuserCategoryAnalysisDailyService;
+import com.epmet.service.user.UserService;
+import com.google.common.collect.Lists;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 人员类别分析
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-17
+ */
+@Service
+@Slf4j
+@DataSource(DataSourceConstant.STATS)
+public class FactIcuserCategoryAnalysisDailyServiceImpl extends BaseServiceImpl implements FactIcuserCategoryAnalysisDailyService {
+
+ @Autowired
+ private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService;
+ @Autowired
+ private ScreenCustomerAgencyService agencyService;
+ @Autowired
+ private ScreenCustomerGridService gridService;
+ @Autowired
+ private UserService userService;
+
+ /**
+ * 数字社区-基础信息-人员类别分析-每个类别的人员总数、较上月迁入迁出人数
+ *
+ * @param customerId
+ * @param dateId
+ */
+ @Override
+ public void statUserCategoryGridDaily(String customerId, String dateId) {
+ //查询出所有用语数据分析的类别column_name,没有则不计算
+ List columnList = icResiCategoryStatsConfigService.queryDataColumn(customerId);
+ if (CollectionUtils.isEmpty(columnList)) {
+ return;
+ }
+ //所有网格查询出来
+ List gridDTOList = gridService.getByCustomerId(customerId);
+ if (CollectionUtils.isEmpty(gridDTOList)) {
+ return;
+ }
+ //网格维度、组织维度初始好数据
+ List initList = constructInitValue(customerId, dateId, gridDTOList, columnList);
+ if (CollectionUtils.isEmpty(initList)) {
+ return;
+ }
+ //当这3个数都为0的时候不插入数据库了
+ List insertList = initList.stream().filter(entity -> (null != entity.getTotal() && entity.getTotal() > 0)
+ || (null != entity.getQcIncr() && entity.getQcIncr() > 0)
+ || (null != entity.getQrIncr() && entity.getQrIncr() > 0)).collect(Collectors.toList());
+ //删除旧数据
+ clearOldDatas(customerId, dateId, OrgTypeEnum.GRID.getCode());
+ // 批量插入数据
+ Lists.partition(insertList, NumConstant.ONE_HUNDRED).forEach(list -> {
+ insertBatch(list);
+ });
+ }
+
+ /**
+ * 删除旧数据
+ *
+ * @param customerId
+ * @param dateId
+ * @param orgType grid、agency
+ */
+ private void clearOldDatas(String customerId, String dateId, String orgType) {
+ int deleteNum;
+ do {
+ //每次删除1000条
+ deleteNum = baseDao.limitDelete(customerId, dateId, orgType);
+ } while (deleteNum != NumConstant.ZERO);
+ }
+
+ /**
+ * @param customerId
+ * @param dateId yyyyMMdd
+ * @param gridDTOList 当前客户下所有的网格
+ * @param columnList 所有需要分析的类别对应的ic_resi_user的列名,目前只有18类
+ * @return
+ */
+ private List constructInitValue(String customerId, String dateId, List gridDTOList, List columnList) {
+ List list = new ArrayList<>();
+
+ //1、total
+ // 查询明细ic_user_change_detailed变更明细表,各个网格的各个分类的总人数
+ Map> totalMapList = userService.calGridIcUserTotal(customerId, dateId);
+
+ String monthId = dateId.substring(NumConstant.ZERO, NumConstant.SIX);
+ String startDate = monthId.concat("01");
+ String endDate = dateId;
+
+ //2、迁入+30:eg:dateId:20211226, [20211201,20211226],类别sum值=1的
+ Map> qrList = userService.calGridIcUserIncr(customerId, startDate, endDate, "qr");
+
+ //3、迁出 -10 :eg:dateId:20211226, [20211201,20211226],类别sum值 !=1的
+ Map> qcList = userService.calGridIcUserIncr(customerId, startDate, endDate, "qc");
+
+ for (IcResiCategoryConfigDTO config : columnList) {
+ gridDTOList.forEach(grid -> {
+ FactIcuserCategoryAnalysisDailyEntity gridData = new FactIcuserCategoryAnalysisDailyEntity();
+ gridData.setCustomerId(customerId);
+ gridData.setConfigId(config.getConfigId());
+ gridData.setColumnName(config.getColumnName());
+ gridData.setDateId(dateId);
+ gridData.setOrgId(grid.getGridId());
+ gridData.setOrgType(OrgTypeEnum.GRID.getCode());
+ gridData.setPid(StringUtils.isNotBlank(grid.getParentAgencyId()) ? grid.getParentAgencyId() : NumConstant.ZERO_STR);
+ gridData.setPids(grid.getAllParentIds());
+
+ //截止到目前累计值
+ boolean totalZeroFlag = true;
+ if (MapUtils.isNotEmpty(totalMapList) && totalMapList.containsKey(grid.getGridId())) {
+ //当前网格下,有的类别
+ List crrentGrid = totalMapList.get(grid.getGridId());
+ if (CollectionUtils.isNotEmpty(crrentGrid)) {
+ //各个类别对应的数
+ Map categoryTotalMap = crrentGrid.stream().collect(Collectors.toMap(OrgIcUserTotalDTO::getColumnName, OrgIcUserTotalDTO::getTotal, (key1, key2) -> key2));
+ if (MapUtils.isNotEmpty(categoryTotalMap) && categoryTotalMap.containsKey(config.getColumnName())) {
+ totalZeroFlag = false;
+ gridData.setTotal(categoryTotalMap.get(config.getColumnName()));
+ }
+ }
+ }
+ if (totalZeroFlag) {
+ gridData.setTotal(NumConstant.ZERO);
+ }
+
+ //较上月迁入
+ boolean incrZeroFlag = true;
+ if (MapUtils.isNotEmpty(qrList) && qrList.containsKey(grid.getGridId())) {
+ //当前网格下,有的类别
+ List crrentGrid = qrList.get(grid.getGridId());
+ if (CollectionUtils.isNotEmpty(crrentGrid)) {
+ //各个类别对应的数
+ Map categoryTotalMap = crrentGrid.stream().collect(Collectors.toMap(OrgIcUserTotalDTO::getColumnName, OrgIcUserTotalDTO::getTotal, (key1, key2) -> key2));
+ if (MapUtils.isNotEmpty(categoryTotalMap) && categoryTotalMap.containsKey(config.getColumnName())) {
+ incrZeroFlag = false;
+ gridData.setQrIncr(categoryTotalMap.get(config.getColumnName()));
+ }
+ }
+ }
+ if (incrZeroFlag) {
+ gridData.setQrIncr(NumConstant.ZERO);
+ }
+
+ // 较上月迁出:
+ boolean qcZeroFlag = true;
+ if (MapUtils.isNotEmpty(qcList) && qcList.containsKey(grid.getGridId())) {
+ //当前网格下,有的类别
+ List crrentGridQc = qcList.get(grid.getGridId());
+ if (CollectionUtils.isNotEmpty(crrentGridQc)) {
+ //各个类别对应的数
+ Map categoryTotalMap = crrentGridQc.stream().collect(Collectors.toMap(OrgIcUserTotalDTO::getColumnName, OrgIcUserTotalDTO::getTotal, (key1, key2) -> key2));
+ if (MapUtils.isNotEmpty(categoryTotalMap) && categoryTotalMap.containsKey(config.getColumnName())) {
+ qcZeroFlag = false;
+ gridData.setQcIncr(categoryTotalMap.get(config.getColumnName()));
+ }
+ }
+ }
+ if (qcZeroFlag) {
+ gridData.setQcIncr(NumConstant.ZERO);
+ }
+
+ list.add(gridData);
+ });
+ }
+ return list;
+ }
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
index 29e5e6d149..69482594fb 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
@@ -157,4 +157,33 @@ public interface UserService {
* @return
*/
List selectRoutineWorkListByDateId(String customerId, String dateId);
+
+ Map selectCountForGrid(String customerId, String columnName);
+
+ /**
+ *
+ * @param customerId
+ * @param columnName
+ * @param agencyIds
+ * @return
+ */
+ Map selectCountForGrid(String customerId, String columnName, List agencyIds);
+
+ /**
+ *
+ * @param customerId
+ * @param dateId 截止到这一天的,各个网格下,每个分类的总人数
+ * @return
+ */
+ Map> calGridIcUserTotal(String customerId, String dateId);
+
+ /**
+ *
+ * @param customerId
+ * @param startDate :变动时间在此范围内的 yyyyMMdd
+ * @param endDate :yyyyMMdd
+ * @param type:qr:迁入;qc:迁出
+ * @return
+ */
+ Map> calGridIcUserIncr(String customerId, String startDate, String endDate, String type);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
index f6c78dbfb0..06c94a0392 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
@@ -1126,4 +1126,105 @@ public class UserServiceImpl implements UserService {
public List selectRoutineWorkListByDateId(String customerId, String dateId) {
return userDao.selectRoutineWorkListByDateId(customerId, dateId);
}
+
+ /**
+ *
+ * @param customerId
+ * @param columnName
+ * @return 截止到目前,每个网格内,某个分类的总人数
+ */
+ @Override
+ public Map selectCountForGrid(String customerId, String columnName) {
+ Map map = new HashMap<>();
+ List list = userDao.selectCountForGrid(customerId, columnName);
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
+ map = list.stream().collect(Collectors.toMap(OrgIcUserTotalDTO::getOrgId, OrgIcUserTotalDTO::getTotal));
+ }
+ return map;
+ }
+
+ /**
+ * @param customerId
+ * @param columnName
+ * @param agencyIds
+ * @return 截止到目前,各个组织内,某个分类的总人数
+ */
+ @Override
+ public Map selectCountForGrid(String customerId, String columnName, List agencyIds) {
+ Map map = new HashMap<>();
+ if (CollectionUtils.isEmpty(agencyIds)) {
+ return map;
+ }
+ List list = new ArrayList<>();
+ for (String agencyId:agencyIds) {
+ OrgIcUserTotalDTO dto=new OrgIcUserTotalDTO();
+ dto.setOrgId(agencyId);
+ OrgIcUserTotalDTO totalDto=userDao.selectCountForAgency(customerId,columnName,agencyId);
+ dto.setTotal(null!=totalDto?totalDto.getTotal():NumConstant.ZERO);
+ list.add(dto);
+ }
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
+ map = list.stream().collect(Collectors.toMap(OrgIcUserTotalDTO::getOrgId, OrgIcUserTotalDTO::getTotal));
+ }
+ return map;
+ }
+
+ /**
+ * @param customerId
+ * @param dateId 截止到这一天的,各个网格下,每个分类的总人数
+ * @return
+ */
+ @Override
+ public Map> calGridIcUserTotal(String customerId, String dateId) {
+ Map> resultMap=new HashMap<>();
+ List list=userDao.selectGridIcUserCategoryTotal(customerId,dateId);
+ if(CollectionUtils.isEmpty(list)){
+ return resultMap;
+ }
+ // list 数据
+ // gridId columnName total
+ // 1001 IS_DBH 1
+ // 1001 IS_PARTY 1
+ // 1002 IS_DBH 1
+ // 1002 IS_ENSURE_HOUSE 1
+ // 1003 IS_VETERANS 1
+ // 1004 IS_PARTY 1
+ for(OrgIcUserTotalDTO dto:list){
+ if(resultMap.containsKey(dto.getOrgId())){
+ resultMap.get(dto.getOrgId()).add(dto);
+ continue;
+ }
+ List newList=new ArrayList<>();
+ newList.add(dto);
+ resultMap.put(dto.getOrgId(),newList);
+ }
+ return resultMap;
+ }
+
+ /**
+ * @param customerId
+ * @param startDate :变动时间在此范围内的 yyyyMMdd
+ * @param endDate :yyyyMMdd
+ * @param type :qr:迁入;qc:迁出
+ * @return
+ */
+ @Override
+ public Map> calGridIcUserIncr(String customerId, String startDate, String endDate, String type) {
+ Map> resultMap=new HashMap<>();
+ List list=userDao.selectGridIcUserCategoryIncr(customerId,startDate,endDate,type);
+ if(CollectionUtils.isEmpty(list)){
+ return resultMap;
+ }
+ for(OrgIcUserTotalDTO dto:list){
+ if(resultMap.containsKey(dto.getOrgId())){
+ resultMap.get(dto.getOrgId()).add(dto);
+ continue;
+ }
+ List newList=new ArrayList<>();
+ newList.add(dto);
+ resultMap.put(dto.getOrgId(),newList);
+ }
+ return resultMap;
+ }
+
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
index 1f2089ea27..c70278a240 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
@@ -188,6 +188,11 @@ dynamic:
url: @datasource.druid.epmetPoint.url@
username: @datasource.druid.epmetPoint.username@
password: @datasource.druid.epmetPoint.password@
+ operCustomize:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: @datasource.druid.operCustomize.url@
+ username: @datasource.druid.operCustomize.username@
+ password: @datasource.druid.operCustomize.password@
thread:
# 线程池配置
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/customize/IcResiCategoryStatsConfigDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/customize/IcResiCategoryStatsConfigDao.xml
new file mode 100644
index 0000000000..566e6f2c9d
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/customize/IcResiCategoryStatsConfigDao.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactIcuserCategoryAnalysisDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactIcuserCategoryAnalysisDailyDao.xml
new file mode 100644
index 0000000000..01f0963249
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactIcuserCategoryAnalysisDailyDao.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ delete from fact_icuser_category_analysis_daily
+ where CUSTOMER_ID = #{customerId}
+ and date_id=#{dateId}
+ and org_type=#{orgType}
+ limit 1000
+
+
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
index 6e8e25fefa..11d9e4aaef 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml
@@ -1074,4 +1074,86 @@
+
+
+
+
+
+
+
+
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
index 591d08130c..ffb5bac51c 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
+++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
@@ -154,7 +154,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl houseIds=new HashSet<>();
houseIds.add(updateEntity.getDemandUserHouseId());
- Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds);
+ Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds,dto.getCustomerId());
if(!houseInfoRes.success()||CollectionUtils.isEmpty(houseInfoRes.getData())){
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询需求人房屋地址信息异常"+JSON.toJSONString(houseInfoRes));
}
@@ -223,7 +223,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl houseIds=new HashSet<>();
houseIds.add(insertEntity.getDemandUserHouseId());
- Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds);
+ Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds, fromDTO.getCustomerId());
if(!houseInfoRes.success()||CollectionUtils.isEmpty(houseInfoRes.getData())){
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询需求人房屋地址信息异常"+JSON.toJSONString(houseInfoRes));
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java
index 312befe6ca..3a3ca19096 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java
@@ -76,4 +76,6 @@ public class HouseInfoDTO implements Serializable {
* 小区名+楼栋名+单元名+房屋名
*/
private String allName;
+
+ private String customerId;
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
index 00ad59a3fd..8ec1a74273 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
@@ -460,7 +460,7 @@ public interface GovOrgOpenFeignClient {
Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO);
@PostMapping(value = "/gov/org/house/queryListHouseInfo",consumes = MediaType.APPLICATION_JSON_VALUE)
- Result> queryListHouseInfo(@RequestBody Set houseIds);
+ Result> queryListHouseInfo(@RequestBody Set houseIds, @RequestParam("customerId") String customerId);
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
index bdf968feed..e75fc705fc 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
@@ -276,8 +276,8 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
}
@Override
- public Result> queryListHouseInfo(Set houseIds) {
- return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "queryListHouseInfo", houseIds);
+ public Result> queryListHouseInfo(Set houseIds ,String customerId) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "queryListHouseInfo", houseIds, customerId);
}
@Override
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
index f593287e77..cd54f15e64 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
@@ -229,7 +229,7 @@ public class HouseController implements ResultDataResolver {
}
@PostMapping( "queryListHouseInfo")
- Result> queryListHouseInfo(@RequestBody Set houseIds){
- return new Result>().ok(houseService.queryListHouseInfo(houseIds));
+ Result> queryListHouseInfo(@RequestBody Set houseIds, @RequestParam("customerId") String customerId){
+ return new Result>().ok(houseService.queryListHouseInfo(houseIds,customerId));
}
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java
index f5b7b8639b..4f3ece54a8 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java
@@ -62,20 +62,20 @@ public class IcHouseRedis {
* @author zxc
* @date 2022/1/18 3:55 下午
*/
- public void setHouseInfo(String houseId, Map map){
- String key = RedisKeys.getHouseInfoCacheKey(houseId);
+ public void setHouseInfo(String houseId, Map map,String customerId){
+ String key = RedisKeys.getHouseInfoCacheKey(houseId,customerId);
redisUtils.hMSet(key, map);
}
- public HouseInfoDTO getHouseInfo(String houseId){
- String key = RedisKeys.getHouseInfoCacheKey(houseId);
+ public HouseInfoDTO getHouseInfo(String houseId,String customerId){
+ String key = RedisKeys.getHouseInfoCacheKey(houseId,customerId);
Map map = redisUtils.hGetAll(key);
if (!CollectionUtils.isEmpty(map)){
return ConvertUtils.mapToEntity(map,HouseInfoDTO.class);
}
HouseInfoDTO houseInfo = icHouseDao.queryHouseInfoByHouseId(houseId);
Map result = BeanUtil.beanToMap(houseInfo, false, true);
- setHouseInfo(houseId,result);
+ setHouseInfo(houseId,result,houseInfo.getCustomerId());
return houseInfo;
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
index ac7f28dbbc..ad5d1d69cb 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
@@ -61,5 +61,5 @@ public interface HouseService {
void exportBuildinginfo(ListIcNeighborHoodFormDTO formDTO, HttpServletResponse response) throws Exception;
- List queryListHouseInfo(Set houseIds);
+ List queryListHouseInfo(Set houseIds, String customerId);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
index 551cd9a82f..d8ad9630ef 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
@@ -313,13 +313,13 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}*/
@Override
- public List queryListHouseInfo(Set houseIdList) {
+ public List queryListHouseInfo(Set houseIdList, String customerId) {
if(org.apache.commons.collections4.CollectionUtils.isEmpty(houseIdList)){
return new ArrayList<>();
}
List result = new ArrayList<>();
houseIdList.forEach(h -> {
- result.add(icHouseRedis.getHouseInfo(h));
+ result.add(icHouseRedis.getHouseInfo(h,customerId));
});
return result;
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
index 900d34ba66..7411fb6575 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
@@ -315,6 +315,7 @@
IFNULL(ih.HOUSE_NAME,'') as HOUSE_NAME,
IFNULL(ib.LONGITUDE,'') as buildingLongitude,
IFNULL(ib.LATITUDE,'') as buildingLatitude,
+ ih.CUSTOMER_ID AS customerId,
concat(IFNULL(n.NEIGHBOR_HOOD_NAME,''),IFNULL(ib.BUILDING_NAME,''),IFNULL(u.UNIT_NAME,''),IFNULL(ih.HOUSE_NAME,'')) AS allName
FROM ic_house ih
left JOIN ic_neighbor_hood n ON ( ih.NEIGHBOR_HOOD_ID = n.id )
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
index 0e4630e9db..4e02d02cea 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
@@ -526,7 +526,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
//查询房子名称
- Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds);
+ Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds,formDTO.getCustomerId());
List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>();
Map houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity()));
for (Map resultMap : list) {
@@ -1119,7 +1119,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl userList = disposeCategory(list, configList);
- Result> houseInfosResult = govOrgOpenFeignClient.queryListHouseInfo(userList.stream().distinct().map(m -> m.getHomeId()).collect(Collectors.toSet()));
+ Result> houseInfosResult = govOrgOpenFeignClient.queryListHouseInfo(userList.stream().distinct().map(m -> m.getHomeId()).collect(Collectors.toSet()),tokenDto.getCustomerId());
if (!houseInfosResult.success()){
throw new EpmetException("查询房屋信息失败...");
}