zqy
2025-01-07 6cc2e27994e273bb470eaa570e84596b4b0aec93
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;
    /**
     * 获取用户列表
     */
@@ -92,6 +95,24 @@
        System.out.println("----------------++++++++++++==0------------");
        List<SysUser> list = userService.selectUserList(user);
        return getDataTable(list);
    }
    @GetMapping("/listCommonUser")
    public TableDataInfo listCommonUser(SysUser user)
    {
        startPage();
    //    System.out.println(user.getClanId());
        System.out.println("----------------++++++++++++==0------------");
        List<SysUser> list = userService.selectCommonUserList(user);
        return getDataTable(list);
    }
    @Log(title = "用户管理", businessType = BusinessType.EXPORT)
    @PreAuthorize("@ss.hasPermi('system:user:export')")
    @PostMapping("/exportCommonUser")
    public void exportCommonUser(HttpServletResponse response, SysUser user)
    {
        List<SysUser> list = userService.selectCommonUserList(user);
        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
        util.exportExcel(response, list, "用户数据");
    }
    @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@@ -141,7 +162,7 @@
            SysUser sysUser = userService.selectUserById(userId);
            ajax.put(AjaxResult.DATA_TAG, sysUser);
            ajax.put("postIds", postService.selectPostListByUserId(userId));
            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
//            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
        }
        return ajax;
    }
@@ -172,7 +193,7 @@
        //System.out.println(sysUserRole.getRoleId());
        System.out.println("你好呀");
        System.out.println(user.getRoleId());
        if (user.getRoleId().equals(102L)){
        if (user.getRoleId() != null && user.getRoleId().equals(102L)){
        ZInfoUser infoUser = new ZInfoUser();
        infoUser.setUserId(user.getUserId());
        infoUser.setOldName(user.getUserName());
@@ -180,7 +201,7 @@
        infoUser.setIsMyFamily(user.getIsMyFamily());
        infoUser.setMomId(user.getMid());
        infoUser.setFatherId(user.getFid());
        infoUser.setSex(Integer.valueOf(user.getSex()));
        if (user.getSex() != null)infoUser.setSex(Integer.valueOf(user.getSex()));
//        infoUser.setFamilyId(user.getFamilyId());
        infoUser.setSysId(user.getSysId());
@@ -199,7 +220,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 +232,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,35 +242,71 @@
//                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()).getSpouseId().equals(user.getSpouseId())){
                //是本家,一种是普通用户更新为家庭用户,
                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)
//                }
            }
        }
        if(infoUser.getIsMyFamily() == 1)
            zInfoUserService.saveOrUpdate(infoUser);
        else {
            System.out.println("家庭成员不能修改为普通用户");
            return AjaxResult.success("家庭成员不能修改为普通用户");
            return AjaxResult.error("家庭成员不能修改为普通用户");
        }
        //更新配偶信息
        if(user.getSpouseId()!=null) {
            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);
//
            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();
        }
        else {
            System.out.println("daniuni");
            return AjaxResult.success("家庭成员不能修改为普通用户");
            return AjaxResult.error("家庭成员不能修改为普通用户");
        }
      //  zInfoUserService.update(infoUser);
@@ -339,6 +396,13 @@
//        System.out.println(userAll.getIsMyFamily());
        infoUser.setIsMyFamily(userAll.getIsMyFamily());
        if(userAll.getIsMyFamily()==1)
        {
            ZfFamily zfFamily = new ZfFamily();
            zfFamily.setName(userAll.getNickName()+"的家庭");
            zfFamilyService.addFamily(zfFamily);
            infoUser.setFamilyId(zfFamily.getId());
        }
//        if(userAll.getSpouseId()==0)
//            infoUser.setSpouseId(null);
//        else {
@@ -346,22 +410,50 @@
//
//        }
        if (userAll.getFid() != null && userAll.getMid() != null){
            //证明是本家的一个,增加进来的
            ZInfoUser father = zInfoUserService.getById(userAll.getFid());
            ZInfoUser mother = zInfoUserService.getById(userAll.getMid());
            //如果是本家,就简历一个家庭号
            if (father.getIsMyFamily() == 1){
                infoUser.setFamilyId(father.getFamilyId());
           //     infoUser.setFamilyId(father.getFamilyId());
                infoUser.setClanId(father.getClanId());
            }
            else if (mother.getIsMyFamily() == 1){
                infoUser.setFamilyId(mother.getFamilyId());
             //   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);
        }
        //前端保证了角色不为空
@@ -376,9 +468,14 @@
            zInfoUserService.save(infoUser);
            if(userAll.getSpouseId()!=null)
            {
                //更新配偶信息
                ZInfoUser zu = new ZInfoUser();
                zu.setUserId(userAll.getSpouseId());
                zu.setSpouseId(infoUser.getUserId());
                Long spouseMoM = zInfoUserService.getById(userAll.getSpouseId()).getMomId();
                Long spouseDad = zInfoUserService.getById(userAll.getSpouseId()).getFatherId();
                zu.setMomId(spouseMoM);
                zu.setFatherId(spouseDad);
                zInfoUserService.updateById(zu);
            }
        }