Browse Source

房主相关

master
zhaoqifeng 3 years ago
parent
commit
74ab10c34b
  1. 1
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInfoFormDTO.java
  2. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoResultDTO.java
  3. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  4. 14
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  5. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  6. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java
  7. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java
  8. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  9. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java
  10. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserConfirmSubmitDTO.java
  11. 8
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HomeInfoResultDTO.java
  12. 17
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RegisterAndBindResultDTO.java
  13. 39
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java
  14. 25
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/MyHomeService.java
  15. 53
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  16. 169
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java
  17. 3
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

1
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInfoFormDTO.java

@ -16,4 +16,5 @@ public class HouseInfoFormDTO implements Serializable {
@NotNull(message = "房屋编码不可为空")
private String houseCode;
private String userId;
}

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoResultDTO.java

@ -108,4 +108,8 @@ public class HouseInfoResultDTO implements Serializable {
* 房屋可编辑编码
*/
private String coding;
/**
* 是否是房主
*/
private String isOwner = "0";
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -695,4 +695,14 @@ public interface GovOrgOpenFeignClient {
*/
@PostMapping("/gov/org/coverage/dictinit/{customerId}")
Result dictInit(@PathVariable(value = "customerId") String customerId);
/**
* 获取房主名下的房屋
* @Param formDTO
* @Return {@link Result< List<HouseInfoDTO>>}
* @Author zhaoqifeng
* @Date 2022/7/20 9:52
*/
@GetMapping("/gov/org/ichouse/getOwnerHouseList")
Result<List<HouseInfoDTO>> getOwnerHouseList(@RequestBody IcHouseDTO formDTO);
}

14
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -445,4 +445,18 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "dictInit", customerId);
}
/**
* 获取房主名下的房屋
*
* @param formDTO
* @Param formDTO
* @Return {@link Result< List<HouseInfoDTO>>}
* @Author zhaoqifeng
* @Date 2022/7/20 9:52
*/
@Override
public Result<List<HouseInfoDTO>> getOwnerHouseList(IcHouseDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getOwnerHouseList", formDTO);
}
}

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -569,7 +569,8 @@ public class HouseController implements ResultDataResolver {
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("getHomeInfoByHouseCode")
public Result getHomeInfoByHouseCode(@RequestBody HouseInfoFormDTO dto) {
public Result getHomeInfoByHouseCode(@LoginUser TokenDto tokenDto, @RequestBody HouseInfoFormDTO dto) {
dto.setUserId(tokenDto.getUserId());
//效验数据
ValidatorUtils.validateEntity(dto);
return houseService.getHomeInfoByHouseCode(dto);

15
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java

@ -24,6 +24,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.result.HouseAgencyInfoResultDTO;
import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.HouseListResultDTO;
import com.epmet.dto.result.HousesNameResultDTO;
import com.epmet.service.IcHouseService;
@ -121,4 +122,18 @@ public class IcHouseController {
public Result<Integer> updateIcHouseResiNumber(@RequestBody List<Map<String,Object>> paramList){
return new Result<Integer>().ok(icHouseService.updateIcHouseResiNumber(paramList));
}
/**
* 获取房主名下的房屋
*
* @Param idCards
* @Return {@link Result< List< HouseInfoDTO>>}
* @Author zhaoqifeng
* @Date 2022/7/19 17:39
*/
@PostMapping("getOwnerHouseList")
public Result<List<HouseInfoDTO>> getOwnerHouseList(@RequestBody IcHouseDTO formDTO){
return new Result<List<HouseInfoDTO>>().ok(icHouseService.getOwnerHouseList(formDTO));
}
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java

@ -7,6 +7,7 @@ import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.result.HouseAgencyInfoResultDTO;
import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.HouseListResultDTO;
import com.epmet.dto.result.HousesNameResultDTO;
import com.epmet.entity.IcHouseEntity;
@ -119,4 +120,14 @@ public interface IcHouseService extends BaseService<IcHouseEntity> {
* @return
*/
Integer updateIcHouseResiNumber(List<Map<String, Object>> paramList);
/**
* 获取房主名下的房屋
*
* @Param formDTO
* @Return {@link List< HouseInfoDTO>}
* @Author zhaoqifeng
* @Date 2022/7/19 17:41
*/
List<HouseInfoDTO> getOwnerHouseList(IcHouseDTO formDTO);
}

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

@ -20,10 +20,12 @@ import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerResiUserRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.*;
import com.epmet.constant.CustomerGridConstant;
@ -1137,6 +1139,12 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
house.setHouseTypeName(HouseTypeEnums.getTypeValue(house.getHouseType()));
house.setRentName(HouseRentFlagEnums.getTypeValue(house.getRentFlag()));
house.setPurposeName(HousePurposeEnums.getTypeValue(house.getPurpose()));
ResiUserInfoCache userInfo = CustomerResiUserRedis.getUserBaseInfo(dto.getUserId());
if (null != userInfo) {
if (StringUtils.equals(house.getOwnerIdCard(), userInfo.getIdNum())) {
house.setIsOwner(NumConstant.ONE_STR);
}
}
return new Result().ok(house);
}

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java

@ -22,6 +22,7 @@ import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.result.HouseAgencyInfoResultDTO;
import com.epmet.dto.result.HomeInfoResultDTO;
import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.HouseListResultDTO;
import com.epmet.dto.result.HousesNameResultDTO;
@ -310,4 +311,25 @@ public class IcHouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntit
log.debug("updateIcHouseResiNumber effectRow:{}", effects.intValue());
return effects.intValue();
}
/**
* 获取房主名下的房屋
*
* @param formDTO
* @Param formDTO
* @Return {@link List< HomeInfoResultDTO >}
* @Author zhaoqifeng
* @Date 2022/7/19 17:41
*/
@Override
public List<HouseInfoDTO> getOwnerHouseList(IcHouseDTO formDTO) {
LambdaQueryWrapper<IcHouseEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcHouseEntity::getCustomerId, formDTO.getCustomerId());
wrapper.eq(IcHouseEntity::getOwnerIdCard, formDTO.getOwnerIdCard());
List<IcHouseEntity> list = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> icHouseRedis.getHouseInfo(item.getId(), item.getCustomerId())).collect(Collectors.toList());
}
}

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserConfirmSubmitDTO.java

