From 44818d04b507839a8bb254e70797e44d88352fe7 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 23 Dec 2023 16:59:27 +0800
Subject: [PATCH] 住户信息修改调整
---
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 93 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
index 02e8bdb..2b23e3f 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -16,11 +16,13 @@
*/
package org.springblade.modules.house.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.node.TreeStringNode;
+import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.grid.service.IGridService;
@@ -31,8 +33,11 @@
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.vo.HouseholdOtherVO;
import org.springblade.modules.house.vo.HouseholdVO;
+import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.system.entity.DictBiz;
+import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IDictBizService;
+import org.springblade.modules.system.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -53,6 +58,9 @@
@Autowired
private IDictBizService dictBizService;
+
+ @Autowired
+ private IUserService userService;
@Override
public IPage<HouseholdVO> selectHouseholdPage(IPage<HouseholdVO> page, HouseholdVO household) {
@@ -125,34 +133,107 @@
@Override
public boolean saveOrUpdateHousehold(HouseholdEntity household) {
// 判断添加人是否房屋业主
- Long count = count(Wrappers.<HouseholdEntity>lambdaQuery()
- .eq(HouseholdEntity::getHouseCode, household.getHouseCode())
- .eq(HouseholdEntity::getAssociatedUserId, AuthUtil.getUserId())
- .eq(HouseholdEntity::getRelationship, 1));
- if (count == 0) {
- return false;
- }
+// Long count = count(Wrappers.<HouseholdEntity>lambdaQuery()
+// .eq(HouseholdEntity::getHouseCode, household.getHouseCode())
+// .eq(HouseholdEntity::getAssociatedUserId, AuthUtil.getUserId())
+// .eq(HouseholdEntity::getRelationship, 1));
+// if (count == 0) {
+// return false;
+// }
boolean flag = false;
household.setUpdateTime(new Date());
household.setUpdateUser(AuthUtil.getUserId());
if (null != household.getId()) {
// 更新
flag = updateById(household);
+ // 更新用户信息
+ updateUserInfo(household);
} else {
- // 往用户表中插入数据
- // 通过手机号判断
- if (!Strings.isBlank(household.getPhoneNumber())) {
- //判断用户是否存在
- }
// 新增
household.setCreateTime(new Date());
household.setCreateUser(AuthUtil.getUserId());
flag = save(household);
+ // 更新用户信息
+ updateUserInfo(household);
}
return flag;
}
/**
+ * 更新用户信息
+ * @param household
+ */
+ public void updateUserInfo(HouseholdEntity household) {
+ // 判断用户是否为业主,如果是业主,判断该房屋是否已有业主,如果有则提示已有业主,无法设置为业主,不是业主则不操作
+ if (null!=household.getRelationship() && household.getRelationship()==1){
+ // 如果为业主
+ // 查询当前房屋是否已有业主
+ QueryWrapper<HouseholdEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_deleted",0)
+ .eq("house_code",household.getHouseCode())
+ .eq("relationship",1);
+ List<HouseholdEntity> list = list(queryWrapper);
+ if (list.size()==0){
+ // 新增用户
+ bindUserHandle(household);
+ }else {
+ HouseholdEntity householdEntity = list.get(0);
+ if (null == householdEntity.getAssociatedUserId()){
+ // 新增用户
+ bindUserHandle(household);
+ }
+ }
+ }
+ }
+
+ /**
+ * 业主和用户绑定
+ * @param
+ */
+ public User bindUserHandle(HouseholdEntity householdEntity) {
+ User newUser = new User();
+ if (null!=householdEntity.getPhoneNumber() && !householdEntity.getPhoneNumber().equals("")) {
+ //根据手机号查询库里的数据
+ User userParams = new User();
+ userParams.setPhone(householdEntity.getPhoneNumber());
+ User user = userService.getOne(Condition.getQueryWrapper(userParams));
+ if (null!=user) {
+ //如果用户存在,则该用户id绑定场所
+ householdEntity.setAssociatedUserId(user.getId());
+ //更新住户信息
+ 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());
+ //更新住户信息
+ updateById(householdEntity);
+ }
+ }
+ return newUser;
+ }
+
+ /**
* 住户 自定义查询详情
* @param household
* @return
--
Gitblit v1.9.3