zqy
2025-10-14 4502f650f4816e55b5c7bf751ffce3aa0dce72dd
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -197,7 +197,8 @@
        us.setRoleId(user.getRoleId());      // 角色ID(102=家庭成员)
        us.setSex(user.getSex());            // 性别(0男/1女)
        us.setStatus(user.getStatus());      // 账户状态(启用/禁用)
        us.setRemark(user.getRemark());      // 备注信息
        us.setRemark(user.getRemark());
        us.setEmail(user.getEmail());// 备注信息
        userService.updateUser(us);          // 执行SysUser表更新
        // ===== 2. 家庭成员专属处理(仅角色ID=102时执行)=====
@@ -209,7 +210,8 @@
            infoUser.setNickName(user.getNickName());      // 当前昵称
            infoUser.setIsMyFamily(user.getIsMyFamily()); // 家庭成员标记(0/1)
            infoUser.setMomId(user.getMid());             // 母亲ID(可为空)
            infoUser.setFatherId(user.getFid());           // 父亲ID(可为空)
            infoUser.setFatherId(user.getFid());
            infoUser.setEmail(user.getEmail());// 父亲ID(可为空)
            // 婚姻状态空值保护(0未婚/1已婚/2离婚)
            infoUser.setMaritalStatus(user.getMaritalStatus() == null ? null : user.getMaritalStatus());
            // 性别格式转换(String → Integer)
@@ -412,6 +414,7 @@
        user.setUpdateBy(userAll.getUpdateBy());    // 更新人
        user.setClanId(userAll.getClanId());        // 家族ID
        user.setPaid(userAll.getPaid());
        user.setEmail(userAll.getEmail());
        // ===================== 2. 唯一性校验(登录名/手机号/邮箱) =====================
        // 2.1 登录名校验
@@ -451,13 +454,15 @@
            infoUser.setNickName(userAll.getNickName()); // 当前昵称
            infoUser.setOldName(userAll.getUserName());  // 历史名称(保留记录)
            infoUser.setPhoneNumber(userAll.getPhonenumber()); // 联系方式
            infoUser.setEmail(userAll.getEmail());
            String originalString=userAll.getUserName()+"-"+userAll.getPhonenumber();
            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);
@@ -533,6 +538,12 @@
                infoUser.setRoleId(3L); // 设置家庭角色ID
                zInfoUserService.save(infoUser); // 保存家庭扩展信息
                if(same){
                    zInfoUserService.setUserInfoSame(infoUser);
                    marrySelfService.setMarryInfoSame(infoUser,marrySelf.getId());
                }
                // 5.5.1 更新配偶关联信息
                if (userAll.getSpouseId() != null) {
                    ZInfoUser zu = new ZInfoUser();