|
@ -190,6 +190,97 @@ public class UserBaseInfoRedis { |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Description 缓存中获取用户基本信息 |
|
|
|
|
|
* @param userId |
|
|
|
|
|
* @return |
|
|
|
|
|
* @author wangc |
|
|
|
|
|
* @date 2020.07.23 14:58 |
|
|
|
|
|
**/ |
|
|
|
|
|
public UserBaseInfoResultDTO getUserInfo(String userId,String customerId){ |
|
|
|
|
|
if(StringUtils.isNotBlank(userId)){ |
|
|
|
|
|
//获取居民缓存key
|
|
|
|
|
|
Map<String,Object> map = redisUtils.hGetAll(UserRedisKeys.getResiUserKey(userId)); |
|
|
|
|
|
if(null != map && !map.isEmpty()) { |
|
|
|
|
|
//缓存中有数据,直接返回
|
|
|
|
|
|
return BeanUtil.mapToBean(map, UserBaseInfoResultDTO.class, true); |
|
|
|
|
|
} |
|
|
|
|
|
//缓存中没有数据,先查数据库,放入缓存后再返回
|
|
|
|
|
|
UserBaseInfoResultDTO baseInfo = userBaseInfoDao.selectListByUserIdList(userId); |
|
|
|
|
|
|
|
|
|
|
|
if(null != baseInfo && StringUtils.isNotBlank(baseInfo.getId())){ |
|
|
|
|
|
|
|
|
|
|
|
//如果没有首次注册网格,则没有网格名称(xx机关-xx网格)、显示昵称(xx网格-x先生/女士)
|
|
|
|
|
|
RegisterRelationEntity relation = registerRelationDao.selectRegisteredGridIdByUserIdAndCustomerId(userId,customerId); |
|
|
|
|
|
if(null != relation && StringUtils.isNotBlank(relation.getGridId())){ |
|
|
|
|
|
baseInfo.setCustomerId(relation.getCustomerId()); |
|
|
|
|
|
BelongGridNameFormDTO gridParam = new BelongGridNameFormDTO(); |
|
|
|
|
|
gridParam.setGridId(relation.getGridId()); |
|
|
|
|
|
baseInfo.setRegisteredGridId(relation.getGridId()); |
|
|
|
|
|
Result<BelongGridNameResultDTO> gridResult = |
|
|
|
|
|
govOrgOpenFeignClient.getGridNameByGridId(gridParam); |
|
|
|
|
|
if(gridResult.success() && null != gridResult.getData() |
|
|
|
|
|
&& StringUtils.isNotBlank(gridResult.getData().getBelongsGridName())){ |
|
|
|
|
|
String gridFullName = gridResult.getData().getBelongsGridName(); |
|
|
|
|
|
baseInfo.setRegisteredGridName(gridFullName); |
|
|
|
|
|
StringBuffer buffer = new StringBuffer(gridFullName.split(ModuleConstant.DASH)[NumConstant.ONE]).append(ModuleConstant.DASH).append(baseInfo.getSurname()); |
|
|
|
|
|
switch (baseInfo.getGender()) { |
|
|
|
|
|
case NumConstant.ONE_STR: |
|
|
|
|
|
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_MALE); |
|
|
|
|
|
break; |
|
|
|
|
|
case NumConstant.TWO_STR: |
|
|
|
|
|
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_FEMALE); |
|
|
|
|
|
break; |
|
|
|
|
|
default: |
|
|
|
|
|
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_GENDER_UNKNOWN); |
|
|
|
|
|
} |
|
|
|
|
|
baseInfo.setShowName(buffer.toString()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else{ |
|
|
|
|
|
//如果没有居民注册记录,说明当前用户是陌生人,需要从陌生人网格访问列表中查询所属的客户Id
|
|
|
|
|
|
LatestGridInfoResultDTO gridLatest = |
|
|
|
|
|
gridLatestDao.selectLatestGridInfoByUserId(userId); |
|
|
|
|
|
if(null != gridLatest){ |
|
|
|
|
|
baseInfo.setCustomerId(gridLatest.getCustomerId()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
set(baseInfo); |
|
|
|
|
|
return baseInfo; |
|
|
|
|
|
}else{ |
|
|
|
|
|
//如果没有,说明这里是陌生人
|
|
|
|
|
|
//陌生人不放入缓存,也不更新用户基础信息表
|
|
|
|
|
|
baseInfo = new UserBaseInfoResultDTO(); |
|
|
|
|
|
baseInfo.setUserId(userId); |
|
|
|
|
|
List<UserWechatEntity> wechatInfo = userWechatDao.selectByUserId(userId); |
|
|
|
|
|
if(null != wechatInfo && !wechatInfo.isEmpty()){ |
|
|
|
|
|
baseInfo.setNickname(wechatInfo.get(NumConstant.ZERO).getNickname()); |
|
|
|
|
|
if(StringUtils.isBlank(baseInfo.getNickname())){ |
|
|
|
|
|
baseInfo.setNickname(ModuleConstant.EMPTY_STR); |
|
|
|
|
|
} |
|
|
|
|
|
}else{ |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
RegisterRelationEntity relation = registerRelationDao.selectRegisteredGridIdByUserId(userId); |
|
|
|
|
|
if(null != relation && StringUtils.isNotBlank(relation.getGridId())){ |
|
|
|
|
|
baseInfo.setCustomerId(relation.getCustomerId()); |
|
|
|
|
|
}else{ |
|
|
|
|
|
LatestGridInfoResultDTO gridLatest = |
|
|
|
|
|
gridLatestDao.selectLatestGridInfoByUserId(userId); |
|
|
|
|
|
if(null != gridLatest){ |
|
|
|
|
|
baseInfo.setCustomerId(gridLatest.getCustomerId()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return baseInfo; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @Description 更新缓存 |
|
|
* @Description 更新缓存 |
|
|
* @param entity |
|
|
* @param entity |
|
|