lidongdong
2022-10-10 356cfbfad583a7e14f2c08ac188c33f1f1187066
flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java
@@ -150,6 +150,68 @@
        return baseMapper.selectListByDepartmentId(departmentIds,","+classifyId,classifyId+",");
    }
    @Override
    public ResultData loginByPhonenumber(String phonenumber)
    {
        SysUser sysUser = baseMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhonenumber, phonenumber));
        if (sysUser==null){
            //查询花城e+是否存在此用户
            HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData("","",phonenumber);
            if(huaChengSysUser==null)
            {
                SysUser newUser = new SysUser();
                newUser.setUserId(Snowflake.getId());
                newUser.setLoginName(phonenumber);
                newUser.setUserName(phonenumber.substring(0,3)+"xxxx"+phonenumber.substring(7,11)+"用户");
                newUser.setUserType("3");
                newUser.setPhonenumber(phonenumber);
                newUser.setSex("1");
                newUser.setCreateTime(LocalDateTime.now());
                newUser.setUpdateTime(LocalDateTime.now());
                baseMapper.insertConfig(newUser);
            }
            else
            {
                SysUser newUser = new SysUser();
                newUser.setUserId(huaChengSysUser.getUserId());
                newUser.setLoginName(huaChengSysUser.getPhone());
                newUser.setUserName(huaChengSysUser.getNickName());
                newUser.setUserType("3");
                newUser.setPhonenumber(huaChengSysUser.getPhone());
                newUser.setSex(huaChengSysUser.getSex());
                newUser.setAvatar(huaChengSysUser.getImageUrl());
                newUser.setCreateTime(LocalDateTime.now());
                newUser.setUpdateTime(LocalDateTime.now());
                newUser.setOpenid(huaChengSysUser.getOpenid());
                baseMapper.insertConfig(newUser);
            }
        }
        sysUser = baseMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhonenumber, phonenumber));
        if (sysUser!=null) {
            String token = tokenManager.getTokenByUserId(sysUser.getUserId());
//        String token = tokenManager.createToken(user.getUserId(), user.getRoleId());
            System.out.println("token " + token);
            if (token == null) {
                //生成一个token,保存用户登录状态
                token = tokenManager.createToken(sysUser.getUserId(), sysUser.getUserId());
            }
            sysUser.setLoginDate(LocalDateTime.now());
            //更新登录时间
            this.updateConfig(sysUser);
            Map<String, Object> map = new HashMap<>();
            map.put("token", token);
            map.put("userId", sysUser.getUserId());
            map.put("userName", sysUser.getUserName());
            return ResultData.success(map);
        }
        return ResultData.error("用户不存在");
    }
    public  List<String> getDepartmentIds(  List<OrganizationChartEntity> organizationChartEntities,List<String> departmentIds){
        for (OrganizationChartEntity organizationChart:organizationChartEntities) {
            departmentIds.add(organizationChart.getId().toString());