Browse Source

房屋缓存

dev
zxc 4 years ago
parent
commit
cbe0ff7d87
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  2. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java
  3. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  4. 35
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java
  5. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  6. 24
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -636,4 +636,8 @@ public class RedisKeys {
public static String getOrgTreeCacheKey(String agencyId) {
return rootPrefix.concat("org:temp:orgtree").concat(agencyId);
}
public static String getHouseInfoCacheKey(String houseId){
return rootPrefix.concat("house:").concat(houseId);
}
}

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java

@ -71,4 +71,9 @@ public class HouseInfoDTO implements Serializable {
* 楼的纬度
*/
private String buildingLatitude;
/**
* 小区名+楼栋名+单元名+房屋名
*/
private String allName;
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java

@ -59,6 +59,8 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
List<HouseInfoDTO> queryHouseInfo(@Param("houseIdList") Set<String> houseIdList);
HouseInfoDTO queryHouseInfoByHouseId(@Param("houseId") String houseId);
/**
* @Description 查询房屋信息
* @param idCard

35
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java

@ -17,9 +17,17 @@
package com.epmet.redis;
import cn.hutool.core.bean.BeanUtil;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcHouseDao;
import com.epmet.dto.result.HouseInfoDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Map;
/**
* 房屋信息
@ -32,6 +40,9 @@ public class IcHouseRedis {
@Autowired
private RedisUtils redisUtils;
@Autowired
private IcHouseDao icHouseDao;
public void delete(Object[] ids) {
}
@ -44,4 +55,28 @@ public class IcHouseRedis {
return null;
}
/**
* @Description 往缓存放房屋信息
* @param houseId
* @param map
* @author zxc
* @date 2022/1/18 3:55 下午
*/
public void setHouseInfo(String houseId, Map<String, Object> map){
String key = RedisKeys.getHouseInfoCacheKey(houseId);
redisUtils.hMSet(key, map);
}
public HouseInfoDTO getHouseInfo(String houseId){
String key = RedisKeys.getHouseInfoCacheKey(houseId);
Map<String, Object> map = redisUtils.hGetAll(key);
if (!CollectionUtils.isEmpty(map)){
return ConvertUtils.mapToEntity(map,HouseInfoDTO.class);
}
HouseInfoDTO houseInfo = icHouseDao.queryHouseInfoByHouseId(houseId);
Map<String, Object> result = BeanUtil.beanToMap(houseInfo, false, true);
setHouseInfo(houseId,result);
return houseInfo;
}
}

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -1,6 +1,7 @@
package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.epmet.commons.tools.constant.NumConstant;
@ -31,6 +32,7 @@ import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.enums.HouseTypeEnums;
import com.epmet.excel.IcHouseExcel;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.redis.IcHouseRedis;
import com.epmet.service.HouseService;
import com.epmet.service.IcBuildingService;
import com.epmet.service.IcBuildingUnitService;
@ -69,6 +71,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
private IcHouseDao icHouseDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private IcHouseRedis icHouseRedis;
@Override
@Transactional(rollbackFor = Exception.class)
@ -313,6 +317,10 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
if(org.apache.commons.collections4.CollectionUtils.isEmpty(houseIdList)){
return new ArrayList<>();
}
return icHouseDao.queryHouseInfo(houseIdList);
List<HouseInfoDTO> result = new ArrayList<>();
houseIdList.forEach(h -> {
result.add(icHouseRedis.getHouseInfo(h));
});
return result;
}
}

24
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -300,4 +300,28 @@
and ih.id !=#{houseId}
</if>
</select>
<select id="queryHouseInfoByHouseId" resultType="com.epmet.dto.result.HouseInfoDTO">
SELECT
ih.ID as homeId,
IFNULL(n.ADDRESS,'') as neighborAddress,
ih.NEIGHBOR_HOOD_ID as neighborHoodId,
IFNULL(n.NEIGHBOR_HOOD_NAME,'') as neighborHoodName,
ih.BUILDING_ID as buildingId,
IFNULL(ib.BUILDING_NAME,'') as buildingName,
ih.BUILDING_UNIT_ID as buildingUnitId,
IFNULL(u.UNIT_NAME,'') as unitName,
IFNULL(ih.DOOR_NAME,'') as doorName,
ih.house_type,
IFNULL(ih.HOUSE_NAME,'') as HOUSE_NAME,
IFNULL(ib.LONGITUDE,'') as buildingLongitude,
IFNULL(ib.LATITUDE,'') as buildingLatitude,
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 )
left JOIN ic_building ib ON ( ih.BUILDING_ID = ib.id )
left JOIN ic_building_unit u ON ( ih.BUILDING_UNIT_ID = u.ID )
WHERE
ih.DEL_FLAG = '0'
AND ih.ID = #{houseId}
</select>
</mapper>

Loading…
Cancel
Save