@ -210,5 +210,5 @@ public class IcResiUserConfirmSubmitDTO implements Serializable {
private String operationDescribe;
private String houseCode;
private Boolean isOwner = false;
}

8
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HomeInfoResultDTO.java

@ -20,4 +20,12 @@ public class HomeInfoResultDTO implements Serializable {
private String houseName;
private String houseCode;
private String qrCodeUrl;
/**
* 是否是房主
*/
private String isOwner = "0";
/**
* 房主身份证
*/
private String ownerIdCard;
}

17
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RegisterAndBindResultDTO.java

@ -0,0 +1,17 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/7/20 17:13
*/
@Data
public class RegisterAndBindResultDTO implements Serializable {
private static final long serialVersionUID = 718455504517985543L;
private String isOwner = "0";
private String isDiff = "0";
}

39
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java

@ -12,10 +12,7 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcResiUserConfirmDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.ConfirmListResultDTO;
import com.epmet.dto.result.HomeInfoResultDTO;
import com.epmet.dto.result.HomeUserBriefResultDTO;
import com.epmet.dto.result.MoveOutDetailResultDTO;
import com.epmet.dto.result.*;
import com.epmet.service.IcResiUserConfirmService;
import com.epmet.service.IcResiUserService;
import com.epmet.service.MyHomeService;
@ -135,11 +132,10 @@ public class MyHomeController {
* @Date 2022/6/1 10:26
*/
@PostMapping("registerAndBind")
public Result registerAndBind(@LoginUser TokenDto tokenDto, @RequestBody RegisterAndBindFormDTO formDTO) {
public Result<RegisterAndBindResultDTO> registerAndBind(@LoginUser TokenDto tokenDto, @RequestBody RegisterAndBindFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
myHomeService.registerAndBind(formDTO);
return new Result();
return new Result<RegisterAndBindResultDTO>().ok(myHomeService.registerAndBind(formDTO));
}
@PostMapping("homeInfo")
@ -200,4 +196,33 @@ public class MyHomeController {
return new Result();
}
/**
* 获取房主名下的房屋列表
*
* @Param tokenDto
* @Return {@link Result< HomeInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/19 16:46
*/
@PostMapping("getOwnerHouseList")
public Result<List<HomeInfoResultDTO>> getOwnerHouseList(@LoginUser TokenDto tokenDto) {
List<HomeInfoResultDTO> result = myHomeService.getOwnerHouseList(tokenDto);
return new Result<List<HomeInfoResultDTO>>().ok(result);
}
/**
* 变更绑定的房屋
*
* @Param tokenDto
* @Param formDTO
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2022/7/20 17:28
*/
@PostMapping("changeHome")
public Result changeHome(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserConfirmSubmitDTO formDTO) {
myHomeService.changeHome(tokenDto, formDTO);
return new Result();
}
}

25
epmet-user/epmet-user-server/src/main/java/com/epmet/service/MyHomeService.java

@ -1,9 +1,11 @@
package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.IcResiUserConfirmSubmitDTO;
import com.epmet.dto.form.RegisterAndBindFormDTO;
import com.epmet.dto.result.HomeInfoResultDTO;
import com.epmet.dto.result.HomeUserBriefResultDTO;
import com.epmet.dto.result.RegisterAndBindResultDTO;
import java.util.List;
@ -21,7 +23,7 @@ public interface MyHomeService {
* @Author zhaoqifeng
* @Date 2022/6/1 16:33
*/
void registerAndBind(RegisterAndBindFormDTO formDTO);
RegisterAndBindResultDTO registerAndBind(RegisterAndBindFormDTO formDTO);
/**
* 获取用户绑定的房屋信息
@ -43,4 +45,25 @@ public interface MyHomeService {
* @date 2022/6/1/0001 16:12
*/
List<HomeUserBriefResultDTO> selectListHomeMember(String houseCode, String customerId);
/**
* 获取房主名下的房屋列表
*
* @Param tokenDto
* @Return {@link List< HomeInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/19 16:48
*/
List<HomeInfoResultDTO> getOwnerHouseList(TokenDto tokenDto);
/**
* 变更绑定的房屋
*
* @Param tokenDto
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2022/7/20 17:28
*/
void changeHome(TokenDto tokenDto, IcResiUserConfirmSubmitDTO formDTO);
}

53
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -41,10 +41,12 @@ import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerResiUserRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.*;
import com.epmet.constant.IcPlatformConstant;
@ -2419,9 +2421,56 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiUserEntity user = icResiUserDao.selectById(dto.getIcResiUserId());
IcResiUserDTO userDTO = baseDao.getResiUserByIdCard(dto.getIdCard(), user.getCustomerId());
String idCard = "";
ResiUserInfoCache resiUserInfo = CustomerResiUserRedis.getUserBaseInfo(tokenDto.getUserId());
if (null != resiUserInfo) {
idCard = resiUserInfo.getIdNum();
}
Result<IcHouseDTO> icHouseNewResult = govOrgOpenFeignClient.get(dto.getHomeId());
if (!icHouseNewResult.success() || null == icHouseNewResult.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败");
}
if (idCard.equals(icHouseNewResult.getData().getOwnerIdCard())) {
dto.setIsOwner(true);
}
if (null != userDTO && null != userDTO.getIdCard()) {
String errorMsg = "新增居民信息失败,身份证号已存在!";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
if (dto.getIsOwner()) {
//如果是房东,可以将其名下其他房屋的人员移到当前房屋
if (dto.getHomeId().equals(userDTO.getHomeId())) {
String errorMsg = "新增居民信息失败,身份证号已存在!";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
} else {
//判断房屋的房主是否同一人
Result<IcHouseDTO> icHouseResult = govOrgOpenFeignClient.get(userDTO.getHomeId());
if (!icHouseResult.success() || null == icHouseResult.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败");
}
if (StringUtils.equals(icHouseResult.getData().getOwnerIdCard(), icHouseNewResult.getData().getOwnerIdCard())) {
//走迁移逻辑
//这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
if (RelationshipEnum.SELF.getCode().equals(dto.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, user.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
}
}
return updateOldMemberInfo(user.getCustomerId(),dto);
} else {
String errorMsg = "您无权操作其他家庭的成员,如有问题请联系工作人员";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
}
} else {
String errorMsg = "新增居民信息失败,身份证号已存在!";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
}
//这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
if (RelationshipEnum.SELF.getCode().equals(dto.getYhzgx())) {

169
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java

@ -1,22 +1,22 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.IcResiUserConstant;
import com.epmet.dao.*;
import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.EnterGridFormDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.form.RegisterAndBindFormDTO;
import com.epmet.dto.result.HomeInfoResultDTO;
import com.epmet.dto.result.HomeUserBriefResultDTO;
import com.epmet.dto.result.ResiUserBaseInfoResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.IcResiUserEntity;
import com.epmet.entity.UserBaseInfoEntity;
import com.epmet.entity.UserResiInfoEntity;
@ -26,13 +26,16 @@ import com.epmet.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description
@ -63,6 +66,8 @@ public class MyHomeServiceImpl implements MyHomeService {
private RegisterRelationService registerRelationService;
@Resource
private UserResiRegisterVisitDao userResiRegisterVisitDao;
@Resource
IcUserTransferRecordService icUserTransferRecordService;
@Override
public List<HomeUserBriefResultDTO> selectListHomeMember(String houseCode, String customerId) {
@ -86,18 +91,42 @@ public class MyHomeServiceImpl implements MyHomeService {
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void registerAndBind(RegisterAndBindFormDTO formDTO) {
public RegisterAndBindResultDTO registerAndBind(RegisterAndBindFormDTO formDTO) {
RegisterAndBindResultDTO result = new RegisterAndBindResultDTO();
LambdaQueryWrapper<IcResiUserEntity> userWrapper = new LambdaQueryWrapper<>();
userWrapper.eq(IcResiUserEntity::getCustomerId, formDTO.getCustomerId());
userWrapper.eq(IcResiUserEntity::getIdCard, formDTO.getIdCard());
IcResiUserEntity icUser = icResiUserDao.selectOne(userWrapper);
if (null == icUser || !icUser.getHomeId().equals(formDTO.getHomeId())) {
//获取用户扫码的房屋
Result<IcHouseDTO> icHouseNewResult = govOrgOpenFeignClient.get(formDTO.getHomeId());
if (!icHouseNewResult.success() || null == icHouseNewResult.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败");
}
if (formDTO.getIdCard().equals(icHouseNewResult.getData().getOwnerIdCard())) {
//判断是否是房主
result.setIsOwner(NumConstant.ONE_STR);
}
if (null == icUser) {
throw new EpmetException(EpmetErrorCode.MISMATCH.getCode(),
"人员与房屋信息不匹配,请与工作人员联系。",
"人员与房屋信息不匹配,请与工作人员联系。");
} else if (!icUser.getHomeId().equals(formDTO.getHomeId())) {
//获取用户当前所在的房屋
Result<IcHouseDTO> icHouseResult = govOrgOpenFeignClient.get(icUser.getHomeId());
if (!icHouseResult.success() || null == icHouseResult.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败");
}
//判断两个房屋是否是一个房主
if (!StringUtils.equals(icHouseResult.getData().getOwnerIdCard(), icHouseNewResult.getData().getOwnerIdCard())) {
throw new EpmetException(EpmetErrorCode.MISMATCH.getCode(),
"人员与房屋信息不匹配,请与工作人员联系。",
"人员与房屋信息不匹配,请与工作人员联系。");
} else {
result.setIsDiff(NumConstant.ONE_STR);
}
}
//进入网格(entergrid)流程
EnterGridFormDTO userInfoParams = new EnterGridFormDTO();
userInfoParams.setUserId(formDTO.getUserId());
@ -151,6 +180,7 @@ public class MyHomeServiceImpl implements MyHomeService {
userResiInfoDTO.setApp("resi");
userResiInfoService.saveResiInfo(userResiInfoDTO);
}
return result;
}
/**
@ -165,20 +195,21 @@ public class MyHomeServiceImpl implements MyHomeService {
@Override
public HomeInfoResultDTO getHomeInfo(TokenDto tokenDto) {
HomeInfoResultDTO resultDto = new HomeInfoResultDTO();
//通过用户ID获取居民端用户信息
ResiUserBaseInfoResultDTO baseInfo = userBaseInfoDao.selecUserBaseInfoByUserId(tokenDto.getUserId());
if (null == baseInfo) {
return resultDto;
}
//通过居民身份证号获取居民信息
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getCustomerId, tokenDto.getCustomerId());
wrapper.eq(IcResiUserEntity::getIdCard, baseInfo.getIdNum());
IcResiUserEntity icUser = icResiUserDao.selectOne(wrapper);
if (null == icUser) {
return resultDto;
}
resultDto.setIcResiUserId(icUser.getId());
//通过房屋ID获取房屋信息
HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), icUser.getHomeId());
if (null == houseInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败");
@ -187,6 +218,122 @@ public class MyHomeServiceImpl implements MyHomeService {
resultDto.setHouseName(houseInfo.getAllName());
resultDto.setHouseCode(houseInfo.getHouseCode());
resultDto.setQrCodeUrl(houseInfo.getHouseQrcodeUrl());
//获取房屋房主信息,判断是否是房主
Result<IcHouseDTO> icHouseResult = govOrgOpenFeignClient.get(icUser.getHomeId());
if (!icHouseResult.success() || null == icHouseResult.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败");
}
if (icUser.getIdCard().equals(icHouseResult.getData().getOwnerIdCard())) {
resultDto.setIsOwner(NumConstant.ONE_STR);
} else {
resultDto.setIsOwner(NumConstant.ZERO_STR);
}
resultDto.setOwnerIdCard(icHouseResult.getData().getOwnerIdCard());
return resultDto;
}
/**
* 获取房主名下的房屋列表
*
* @param tokenDto
* @Param tokenDto
* @Return {@link List< HomeInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/19 16:48
*/
@Override
public List<HomeInfoResultDTO> getOwnerHouseList(TokenDto tokenDto) {
//通过用户ID获取居民端用户信息
ResiUserBaseInfoResultDTO baseInfo = userBaseInfoDao.selecUserBaseInfoByUserId(tokenDto.getUserId());
if (null == baseInfo) {
return Collections.emptyList();
}
IcHouseDTO dto = new IcHouseDTO();
dto.setCustomerId(tokenDto.getCustomerId());
dto.setOwnerIdCard(baseInfo.getIdNum());
Result<List<HouseInfoDTO>> houseResult = govOrgOpenFeignClient.getOwnerHouseList(dto);
if (!houseResult.success()) {
throw new EpmetException(houseResult.getCode(), houseResult.getMsg());
}
if (CollectionUtils.isEmpty(houseResult.getData())) {
return Collections.emptyList();
}
return houseResult.getData().stream().map(item -> {
HomeInfoResultDTO result = new HomeInfoResultDTO();
result.setHouseId(item.getHomeId());
result.setHouseName(item.getAllName());
result.setHouseCode(item.getHouseCode());
result.setQrCodeUrl(item.getHouseQrcodeUrl());
return result;
}).collect(Collectors.toList());
}
/**
* 变更绑定的房屋
*
* @param tokenDto
* @param formDTO
* @Param tokenDto
* @Param formDTO
* @Return {@link List< HomeInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/20 17:25
*/
@Override
public void changeHome(TokenDto tokenDto, IcResiUserConfirmSubmitDTO formDTO) {
//通过用户ID获取居民端用户信息
ResiUserBaseInfoResultDTO baseInfo = userBaseInfoDao.selecUserBaseInfoByUserId(tokenDto.getUserId());
if (null == baseInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败");
}
//通过居民身份证号获取居民信息
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getCustomerId, tokenDto.getCustomerId());
wrapper.eq(IcResiUserEntity::getIdCard, baseInfo.getIdNum());
IcResiUserEntity icUser = icResiUserDao.selectOne(wrapper);
if (null == icUser) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民信息失败", "获取居民信息失败");
}
//通过房屋ID获取房屋信息
HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), formDTO.getHomeId());
if (null == houseInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败");
}
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(houseInfo.getGridId());
if (null == gridInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取网格信息失败", "获取网格信息失败");
}
//在添加调动记录的时候调整
icUser.setAgencyId(houseInfo.getAgencyId());
icUser.setPids(gridInfo.getPids());
icUser.setGridId(houseInfo.getGridId());
icUser.setVillageId(houseInfo.getNeighborHoodId());
icUser.setBuildId(houseInfo.getBuildingId());
icUser.setUnitId(houseInfo.getBuildingUnitId());
icUser.setHomeId(houseInfo.getHomeId());
icUser.setUpdatedTime(new java.util.Date());
//添加人员调动记录
IcResiUserTransferFormDTO transferDTO = new IcResiUserTransferFormDTO();
transferDTO.setCustomerId(tokenDto.getCustomerId());
transferDTO.setStaffId(tokenDto.getUserId());
transferDTO.setIcUserId(icUser.getId());
transferDTO.setType("in");
transferDTO.setNewAgencyId(houseInfo.getAgencyId());
transferDTO.setNewGridId(houseInfo.getGridId());
transferDTO.setNewNeighborHoodId(houseInfo.getNeighborHoodId());
transferDTO.setNewBuildingId(houseInfo.getBuildingId());
transferDTO.setNewBuildingUnitId(houseInfo.getBuildingUnitId());
transferDTO.setNewHouseId(houseInfo.getHomeId());
transferDTO.setTransferTime(new java.util.Date());
transferDTO.setRemark("更换房屋");
transferDTO.setReason("更换房屋");
transferDTO.setOrigin(IcResiUserConstant.CHANGE);
icUserTransferRecordService.add(transferDTO);
//更新家庭成员信息
icResiUserDao.updateById(icUser);
}
}

3
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -445,7 +445,8 @@
id_card,
mobile,
agency_id,
grid_id
grid_id,
home_id
FROM
ic_resi_user
WHERE

Loading…
Cancel
Save