forked from gzzfw/backEnd/gz-dyh

huangh
2024-10-29 c1a463b9f1c0a7160dbd0ac1c7490eef13861a5e
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java
@@ -258,7 +258,22 @@
                    userLoginDTO.setToken(JwtUtils.buildJWT(ctUser.getId()));
                    userLoginDTO.setUserId(ctUser.getId());
                    userLoginDTO.setTrueName(ctUser.getTrueName());
                    userLoginDTO.setUnit(ctUser.getUnitName());
                    CtUnit ctUnit = ctUnitService.getById(ctUser.getUnitId());
                    if (ObjectUtils.isNotEmpty(ctUnit)){
                        if (ctUnit.getUnitGrade() == UserBaseConsts.UNIT_GRADE_3 && ctUnit.getUnitType() == UserBaseConsts.UNIT_TYPE_102){
                            userLoginDTO.setUnit(ctUnit.getUnitDes());
//                            CtUnit parentCtUnit = ctUnitService.getById(ctUnit.getParentId());
//                            if (ObjectUtils.isNotEmpty(parentCtUnit)) {1
//                                userLoginDTO.setUnit(parentCtUnit.getUnitName());
//                            }else {
//                                userLoginDTO.setUnit(ctUnit.getUnitDes());
//                            }
                        }else {
                            userLoginDTO.setUnit(ctUnit.getUnitName());
                        }
                    }else {
                        userLoginDTO.setUnit(ctUser.getUnitName());
                    }
                    userLoginDTO.setDept(ctUser.getDeptName());
                    userLoginDTO.setCustId(ctUser.getCustId());
                    // 登录用户角色
@@ -354,25 +369,23 @@
            // 判断账号是否存在
            CtAccount ctAccount = null;
            CtUser ctUser = null;
            //如果和亿迅系统的手机号对不上,在用身份证号去查询用户,如果查询得到,就对得上,如果查询不到,就说明用户不存在
            ctUser = ctUserService.getByIdCard(gridUserBaseDTO.getIdNumber());
            if (ObjectUtils.isNotEmpty(ctUser)) {
                ctAccount = this.getByUserIdAndType(ctUser.getId(), UserBaseConsts.ACC_TYPE_1);
            ctAccount = this.getByAccAndType(gridUserBaseDTO.getAccount(), UserBaseConsts.ACC_TYPE_1);
            if (ObjectUtils.isEmpty(ctAccount)) {
                ctAccount = this.getByAccAndType(gridUserBaseDTO.getMobile(), UserBaseConsts.ACC_TYPE_1);
            }
//            CtAccount ctAccount = this.getByAccAndType(gridUserBaseDTO.getAccount(), UserBaseConsts.ACC_TYPE_1);
//            if (ObjectUtils.isEmpty(ctAccount)) {
//                ctAccount = this.getByAccAndType(gridUserBaseDTO.getMobile(), UserBaseConsts.ACC_TYPE_1);
//            }
//            if (ObjectUtils.isNotEmpty(ctAccount)) {
//                //返回结果
//                ctUser = ctUserService.getById(ctAccount.getUserId());
//                if (ObjectUtils.isEmpty(ctUser)) {
//                    return ReturnFailUtils.getRepInfo("用户不存在!");
//                }
//            } else {
//
//            }
            if (ObjectUtils.isNotEmpty(ctAccount)) {
                //返回结果
                ctUser = ctUserService.getById(ctAccount.getUserId());
                if (ObjectUtils.isEmpty(ctUser)) {
                    return ReturnFailUtils.getRepInfo("用户不存在!");
                }
            } else {
                //如果和亿迅系统的手机号对不上,在用身份证号去查询用户,如果查询得到,就对得上,如果查询不到,就说明用户不存在
                ctUser = ctUserService.getByIdCard(gridUserBaseDTO.getIdNumber());
                if (ObjectUtils.isNotEmpty(ctUser)) {
                    ctAccount = this.getByUserIdAndType(ctUser.getId(), UserBaseConsts.ACC_TYPE_1);
                }
            }
            if (ObjectUtils.isNotEmpty(ctUser)) {
                //有对应用户,则模拟登录,返回对应信息
                UserLoginDTO userLoginDTO = login(ctAccount, ctUser);
@@ -441,20 +454,26 @@
        GridUserRoleVo gridUserRoleVo = new GridUserRoleVo();
        gridUserRoleVo.setUserId(userId);
        GridUserRoleDTO userRoleDTO = sysClient.getUserRoleList(gridUserRoleVo);
        if (StringUtils.isEmpty(userRoleDTO.getOrgName())) {
            return ReturnFailUtils.getRepInfo("用户不存在!,请确认后重试!");
        if (StringUtils.isEmpty(userRoleDTO.getRoleName()) || !userRoleDTO.getRoleName().contains("矛调系统")) {
            return ReturnFailUtils.getRepInfo("该用户没有矛调系统的权限");
        }
        if (StringUtils.isNotEmpty(userRoleDTO.getOrgName()) && userRoleDTO.getOrgName().endsWith("网格")) {
            return ReturnFailUtils.getRepInfo("该用户所在机构禁止登录矛调系统,请切换该用户机构为区、镇街、社区机构");
        }
        //拿到用户角色菜单权限信息
        GridRoleMenuVo gridRoleMenuVo = new GridRoleMenuVo();
        gridRoleMenuVo.setOrgRoleId(userRoleDTO.getRoleId());
        gridRoleMenuVo.setMenuSys("sub-mdjfhj");
        CtUserole roleMenu = sysClient.getRoleMenu(gridRoleMenuVo);
        CtUserole ctUserole = new CtUserole();
        if (userRoleDTO.getRoleName().contains("纷化解人员")) {
            ctUserole.setRoleId("22_00024-4");
            ctUserole.setRoleName("纠纷化解人员");
        } else {
            ctUserole.setRoleId("22_00024-3");
            ctUserole.setRoleName("单位管理员");
        }
        List<CtUserole> ctUseroles = new ArrayList<>();
        ctUseroles.add(roleMenu);
        ctUseroles.add(ctUserole);
        log.info("xsd:CtUserole:{}", ctUserole);
        CtUnit ctUnit = ctUnitService.selectUnitByGridId(userRoleDTO.getOrgId());
        log.info("xsd:ctUnit:{}", ctUnit);
        if (ctUnit != null && StringUtils.isNotEmpty(ctUnit.getId())) {
            CtUserSaveDTO ctUserSaveDTO = new CtUserSaveDTO();
            ctUserSaveDTO.setUnitId(ctUnit.getId());
@@ -466,9 +485,9 @@
            ctUserSaveDTO.setIdcard(gridUserBaseDTO.getIdNumber());
            ctUserSaveDTO.setCtUseroleList(ctUseroles);
            ctUserService.webSaveCtUser(ctUserSaveDTO, "-1");
            log.info("xsd:ctUserSaveDTO:{}", ctUserSaveDTO);
        } else {
            return ReturnFailUtils.getRepInfo("用户不存在!,请确认后重试!");
            return ReturnFailUtils.getRepInfo("该用户所在机构禁止登录矛调系统!请调整机构后重试!");
        }
        return ReturnSucUtils.getRepInfo("创建账号成功");
    }