17 changed files with 641 additions and 2 deletions
@ -0,0 +1,13 @@ |
|||||
|
package com.epmet.dataaggre.dto.epmetuser.result; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* 居民信息封装类 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class IcResiInfoResultDTO { |
||||
|
private String id; |
||||
|
private String name; |
||||
|
private String buildId; |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.epmet.dataaggre.dto.govorg.form; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 图层数据分析-数据列表 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CoverageAnalisisDataListFormDTO { |
||||
|
|
||||
|
/** |
||||
|
* 图层类型列表 |
||||
|
*/ |
||||
|
private List<String> coverageTypes; |
||||
|
|
||||
|
/** |
||||
|
* 分类key |
||||
|
*/ |
||||
|
private List<String> categoryKeys; |
||||
|
|
||||
|
/** |
||||
|
* 搜索关键词 |
||||
|
*/ |
||||
|
private String search; |
||||
|
private Integer pageNo = 1; |
||||
|
private Integer pageSize = 20; |
||||
|
private Boolean isPage = false; |
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
package com.epmet.dataaggre.dto.govorg.result; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public class CoverageAnalisisDataListResultDTO { |
||||
|
|
||||
|
private String id; |
||||
|
/** |
||||
|
* 分类key |
||||
|
*/ |
||||
|
private String categoryKey; |
||||
|
|
||||
|
/** |
||||
|
* 场所类型 |
||||
|
*/ |
||||
|
private String placeType; |
||||
|
|
||||
|
/** |
||||
|
* 内容 |
||||
|
*/ |
||||
|
private String content; |
||||
|
|
||||
|
/** |
||||
|
*维度 |
||||
|
*/ |
||||
|
private String latitude; |
||||
|
|
||||
|
/** |
||||
|
* 经度 |
||||
|
*/ |
||||
|
private String longitude; |
||||
|
|
||||
|
} |
@ -0,0 +1,16 @@ |
|||||
|
package com.epmet.dataaggre.dao.govorg; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.dao.BaseDao; |
||||
|
import com.epmet.dataaggre.entity.govorg.IcCoverageCategoryDictEntity; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
/** |
||||
|
* 五大图层类别字典表 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-06-16 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface IcCoverageCategoryDictDao extends BaseDao<IcCoverageCategoryDictEntity> { |
||||
|
|
||||
|
} |
@ -0,0 +1,56 @@ |
|||||
|
package com.epmet.dataaggre.entity.govorg; |
||||
|
|
||||
|
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-06-16 |
||||
|
*/ |
||||
|
@Data |
||||
|
@EqualsAndHashCode(callSuper=false) |
||||
|
@TableName("ic_coverage_category_dict") |
||||
|
public class IcCoverageCategoryDictEntity extends BaseEpmetEntity { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* default;或者customerId |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 类别key |
||||
|
*/ |
||||
|
private String categoryKey; |
||||
|
|
||||
|
/** |
||||
|
* 名称 |
||||
|
*/ |
||||
|
private String categoryName; |
||||
|
|
||||
|
/** |
||||
|
* 所属场所类型; |
||||
|
社区自组织:community_org; |
||||
|
优势资源:superior_resource; |
||||
|
城市管理:city_management; |
||||
|
重点危化企业:dangerous_chemicals; |
||||
|
公共服务:public_service |
||||
|
*/ |
||||
|
private String placeType; |
||||
|
|
||||
|
/** |
||||
|
* 所属五大图层:zhzl:综合治理图层;yjcl:应急处置图层;aqsc:安全生产图层;csgl:城市管理图层;ggfw:公共服务图层 |
||||
|
*/ |
||||
|
private String coverageType; |
||||
|
|
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
private Integer sort; |
||||
|
|
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
package com.epmet.dataaggre.service; |
||||
|
|
||||
|
import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 5大图层 |
||||
|
*/ |
||||
|
public interface CoverageService { |
||||
|
/** |
||||
|
* 图层,大屏数据分析,数据列表 |
||||
|
* @param coverageTypes 图层列表 |
||||
|
* @param categoryKeys 分类列表 |
||||
|
* @param search 搜索关键词 |
||||
|
* @param pageNo 页码 |
||||
|
* @param pageSize 页面大小 |
||||
|
* @return |
||||
|
*/ |
||||
|
List<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys, |
||||
|
String search, Integer pageNo, Integer pageSize, Boolean isPage); |
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
package com.epmet.dataaggre.service.epmetuser; |
||||
|
|
||||
|
import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; |
||||
|
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* IC居民 |
||||
|
*/ |
||||
|
public interface IcResiService { |
||||
|
|
||||
|
/** |
||||
|
* 5大图层,居民查询 |
||||
|
* @param categoryKey 居民类别 |
||||
|
* @param search 搜索关键词,姓名 |
||||
|
* @param pageNo |
||||
|
* @param pageSize |
||||
|
* @param isPage |
||||
|
* @return |
||||
|
*/ |
||||
|
List<IcResiUserEntity> listResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search, |
||||
|
Integer pageNo, Integer pageSize, Boolean isPage); |
||||
|
|
||||
|
/** |
||||
|
* 使用特殊人群类别查询居民列表 |
||||
|
* @param customerId |
||||
|
* @param queryPids |
||||
|
* @param categoryKey |
||||
|
* @param search |
||||
|
* @param pageNo |
||||
|
* @param pageSize |
||||
|
* @param isPage |
||||
|
* @return |
||||
|
*/ |
||||
|
List<IcResiInfoResultDTO> listSpecialResisBySpecialType(String customerId, String agencyId, String queryPids, String categoryKey, String search, |
||||
|
Integer pageNo, Integer pageSize, Boolean isPage); |
||||
|
} |
@ -0,0 +1,65 @@ |
|||||
|
package com.epmet.dataaggre.service.epmetuser.impl; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
||||
|
import com.epmet.dataaggre.constant.DataSourceConstant; |
||||
|
import com.epmet.dataaggre.dao.epmetuser.IcResiUserDao; |
||||
|
import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; |
||||
|
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; |
||||
|
import com.epmet.dataaggre.service.epmetuser.IcResiService; |
||||
|
import com.github.pagehelper.PageHelper; |
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@DataSource(value = DataSourceConstant.EPMET_USER) |
||||
|
@Service |
||||
|
public class IcResiServiceImpl implements IcResiService { |
||||
|
|
||||
|
@Autowired |
||||
|
private IcResiUserDao resiUserDao; |
||||
|
|
||||
|
/** |
||||
|
* 5大图层,居民查询 |
||||
|
* @param categoryKey 居民类别 |
||||
|
* @param search 搜索关键词,姓名 |
||||
|
* @param pageNo |
||||
|
* @param pageSize |
||||
|
* @param isPage |
||||
|
* @return |
||||
|
*/ |
||||
|
@Override |
||||
|
public List<IcResiUserEntity> listResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search, |
||||
|
Integer pageNo, Integer pageSize, Boolean isPage) { |
||||
|
if (isPage) { |
||||
|
PageHelper.startPage(pageNo, pageSize); |
||||
|
} |
||||
|
|
||||
|
LambdaQueryWrapper<IcResiUserEntity> query = new LambdaQueryWrapper<>(); |
||||
|
query.eq(IcResiUserEntity::getCustomerId, customerId); |
||||
|
//query.likeRight(IcResiUserEntity::getPids, queryPids);
|
||||
|
query.and(q -> q.eq(IcResiUserEntity::getAgencyId, agencyId).or().likeRight(IcResiUserEntity::getPids, queryPids)); |
||||
|
if ("resi_xfry".equals(categoryKey)) { |
||||
|
// 信访人员
|
||||
|
query.eq(IcResiUserEntity::getIsXfry, true); |
||||
|
} else if ("resi_snry".equals(categoryKey)) { |
||||
|
query.eq(IcResiUserEntity::getIsSn, true); |
||||
|
} |
||||
|
|
||||
|
if (StringUtils.isNotBlank(search)) { |
||||
|
query.like(IcResiUserEntity::getName, search); |
||||
|
} |
||||
|
return resiUserDao.selectList(query); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<IcResiInfoResultDTO> listSpecialResisBySpecialType(String customerId, String agencyId, String queryPids, String categoryKey, String search, |
||||
|
Integer pageNo, Integer pageSize, Boolean isPage) { |
||||
|
if (isPage) { |
||||
|
PageHelper.startPage(pageNo, pageSize); |
||||
|
} |
||||
|
return resiUserDao.listSpecialResisBySpecialType(customerId, agencyId, queryPids, categoryKey, search); |
||||
|
} |
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
package com.epmet.dataaggre.service.govorg; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
import java.util.Set; |
||||
|
|
||||
|
/** |
||||
|
* org库的图层service |
||||
|
*/ |
||||
|
public interface GovOrgCoverageService { |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
class CategoryCoverageMapping { |
||||
|
private String placeType; |
||||
|
private String coverageType; |
||||
|
private String categoryKey; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 根据categoryKeys分类key列表,查询他们和图层时间的关系,映射为一个map |
||||
|
* @param categoryKeys |
||||
|
* @return |
||||
|
*/ |
||||
|
Map<String, List<CategoryCoverageMapping>> getMappingRelationByCategoryKey(List<String> categoryKeys); |
||||
|
|
||||
|
/** |
||||
|
* 根据coverageTypes分类key列表,查询他们和图层时间的关系,映射为一个map |
||||
|
* @param coverageTypes |
||||
|
* @return |
||||
|
*/ |
||||
|
Map<String, List<CategoryCoverageMapping>> getMappingRelationByCoverageType(List<String> coverageTypes); |
||||
|
} |
@ -0,0 +1,66 @@ |
|||||
|
package com.epmet.dataaggre.service.govorg.impl; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
||||
|
import com.epmet.dataaggre.constant.DataSourceConstant; |
||||
|
import com.epmet.dataaggre.dao.govorg.IcCoverageCategoryDictDao; |
||||
|
import com.epmet.dataaggre.entity.govorg.IcCoverageCategoryDictEntity; |
||||
|
import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.*; |
||||
|
|
||||
|
/** |
||||
|
* org 图层service |
||||
|
*/ |
||||
|
@Service |
||||
|
@DataSource(value = DataSourceConstant.GOV_ORG) |
||||
|
public class GovOrgCoverageServiceImpl implements GovOrgCoverageService { |
||||
|
|
||||
|
@Autowired |
||||
|
private IcCoverageCategoryDictDao coverageCategoryDictDao; |
||||
|
|
||||
|
/** |
||||
|
* 根据categoryKeys分类key列表,查询他们和图层时间的关系,映射为一个map |
||||
|
* @param categoryKeys |
||||
|
* @return |
||||
|
*/ |
||||
|
public Map<String, List<CategoryCoverageMapping>> getMappingRelationByCategoryKey(List<String> categoryKeys) { |
||||
|
LambdaQueryWrapper<IcCoverageCategoryDictEntity> query = new LambdaQueryWrapper<>(); |
||||
|
query.in(IcCoverageCategoryDictEntity::getCategoryKey, categoryKeys); |
||||
|
|
||||
|
List<IcCoverageCategoryDictEntity> dict = coverageCategoryDictDao.selectList(query); |
||||
|
return map(dict); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Map<String, List<CategoryCoverageMapping>> getMappingRelationByCoverageType(List<String> coverageTypes) { |
||||
|
LambdaQueryWrapper<IcCoverageCategoryDictEntity> query = new LambdaQueryWrapper<>(); |
||||
|
query.in(IcCoverageCategoryDictEntity::getCoverageType, coverageTypes); |
||||
|
|
||||
|
List<IcCoverageCategoryDictEntity> dict = coverageCategoryDictDao.selectList(query); |
||||
|
return map(dict); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 执行映射 |
||||
|
* @param dict |
||||
|
* @return |
||||
|
*/ |
||||
|
public Map<String, List<CategoryCoverageMapping>> map(List<IcCoverageCategoryDictEntity> dict) { |
||||
|
HashMap<String, List<CategoryCoverageMapping>> mapping = new HashMap<>(); |
||||
|
for (IcCoverageCategoryDictEntity item : dict) { |
||||
|
String coverageType = item.getCoverageType(); |
||||
|
CategoryCoverageMapping m = new CategoryCoverageMapping(item.getPlaceType(), coverageType, item.getCategoryKey()); |
||||
|
if (mapping.containsKey(coverageType)) { |
||||
|
mapping.get(coverageType).add(m); |
||||
|
} else { |
||||
|
List<CategoryCoverageMapping> ms = new ArrayList<>(); |
||||
|
ms.add(m); |
||||
|
mapping.put(coverageType, ms); |
||||
|
} |
||||
|
} |
||||
|
return mapping; |
||||
|
} |
||||
|
} |
@ -0,0 +1,173 @@ |
|||||
|
package com.epmet.dataaggre.service.impl; |
||||
|
|
||||
|
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; |
||||
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
||||
|
import com.epmet.commons.tools.exception.EpmetException; |
||||
|
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
||||
|
import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; |
||||
|
import com.epmet.commons.tools.utils.EpmetRequestHolder; |
||||
|
import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO; |
||||
|
import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; |
||||
|
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity; |
||||
|
import com.epmet.dataaggre.service.CoverageService; |
||||
|
import com.epmet.dataaggre.service.epmetuser.IcResiService; |
||||
|
import com.epmet.dataaggre.service.epmetuser.impl.IcResiServiceImpl; |
||||
|
import com.epmet.dataaggre.service.govorg.GovOrgCoverageService; |
||||
|
import com.epmet.dataaggre.service.govorg.GovOrgService; |
||||
|
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 java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
@Slf4j |
||||
|
@Service |
||||
|
public class CoverageServiceImpl implements CoverageService { |
||||
|
|
||||
|
@Autowired |
||||
|
private GovOrgCoverageService orgCoverageService; |
||||
|
|
||||
|
@Autowired |
||||
|
private GovOrgService govOrgService; |
||||
|
|
||||
|
@Autowired |
||||
|
private IcResiService icResiService; |
||||
|
|
||||
|
/** |
||||
|
* 场所类型常量 |
||||
|
*/ |
||||
|
public static final String PLACE_TYPE_RESI = "resi"; |
||||
|
public static final String PLACE_TYPE_SPECIAL_RESI = "special_resi"; |
||||
|
public static final String PLACE_TYPE_EVENT= "event"; |
||||
|
public static final String PLACE_TYPE_CITY_MANAGEMENT= "city_management"; |
||||
|
public static final String PLACE_TYPE_COMUNITY_ORG= "community_org"; |
||||
|
public static final String PLACE_TYPE_DANGEROUS_CHEMICALS= "dangerous_chemicals"; |
||||
|
public static final String PLACE_TYPE_ENTERPRISE_PARTROL= "enterprise_partrol"; |
||||
|
public static final String PLACE_TYPE_GROUP_RENT= "group_rent"; |
||||
|
public static final String PLACE_TYPE_PUBLIC_SERVICE= "public_service"; |
||||
|
public static final String PLACE_TYPE_SUPERIOR_RESOURCE= "superior_resource"; |
||||
|
|
||||
|
/** 优势资源 **/ |
||||
|
public static final String PLACE_TYPE_YSZY= "yszy"; |
||||
|
|
||||
|
/** |
||||
|
* 图层,大屏数据分析,数据列表 |
||||
|
* @param coverageTypes 图层列表 |
||||
|
* @param categoryKeys 分类列表 |
||||
|
* @param search 搜索关键词 |
||||
|
* @param pageNo 页码 |
||||
|
* @param pageSize 页面大小 |
||||
|
* @return |
||||
|
*/ |
||||
|
@Override |
||||
|
public List<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys, |
||||
|
String search, Integer pageNo, Integer pageSize, Boolean isPage) { |
||||
|
|
||||
|
String customerId = EpmetRequestHolder.getLoginUserCustomerId(); |
||||
|
String staffId = EpmetRequestHolder.getLoginUserId(); |
||||
|
|
||||
|
// 1.根据categoryKeys分类key列表,查询他们和图层时间的关系,映射为一个map
|
||||
|
Map<String, List<GovOrgCoverageService.CategoryCoverageMapping>> mapping; |
||||
|
if (CollectionUtils.isNotEmpty(categoryKeys)) { |
||||
|
// 有分类keys,使用分类keys查询,使用coverageTypes分组
|
||||
|
mapping = orgCoverageService.getMappingRelationByCategoryKey(categoryKeys); |
||||
|
} else { |
||||
|
// 没有分类keys,使用coverageTypes直接查询
|
||||
|
mapping = orgCoverageService.getMappingRelationByCoverageType(coverageTypes); |
||||
|
} |
||||
|
|
||||
|
// 2.循环coverageTypes,使用key到map中查询(为了顺序),得到categoryKeys列表之后,根据实际情况做相应的查询
|
||||
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, staffId); |
||||
|
|
||||
|
if (staffInfo == null) { |
||||
|
String msg = "未找到当前登录人信息。staffId:" + EpmetRequestHolder.getLoginUserId(); |
||||
|
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), msg, msg); |
||||
|
} |
||||
|
|
||||
|
String staffPids = getStaffPidsFromStaffInfo(staffInfo); |
||||
|
String agencyId = staffInfo.getAgencyId(); |
||||
|
|
||||
|
List<CoverageAnalisisDataListResultDTO> rls = new ArrayList<>(); |
||||
|
for (String coverageType : coverageTypes) { |
||||
|
List<GovOrgCoverageService.CategoryCoverageMapping> ccm = mapping.get(coverageType); |
||||
|
if (CollectionUtils.isEmpty(ccm)) { |
||||
|
continue; |
||||
|
} |
||||
|
for (GovOrgCoverageService.CategoryCoverageMapping e : ccm) { |
||||
|
// 执行查询
|
||||
|
List<CoverageAnalisisDataListResultDTO> rl = doDataListSearch(EpmetRequestHolder.getLoginUserCustomerId(), agencyId, staffPids, e.getPlaceType(), e.getCategoryKey(), search, pageNo, pageSize, isPage); |
||||
|
rls.addAll(rl); |
||||
|
} |
||||
|
} |
||||
|
return rls; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 从staff信息中获取工作人员的PIDS |
||||
|
* @param staffInfo |
||||
|
* @return |
||||
|
*/ |
||||
|
private String getStaffPidsFromStaffInfo(CustomerStaffInfoCacheResult staffInfo) { |
||||
|
String agencyId = staffInfo.getAgencyId(); |
||||
|
String agencyPIds = staffInfo.getAgencyPIds(); |
||||
|
if (StringUtils.isNotBlank(agencyPIds) && !"0".equals(agencyPIds)) { |
||||
|
return agencyPIds.concat(":").concat(agencyId); |
||||
|
} else { |
||||
|
return agencyId; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 执行数据查询 |
||||
|
* @param categoryKey |
||||
|
* @return |
||||
|
*/ |
||||
|
public List<CoverageAnalisisDataListResultDTO> doDataListSearch(String customerId, String agencyId, String agencyPids, String placeType, String categoryKey, String search, |
||||
|
Integer pageNo, Integer pageSize,Boolean isPage) { |
||||
|
|
||||
|
if (PLACE_TYPE_RESI.equals(placeType)) { |
||||
|
// 使用分类查询居民信息
|
||||
|
List<IcResiUserEntity> resiEntities = icResiService.listResisByCategories4Coverage(customerId, agencyId, agencyPids, categoryKey, search, pageNo, pageSize, isPage); |
||||
|
return resiEntities.stream().map(re -> { |
||||
|
// 使用楼栋的坐标补充居民的坐标信息
|
||||
|
BuildingInfoCache resiBuilding = getBuildingInfo(re.getId(), re.getBuildId()); |
||||
|
return new CoverageAnalisisDataListResultDTO(re.getId(), categoryKey, placeType, re.getName(), resiBuilding.getLatitude(), resiBuilding.getLongitude()); |
||||
|
}).collect(Collectors.toList()); |
||||
|
} else if (PLACE_TYPE_SPECIAL_RESI.equals(placeType)) { |
||||
|
// 特殊人群
|
||||
|
List<IcResiInfoResultDTO> resiInfos = icResiService.listSpecialResisBySpecialType(customerId, agencyId, agencyPids, categoryKey, search, pageNo, pageSize, isPage); |
||||
|
return resiInfos.stream().map(re -> { |
||||
|
BuildingInfoCache resiBuilding = getBuildingInfo(re.getId(), re.getBuildId()); |
||||
|
return new CoverageAnalisisDataListResultDTO(re.getId(), categoryKey, placeType, re.getName(), resiBuilding.getLatitude(), resiBuilding.getLongitude()); |
||||
|
}).collect(Collectors.toList()); |
||||
|
} else if (PLACE_TYPE_EVENT.equals(placeType)) { |
||||
|
// 难点痛点
|
||||
|
|
||||
|
|
||||
|
} else if (PLACE_TYPE_YSZY.equals(placeType)) { |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 楼栋信息 |
||||
|
* @param resiId |
||||
|
* @param buildingId |
||||
|
* @return |
||||
|
*/ |
||||
|
private BuildingInfoCache getBuildingInfo(String resiId, String buildingId) { |
||||
|
BuildingInfoCache resiBuilding = govOrgService.queryBuildingInfo(buildingId); |
||||
|
if (resiBuilding == null) { |
||||
|
log.warn("居民信息所属楼栋信息未找到。居民id:{},楼栋id:{}", resiId, buildingId); |
||||
|
} |
||||
|
return resiBuilding; |
||||
|
} |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
|
||||
|
<mapper namespace="com.epmet.dataaggre.dao.govorg.IcCoverageCategoryDictDao"> |
||||
|
|
||||
|
<resultMap type="com.epmet.dataaggre.entity.govorg.IcCoverageCategoryDictEntity" id="icCoverageCategoryDictMap"> |
||||
|
<result property="id" column="ID"/> |
||||
|
<result property="customerId" column="CUSTOMER_ID"/> |
||||
|
<result property="categoryKey" column="CATEGORY_KEY"/> |
||||
|
<result property="categoryName" column="CATEGORY_NAME"/> |
||||
|
<result property="placeType" column="PLACE_TYPE"/> |
||||
|
<result property="coverageType" column="COVERAGE_TYPE"/> |
||||
|
<result property="sort" column="SORT"/> |
||||
|
<result property="delFlag" column="DEL_FLAG"/> |
||||
|
<result property="revision" column="REVISION"/> |
||||
|
<result property="createdBy" column="CREATED_BY"/> |
||||
|
<result property="createdTime" column="CREATED_TIME"/> |
||||
|
<result property="updatedBy" column="UPDATED_BY"/> |
||||
|
<result property="updatedTime" column="UPDATED_TIME"/> |
||||
|
</resultMap> |
||||
|
|
||||
|
|
||||
|
</mapper> |
Loading…
Reference in new issue