|
|
@ -1,5 +1,6 @@ |
|
|
|
package com.epmet.opendata.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
@ -8,12 +9,20 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.annotation.LoginUser; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; |
|
|
|
import com.epmet.commons.tools.dto.result.OptionResultDTO; |
|
|
|
import com.epmet.commons.tools.enums.OrgTypeEnum; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
|
|
|
import com.epmet.commons.tools.security.dto.TokenDto; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.HttpClientManager; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.dto.CustomerGridDTO; |
|
|
|
import com.epmet.dto.form.GridOptionFormDTO; |
|
|
|
import com.epmet.dto.result.CustomerStaffGridResultDTO; |
|
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
|
import com.epmet.feign.GovOrgOpenFeignClient; |
|
|
|
import com.epmet.opendata.dao.CaResidentDao; |
|
|
|
import com.epmet.opendata.dto.ca.CaResidentDTO; |
|
|
|
import com.epmet.opendata.dto.constant.CaWghDataConstant; |
|
|
@ -35,6 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
@ -54,6 +64,9 @@ public class CaResidentServiceImpl extends BaseServiceImpl<CaResidentDao, CaResi |
|
|
|
@Autowired |
|
|
|
private EpmetUserOpenFeignClient openFeignClient; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private GovOrgOpenFeignClient govOrgOpenFeignClient; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<CaResidentDTO> page(Map<String, Object> params) { |
|
|
|
IPage<CaResidentEntity> page = baseDao.selectPage( |
|
|
@ -108,15 +121,39 @@ public class CaResidentServiceImpl extends BaseServiceImpl<CaResidentDao, CaResi |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<CaResidentResultDTO> getPage(CaResidentFormDTO dto) { |
|
|
|
// 获取组织id
|
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(dto.getCustomerId(), dto.getUserId()); |
|
|
|
String agencyId = staffInfo.getAgencyId(); |
|
|
|
// 根据组织id获取gridId网格id
|
|
|
|
GridOptionFormDTO gridOptionFormDTO = new GridOptionFormDTO(); |
|
|
|
gridOptionFormDTO.setAgencyId(agencyId); |
|
|
|
gridOptionFormDTO.setPurpose("query"); |
|
|
|
Result<List<OptionResultDTO>> gridOption = govOrgOpenFeignClient.getGridOption(gridOptionFormDTO); |
|
|
|
List<String> gridList = new ArrayList<>(); |
|
|
|
gridList.add(agencyId); |
|
|
|
this.packGirdArray(gridOption.getData(), gridList); |
|
|
|
|
|
|
|
// 分页查询
|
|
|
|
PageHelper.startPage(dto.getPage(), dto.getLimit()); |
|
|
|
List<CaResidentResultDTO> result = baseDao.getPage(dto.getResidentName(), |
|
|
|
dto.getIdCard(), |
|
|
|
dto.getTelephone(), |
|
|
|
dto.getGridId()); |
|
|
|
dto.getGridId(), |
|
|
|
gridList); |
|
|
|
PageInfo<CaResidentResultDTO> info = new PageInfo<>(result); |
|
|
|
return new PageData<>(result, info.getTotal()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void packGirdArray(List<OptionResultDTO> options, List<String> gridList) { |
|
|
|
if (CollUtil.isNotEmpty(options)) { |
|
|
|
for (OptionResultDTO option : options) { |
|
|
|
gridList.add(option.getValue()); |
|
|
|
packGirdArray(option.getChildren(), gridList); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 人口基本信息调用ruoyi接口存储数据 |
|
|
|
* |
|
|
|