feige
2024-10-27 bc74ffaaa0074a96d7e7e60838845d020f94f347
修改了bug
5个文件已修改
129 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -7,17 +7,14 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.domain.entity.sysUserInfo;
import com.ruoyi.domain.ZInfoUser;
import com.ruoyi.domain.ZfAncestor;
import com.ruoyi.domain.ZfFamily;
import com.ruoyi.domain.sysUserAndUserInfo;
import com.ruoyi.service.ZInfoUserService;
import com.ruoyi.service.ZfAncestorService;
import com.ruoyi.service.ZfFamilyService;
import com.ruoyi.domain.*;
import com.ruoyi.service.*;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysUserRoleMapper;
@@ -80,6 +77,12 @@
    @Resource
    private SysUserRoleMapper sysUserRoleMapper;
    @Resource
    MarrySelfService marrySelfService;
    @Resource
    MarryUserService marryUserService;
    /**
     * 获取用户列表
     */
@@ -199,7 +202,7 @@
          //   if (!zInfoUserService.getById(user.getUserId()).getFatherId().equals(user.getFid())){
                    ZInfoUser father = zInfoUserService.getById(user.getFid());
                        System.out.println("11111111111111111111111111111111/");
                        infoUser.setFamilyId(father.getFamilyId());
                    //    infoUser.setFamilyId(father.getFamilyId());
                        infoUser.setClanId(father.getClanId());
          //  }
@@ -211,7 +214,7 @@
                //   if (!zInfoUserService.getById(user.getUserId()).getFatherId().equals(user.getFid())){
                ZInfoUser mother = zInfoUserService.getById(user.getMid());
                System.out.println("11111111111111111111111111111111/");
                infoUser.setFamilyId(mother.getFamilyId());
           //     infoUser.setFamilyId(mother.getFamilyId());
                infoUser.setClanId(mother.getClanId());
            }
//            else if(user.getMid() != null){
@@ -221,16 +224,25 @@
//                infoUser.setFamilyId(mother.getFamilyId());
//            }
        if (user.getSpouseId() != null){
            //跟随配偶的家族和家庭信息
//            if ( !zInfoUserService.getById(user.getUserId()).getSpouseId().equals(user.getSpouseId())){
                //是本家
                if (zInfoUserService.getById(user.getUserId()).getIsMyFamily() == 0) {
                //是本家,一种是普通用户更新为家庭用户,
                if (zInfoUserService.getById(user.getUserId())==null||zInfoUserService.getById(user.getUserId()).getIsMyFamily() == 0) {
                    ZInfoUser spouse = zInfoUserService.getById(user.getSpouseId());
                    System.out.println("33333333333333333333333333333333333333333/");
                    infoUser.setFamilyId(spouse.getFamilyId());
                    infoUser.setFatherId(spouse.getFatherId());
                    infoUser.setMomId(spouse.getMomId());
                    infoUser.setClanId(spouse.getClanId());
//                }
            }}
            }
        }
        if(infoUser.getFamilyId()!=null)
            zInfoUserService.saveOrUpdate(infoUser);
        else {
@@ -242,12 +254,34 @@
            ZInfoUser zu = new ZInfoUser();
            zu.setUserId(user.getSpouseId());
            zu.setSpouseId(infoUser.getUserId());
            Long spouseMoM = zInfoUserService.getById(user.getSpouseId()).getMomId();
            Long spouseDad = zInfoUserService.getById(user.getSpouseId()).getFatherId();
            zu.setMomId(spouseMoM);
            zu.setFatherId(spouseDad);
//            Long spouseMoM = zInfoUserService.getById(user.getSpouseId()).getMomId();
//            Long spouseDad = zInfoUserService.getById(user.getSpouseId()).getFatherId();
//            zu.setMomId(spouseMoM);
//            zu.setFatherId(spouseDad);
//
            zInfoUserService.updateById(zu);
            //更新MarrySelf和MarryUser
            ZInfoUser zfi = zInfoUserService.getById(user.getUserId());
            MarrySelf marrySelf = new MarrySelf();
            marrySelf.setUid(user.getSpouseId());
            marrySelf.setName(zfi.getOldName());
            marrySelf.setSpouseSex(zfi.getSex()==1?"男":"女");
            //这个可能还要修改 一下
            marrySelf.setMarryStatus(0);
            marrySelf.setSpouseName(infoUser.getOldName());
            marrySelf.setSpouseSex(infoUser.getSex()==1?"男":"女");
            marrySelf.setSpouseMarryStatus(0);
            marrySelfService.saveOrUpdate(marrySelf);
            //增加MarryUser
            //增加marryUser
            MarryUser marryUser = new MarryUser();
            marryUser.setUid(user.getSpouseId());
            marryUser.setName(infoUser.getOldName());
            marryUser.setSex(infoUser.getSex()==1?"男":"女");
            marryUser.setMarryStatus(0);
            marryUserService.addData(marryUser);
        }
            return AjaxResult.success();
