zqy
4 天以前 808d34ab8f3b7ca311ea5c76942dbc7b915f58f7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -231,6 +231,18 @@
            // 优先获取当前数据库记录
            ZInfoUser byId = zInfoUserService.getById(user);
            Long myFamily = byId.getFamilyId();
            //获取同一用户的信息 并对其进行修改
            zInfoUserService.findByUaidToFaid(byId.getUaid())
                    .stream()
                    .filter(infoUser1 -> !infoUser1.getUserId().equals(infoUser.getUserId()))
                    .forEach(infoUser1 -> {
                        infoUser1.setOldName(infoUser.getOldName());
                        infoUser1.setMaritalStatus(infoUser.getMaritalStatus());
                        infoUser1.setSex(infoUser.getSex());
                        zInfoUserService.updateById(infoUser1);
                    });
            // 保留原家庭ID(确保数据连续性)
            if (myFamily != null) infoUser.setFamilyId(myFamily);
@@ -326,7 +338,10 @@
                    marrySelfService.updateData(spouse); // 持久化
                }
                // 3.4 离婚特殊处理(状态码=2)
            // 3.4 离婚特殊处理(状态码=2)
                if(user.getMaritalStatus() != null && user.getMaritalStatus() == 2) {
                    // 3.4.1 获取配偶信息
                    Long spouseId = zInfoUserService.getById(user.getUserId()).getSpouseId();
@@ -441,8 +456,10 @@
            String uniqueId = UUID.nameUUIDFromBytes(originalString.getBytes()).toString();
            infoUser.setUaid(uniqueId);
            Boolean same = false;
            if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
                zInfoUserService.setUaidSame(user.getPhonenumber(),user.getUserName(),uniqueId);
                same = zInfoUserService.setUaidSame(user.getPhonenumber(), user.getUserName(), uniqueId);
            }
            // 性别格式转换(String → Integer)
            infoUser.setSex(userAll.getSex().equals("0") ? 0 : 1);
@@ -518,6 +535,10 @@
                infoUser.setRoleId(3L); // 设置家庭角色ID
                zInfoUserService.save(infoUser); // 保存家庭扩展信息
                if(same){
                    zInfoUserService.setUserInfoSame(infoUser);
                }
                // 5.5.1 更新配偶关联信息
                if (userAll.getSpouseId() != null) {
                    ZInfoUser zu = new ZInfoUser();