zhongrj
2023-12-27 5d62483d5dd0137b40b8d2307648a98bee5017f3
房屋,住户录入调整
2 files modified
71 ■■■■ changed files
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java 51 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java 20 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -25,6 +25,7 @@
import org.springblade.common.utils.IdUtils;
import org.springblade.common.utils.NodeTreeUtil;
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.BeanUtil;
import org.springblade.modules.grid.entity.GridRangeEntity;
@@ -46,7 +47,9 @@
import org.springblade.modules.label.entity.LabelEntity;
import org.springblade.modules.label.service.ILabelService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IDeptService;
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;
@@ -75,6 +78,9 @@
    @Autowired
    private IDeptService deptService;
    @Autowired
    private IUserService userService;
    @Override
    public IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house) {
@@ -289,8 +295,13 @@
            if (!Strings.isBlank(houseAndHoldExcel.getRoleType())){
                householdEntity.setRoleType(Integer.parseInt(houseAndHoldExcel.getRoleType()));
            }
            // 与角色关系
            if (!Strings.isBlank(houseAndHoldExcel.getRelationship())){
                householdEntity.setRelationship(Integer.parseInt(houseAndHoldExcel.getRelationship()));
                // 如果是业主,则需要往用户表插入用户
                if (householdEntity.getRelationship()==1){
                    saveOrUpdateUser(householdEntity);
                }
            }
            if (!Strings.isBlank(houseAndHoldExcel.getIsPrimaryContact())){
                householdEntity.setIsPrimaryContact(Integer.parseInt(houseAndHoldExcel.getIsPrimaryContact()));
@@ -354,7 +365,47 @@
                        bean.save(userHouseLabelEntity);
                    }
                }
            }
        }
    }
    /**
     * 保存或更新用户(业主)
     * @param householdEntity
     */
    public void saveOrUpdateUser(HouseholdEntity householdEntity) {
        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());
                // 判断用户是否包含了居民角色,不包含则需更新
                if (!user.getRoleId().contains("1717429059648606209")){
                    user.setRoleId(user.getRoleId() + ",1717429059648606209");
                    //更新
                    userService.updateById(user);
                }
            } else {
                User newUser = new User();
                //如果用户不存在,则新增一个用户
                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());
            }
        }
    }
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -176,25 +176,11 @@
     * @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);
                }
            }
            // 新增用户
            bindUserHandle(household);
        }
    }