| | |
| | | import org.springblade.common.constant.CommonConstant; |
| | | import org.springblade.common.param.CommonParamSet; |
| | | import org.springblade.common.utils.SpringUtils; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.utils.DigestUtil; |
| | | import org.springblade.modules.grid.service.IGridService; |
| | |
| | | import org.springblade.modules.house.vo.HouseRentalVO; |
| | | import org.springblade.modules.house.vo.HouseholdVO; |
| | | import org.springblade.modules.system.entity.User; |
| | | import org.springblade.modules.system.entity.UserInfo; |
| | | import org.springblade.modules.system.service.IUserService; |
| | | import org.springblade.modules.system.vo.UserDetailVO; |
| | | import org.springblade.modules.system.vo.UserVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | // 待审核 |
| | | houseRentalVO.setAuditStatus(0); |
| | | } |
| | | //保存自身 |
| | | //保存自身(租赁) |
| | | flag = save(houseRentalVO); |
| | | //保存到住户 |
| | | flag = saveHousehold(houseRentalVO, flag); |
| | | if (flag){ |
| | | flag = saveHousehold(houseRentalVO, flag); |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | |
| | | * @return |
| | | */ |
| | | public boolean saveHousehold(HouseRentalVO houseRentalVO, boolean flag) { |
| | | if (flag && houseRentalVO.getHouseholdVOList().size() > 0) { |
| | | List<String> phoneList = new ArrayList<>(); |
| | | List<HouseholdEntity> householdEntityList = new ArrayList<>(); |
| | | if (houseRentalVO.getHouseholdVOList().size() > 0) { |
| | | houseRentalVO.getHouseholdVOList().forEach(e -> { |
| | | e.setHouseCode(houseRentalVO.getHouseCode()); |
| | | e.setHousingRentalId(houseRentalVO.getId()); |
| | | e.setRelationship(18); |
| | | e.setResidentialStatus(1); |
| | | e.setRoleType(2); |
| | | householdEntityList.add(e); |
| | | phoneList.add(e.getPhoneNumber()); |
| | | }); |
| | | try { |
| | | // 查询租户是否有居民角色,没有则添加居民角色 |
| | | IUserService bean = SpringUtils.getBean(IUserService.class); |
| | | List<User> list = bean.list(Wrappers.<User>lambdaQuery() |
| | | .in(User::getPhone, phoneList) |
| | | .eq(User::getIsDeleted, 0)); |
| | | for (User user : list) { |
| | | if (StringUtils.isNoneBlank(user.getRoleId())) { |
| | | boolean contains = user.getRoleId().contains("1717429059648606209"); |
| | | if (contains) { |
| | | continue; |
| | | } |
| | | user.setRoleId(user.getRoleId() + ",1717429059648606209"); |
| | | } else { |
| | | user.setRoleId("1717429059648606209"); |
| | | } |
| | | if (!Strings.isBlank(e.getIdCard())){ |
| | | e.setCardType(111); |
| | | } |
| | | bean.updateBatchById(list); |
| | | } catch (Exception e) { |
| | | log.error("保存用户角色为居民:", e); |
| | | } |
| | | flag = iHouseholdService.saveBatch(householdEntityList); |
| | | e.setRoleType(2); |
| | | // 添加住户 |
| | | iHouseholdService.save(e); |
| | | // 绑定用户 |
| | | bindUserHandle(e); |
| | | }); |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | | /** |
| | | * 租客和用户绑定 |
| | | * |
| | | * @param |
| | | */ |
| | | public User bindUserHandle(HouseholdEntity householdEntity) { |
| | | IUserService userService = SpringUtils.getBean(IUserService.class); |
| | | IHouseholdService householdService = SpringUtils.getBean(IHouseholdService.class); |
| | | User newUser = new User(); |
| | | if (null != householdEntity.getPhoneNumber() && !householdEntity.getPhoneNumber().equals("")) { |
| | | //根据手机号查询库里的数据 |
| | | List<User> list = userService.getUserListByPhoneOrAccount(householdEntity.getPhoneNumber()); |
| | | if (list.size()>0) { |
| | | User user = list.get(0); |
| | | //如果用户存在,则该用户id绑定场所 |
| | | householdEntity.setAssociatedUserId(user.getId()); |
| | | //更新住户信息 |
| | | householdService.updateById(householdEntity); |
| | | newUser = user; |
| | | // 判断用户是否包含了居民角色,不包含则需更新 |
| | | if (!user.getRoleId().contains("1717429059648606209")) { |
| | | user.setRoleId(user.getRoleId() + ",1717429059648606209"); |
| | | //更新 |
| | | userService.updateById(user); |
| | | } |
| | | } else { |
| | | //如果用户不存在,则新增一个用户 |
| | | newUser.setAccount(householdEntity.getPhoneNumber()); |
| | | newUser.setPhone(householdEntity.getPhoneNumber()); |
| | | newUser.setName(householdEntity.getName()); |
| | | newUser.setRealName(householdEntity.getName()); |
| | | // 社区群众部门 |
| | | newUser.setDeptId("1727979636479037441"); |
| | | // 目前暂定居民角色, |
| | | newUser.setRoleId("1717429059648606209"); |
| | | //默认密码为 123456 |
| | | newUser.setPassword("123456"); |
| | | // 设置机构 |
| | | // 用户新增 |
| | | boolean submit = userService.submit(newUser); |
| | | //绑定id |
| | | householdEntity.setAssociatedUserId(newUser.getId()); |
| | | //更新住户信息 |
| | | householdService.updateById(householdEntity); |
| | | } |
| | | } |
| | | return newUser; |
| | | } |
| | | |
| | | /** |
| | |
| | | boolean removeFlag = true; |
| | | houseRental.setUpdateUser(AuthUtil.getUserId()); |
| | | houseRental.setUpdateTime(new Date()); |
| | | // 获取请求头中的角色别名 |
| | | String roleName = SpringUtils.getRequestParam("roleName"); |
| | | // 居民 |
| | | if (!Strings.isBlank(roleName) && roleName.equals("inhabitant")) { |
| | | // 待审核 |
| | | houseRental.setAuditStatus(0); |
| | | } |
| | | //更新自身 |
| | | boolean update = updateById(houseRental); |
| | | // 查询对应已存在的租户 |
| | |
| | | if (null == householdEntity.getId()) { |
| | | User user = new User(); |
| | | // 新增或更新用户 |
| | | boolean save = isSave(userService, householdEntity, user); |
| | | user = isSave(userService, householdEntity, user); |
| | | // 新增住户 |
| | | householdEntity.setHouseCode(houseRental.getHouseCode()); |
| | | householdEntity.setHousingRentalId(houseRental.getId()); |
| | | householdEntity.setRelationship(18); |
| | | householdEntity.setResidentialStatus(1); |
| | | // householdEntity.setIdCard(houseRental.getid); |
| | | householdEntity.setRoleType(2); |
| | | // householdEntity.setName(); |
| | | if (save) { |
| | | if (!Strings.isBlank(householdEntity.getIdCard())){ |
| | | householdEntity.setCardType(111); |
| | | } |
| | | if (user.getId() != null) { |
| | | householdEntity.setAssociatedUserId(user.getId()); |
| | | } |
| | | addList.add(householdEntity); |
| | |
| | | phoneList.add(householdEntity.getPhoneNumber()); |
| | | User user = new User(); |
| | | // 修改用户,用户存在则更新用户,不存在则新增用户 |
| | | boolean save = isSave(userService, householdEntity, user); |
| | | if (save) { |
| | | user = isSave(userService, householdEntity, user); |
| | | if (user.getId() != null) { |
| | | householdEntity.setAssociatedUserId(user.getId()); |
| | | } |
| | | } |
| | |
| | | // 删除用户。判断用户是否有其他角色, |
| | | for (HouseholdEntity householdEntity : removeList) { |
| | | if (householdEntity.getAssociatedUserId() != null) { |
| | | UserVO userVO = userService.getuserById(householdEntity.getAssociatedUserId()); |
| | | User userVO = userService.getById(householdEntity.getAssociatedUserId()); |
| | | if (userVO.getRoleId().contains("1717429059648606209")) { |
| | | List<String> stringList = Arrays.asList(userVO.getRoleId().split(",")); |
| | | // 有其他角色 |
| | |
| | | userService.updateById(userVO); |
| | | } else { |
| | | // 没有其他角色 |
| | | userService.removeById(userVO.getId()); |
| | | userVO.setRoleId(""); |
| | | boolean b = userService.updateById(userVO); |
| | | System.out.println(b); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * 保存或更新用户 |
| | | * |
| | | * @param userService |
| | | * @param householdEntity |
| | | * @param user |
| | | * @return |
| | | */ |
| | | private boolean isSave(IUserService userService, HouseholdEntity householdEntity, User user) { |
| | | private User isSave(IUserService userService, HouseholdEntity householdEntity, User user) { |
| | | boolean save; |
| | | // 查询该住户是否有账号 |
| | | IUserService userService1 = SpringUtils.getBean(IUserService.class); |
| | | User user1 = userService1.getOne(Wrappers.<User>lambdaQuery() |
| | | .eq(User::getPhone, householdEntity.getPhoneNumber()) |
| | | .eq(User::getAccount, householdEntity.getPhoneNumber()) |
| | | .eq(User::getIsDeleted, 0).last("limit 1")); |
| | | if (user1 != null) { |
| | | user = user1; |
| | | user.setName(householdEntity.getName()); |
| | | user.setRealName(householdEntity.getName()); |
| | | if (StringUtils.isNoneBlank(user.getRoleId())) { |
| | | boolean contains = user.getRoleId().contains("1717429059648606209"); |
| | | if (!contains) { |
| | |
| | | } |
| | | // 更新用户 |
| | | save = userService.updateById(user); |
| | | return save; |
| | | return user; |
| | | } |
| | | // 新增用户 |
| | | user.setAccount(householdEntity.getPhoneNumber()); |
| | |
| | | user.setPassword(DigestUtil.encrypt(CommonConstant.DEFAULT_PASSWORD)); |
| | | user.setRoleId("1717429059648606209"); |
| | | save = userService.save(user); |
| | | return save; |
| | | return user; |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public Integer getStatisticsCount(HouseRentalTenantVO houseRental) { |
| | | CommonParamSet<Object> commonParamSet = new CommonParamSet<>().invoke(HouseRentalTenantVO.class, houseRental); |
| | | return baseMapper.getStatisticsCount(houseRental, commonParamSet.getGridCodeList(), |
| | | commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator()); |
| | | return baseMapper.getStatisticsCount(houseRental, commonParamSet.getRegionChildCodesList(), |
| | | commonParamSet.getGridCodeList(), commonParamSet.getIsAdministrator()); |
| | | } |
| | | } |