@@ -358,6 +392,8 @@
//
//        }
        if (userAll.getFid() != null && userAll.getMid() != null){
            //证明是本家的一个,增加进来的
            ZInfoUser father = zInfoUserService.getById(userAll.getFid());
            ZInfoUser mother = zInfoUserService.getById(userAll.getMid());
            //如果是本家,就简历一个家庭号
@@ -369,12 +405,37 @@
             //   infoUser.setFamilyId(mother.getFamilyId());
                infoUser.setClanId(mother.getClanId());
        }
            }
            MarrySelf marrySelf = new MarrySelf();
            marrySelf.setName(infoUser.getOldName());
            marrySelf.setSex(infoUser.getSex()==1?"男":"女");
            marrySelf.setMarryStatus(0);
            marrySelfService.save(marrySelf);
        }
        else {
            ZInfoUser spouse = zInfoUserService.getById(userAll.getSpouseId());
            infoUser.setFamilyId(spouse.getFamilyId());
            infoUser.setClanId(spouse.getClanId());
            //通过配偶的信息,更新marrySelf和增加marryUser表
            MarrySelf marrySelf = new MarrySelf();
 //           marrySelf.setUid(userAll.getSpouseId());
            marrySelf.setSpouseName(infoUser.getOldName());
            marrySelf.setSpouseSex(infoUser.getSex()==1?"男":"女");
            marrySelf.setMarryStatus(1);
            //修改条件
            QueryWrapper<MarrySelf> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("uid", userAll.getSpouseId());
            marrySelfService.update(marrySelf, queryWrapper);
            //增加marryUser
            MarryUser marryUser = new MarryUser();
            marryUser.setUid(userAll.getSpouseId());
            marryUser.setName(infoUser.getOldName());
            marryUser.setSex(infoUser.getSex()==1?"男":"女");
            marryUser.setMarryStatus(0);
            marryUserService.addData(marryUser);
        }
        //前端保证了角色不为空
@@ -389,6 +450,7 @@
            zInfoUserService.save(infoUser);
            if(userAll.getSpouseId()!=null)
            {
                //更新配偶信息
                ZInfoUser zu = new ZInfoUser();
                zu.setUserId(userAll.getSpouseId());
                zu.setSpouseId(infoUser.getUserId());
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
@@ -1,6 +1,8 @@
package com.ruoyi.framework.web.service;
import java.util.Set;
import com.ruoyi.framework.web.domain.server.Sys;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import com.ruoyi.common.core.domain.entity.SysRole;
@@ -165,6 +167,7 @@
    private boolean hasPermissions(Set<String> permissions, String permission)
    {
        System.out.println("33333467878");
        return permissions.contains(ALL_PERMISSION) || permissions.contains(StringUtils.trim(permission));
    }
}
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java
@@ -3,6 +3,9 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.ruoyi.domain.ZfAncestor;
import com.ruoyi.service.ZfAncestorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.core.domain.entity.SysRole;
@@ -24,6 +27,9 @@
    @Autowired
    private ISysMenuService menuService;
    @Autowired
    private ZfAncestorService zfService;
    /**
     * 获取角色数据权限
     * 
@@ -33,6 +39,7 @@
    public Set<String> getRolePermission(SysUser user)
    {
        Set<String> roles = new HashSet<String>();
        // 管理员拥有所有权限
        if (user.isAdmin())
        {
@@ -55,10 +62,16 @@
    {
        Set<String> perms = new HashSet<String>();
        // 管理员拥有所有权限
        if (user.isAdmin())
        ZfAncestor zfAncestor = new ZfAncestor();
        zfAncestor.setSysId(user.getUserId());
        zfAncestor = zfService.selectZfAncestor(zfAncestor);
//        System.out.println("---------++++++++____________");
//        System.out.println(zfAncestor);
//        //判断是否是超级管理员
        if(zfAncestor!=null)
        {
          //  perms.add("system:*:*");
            perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId()));
            perms.add("*:*:*");
          //  perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId()));
        }
        else
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
@@ -50,8 +50,9 @@
    
    <select id="selectMenuTreeAll" resultMap="SysMenuResult">
        select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
        from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0 and m.menu_id in (1, 100, 118,2032,2016,2048,2049,2050,2051,2016,2068)
        from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0 and m.menu_id in (1, 100, 118,2032,2016,2048,2049,2050,2051,2068)
        order by m.parent_id, m.order_num
    </select>
    <select id="selectMenuTreeAllSuperAdmin" resultMap="SysMenuResult">
        select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java
@@ -711,8 +711,10 @@
            LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
            lqw.eq(ZInfoUser::getUserId, userId);
            List<ZInfoUser> list = list(lqw);
            user = list.get(0);
            if(list.size()>0)
                user = list.get(0);
            else
                return null;
        }