`
jinyike
  • 浏览: 28646 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在线统计人数_不同房间的统计人数

阅读更多
    public void doFilter(ServletRequest req, ServletResponse res,
        FilterChain chain)
        throws IOException, ServletException
    {
        HttpServletRequest request = (HttpServletRequest)req;
        HttpServletResponse response = (HttpServletResponse)res;
        HttpSession session = request.getSession();
        Long lastTime = new Date().getTime();
        Long updateTime = (Long)session.getAttribute("updateTime");
        String liveState = (String)request.getParameter("action");
        int flag = 0;
        String enlive = "";
        String exlive = "";
        String mobile = "";
        Long liveroomid = 0l;
        Long roomId = 0l;
        String servletPath = request.getServletPath();
        String islive = (String)session.getAttribute("islive");
        if (IeachConstants.IEACE_ONLINE_PEOPLES_SERVLETPATH.indexOf(servletPath) != -1)
        {
            if (null != islive && !"".equals(islive))
            {
                flag = Integer.parseInt(islive);
            }
            if ("goLiveRoom".equals(liveState))
            {
                UserInfo userInfo = (UserInfo)session.getAttribute("userInfo");
                if (flag == 0)
                {
                    if (null != userInfo)
                    {
                        
                        roomId = Parmfiltrate.toLong(request, "roomid");
                        updateTime = new Date().getTime();
                        session.setAttribute("updateTime", updateTime);
                        session.setAttribute("islive", "1");
                        
                        OnlineSum.entryLive(session.getId(),
                            roomId,
                            userInfo.getMobile());
                        
                    }
                    
                }
                
            }
            else
            {
                
                if (flag == 1)
                {
                    
                    OnlineSum.exitLive(session.getId());
                    
                    session.setAttribute("islive", 0);
                    
                }
                
            }
        }
        if (null != updateTime && lastTime >= updateTime
            || enlive.length() > 3000)
        {
            int sum =
                OnlineSum.getenSessionUser().size()
                    + OnlineSum.getexSessionUser().size();
            if (sum >= 1)
            {
                for (Map.Entry<String, Long> entry : OnlineSum.getenSessionUser()
                    .entrySet())
                {
                    liveroomid =
                        ((Long)OnlineSum.getenSessionUser()
                            .get((String)entry.getKey()));
                    if (!OnlineSum.getexSessionUser()
                        .containsKey(entry.getKey()))
                    {
                        mobile =
                            OnlineSum.getSessionUser()
                                .get((String)entry.getKey());
                        enlive +=
                            liveroomid + ":" + (String)entry.getKey() + ":"
                                + mobile + ",";
                    }
                    
                }
                for (Map.Entry<String, Long> exit : OnlineSum.getexSessionUser()
                    .entrySet())
                {
                    if (!OnlineSum.getenSessionUser()
                        .containsKey(exit.getKey()))
                    {
                        exlive += "'" + (String)exit.getKey() + "'" + ",";
                    }
                    
                }
                if (exlive.length() > 0)
                {
                    exlive = exlive.substring(0, exlive.length() - 1);
                }
                if (enlive.length() > 0)
                {
                    enlive = enlive.substring(0, enlive.length() - 1);
                }
                
            }
            
            liveOnlineService.getOnlineProcedure(enlive, exlive);
            
            // 初始化用户session
            OnlineSum.init();
            session.setAttribute("updateTime",
                new Date().getTime() + 5 * 60 * 1000);
            
        }
        chain.doFilter(request, response);
        
    }
分享到:
评论

相关推荐

    实验室人数统计电路设计

    设计一个利用光线的通断来统计实验室人数的电路。 设计两路光控电路,一路放置在门外,另一路设置在门里,当有人通过门口时(无论是进入或是走出房间),都会先触发一个光控电路,再触发另一个光控电路。要求根据...

    宿舍楼宇房间管理系统

    宿舍楼宇房间管理系统 有限缓冲区问题的实现 宿舍楼宇房间管理涉及到的算法都是以顺序表或链表的基本运算作为基础的,此程序包括:添加住宿学生,查询住宿学生,修改住宿学生,,删除住宿学生,统计学生人数,宿舍数...

    模拟技术中的介绍关于红外传感器的楼宇人数统计系统设计

    本文介绍的,就是以红外传感器为基础的一套楼宇房间人数统计系统。  1 系统总体设计原理  该系统的总体结构框图如图1所示:通过RE200B热释电红外传感器对周围环境的红外线进行实时数据采集。当有人进入传感器的...

    c++高校水电统计管理

    间数量、房间编号、房间床位、实际入住人数,实际入住学生信息,年份、月份、宿舍用电 量(度数)、用水量(度数)等,管理员信息包括:工号、姓名、登录密码。【功能要求】 (1) 定义用户类,用户包括学生和管理员。 (2)...

    介绍关于红外传感器的楼宇人数统计系统设计

    本文介绍的,就是以红外传感器为基础的一套楼宇房间人数统计系统。  1 系统总体设计原理  该系统的总体结构框图如图1所示:通过RE200B热释电红外传感器对周围环境的红外线进行实时数据采集。当有人进入传感器的...

    宾馆客房管理系统(含设计文档,c++编写的)

    1. 课程设计目的和意义 4 ...5.2.11 客房在住人数统计_cx 12 5.2.12 客满房间_cx 12 5.2.13 未满房间_cx 13 5.2.14 空房_cx 13 5.2.15 未满非空房间_cx1 13 5.2.16 未满非空房间_cx2 13 6. 设计总结 13

    jiudianguanlixitong.zip_客房管理

    日结算明细表,统计当天的结算收入,挂账数量,入住人数,营业收入等 5. 系统管理,设置不同的权限 (1)、 系统管理员,可以对所有用户的注册和注销进行管理,可修改自己的密码,其余的部分不可用。 (2)、 前台...

    基于C语言实现旅店管理软件【100011937】

    统计当前哪些房间已有旅客入住,入住旅客人数,今日离店的旅客数,已接收到的预定订单数,今日预定旅客的入住人数,今日收入等; 实时查询旅客所在房间号,以及查询某房间的旅客姓名等; 建立日志文件,对旅客信息、...

    学生宿舍管理系统

    宿舍管理系统包括用户登录,登录进入后有系统管理,用户管理,房间管理,住宿管理,费用管理,违纪管理,数据库也包含在其中!欢迎下载使用。 第一模块:系统管理部分 ...1、 房间统计 2、 人数统计 3、 水电费统计

    springboot+websocket+Stomp+RabbitMq 实现多人聊天室

    springboot 整合websocket,使用rabbitmq作为消息代理。 实现单点推送消息和多点推送消息, 以及加上了消息确认消息回调。

    基于C++和QT实现的旅店管理系统.zip

    8.统计当前哪些房间已有旅客入住,入住旅客人数,今日离店的旅客数,已接收到的预定订单数,今日预定旅客的入住人数,今日收入等; 9.实时查询旅客所在房间号,以及查询某房间的旅客姓名等; 10.建立日志文件,对...

    java web毕设课设servlet+jdbc酒店管理系统项目源码+论文文档+数据库文件

    房间信息管理:包括房间类型、房间号、价格、可住人数等信息的管理。 房间预订:用户可以查看房间的预订情况,并可以预订可用的房间。 房间状态管理:记录房间的占用状态、清洁状态等,以便维护和管理。 订单管理: ...

    2022年新版财经直播系统丨喊单丨股票丨外汇丨会仪丨聊天室系统丨教育丨网页直播丨app直播

    5、直播间可以统计子房间的在线人数,会员注册人数,游客人数; 6、与子房间互动,子房间发言主房间可以看见,子房间只显示当前子房间的消息; 7、无限添加子房间; 8、消息撇回,收藏图片表情,送礼物,抽奖等 ; 9、...

    ThinkPHP7+Bootstrap多小区物业管理系统源码商业版

    记录每个住户的基本信息,包括户主,房间数,单元信息,楼层 4. 业主信息管理 记录业主基本信息、业主家庭成员、车辆、宠物等信息。 5. 停车位管理 记录车位基本信息(车位编号) 记录车位的使用情况(租或买),...

    宿舍信息管理系统-C语言

    每个宿舍基本信息包括:楼层号、房间号、面积、可住宿人数、实际住宿人数、修缮状况(良好/待维修)。 1、数据文件管理功能:创建新文件、管理老文件。 2、输入/添加/插入记录:能够完成对每一条记录输入或添加。 ...

    PHP物业居民小区业主房产办公管理系统源码-支持多小区管理系统

    记录每个住户的基本信息,包括户主,房间数,单元信息,楼层 4. 业主信息管理 记录业主基本信息、业主家庭成员、车辆、宠物等信息。 5. 停车位管理 记录车位基本信息(车位编号) 记录车位的使用情况(租或买...

    物业管理,小区管理系统php源码

    小区总人数 小区租户数量 小区每月收费金额统计 小区车位统计 小区车辆统计 小区宠物统计 小区报修统计 2. 小区管理 主要功能:小区概述,坐落地址,占地面积,开发商名称,物业公司名称,绿化率等信息。 3...

    新版ThinkPHP5多小区物业管理系统源码

    小区总人数 小区租户数量 小区每月收费金额统计 小区车位统计 小区车辆统计 小区宠物统计 小区报修统计 2. 小区管理 主要功能:小区概述,坐落地址,占地面积,开发商名称,物业公司名称,绿化率等信息。 ...

    2022版php开源物业管理系统,功能模块齐全,多小区可用

    小区总人数 小区租户数量 小区每月收费金额统计 小区车位统计 小区车辆统计 小区宠物统计 小区报修统计 2. 小区管理 主要功能:小区概述,坐落地址,占地面积,开发商名称,物业公司名称,绿化率等信息。 ...

    多小区物业管理系统ThinkPHP5.rar

    小区总人数 小区租户数量 小区每月收费金额统计 小区车位统计 小区车辆统计 小区宠物统计 小区报修统计 2. 小区管理 主要功能:小区概述,坐落地址,占地面积,开发商名称,物业公司名称,绿化率等...

Global site tag (gtag.js) - Google Analytics